Files
atom/src/app/deferred-atom-package.coffee
2013-01-22 18:26:48 -08:00

27 lines
597 B
CoffeeScript

AtomPackage = require 'atom-package'
module.exports =
class DeferredAtomPackage extends AtomPackage
constructor: ->
super
@autoloadStylesheets = false
activate: (@rootView, @state) ->
@instance = null
for event in @loadEvents
@rootView.command event, (e) => @onLoadEvent(e, @getInstance())
this
deactivate: -> @instance?.deactivate?()
serialize: -> @instance?.serialize?()
getInstance: ->
unless @instance
@loadStylesheets()
InstanceClass = require @instanceClass
@instance = InstanceClass.activate(@rootView, @state)
@instance