From 6289b681c81265ba3c7dcddc587b4c475dc6bc0d Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Fri, 1 May 2015 17:57:51 +0200 Subject: [PATCH] [IMP] decide whether to close the sidebar in a smarter way --- web_hide_menu/static/src/js/web_hide_menu.js | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/web_hide_menu/static/src/js/web_hide_menu.js b/web_hide_menu/static/src/js/web_hide_menu.js index 83b1479f..a8b957e7 100644 --- a/web_hide_menu/static/src/js/web_hide_menu.js +++ b/web_hide_menu/static/src/js/web_hide_menu.js @@ -131,30 +131,29 @@ openerp.web_hide_menu = function(instance) }, }); instance.web.Menu.include({ + close_leftbar: false, start: function() { this.on('menu_click', this, this.on_menu_click_with_action); openerp.client.toggle_left_bar(false, openerp.client.hide_delay); return this._super.apply(this, arguments); }, - on_top_menu_click: function() + on_menu_click_with_action: function(menu, $element) { - this.top_menu_click = true; - return this._super.apply(this, arguments); - }, - on_menu_click_with_action: function() - { - this.close_menu = !this.top_menu_click; - this.top_menu_click = false; + //close if it's not a menu containing other menus + this.close_leftbar = ( + $element.parents('#oe_main_menu_navbar').length == 0 && + $element.parent().children('ul').length == 0 + ); }, open_menu: function() { this._super.apply(this, arguments); - if(this.close_menu) + if(this.close_leftbar) { openerp.client.toggle_left_bar(false); } - this.close_menu = false; + this.close_leftbar = false; }, }); }