Archived
1
0

Blank atom package

This commit is contained in:
Jip J. Dekker 2015-11-19 22:56:45 +01:00
commit a4b0a4d4bb
2 changed files with 55 additions and 0 deletions

22
language-mzn-view.coffee Normal file
View File

@ -0,0 +1,22 @@
module.exports =
class LanguageMznView
constructor: (serializedState) ->
# Create root element
@element = document.createElement('div')
@element.classList.add('language-mzn')
# Create message element
message = document.createElement('div')
message.textContent = "The LanguageMzn package is Alive! It's ALIVE!"
message.classList.add('message')
@element.appendChild(message)
# Returns an object that can be retrieved when package is activated
serialize: ->
# Tear down any state and detach
destroy: ->
@element.remove()
getElement: ->
@element

33
language-mzn.coffee Normal file
View File

@ -0,0 +1,33 @@
LanguageMznView = require './language-mzn-view'
{CompositeDisposable} = require 'atom'
module.exports = LanguageMzn =
languageMznView: null
modalPanel: null
subscriptions: null
activate: (state) ->
@languageMznView = new LanguageMznView(state.languageMznViewState)
@modalPanel = atom.workspace.addModalPanel(item: @languageMznView.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', 'language-mzn:toggle': => @toggle()
deactivate: ->
@modalPanel.destroy()
@subscriptions.dispose()
@languageMznView.destroy()
serialize: ->
languageMznViewState: @languageMznView.serialize()
toggle: ->
console.log 'LanguageMzn was toggled!'
if @modalPanel.isVisible()
@modalPanel.hide()
else
@modalPanel.show()