// vim: et:ts=4:sw=4:sts=4:ft=javascript 'use strict'; pandora.ui.folderBrowser = function(id, section) { // Yes, we have to wait for the lists init event to decide if it is shown. // This run-once init handler runs *after* the list's own init handler. var i = Ox.getIndexById(pandora.site.sectionFolders[section], id), that = Ox.Element(); pandora.site.sectionFolders[section][i].hasItems = null; pandora.$ui.folderList[id] = pandora.ui.folderBrowserList(id, section) .bindEventOnce({ init: function(data) { pandora.site.sectionFolders[section][i].hasItems = !!data.items; if (data.items) { that.setElement( Ox.SplitPanel({ elements: [ { element: pandora.ui.folderBrowserBar(id, section), size: 24 }, { element: pandora.$ui.folderList[id] }, { element: Ox.Element().append( pandora.ui.folderPlaceholder(id, section).updateText('public', true) ), size: 0 } ], orientation: 'vertical' }) ); pandora.resizeFolders(); } else { // if there are no items, then the placeholder is already there pandora.$ui.folderPlaceholder[id].updateText('public'); } } }); return that; };