Path: blob/master/webroot/rsrc/js/application/dashboard/behavior-dashboard-tab-panel.js
12242 views
/**1* @provides javelin-behavior-dashboard-tab-panel2* @requires javelin-behavior3* javelin-dom4* javelin-stratcom5*/67JX.behavior('dashboard-tab-panel', function() {89JX.Stratcom.listen('click', 'dashboard-tab-panel-tab', function(e) {10// On dashboard panels in edit mode, the user may click the dropdown caret11// within a tab to open the context menu. If they do, this click should12// just open the menu, not select the tab. For now, pass the event here13// to let the menu handler act on it.14if (JX.Stratcom.pass(e)) {15return;16}1718e.kill();1920var selected_key = e.getNodeData('dashboard-tab-panel-tab').panelKey;2122var root = e.getNode('dashboard-tab-panel-container');23var data = JX.Stratcom.getData(root);242526var ii;27// Give the tab the user clicked a selected style, and remove it from28// the other tabs.29var tabs = JX.DOM.scry(root, 'li', 'dashboard-tab-panel-tab');30for (ii = 0; ii < tabs.length; ii++) {31var tab = tabs[ii];32var tab_data = JX.Stratcom.getData(tab);33var is_selected = (tab_data.panelKey === selected_key);34JX.DOM.alterClass(tabs[ii], 'phui-list-item-selected', is_selected);35}3637// Switch the visible content to correspond to whatever the user clicked.38for (ii = 0; ii < data.panels.length; ii++) {39var panel = data.panels[ii];40var node = JX.$(panel.panelContentID);4142if (panel.panelKey == selected_key) {43JX.DOM.show(node);44} else {45JX.DOM.hide(node);46}47}4849});5051});525354