diff --git a/NEWS b/NEWS index dee1201e5..2ec3e9c9a 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,7 @@ Enhancements - [web] improve action progress when login in or sending a message (#3765, #3761) - [web] don't allow to send the message while an upload is in progress + - [web] notify when successfuly copied or moved some messages 3.1.4 (2016-07-12) ------------------ diff --git a/UI/MailerUI/English.lproj/Localizable.strings b/UI/MailerUI/English.lproj/Localizable.strings index 074d17145..bcba2852c 100644 --- a/UI/MailerUI/English.lproj/Localizable.strings +++ b/UI/MailerUI/English.lproj/Localizable.strings @@ -271,6 +271,12 @@ /* Confirmation message when deleting multiple messages */ "Are you sure you want to delete the selected messages?" = "Are you sure you want to delete the selected messages?"; +/* Notification on the number of messages successfuly copied */ +"%{0} message(s) copied" = "%{0} message(s) copied"; + +/* Notification on the number of messages successfuly movied */ +"%{0} message(s) copied" = "%{0} message(s) moved"; + "Please select a message." = "Please select a message."; "Please select a message to print." = "Please select a message to print."; "Please select only one message to print." = "Please select only one message to print."; diff --git a/UI/WebServerResources/js/Mailer/MailboxController.js b/UI/WebServerResources/js/Mailer/MailboxController.js index ab727a564..0eb03b3e4 100644 --- a/UI/WebServerResources/js/Mailer/MailboxController.js +++ b/UI/WebServerResources/js/Mailer/MailboxController.js @@ -6,8 +6,8 @@ /** * @ngInject */ - MailboxController.$inject = ['$window', '$timeout', '$q', '$state', '$mdDialog', 'stateAccounts', 'stateAccount', 'stateMailbox', 'encodeUriFilter', 'sgFocus', 'Dialog', 'Account', 'Mailbox']; - function MailboxController($window, $timeout, $q, $state, $mdDialog, stateAccounts, stateAccount, stateMailbox, encodeUriFilter, focus, Dialog, Account, Mailbox) { + MailboxController.$inject = ['$window', '$timeout', '$q', '$state', '$mdDialog', '$mdToast', 'stateAccounts', 'stateAccount', 'stateMailbox', 'encodeUriFilter', 'sgFocus', 'Dialog', 'Account', 'Mailbox']; + function MailboxController($window, $timeout, $q, $state, $mdDialog, $mdToast, stateAccounts, stateAccount, stateMailbox, encodeUriFilter, focus, Dialog, Account, Mailbox) { var vm = this, messageDialog = null; // Expose controller @@ -200,14 +200,26 @@ function copySelectedMessages(dstFolder) { var selectedMessages = vm.selectedFolder.$selectedMessages(); if (_.size(selectedMessages) > 0) - vm.selectedFolder.$copyMessages(selectedMessages, '/' + dstFolder); + vm.selectedFolder.$copyMessages(selectedMessages, '/' + dstFolder).then(function() { + $mdToast.show( + $mdToast.simple() + .content(l('%{0} message(s) copied', vm.selectedFolder.$selectedCount())) + .position('top right') + .hideDelay(2000)); + }); } function moveSelectedMessages(dstFolder) { var moveSelectedMessage = vm.selectedFolder.hasSelectedMessage(); var selectedMessages = vm.selectedFolder.$selectedMessages(); + var count = vm.selectedFolder.$selectedCount(); if (_.size(selectedMessages) > 0) vm.selectedFolder.$moveMessages(selectedMessages, '/' + dstFolder).then(function(index) { + $mdToast.show( + $mdToast.simple() + .content(l('%{0} message(s) moved', count)) + .position('top right') + .hideDelay(2000)); if (Mailbox.$virtualMode) { // When performing an advanced search, we refresh the view if the selected message // was moved, but only once all promises have completed.