From 73763d3e416fc89abe9d399511f8a10dbec95258 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Mon, 24 Nov 2014 16:37:37 -0700 Subject: [PATCH] Add legacy panel classes to support old theme selectors Signed-off-by: Max Brunsfeld --- spec/panel-container-element-spec.coffee | 10 ++++++++++ src/panel-container-element.coffee | 5 +++++ src/panel-element.coffee | 1 + 3 files changed, 16 insertions(+) diff --git a/spec/panel-container-element-spec.coffee b/spec/panel-container-element-spec.coffee index 262bc888e..f7d2c1dd9 100644 --- a/spec/panel-container-element-spec.coffee +++ b/spec/panel-container-element-spec.coffee @@ -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 diff --git a/src/panel-container-element.coffee b/src/panel-container-element.coffee index 320c89304..2c6aa38af 100644 --- a/src/panel-container-element.coffee +++ b/src/panel-container-element.coffee @@ -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 diff --git a/src/panel-element.coffee b/src/panel-element.coffee index eec1d91b5..72c04b140 100644 --- a/src/panel-element.coffee +++ b/src/panel-element.coffee @@ -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))