From 2ba725df615cfc6f57111fe7099736e25645abc3 Mon Sep 17 00:00:00 2001 From: Kaushalya Mandaliya Date: Wed, 7 Aug 2019 05:30:24 +0000 Subject: [PATCH] [FIX] mail: hide activity menu dropdown on activity icon click MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Before this commit, The dropdown menu remained open after clicking on activity icon. After this commit, The dropdown menu is closed whenever the activity icon is clicked. Task-Id: 2047408 closes: #35568 Signed-off-by: Alexandre Kühn (aku) --- .../mail/static/src/js/systray/systray_activity_menu.js | 1 + .../static/tests/systray/systray_activity_menu_tests.js | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/addons/mail/static/src/js/systray/systray_activity_menu.js b/addons/mail/static/src/js/systray/systray_activity_menu.js index fae95a78c2f..641ff4be1bc 100644 --- a/addons/mail/static/src/js/systray/systray_activity_menu.js +++ b/addons/mail/static/src/js/systray/systray_activity_menu.js @@ -108,6 +108,7 @@ var ActivityMenu = Widget.extend({ */ _onActivityActionClick: function (ev) { ev.stopPropagation(); + this.$('.dropdown-toggle').dropdown('toggle'); var targetAction = $(ev.currentTarget); var actionXmlid = targetAction.data('action_xmlid'); if (actionXmlid) { diff --git a/addons/mail/static/tests/systray/systray_activity_menu_tests.js b/addons/mail/static/tests/systray/systray_activity_menu_tests.js index b2f76feb832..7d24b5e05a4 100644 --- a/addons/mail/static/tests/systray/systray_activity_menu_tests.js +++ b/addons/mail/static/tests/systray/systray_activity_menu_tests.js @@ -153,7 +153,7 @@ QUnit.test('activity menu widget: activity menu with 3 records', async function }); QUnit.test('activity menu widget: activity view icon', async function (assert) { - assert.expect(10); + assert.expect(12); var self = this; var activityMenu = new ActivityMenu(); testUtils.mock.addMockEnvironment(activityMenu, { @@ -193,9 +193,15 @@ QUnit.test('activity menu widget: activity view icon', async function (assert) { // click on the "Issue" activity icon await testUtils.dom.click(activityMenu.$('.dropdown-toggle')); + assert.hasClass(activityMenu.$('.dropdown-menu'), 'show', + "dropdown should be expanded"); + await testUtils.dom.click(activityMenu.$(".o_mail_activity_action[data-model_name='Issue']")); + assert.doesNotHaveClass(activityMenu.$('.dropdown-menu'), 'show', + "dropdown should be collapsed"); // click on the "Note" activity icon + await testUtils.dom.click(activityMenu.$('.dropdown-toggle')); await testUtils.dom.click(activityMenu.$(".o_mail_activity_action[data-model_name='Note']")); assert.verifySteps([