(feat) added many missing actions on mail folders

This commit is contained in:
Ludovic Marcotte
2015-07-21 09:28:54 -04:00
parent a75524af9f
commit bee36814e5
3 changed files with 69 additions and 13 deletions
@@ -338,6 +338,36 @@
return deferred.promise;
};
/**
* @function $compact
* @memberof Mailbox.prototype
* @desc Compact the mailbox
* @returns a promise of the HTTP operation
*/
Mailbox.prototype.$compact = function() {
return Mailbox.$$resource.post(this.id, 'expunge');
};
/**
* @function $emptyTrash
* @memberof Mailbox.prototype
* @desc Empty the Trash folder.
* @returns a promise of the HTTP operation
*/
Mailbox.prototype.$emptyTrash = function() {
return Mailbox.$$resource.post(this.id, 'emptyTrash');
};
/**
* @function $markAsRead
* @memberof Mailbox.prototype
* @desc Mark all messages from folder as read
* @returns a promise of the HTTP operation
*/
Mailbox.prototype.$markAsRead = function() {
return Mailbox.$$resource.post(this.id, 'markRead');
};
/**
* @function $delete
* @memberof Mailbox.prototype
@@ -20,8 +20,11 @@
vm.revertEditing = revertEditing;
vm.selectFolder = selectFolder;
vm.saveFolder = saveFolder;
vm.compactFolder = compactFolder;
vm.emptyTrashFolder = emptyTrashFolder;
vm.exportMails = exportMails;
vm.confirmDelete = confirmDelete;
vm.markFolderRead = markFolderRead;
vm.share = share;
vm.iconForFolder = iconForFolder;
@@ -136,6 +139,22 @@
folder.$rename();
}
function compactFolder(folder) {
folder.$compact().then(function() {
// Success
}, function(error) {
Dialog.alert(l('Warning'), error);
});
}
function emptyTrashFolder(folder) {
folder.$emptyTrash().then(function() {
// Success
}, function(error) {
Dialog.alert(l('Warning'), error);
});
}
function exportMails(folder) {
window.location.href = ApplicationBaseURL + '/' + folder.id + '/exportFolder';
}
@@ -153,6 +172,10 @@
});
}
function markFolderRead(folder) {
folder.$markAsRead();
}
function share(folder) {
//if (addressbook.id != vm.service.selectedFolder.id) {
// Counter the possibility to click on the "hidden" secondary button