diff --git a/UI/Templates/MailerUI/UIxMailFolderTemplate.wox b/UI/Templates/MailerUI/UIxMailFolderTemplate.wox index 40f7c4a5a..5dad98db2 100644 --- a/UI/Templates/MailerUI/UIxMailFolderTemplate.wox +++ b/UI/Templates/MailerUI/UIxMailFolderTemplate.wox @@ -72,7 +72,7 @@ search + ng-click="mailbox.searchMode($event)" ng-bind="mailbox.service.selectedFolder.$displayName"> diff --git a/UI/WebServerResources/js/Mailer/Mailbox.service.js b/UI/WebServerResources/js/Mailer/Mailbox.service.js index be883aa8a..209a2a1ea 100644 --- a/UI/WebServerResources/js/Mailer/Mailbox.service.js +++ b/UI/WebServerResources/js/Mailer/Mailbox.service.js @@ -868,13 +868,18 @@ * @memberof Mailbox.prototype * @desc Reset the original state the mailbox's data. */ - Mailbox.prototype.$reset = function() { + Mailbox.prototype.$reset = function(options) { var _this = this; angular.forEach(this.$shadowData, function(value, key) { delete _this[key]; }); angular.extend(this, this.$shadowData); this.$shadowData = this.$omit(); + if (options && options.filter) { + this.$messages = []; + this.$visibleMessages = []; + delete this.$syncToken; + } }; /** diff --git a/UI/WebServerResources/js/Mailer/MailboxController.js b/UI/WebServerResources/js/Mailer/MailboxController.js index 68b42cbcd..8f3ec444d 100644 --- a/UI/WebServerResources/js/Mailer/MailboxController.js +++ b/UI/WebServerResources/js/Mailer/MailboxController.js @@ -53,8 +53,14 @@ title += ' | ' + defaultWindowTitle; $window.document.title = title; }); - }; + $scope.$on('$destroy', function() { + if (vm.mode.search) { + vm.mode.search = false; + vm.selectedFolder.$reset({ filter: true }); + } + }); + }; function _registerHotkeys(keys) { keys.push(sgHotkeys.createHotkey({