From: Fabien Meghazi Date: Tue, 14 Feb 2012 16:26:57 +0000 (+0100) Subject: [FIX] When we click on "Point of Sale" in folder menu mode, it shows a blank menu X-Git-Tag: 6.1.0-web~60 X-Git-Url: http://git.inspyration.org/?a=commitdiff_plain;h=56c0e786f4a5c94619c0556cc52efbfb17b6d783;p=odoo%2Fodoo.git [FIX] When we click on "Point of Sale" in folder menu mode, it shows a blank menu lp bug: https://launchpad.net/bugs/906732 fixed bzr revid: fme@openerp.com-20120214162657-i8hes1iy67wi4isj --- diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 0a19f2c..ba31ec8 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -959,7 +959,8 @@ openerp.web.Menu = openerp.web.OldWidget.extend(/** @lends openerp.web.Menu# */ do_menu_click: function($clicked_menu, manual) { var $sub_menu, $main_menu, active = $clicked_menu.is('.active'), - sub_menu_visible = false; + sub_menu_visible = false, + has_submenu_items = false; if (this.$secondary_menu.has($clicked_menu).length) { $sub_menu = $clicked_menu.parents('.oe_secondary_menu'); @@ -970,15 +971,18 @@ openerp.web.Menu = openerp.web.OldWidget.extend(/** @lends openerp.web.Menu# */ } sub_menu_visible = $sub_menu.is(':visible'); + has_submenu_items = !!$sub_menu.children().length; this.$secondary_menu.find('.oe_secondary_menu').hide(); $('.active', this.$element.add(this.$secondary_menu)).removeClass('active'); $main_menu.add($clicked_menu).add($sub_menu).addClass('active'); - if (!(this.folded && manual)) { - this.do_show_secondary($sub_menu, $main_menu); - } else { - this.do_show_secondary(); + if (has_submenu_items) { + if (!(this.folded && manual)) { + this.do_show_secondary($sub_menu, $main_menu); + } else { + this.do_show_secondary(); + } } if ($main_menu != $clicked_menu) { @@ -994,7 +998,7 @@ openerp.web.Menu = openerp.web.OldWidget.extend(/** @lends openerp.web.Menu# */ return true; } } else if (this.folded) { - if (active && sub_menu_visible) { + if ((active && sub_menu_visible) || !has_submenu_items) { $sub_menu.hide(); return true; }