Sha256: 9b01a3bc5b25ae8016cfa12433ebb1e6c59dc04881fb359ed93e2a56206c7846
Contents?: true
Size: 1.46 KB
Versions: 3
Compression:
Stored size: 1.46 KB
Contents
km = Lanes.Vendor.KeyMaster Lanes.View.Keys = { scopes:{} defaultTime: 5000 setScopeTimer: (scope)-> @timeout = _.delay( => km.setScope('none') ,@defaultTime) rescheduleTimeout: (scope)-> return unless @timeout clearTimeout(@timeout) this.setScopeTimer(scope) Lanes.View.TimedHighlight.reset(scope.time || @defaultTime) addScope:(scope)-> km(scope.shortcut, (ev)=> km.setScope(scope.name) for view in scope.views Lanes.View.TimedHighlight.on(view, scope.time || @defaultTime) @setScopeTimer() unless scope.permanent return false ) scope.views = [] @scopes[scope.name] = scope addEvent: (keys, handler, view, scope)-> km(keys, scope.name, (ev)=> view[handler].call(view, ev) @rescheduleTimeout(scope) ) add: (view, events, scope)-> scope = @scopes[scope.name] || this.addScope(scope) scope.views.push(view) for keys, handler of events this.addEvent(keys, handler, view, scope) remove: (view, events, scope)-> scope = @scopes[scope.name] scope.views.remove(view) for keys, handler of events km.unbind(keys,scope.name) if 0==scopes.views.length km.unbind(scope.shortcut,'all') delete @scopes[scope.name] initialize: -> km.filter = -> true }
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
lanes-0.0.3 | client/javascripts/view/Keys.coffee |
lanes-0.0.2 | client/javascripts/view/Keys.coffee |
lanes-0.0.1 | client/javascripts/view/Keys.coffee |