/** * @provides javelin-behavior-phui-submenu * @requires javelin-behavior * javelin-stratcom * javelin-dom */ JX.behavior('phui-submenu', function() { JX.Stratcom.listen('click', 'phui-submenu', function(e) { if (!e.isNormalClick()) { return; } var node = e.getNode('phui-submenu'); var data = e.getNodeData('phui-submenu'); e.kill(); data.open = !data.open; for (var ii = 0; ii < data.itemIDs.length; ii++) { var id = data.itemIDs[ii]; var item = JX.$(id); if (data.open) { JX.DOM.show(item); } else { JX.DOM.hide(item); } // Add a class so we can animate zany effects. JX.DOM.alterClass(item, 'phui-submenu-animate', data.open); } JX.DOM.alterClass(node, 'phui-submenu-open', data.open); // Toggle the caret from ">" to "V" when opening the menu, and back again // when closing it. var caret = JX.$(data.caretID); JX.DOM.alterClass(caret, 'caret', data.open); JX.DOM.alterClass(caret, 'caret-right', !data.open); }); });