mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Improved tags #419
This commit is contained in:
parent
c0994b38e8
commit
9e4edd8843
5 changed files with 42 additions and 6 deletions
|
|
@ -263,11 +263,17 @@ export class FolderModel extends AbstractModel {
|
|||
|
||||
kolabType: null,
|
||||
|
||||
collapsed: true
|
||||
collapsed: true,
|
||||
|
||||
tagsAllowed: false
|
||||
});
|
||||
|
||||
this.flags = ko.observableArray();
|
||||
this.permanentFlags = ko.observableArray();
|
||||
|
||||
this.addSubscribables({
|
||||
kolabType: sValue => this.metadata[FolderMetadataKeys.KolabFolderType] = sValue
|
||||
kolabType: sValue => this.metadata[FolderMetadataKeys.KolabFolderType] = sValue,
|
||||
permanentFlags: aValue => this.tagsAllowed(aValue.includes('\\*'))
|
||||
});
|
||||
|
||||
this.subFolders = ko.observableArray(new FolderCollectionModel);
|
||||
|
|
@ -296,9 +302,20 @@ export class FolderModel extends AbstractModel {
|
|||
}
|
||||
})
|
||||
.extend({ notify: 'always' });
|
||||
|
||||
this.flags = ko.observableArray();
|
||||
this.permanentFlags = ko.observableArray();
|
||||
/*
|
||||
https://www.rfc-editor.org/rfc/rfc8621.html#section-2
|
||||
"myRights": {
|
||||
"mayAddItems": true,
|
||||
"mayRename": false,
|
||||
"maySubmit": true,
|
||||
"mayDelete": false,
|
||||
"maySetKeywords": true,
|
||||
"mayRemoveItems": true,
|
||||
"mayCreateChild": true,
|
||||
"maySetSeen": true,
|
||||
"mayReadItems": true
|
||||
},
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -113,11 +113,21 @@ export class MessageModel extends AbstractModel {
|
|||
this.flags = ko.observableArray();
|
||||
|
||||
const ignoredTags = [
|
||||
'$forwarded',
|
||||
// Mailo
|
||||
'sent',
|
||||
// KMail
|
||||
'$sent',
|
||||
'$signed',
|
||||
'$error',
|
||||
'$queued',
|
||||
'$forwarded'
|
||||
// GMail
|
||||
'$replied',
|
||||
'$attachment',
|
||||
'$notphishing',
|
||||
'$phishing',
|
||||
'junk',
|
||||
'nonjunk'
|
||||
];
|
||||
|
||||
this.addComputables({
|
||||
|
|
|
|||
|
|
@ -206,6 +206,11 @@ MessagelistUserStore.reload = (bDropPagePosition = false, bDropCurrenFolderCache
|
|||
}
|
||||
|
||||
folder.flags(folderInfo.Flags);
|
||||
folderInfo.PermanentFlags.sort((a, b) => {
|
||||
a = a.toUpperCase();
|
||||
b = b.toUpperCase();
|
||||
return (a < b) ? -1 : ((a > b) ? 1 : 0);
|
||||
});
|
||||
folder.permanentFlags(folderInfo.PermanentFlags);
|
||||
|
||||
MessagelistUserStore.initUidNextAndNewMessages(folder.fullName, folderInfo.UidNext, collection.NewMessages);
|
||||
|
|
|
|||
|
|
@ -147,6 +147,8 @@ export class MailMessageView extends AbstractViewRight {
|
|||
)
|
||||
},
|
||||
|
||||
tagsAllowed: () => FolderUserStore.currentFolder() ? FolderUserStore.currentFolder().tagsAllowed() : false,
|
||||
|
||||
messageVisibility: () => !MessageUserStore.loading() && !!currentMessage(),
|
||||
|
||||
canBeRepliedOrForwarded: () => !this.isDraftFolder() && this.messageVisibility(),
|
||||
|
|
|
|||
|
|
@ -195,6 +195,7 @@
|
|||
</table>
|
||||
</div>
|
||||
<div class="hasVirus" data-bind="visible: message().hasVirus()" data-i18n="MESSAGE/HAS_VIRUS_WARNING"></div>
|
||||
<!-- ko if: tagsAllowed -->
|
||||
<div class="messageTags">
|
||||
<span data-i18n="MESSAGE/TAGS"></span>:
|
||||
<span data-bind="html: message().tagsToHTML()"></span>
|
||||
|
|
@ -207,6 +208,7 @@
|
|||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /ko -->
|
||||
</div>
|
||||
<div id="messageItem" data-bind="css: message().lineAsCss()">
|
||||
<div tabindex="0" data-bind="hasfocus: messageDomFocused">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue