Add ability to add panels to the config view

This commit is contained in:
Nathan Sobo
2013-04-09 17:03:34 -06:00
committed by Corey Johnson & Kevin Sawicki
parent 8980a97895
commit 2f60ffcfce
2 changed files with 47 additions and 2 deletions

View File

@@ -1,9 +1,30 @@
{View} = require 'space-pen'
{View, $$} = require 'space-pen'
$ = require 'jquery'
_ = require 'underscore'
module.exports =
class ConfigView extends View
@content: ->
@div id: 'config-view', "Config View"
@div id: 'config-view', =>
@ol id: 'panel-menu', outlet: 'panelMenu'
@div id: 'panels', outlet: 'panels'
initialize: ->
@panelsByName = {}
document.title = "Atom Configuration"
@on 'click', '#panel-menu li', (e) =>
@showPanel($(e.target).attr('name'))
addPanel: (name, panel) ->
panelItem = $$ -> @li name: name, name
@panelMenu.append(panelItem)
panel.hide()
@panelsByName[name] = panel
@panels.append(panel)
@showPanel(name) if _.values(@panelsByName).length == 1
showPanel: (name) ->
@panels.children().hide()
@panelMenu.children('.active').removeClass('active')
@panelsByName[name].show()
@panelMenu.children("[name='#{name}']").addClass('active')