Files
atom/src/packages/command-logger/index.coffee
Kevin Sawicki 45dfea0559 Start tracking commands when package is activated
When the command logger was moved to a deferred package
the custom trigger to track events wasn't registered
until the instance was created causing most events to go
untracked.

Now the custom trigger is registered in the index.coffee
file and passed to the view instance when toggling.
2013-01-30 16:15:08 -08:00

33 lines
994 B
CoffeeScript

DeferredAtomPackage = require 'deferred-atom-package'
$ = require 'jquery'
module.exports =
class CommandLogger extends DeferredAtomPackage
loadEvents: ['command-logger:toggle']
instanceClass: 'command-logger/src/command-logger-view'
activate: (rootView, state={})->
super
@eventLog = state.eventLog ? {}
rootView.command 'command-logger:clear-data', => @eventLog = {}
registerTriggeredEvent = (eventName) =>
eventNameLog = @eventLog[eventName]
unless eventNameLog
eventNameLog =
count: 0
name: eventName
@eventLog[eventName] = eventNameLog
eventNameLog.count++
eventNameLog.lastRun = new Date().getTime()
originalTrigger = $.fn.trigger
$.fn.trigger = (eventName) ->
eventName = eventName.type if eventName.type
registerTriggeredEvent(eventName) if $(this).events()[eventName]
originalTrigger.apply(this, arguments)
onLoadEvent: (event, instance) -> instance.toggle(@eventLog)