diff --git a/ui/css/editor.css b/ui/css/editor.css index 842a9f47..a0cf2177 100755 --- a/ui/css/editor.css +++ b/ui/css/editor.css @@ -130,6 +130,7 @@ .side-panel.right:not(:empty):after { right: 0px; } +.side-panel[open], .side-panel:not(:empty)[autohide=off], .side-panel[autohide=on]:not(:empty):hover { min-width: 200px; @@ -146,6 +147,7 @@ .side-panel[autohide=on] .sub-panel { display: none; } +.side-panel[open] .sub-panel, .side-panel[autohide=on]:hover .sub-panel { display: block; } diff --git a/ui/lib/panels.js b/ui/lib/panels.js index 46eb1c46..f75c3637 100755 --- a/ui/lib/panels.js +++ b/ui/lib/panels.js @@ -289,6 +289,12 @@ function makeSidePanel(side, parent, autohide){ } return false }) + // hide temporarily opened side-panels... + .mouseout(function(){ + // XXX jQuery bug: this does not work... + //panel.prop('open', false) + panel.attr('open', null) + }) .sortable({ forcePlaceholderSize: true, opacity: 0.7, @@ -436,11 +442,17 @@ function openPanel(panel){ // show/open the panel and all it's parents... } else { open = isPanelVisible(panel) + // show panels... panel .prop('open', true) .parents('.panel') .prop('open', true) - // XXX show side panels too... + // show side panels... + panel + .parents('.side-panel').first() + // XXX jQuery bug: this does not work... + //.prop('open', true) + .attr('open', 'yes') } // if the panel was not open trigger the event...