bundles/org.eclipse.orion.client.ui/web/orion/webui/dropdown.js
function(item, direction, select) {
			while (item.parentNode && (document !== item.parentNode) && item.parentNode.getAttribute("role") !== "menubar")  {
				item = item.parentNode;
			}
			if (!item.parentNode || document === item.parentNode) {
				return; // item is not in a menubar
			}
			var trigger = item.childNodes[0];
			var menuBar = item.parentNode;
			var mbItems = menuBar.dropdown.getItems();
			var mbItem = null;
			for (var i = 0; i < mbItems.length; i++) {
				if (mbItems[i] === trigger) {
					if (direction === lib.KEY.LEFT) {
						mbItem = i > 0 ? mbItems[i - 1] : mbItems[mbItems.length - 1];
					} else {
						mbItem = i < mbItems.length - 1 ? mbItems[i + 1] : mbItems[0];
					}
					break;
				}
			}
			trigger.dropdown._closeSelectedSubmenu();
			trigger.dropdown.close(false);
			if (mbItem) {
				mbItem.dropdown.open();
				if (select) {
					mbItem.dropdown._selectItem();
				}

			}
		 }
function(item, direction, select) {
			while (item.parentNode && (document !== item.parentNode) && item.parentNode.getAttribute("role") !== "menubar")  {
				item = item.parentNode;
			}
			if (!item.parentNode || document === item.parentNode) {
				return; // item is not in a menubar
			}
			var trigger = item.childNodes[0];
			var menuBar = item.parentNode;
			var mbItems = menuBar.dropdown.getItems();
			var mbItem = null;
			for (var i = 0; i < mbItems.length; i++) {
				if (mbItems[i] === trigger) {
					if (direction === lib.KEY.LEFT) {
						mbItem = i > 0 ? mbItems[i - 1] : mbItems[mbItems.length - 1];
					} else {
						mbItem = i < mbItems.length - 1 ? mbItems[i + 1] : mbItems[0];
					}
					break;
				}
			}
			trigger.dropdown._closeSelectedSubmenu();
			trigger.dropdown.close(false);
			if (mbItem) {
				mbItem.dropdown.open();
				if (select) {
					mbItem.dropdown._selectItem();
				}

			}
		 }
function ( item , direction , select ) { while ( item . parentNode && ( document !== item . parentNode ) && item . parentNode . getAttribute ( "role" ) !== "menubar" ) { item = item . parentNode ; } if ( ! item . parentNode || document === item . parentNode ) { return ; // item is not in a menubar } var trigger = item . childNodes [ 0 ] ; var menuBar = item . parentNode ; var mbItems = menuBar . dropdown . getItems ( ) ; var mbItem = null ; for ( var i = 0 ; i < mbItems . length ; i ++ ) { if ( mbItems [ i ] === trigger ) { if ( direction === lib . KEY . LEFT ) { mbItem = i > 0 ? mbItems [ i - 1 ] : mbItems [ mbItems . length - 1 ] ; } else { mbItem = i < mbItems . length - 1 ? mbItems [ i + 1 ] : mbItems [ 0 ] ; } break ; } } trigger . dropdown . _closeSelectedSubmenu ( ) ; trigger . dropdown . close ( false ) ; if ( mbItem ) { mbItem . dropdown . open ( ) ; if ( select ) { mbItem . dropdown . _selectItem ( ) ; } } }
Closes the menubar menu containing the specified item
and opens the menu next to it in the specified direction.
@param {Object} item An item within a menu
@param {Integer} direction Either KEY.RIGHT or KEY.LEFT typed by user
@param {Boolean} select If true, select the first item
Closes the menubar menu containing the specified item and opens the menu next to it in the specified direction .