mirror of
https://github.com/the-djmaze/snappymail.git
synced 2024-12-31 03:52:01 +08:00
Improved message flags/keywords/tags #419
This commit is contained in:
parent
cc3486ab63
commit
c2d6ee90ac
2 changed files with 28 additions and 21 deletions
|
@ -35,6 +35,24 @@ const
|
|||
return result;
|
||||
},
|
||||
|
||||
ignoredTags = [
|
||||
'$forwarded',
|
||||
// Mailo
|
||||
'sent',
|
||||
// KMail
|
||||
'$sent',
|
||||
'$signed',
|
||||
'$error',
|
||||
'$queued',
|
||||
// GMail
|
||||
'$replied',
|
||||
'$attachment',
|
||||
'$notphishing',
|
||||
'$phishing',
|
||||
'junk',
|
||||
'nonjunk'
|
||||
],
|
||||
|
||||
toggleTag = (message, keyword) => {
|
||||
const lower = keyword.toLowerCase(),
|
||||
isSet = message.flags().includes(lower);
|
||||
|
@ -114,24 +132,6 @@ export class MessageModel extends AbstractModel {
|
|||
this.unsubsribeLinks = ko.observableArray();
|
||||
this.flags = ko.observableArray();
|
||||
|
||||
const ignoredTags = [
|
||||
'$forwarded',
|
||||
// Mailo
|
||||
'sent',
|
||||
// KMail
|
||||
'$sent',
|
||||
'$signed',
|
||||
'$error',
|
||||
'$queued',
|
||||
// GMail
|
||||
'$replied',
|
||||
'$attachment',
|
||||
'$notphishing',
|
||||
'$phishing',
|
||||
'junk',
|
||||
'nonjunk'
|
||||
];
|
||||
|
||||
this.addComputables({
|
||||
attachmentIconClass: () => FileInfo.getAttachmentsIconClass(this.attachments()),
|
||||
threadsLen: () => this.threads().length,
|
||||
|
@ -145,7 +145,7 @@ export class MessageModel extends AbstractModel {
|
|||
// isPhishing: () => this.flags().includes('$phishing'),
|
||||
|
||||
tagsToHTML: () => this.flags().map(value =>
|
||||
('\\' == value[0] || '$forwarded' == value)
|
||||
('\\' == value[0] || ignoredTags.includes(value))
|
||||
? ''
|
||||
: '<span class="focused msgflag-'+value+'">' + i18n('MESSAGE_TAGS/'+value,0,value) + '</span>'
|
||||
).join(' '),
|
||||
|
|
|
@ -200,12 +200,19 @@ MessagelistUserStore.reload = (bDropPagePosition = false, bDropCurrentFolderCach
|
|||
}
|
||||
|
||||
folder.flags(folderInfo.Flags);
|
||||
folderInfo.PermanentFlags.sort((a, b) => {
|
||||
let flags = folderInfo.PermanentFlags;
|
||||
if (flags.includes('\\*')) {
|
||||
let i = 6;
|
||||
while (--i) {
|
||||
flags.includes('$label'+i) || flags.push('$label'+i);
|
||||
}
|
||||
}
|
||||
flags.sort((a, b) => {
|
||||
a = a.toUpperCase();
|
||||
b = b.toUpperCase();
|
||||
return (a < b) ? -1 : ((a > b) ? 1 : 0);
|
||||
});
|
||||
folder.permanentFlags(folderInfo.PermanentFlags);
|
||||
folder.permanentFlags(flags);
|
||||
|
||||
MessagelistUserStore.notifyNewMessages(folder.fullName, collection.NewMessages);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue