From 715cf71ba3bfae3a849d302dcec20eded3c2494f Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Tue, 17 May 2022 15:31:59 -0400 Subject: [PATCH] fix(mail(js)): refresh of parent window when saving draft/template --- UI/WebServerResources/js/Mailer/Mailer.app.js | 7 ++++++- UI/WebServerResources/js/Mailer/MessageController.js | 2 ++ UI/WebServerResources/js/Mailer/MessageEditorController.js | 4 ++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/UI/WebServerResources/js/Mailer/Mailer.app.js b/UI/WebServerResources/js/Mailer/Mailer.app.js index 3bce4783f..21e12e66f 100644 --- a/UI/WebServerResources/js/Mailer/Mailer.app.js +++ b/UI/WebServerResources/js/Mailer/Mailer.app.js @@ -109,6 +109,11 @@ controllerAs: 'viewer' } }, + params: { + reload: { + value: false + } + }, onEnter: onEnterMessage, onExit: onExitMessage, resolve: { @@ -318,7 +323,7 @@ }); if (message && message.$reload) { - return message.$reload({useCache: true}); + return message.$reload({useCache: !$stateParams.reload, nocache: $stateParams.reload}); } else { // Message not found diff --git a/UI/WebServerResources/js/Mailer/MessageController.js b/UI/WebServerResources/js/Mailer/MessageController.js index 975060e3b..ad1fa6452 100644 --- a/UI/WebServerResources/js/Mailer/MessageController.js +++ b/UI/WebServerResources/js/Mailer/MessageController.js @@ -101,6 +101,8 @@ // Cancel automatic mark as read if (vm.message.$markAsReadPromise) vm.service.$timeout.cancel(vm.message.$markAsReadPromise); + // Remove controller from window + delete $window.$messageController; }); }; // $onInit diff --git a/UI/WebServerResources/js/Mailer/MessageEditorController.js b/UI/WebServerResources/js/Mailer/MessageEditorController.js index 9799c855a..7adf54c75 100644 --- a/UI/WebServerResources/js/Mailer/MessageEditorController.js +++ b/UI/WebServerResources/js/Mailer/MessageEditorController.js @@ -102,7 +102,7 @@ if ($window.opener) { if ('$mailboxController' in $window.opener && 'selectedFolder' in $window.opener.$mailboxController) { - if ($window.opener.$mailboxController.selectedFolder.type == 'draft') { + if ($window.opener.$mailboxController.selectedFolder.id == stateMessage.$mailbox.id) { ctrls.draftMailboxCtrl = $window.opener.$mailboxController; if ('$messageController' in $window.opener && $window.opener.$messageController.message.uid == stateMessage.uid) { @@ -230,7 +230,7 @@ ctrls.draftMailboxCtrl.selectedFolder.$filter().then(function() { if (ctrls.draftMessageCtrl) { // Reload selected message - ctrls.draftMessageCtrl.$state.go('mail.account.mailbox.message', { messageId: vm.message.uid }); + ctrls.draftMessageCtrl.$state.go('mail.account.mailbox.message', { messageId: vm.message.uid, reload: true }); } }); }