1
0
This repository has been archived on 2025-03-03. You can view files and clone it, but cannot push or open issues or pull requests.
atom-minisuite/lib/minisuite.coffee

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()