(js) Mark multiple messages as seen

Fixes #3873
This commit is contained in:
Francis Lachapelle
2016-11-07 12:14:00 -05:00
parent 836e2ee275
commit 4a6e53934b
5 changed files with 27 additions and 4 deletions
@@ -123,12 +123,12 @@
/**
* Keybindings are ignored by default when coming from a form input field.
*/
this._preventIn = ['INPUT', 'SELECT', 'TEXTAREA'];
this._preventIn = ['INPUT', 'SELECT', 'TEXTAREA', 'MD-OPTION'];
/**
* Keybindings are ignored by default when coming from special elements
*/
this._preventInClass = ['md-focused', 'md-chip-content'];
this._preventInClass = ['md-chip-content'];
this._onKeydown = this._onKeydown.bind(this);
this._onKeyup = this._onKeyup.bind(this);
@@ -33,6 +33,7 @@
vm.moveSelectedMessages = moveSelectedMessages;
vm.markSelectedMessagesAsFlagged = markSelectedMessagesAsFlagged;
vm.markSelectedMessagesAsUnread = markSelectedMessagesAsUnread;
vm.markSelectedMessagesAsRead = markSelectedMessagesAsRead;
vm.selectAll = selectAll;
vm.unselectMessages = unselectMessages;
@@ -448,13 +449,28 @@
function markSelectedMessagesAsUnread() {
var selectedMessages = vm.selectedFolder.$selectedMessages();
if (_.size(selectedMessages) > 0)
if (_.size(selectedMessages) > 0) {
vm.selectedFolder.$flagMessages(selectedMessages, 'seen', 'remove').then(function(messages) {
_.forEach(messages, function(message) {
if (message.isread)
message.$mailbox.unseenCount++;
message.isread = false;
message.$mailbox.unseenCount++;
});
});
}
}
function markSelectedMessagesAsRead() {
var selectedMessages = vm.selectedFolder.$selectedMessages();
if (_.size(selectedMessages) > 0) {
vm.selectedFolder.$flagMessages(selectedMessages, 'seen', 'add').then(function(messages) {
_.forEach(messages, function(message) {
if (!message.isread)
message.$mailbox.unseenCount--;
message.isread = true;
});
});
}
}
}