mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-06-10 21:09:50 +00:00
(feat) added Junk handling feature from v2
This commit is contained in:
@@ -195,8 +195,7 @@
|
||||
};
|
||||
mailbox = _find(this.$mailboxes);
|
||||
|
||||
console.debug(mailbox);
|
||||
console.debug(this.specialMailboxes);
|
||||
return mailbox;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -576,6 +576,20 @@
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* @function $markOrUnMarkMessagesAsJunk
|
||||
* @memberof Mailbox.prototype
|
||||
* @desc Mark messages as junk/not junk
|
||||
* @return a promise of the HTTP operation
|
||||
*/
|
||||
Mailbox.prototype.$markOrUnMarkMessagesAsJunk = function(messages) {
|
||||
var _this = this, uids;
|
||||
var method = (this.type == 'junk' ? 'markMessagesAsNotJunk' : 'markMessagesAsJunk');
|
||||
uids = _.pluck(messages, 'uid');
|
||||
|
||||
return Mailbox.$$resource.post(this.id, method, {uids: uids});
|
||||
};
|
||||
|
||||
/**
|
||||
* @function $copyMessages
|
||||
* @memberof Mailbox.prototype
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
vm.toggleMessageSelection = toggleMessageSelection;
|
||||
vm.unselectMessages = unselectMessages;
|
||||
vm.confirmDeleteSelectedMessages = confirmDeleteSelectedMessages;
|
||||
vm.markOrUnMarkMessagesAsJunk = markOrUnMarkMessagesAsJunk;
|
||||
vm.copySelectedMessages = copySelectedMessages;
|
||||
vm.moveSelectedMessages = moveSelectedMessages;
|
||||
vm.saveSelectedMessages = saveSelectedMessages;
|
||||
@@ -69,6 +70,28 @@
|
||||
});
|
||||
}
|
||||
|
||||
function markOrUnMarkMessagesAsJunk() {
|
||||
var moveSelectedMessage = false;
|
||||
var selectedMessages = _.filter(vm.selectedFolder.$messages, function(message) {
|
||||
if (message.selected &&
|
||||
message.uid == vm.selectedFolder.selectedMessage)
|
||||
moveSelectedMessage = true;
|
||||
return message.selected;
|
||||
});
|
||||
|
||||
vm.selectedFolder.$markOrUnMarkMessagesAsJunk(selectedMessages).then(function() {
|
||||
var folder = '/' + vm.account.id + '/folderINBOX';
|
||||
|
||||
if (vm.selectedFolder.type != 'junk') {
|
||||
folder = '/' + vm.account.$getMailboxByType('junk').id;
|
||||
}
|
||||
|
||||
vm.selectedFolder.$moveMessages(selectedMessages, folder).then(function(index) {
|
||||
unselectMessage(moveSelectedMessage, index);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function unselectMessage(message, index) {
|
||||
// Unselect current message and cleverly load the next message
|
||||
var nextMessage, previousMessage, nextIndex = index;
|
||||
|
||||
@@ -301,6 +301,8 @@
|
||||
return {name: l('SentFolderName'), icon: 'send'};
|
||||
else if (folder.type == 'trash')
|
||||
return {name: l('TrashFolderName'), icon: 'delete'};
|
||||
else if (folder.type == 'junk')
|
||||
return {name: l('JunkFolderName'), icon: 'thumb_down'};
|
||||
else if (folder.type == 'additional')
|
||||
return {name: folder.name, icon: 'folder_shared'};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user