From bfbf43b1c81eee1432f856ade9f7c44c412a7ac7 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Wed, 14 Apr 2021 14:28:22 -0400 Subject: [PATCH] fix(mail(js)): unselect all messages when changing mailbox Fixes #4970 Fixes #5148 --- UI/WebServerResources/js/Mailer/Mailbox.service.js | 11 +++++++++++ UI/WebServerResources/js/Mailer/Mailer.app.js | 4 +++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/UI/WebServerResources/js/Mailer/Mailbox.service.js b/UI/WebServerResources/js/Mailer/Mailbox.service.js index 5592fce04c..491e81e00e 100644 --- a/UI/WebServerResources/js/Mailer/Mailbox.service.js +++ b/UI/WebServerResources/js/Mailer/Mailbox.service.js @@ -302,6 +302,17 @@ return this.$selectedMessages().length; }; + /** + * @function $unselectMessages + * @memberof Mailbox.prototype + * @desc Unselect all messages. + */ + Mailbox.prototype.$unselectMessages = function() { + _.forEach(this.$selectedMessages(), function(message) { + message.selected = false; + }); + }; + /** * @function isSelectedMessage * @memberof Mailbox.prototype diff --git a/UI/WebServerResources/js/Mailer/Mailer.app.js b/UI/WebServerResources/js/Mailer/Mailer.app.js index 11312b836a..a2d5140933 100644 --- a/UI/WebServerResources/js/Mailer/Mailer.app.js +++ b/UI/WebServerResources/js/Mailer/Mailer.app.js @@ -255,11 +255,13 @@ if (Mailbox.$virtualMode) return []; - if (stateMailbox) + if (stateMailbox) { + stateMailbox.$unselectMessages(); promise = stateMailbox.$filter().catch(function() { // Mailbox not found return $q.reject('Mailbox not found'); }); + } else promise = $q.reject("Mailbox doesn't exist");