(feat) added Junk handling feature from v2
parent
ace7e0771f
commit
ee3276f01d
2
NEWS
2
NEWS
|
@ -2,7 +2,7 @@
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
Enhancements
|
Enhancements
|
||||||
-
|
- [web] added Junk handling feature from v2
|
||||||
|
|
||||||
Bug fixes
|
Bug fixes
|
||||||
- [web] handle birthday dates before 1970
|
- [web] handle birthday dates before 1970
|
||||||
|
|
|
@ -857,7 +857,9 @@ _compareFetchResultsByMODSEQ (id entry1, id entry2, void *data)
|
||||||
body = [[[NGMimeMultipartBody alloc] initWithPart: messageToSend] autorelease];
|
body = [[[NGMimeMultipartBody alloc] initWithPart: messageToSend] autorelease];
|
||||||
}
|
}
|
||||||
|
|
||||||
mailObject = [self lookupName: [uids objectAtIndex: i] inContext: context acquire: NO];
|
mailObject = [self lookupName: [NSString stringWithFormat: @"%@", [uids objectAtIndex: i]]
|
||||||
|
inContext: context
|
||||||
|
acquire: NO];
|
||||||
|
|
||||||
// We skip emails that might have disappeared before we were able
|
// We skip emails that might have disappeared before we were able
|
||||||
// to perform the action
|
// to perform the action
|
||||||
|
|
|
@ -276,6 +276,10 @@
|
||||||
"Set as Drafts" = "Set as Drafts";
|
"Set as Drafts" = "Set as Drafts";
|
||||||
"Set as Sent" = "Set as Sent";
|
"Set as Sent" = "Set as Sent";
|
||||||
"Set as Trash" = "Set as Trash";
|
"Set as Trash" = "Set as Trash";
|
||||||
|
|
||||||
|
/* Set the folder as the one holding Junk mails */
|
||||||
|
"Set as Junk" = "Set as Junk";
|
||||||
|
|
||||||
"Sort" = "Sort";
|
"Sort" = "Sort";
|
||||||
"Descending Order" = "Descending Order";
|
"Descending Order" = "Descending Order";
|
||||||
"Back" = "Back";
|
"Back" = "Back";
|
||||||
|
@ -291,4 +295,4 @@
|
||||||
"More search options" = "More search options";
|
"More search options" = "More search options";
|
||||||
"Your email has been saved" = "Your email has been saved";
|
"Your email has been saved" = "Your email has been saved";
|
||||||
"Your email has been sent" = "Your email has been sent";
|
"Your email has been sent" = "Your email has been sent";
|
||||||
"Folder compacted" = "Folder compacted";
|
"Folder compacted" = "Folder compacted";
|
||||||
|
|
|
@ -155,6 +155,10 @@
|
||||||
<md-button class="sg-icon-button" ng-click="mailbox.confirmDeleteSelectedMessages()">
|
<md-button class="sg-icon-button" ng-click="mailbox.confirmDeleteSelectedMessages()">
|
||||||
<md-icon>delete</md-icon>
|
<md-icon>delete</md-icon>
|
||||||
</md-button>
|
</md-button>
|
||||||
|
<md-button class="sg-icon-button" ng-click="mailbox.markOrUnMarkMessagesAsJunk()">
|
||||||
|
<md-icon ng-hide="mailbox.service.selectedFolder.type == 'junk'">thumb_down</md-icon>
|
||||||
|
<md-icon ng-hide="mailbox.service.selectedFolder.type != 'junk'">thumb_up</md-icon>
|
||||||
|
</md-button>
|
||||||
<md-menu>
|
<md-menu>
|
||||||
<md-button class="sg-icon-button" label:aria-label="More messages options" ng-click="$mdOpenMenu()">
|
<md-button class="sg-icon-button" label:aria-label="More messages options" ng-click="$mdOpenMenu()">
|
||||||
<md-icon>more_vert</md-icon>
|
<md-icon>more_vert</md-icon>
|
||||||
|
|
|
@ -172,6 +172,11 @@
|
||||||
<var:string label:value="Set as Trash"/>
|
<var:string label:value="Set as Trash"/>
|
||||||
</md-button>
|
</md-button>
|
||||||
</md-menu-item>
|
</md-menu-item>
|
||||||
|
<md-menu-item ng-show="folder.type == 'folder'">
|
||||||
|
<md-button type="button" ng-click="app.setFolderAs(folder, 'Junk')">
|
||||||
|
<var:string label:value="Set as Junk"/>
|
||||||
|
</md-button>
|
||||||
|
</md-menu-item>
|
||||||
<md-menu-divider ng-show="folder.type != 'additional'"><!-- divider --></md-menu-divider>
|
<md-menu-divider ng-show="folder.type != 'additional'"><!-- divider --></md-menu-divider>
|
||||||
<md-menu-item ng-show="folder.type != 'additional'">
|
<md-menu-item ng-show="folder.type != 'additional'">
|
||||||
<md-button type="button" ng-click="app.share(folder)">
|
<md-button type="button" ng-click="app.share(folder)">
|
||||||
|
|
|
@ -195,8 +195,7 @@
|
||||||
};
|
};
|
||||||
mailbox = _find(this.$mailboxes);
|
mailbox = _find(this.$mailboxes);
|
||||||
|
|
||||||
console.debug(mailbox);
|
return mailbox;
|
||||||
console.debug(this.specialMailboxes);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -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
|
* @function $copyMessages
|
||||||
* @memberof Mailbox.prototype
|
* @memberof Mailbox.prototype
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
vm.toggleMessageSelection = toggleMessageSelection;
|
vm.toggleMessageSelection = toggleMessageSelection;
|
||||||
vm.unselectMessages = unselectMessages;
|
vm.unselectMessages = unselectMessages;
|
||||||
vm.confirmDeleteSelectedMessages = confirmDeleteSelectedMessages;
|
vm.confirmDeleteSelectedMessages = confirmDeleteSelectedMessages;
|
||||||
|
vm.markOrUnMarkMessagesAsJunk = markOrUnMarkMessagesAsJunk;
|
||||||
vm.copySelectedMessages = copySelectedMessages;
|
vm.copySelectedMessages = copySelectedMessages;
|
||||||
vm.moveSelectedMessages = moveSelectedMessages;
|
vm.moveSelectedMessages = moveSelectedMessages;
|
||||||
vm.saveSelectedMessages = saveSelectedMessages;
|
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) {
|
function unselectMessage(message, index) {
|
||||||
// Unselect current message and cleverly load the next message
|
// Unselect current message and cleverly load the next message
|
||||||
var nextMessage, previousMessage, nextIndex = index;
|
var nextMessage, previousMessage, nextIndex = index;
|
||||||
|
|
|
@ -301,6 +301,8 @@
|
||||||
return {name: l('SentFolderName'), icon: 'send'};
|
return {name: l('SentFolderName'), icon: 'send'};
|
||||||
else if (folder.type == 'trash')
|
else if (folder.type == 'trash')
|
||||||
return {name: l('TrashFolderName'), icon: 'delete'};
|
return {name: l('TrashFolderName'), icon: 'delete'};
|
||||||
|
else if (folder.type == 'junk')
|
||||||
|
return {name: l('JunkFolderName'), icon: 'thumb_down'};
|
||||||
else if (folder.type == 'additional')
|
else if (folder.type == 'additional')
|
||||||
return {name: folder.name, icon: 'folder_shared'};
|
return {name: folder.name, icon: 'folder_shared'};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue