From eb25ccef6c2df8de15f1862d809fbd345eb94e8b Mon Sep 17 00:00:00 2001 From: Mathias Markl Date: Sun, 23 Jun 2019 14:23:28 +0200 Subject: [PATCH] [FIX] web_responsive: AppDrawer Discard --- web_responsive/README.rst | 1 + web_responsive/static/src/js/web_responsive.js | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/web_responsive/README.rst b/web_responsive/README.rst index 6eae1ac6..ab87b38e 100644 --- a/web_responsive/README.rst +++ b/web_responsive/README.rst @@ -156,6 +156,7 @@ Contributors * Dennis Sluijk * Sergio Teruel * Alexandre Díaz +* Mathias Markl Maintainers ~~~~~~~~~~~ diff --git a/web_responsive/static/src/js/web_responsive.js b/web_responsive/static/src/js/web_responsive.js index f128f2c5..3619bbc5 100644 --- a/web_responsive/static/src/js/web_responsive.js +++ b/web_responsive/static/src/js/web_responsive.js @@ -278,6 +278,8 @@ odoo.define('web_responsive', function (require) { Menu.include({ events: _.extend({ + // Clicking on apps menu + "click .o_menu_apps a[data-toggle=dropdown]": "_onAppsMenuClick", // Clicking a hamburger menu item should close the hamburger "click .o_menu_sections [role=menuitem]": "_hideMobileSubmenus", // Opening any dropdown in the navbar should hide the hamburger @@ -324,6 +326,22 @@ odoo.define('web_responsive', function (require) { return this._super.apply(this, arguments); } }, + + /** + * Check if Controller can be removed + */ + _onAppsMenuClick: function(event, checkedCanBeRemoved) { + var action_manager = this.getParent().action_manager; + var controller = action_manager.getCurrentController(); + if (controller && !checkedCanBeRemoved) { + controller.widget.canBeRemoved().done(function () { + $(event.currentTarget).trigger('click', [true]); + $(event.currentTarget).off('.bs.dropdown'); + }); + event.stopPropagation(); + event.preventDefault(); + } + }, }); RelationalFields.FieldStatus.include({