From daae6063cd918ac54e5ccbe4e315c974588dae4c Mon Sep 17 00:00:00 2001 From: Pierre-Yves Dufays Date: Mon, 21 Mar 2022 14:16:49 +0000 Subject: [PATCH] [FIX] mass_mailing: fixes save filter glitch In the mass mailing form, when clicking on the filter save button, the screen was unexpectedly scrolling down. This fixes this problem. Task-2793090 closes odoo/odoo#86789 Signed-off-by: Thibault Delavallee (tde) --- addons/mass_mailing/static/src/js/mailing_filter_widget.js | 2 +- .../static/tests/mass_mailing_favourite_filter_tests.js | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/mass_mailing/static/src/js/mailing_filter_widget.js b/addons/mass_mailing/static/src/js/mailing_filter_widget.js index 8672a148d55..d7f0ebd37dc 100644 --- a/addons/mass_mailing/static/src/js/mailing_filter_widget.js +++ b/addons/mass_mailing/static/src/js/mailing_filter_widget.js @@ -103,7 +103,7 @@ const FieldMailingFilter = FieldMany2One.extend({ _onFavoriteFilterDropdownShown(ev) { const filterInput = ev.target.querySelector('input.o_mass_mailing_filter_name'); filterInput.value = ''; - filterInput.focus(); + filterInput.focus({ preventScroll: true }); }, /** diff --git a/addons/mass_mailing/static/tests/mass_mailing_favourite_filter_tests.js b/addons/mass_mailing/static/tests/mass_mailing_favourite_filter_tests.js index 24daf85ec9e..a133056e1d6 100644 --- a/addons/mass_mailing/static/tests/mass_mailing_favourite_filter_tests.js +++ b/addons/mass_mailing/static/tests/mass_mailing_favourite_filter_tests.js @@ -151,6 +151,8 @@ QUnit.module('favorite filter widget', { "should have option to remove filter if filter is already set"); assert.isNotVisible(form.$('.o_mass_mailing_save_filter_container'), "should not have option to save filter if filter is already set"); + // Ensures input is not focussed otherwise clicking on it will just close the dropdown instead of opening it + form.$('.o_field_many2one[name="mailing_filter_id"] .o_input_dropdown input').blur(); await testUtils.dom.click('.o_field_many2one[name="mailing_filter_id"] input'); assert.containsN($dropdown, 'li.ui-menu-item', 2, "there should be two existing filters");