From 1a5dc88c3c61542e4946df0e18325207ae077c8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20D=2E=20D=C3=ADaz?= Date: Wed, 22 Jul 2020 18:57:05 +0200 Subject: [PATCH 1/2] [IMP] web_advanced_search: Prevent the menu from closing when using a relational field --- .../static/src/js/web_advanced_search.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/web_advanced_search/static/src/js/web_advanced_search.js b/web_advanced_search/static/src/js/web_advanced_search.js index 72b0e8c51..146332052 100644 --- a/web_advanced_search/static/src/js/web_advanced_search.js +++ b/web_advanced_search/static/src/js/web_advanced_search.js @@ -76,6 +76,19 @@ odoo.define("web_advanced_search", function(require) { "click .o_add_advanced_search": "advanced_search_open", }), + /** + * Handle dropdown hidden event to prevent the menu from closing when using a + * relational field + * + * @override + */ + start: function () { + this._super.apply(this, arguments); + this.$el.on('hide.bs.dropdown', function() { + return !($('.o_technical_modal.show').length || $('body.oe_wait').length); + }); + }, + /** * @override */ From b942f3a506be41cf9ce3bf30404c94b7b25efac5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20D=2E=20D=C3=ADaz?= Date: Mon, 3 Aug 2020 20:21:55 +0200 Subject: [PATCH 2/2] [IMP] web_advanced_search: Don't block modal filter menu --- .../static/src/js/web_advanced_search.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/web_advanced_search/static/src/js/web_advanced_search.js b/web_advanced_search/static/src/js/web_advanced_search.js index 146332052..2cb4f1ec2 100644 --- a/web_advanced_search/static/src/js/web_advanced_search.js +++ b/web_advanced_search/static/src/js/web_advanced_search.js @@ -77,15 +77,19 @@ odoo.define("web_advanced_search", function(require) { }), /** - * Handle dropdown hidden event to prevent the menu from closing when using a - * relational field + * Handle dropdown hidden event to prevent the menu from closing when using a + * relational field * * @override */ - start: function () { + start: function() { this._super.apply(this, arguments); - this.$el.on('hide.bs.dropdown', function() { - return !($('.o_technical_modal.show').length || $('body.oe_wait').length); + this.$el.on("hide.bs.dropdown", function() { + var $modal = $(".o_technical_modal.show"); + return !( + ($modal.length && !$modal.has($(this)).length) || + $("body.oe_wait").length + ); }); },