diff --git a/ui/lib/panels.js b/ui/lib/panels.js index a931882c..aa419e21 100755 --- a/ui/lib/panels.js +++ b/ui/lib/panels.js @@ -192,8 +192,8 @@ function removePanel(panel){ // panel is dragged out or when the panel is dragged... function makePanel(title, parent, open, keep_empty, close_button){ title = title == null || title.trim() == '' ? ' ' : title - close_button = close_button == null ? true : false parent = parent == null ? $(PANEL_ROOT) : parent + close_button = close_button == null ? true : close_button // the outer panel... var panel = $('
') @@ -384,9 +384,10 @@ function makeSidePanel(side, parent, autohide){ // NOTE: if parent is not given this will create a new panel... // NOTE: title must be unique... -function makeSubPanel(title, content, parent, open, content_resizable){ +function makeSubPanel(title, content, parent, open, content_resizable, close_button){ title = title == null || title.trim() == '' ? ' ' : title parent = parent == null ? makePanel() : parent + close_button = close_button == null ? false : close_button open = open == null ? true : open content_resizable = content_resizable == null @@ -402,7 +403,16 @@ function makeSubPanel(title, content, parent, open, content_resizable){ .attr('id', title) .addClass('sub-panel noScroll') .prop('open', open) - .append($(''+title+'') + .append((close_button + ? $(''+title+'') + .append($('') + .addClass('close-button') + .click(function(){ + removePanel(panel) + return false + }) + .html('×')) + : $(''+title+'')) // XXX also do this on enter... // XXX .click(function(){ @@ -467,7 +477,6 @@ function makePanelController(title, content_builder, panel_setup, content_resiza // 2) if no panel exists, create it // - content_builder() must return panel content - // XXX need to get saved coordinates... if(panel.length == 0){ panel = makeSubPanel(title, content_builder(), parent, open, content_resizable) .attr('id', title)