Add legacy panel classes to support old theme selectors

Signed-off-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
This commit is contained in:
Nathan Sobo
2014-11-24 16:37:37 -07:00
committed by Max Brunsfeld
parent 8cf24bc7de
commit 73763d3e41
3 changed files with 16 additions and 0 deletions

View File

@@ -51,6 +51,7 @@ describe "PanelContainerElement", ->
container.addPanel(panel1)
expect(element.childNodes.length).toBe 1
expect(element.childNodes[0]).toHaveClass 'left'
expect(element.childNodes[0]).toHaveClass 'panel-left' # legacy selector support
expect(element.childNodes[0].tagName).toBe 'ATOM-PANEL'
@@ -80,6 +81,7 @@ describe "PanelContainerElement", ->
container.addPanel(panel1)
expect(element.childNodes.length).toBe 1
expect(element.childNodes[0]).toHaveClass 'bottom'
expect(element.childNodes[0]).toHaveClass 'panel-bottom' # legacy selector support
expect(element.childNodes[0].tagName).toBe 'ATOM-PANEL'
expect(panel1.getView()).toHaveClass 'one'
@@ -116,3 +118,11 @@ describe "PanelContainerElement", ->
expect(panel1.getView().style.display).not.toBe 'none'
expect(panel2.getView().style.display).toBe 'none'
it "adds the 'modal' class to panels", ->
panel1 = new Panel({viewRegistry, item: new TestPanelContainerItem()})
container.addPanel(panel1)
expect(panel1.getView()).toHaveClass 'modal'
expect(panel1.getView()).toHaveClass 'overlay' # legacy selector support
expect(panel1.getView()).toHaveClass 'from-top' # legacy selector support

View File

@@ -15,6 +15,11 @@ class PanelContainerElement extends HTMLElement
panelAdded: ({panel, index}) ->
panelElement = panel.getView()
panelElement.classList.add(@model.getLocation())
if @model.isModal()
panelElement.classList.add("overlay")
else
panelElement.classList.add("panel-#{@model.getLocation()}")
if index >= @childNodes.length
@appendChild(panelElement)
else

View File

@@ -12,6 +12,7 @@ class PanelElement extends HTMLElement
@appendChild(view)
callAttachHooks(view) # for backward compatibility with SpacePen views
@classList.add("tool-panel")
@classList.add(@model.getClassName().split(' ')...) if @model.getClassName()?
@subscriptions.add @model.onDidChangeVisible(@visibleChanged.bind(this))
@subscriptions.add @model.onDidDestroy(@destroyed.bind(this))