From: jzaefferer Date: Thu, 24 Feb 2011 10:13:37 +0000 (+0100) Subject: Menu: Refactoring flyout menu in prepartion for merging into menu X-Git-Tag: 1.9m5~280 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=5c687be331d3110ece3b2417c021485950f87ff9;p=jquery-ui.git Menu: Refactoring flyout menu in prepartion for merging into menu --- diff --git a/tests/visual/menu/flyoutmenu.js b/tests/visual/menu/flyoutmenu.js index 1e968dd61..0564120a2 100644 --- a/tests/visual/menu/flyoutmenu.js +++ b/tests/visual/menu/flyoutmenu.js @@ -16,7 +16,6 @@ $.widget("ui.flyoutmenu", { _create: function() { var self = this; - this.active = this.element; this.activeItem = this.element.children("li").first(); // hide submenus and create indicator icons this.element.find("ul").addClass("ui-menu-flyout").hide().prev("a").prepend(''); @@ -26,12 +25,13 @@ $.widget("ui.flyoutmenu", { self._select(event); }, focus: function(event, ui) { - self.active = ui.item.parent(); self.activeItem = ui.item; + ui.item.parent().focus(); ui.item.parent().find("ul").hide(); var nested = $(">ul", ui.item); if (nested.length && event.originalEvent && /^mouse/.test(event.originalEvent.type)) { self._open(nested); + nested.focus(); } } }).keydown(function(event) { @@ -60,7 +60,7 @@ $.widget("ui.flyoutmenu", { _open: function(submenu) { // TODO restrict to widget //only one menu can have items open at a time. - $(document).find(".ui-menu-flyout").not(submenu.parents()).hide(); + $(document).find(".ui-menu-flyout").not(submenu.parents()).hide().data("menu").blur(); var position = $.extend({}, { of: this.activeItem @@ -93,16 +93,12 @@ $.widget("ui.flyoutmenu", { } }, activate: function(event, item) { - if (item) { - item.parent().data("menu").widget().show(); - item.parent().data("menu").focus(event, item); - } + var parent = item.parent(); + parent.data("menu").focus(event, item); this.activeItem = item; - this.active = item.parent("ul") - this.active.focus(); + parent.focus(); }, show: function() { - this.active = this.element; this.element.show(); }, hide: function() {