pandora/static/js/pandora/leftPanel.js
j a4085880b4 removeElement -> remove
dont send empty query
2011-11-04 22:14:13 +00:00

60 lines
2.6 KiB
JavaScript

// vim: et:ts=4:sw=4:sts=4:ft=javascript
pandora.ui.leftPanel = function() {
var that = Ox.SplitPanel({
elements: [
{
element: pandora.$ui.sectionbar = pandora.ui.sectionbar('buttons'),
size: 24
},
{
element: pandora.$ui.folders = pandora.ui.folders()
},
{
collapsed: !pandora.user.ui.showInfo,
collapsible: true,
element: pandora.$ui.info = pandora.ui.info(),
size: pandora.getInfoHeight(true),
tooltip: 'info'
}
],
id: 'leftPanel',
orientation: 'vertical'
})
.bindEvent({
resize: function(data) {
pandora.user.ui.sidebarSize = data.size;
var infoHeight = pandora.getInfoHeight(true);
if (data.size < pandora.site.sectionButtonsWidth && pandora.$ui.sectionButtons) {
pandora.$ui.sectionButtons.remove();
delete pandora.$ui.sectionButtons;
pandora.$ui.sectionbar.append(pandora.$ui.sectionSelect = pandora.ui.sectionSelect());
} else if (data.size >= pandora.site.sectionButtonsWidth && pandora.$ui.sectionSelect) {
pandora.$ui.sectionSelect.remove();
delete pandora.$ui.sectionSelect;
pandora.$ui.sectionbar.append(pandora.$ui.sectionButtons = pandora.ui.sectionButtons());
}
pandora.$ui.leftPanel.size(2, infoHeight);
!pandora.user.ui.showInfo && pandora.$ui.leftPanel.css({bottom: -infoHeight + 'px'});
pandora.resizeFolders();
pandora.$ui.info.resizeInfo();
},
resizeend: function(data) {
// set to 0 so that UI.set registers a change of the value
pandora.user.ui.sidebarSize = 0;
pandora.UI.set({sidebarSize: data.size});
},
toggle: function(data) {
pandora.UI.set({showSidebar: !data.collapsed});
if (data.collapsed) {
Ox.forEach(pandora.$ui.folderList, function($list) {
$list.loseFocus();
});
}
},
pandora_showinfo: function(data) {
data.value == that.options('elements')[2].collapsed && that.toggle(2);
}
});
return that;
};