34 lines
959 B
CoffeeScript
34 lines
959 B
CoffeeScript
MinisuiteView = require './minisuite-view'
|
|
{CompositeDisposable} = require 'atom'
|
|
|
|
module.exports = Minisuite =
|
|
minisuiteView: null
|
|
modalPanel: null
|
|
subscriptions: null
|
|
|
|
activate: (state) ->
|
|
@minisuiteView = new MinisuiteView(state.minisuiteViewState)
|
|
@modalPanel = atom.workspace.addModalPanel(item: @minisuiteView.getElement(), visible: false)
|
|
|
|
# Events subscribed to in atom's system can be easily cleaned up with a CompositeDisposable
|
|
@subscriptions = new CompositeDisposable
|
|
|
|
# Register command that toggles this view
|
|
@subscriptions.add atom.commands.add 'atom-workspace', 'minisuite:toggle': => @toggle()
|
|
|
|
deactivate: ->
|
|
@modalPanel.destroy()
|
|
@subscriptions.dispose()
|
|
@minisuiteView.destroy()
|
|
|
|
serialize: ->
|
|
minisuiteViewState: @minisuiteView.serialize()
|
|
|
|
toggle: ->
|
|
console.log 'Minisuite was toggled!'
|
|
|
|
if @modalPanel.isVisible()
|
|
@modalPanel.hide()
|
|
else
|
|
@modalPanel.show()
|