mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-06-28 06:46:27 +00:00
Slight code reduction for #419
This commit is contained in:
@@ -29,6 +29,8 @@ import { FileInfo } from 'Common/File';
|
||||
import { FolderPopupView } from 'View/Popup/Folder';
|
||||
import { showScreenPopup } from 'Knoin/Knoin';
|
||||
|
||||
import { isAllowedKeyword } from 'Stores/User/Folder';
|
||||
|
||||
const
|
||||
// isPosNumeric = value => null != value && /^[0-9]*$/.test(value.toString()),
|
||||
|
||||
@@ -411,6 +413,8 @@ export class FolderModel extends AbstractModel {
|
||||
canBeSubscribed: () => this.selectable()
|
||||
&& !(this.isSystemFolder() | !SettingsUserStore.hideUnsubscribed()),
|
||||
|
||||
optionalTags: () => this.permanentFlags.filter(isAllowedKeyword),
|
||||
|
||||
/**
|
||||
* Folder is visible when:
|
||||
* - hasVisibleSubfolders()
|
||||
|
||||
@@ -8,7 +8,7 @@ import { forEachObjectEntry, b64EncodeJSONSafe } from 'Common/Utils';
|
||||
import { serverRequestRaw, proxy } from 'Common/Links';
|
||||
import { addObservablesTo, addComputablesTo } from 'External/ko';
|
||||
|
||||
import { FolderUserStore, isAllowedKeyword } from 'Stores/User/Folder';
|
||||
import { FolderUserStore } from 'Stores/User/Folder';
|
||||
import { SettingsUserStore } from 'Stores/User/Settings';
|
||||
|
||||
import { FileInfo, RFC822 } from 'Common/File';
|
||||
@@ -157,17 +157,15 @@ export class MessageModel extends AbstractModel {
|
||||
|
||||
tagOptions: () => {
|
||||
const tagOptions = [];
|
||||
FolderUserStore.currentFolder().permanentFlags.forEach(value => {
|
||||
if (isAllowedKeyword(value)) {
|
||||
let lower = value.toLowerCase();
|
||||
tagOptions.push({
|
||||
css: 'msgflag-' + lower,
|
||||
value: value,
|
||||
checked: this.flags().includes(lower),
|
||||
label: i18n('MESSAGE_TAGS/'+lower, 0, value),
|
||||
toggle: (/*obj*/) => toggleTag(this, value)
|
||||
});
|
||||
}
|
||||
FolderUserStore.currentFolder().optionalTags().forEach(value => {
|
||||
let lower = value.toLowerCase();
|
||||
tagOptions.push({
|
||||
css: 'msgflag-' + lower,
|
||||
value: value,
|
||||
checked: this.flags().includes(lower),
|
||||
label: i18n('MESSAGE_TAGS/'+lower, 0, value),
|
||||
toggle: (/*obj*/) => toggleTag(this, value)
|
||||
});
|
||||
});
|
||||
return tagOptions
|
||||
},
|
||||
|
||||
@@ -32,6 +32,8 @@ import { SettingsGet } from 'Common/Globals';
|
||||
import { SUB_QUERY_PREFIX } from 'Common/Links';
|
||||
import { AppUserStore } from 'Stores/User/App';
|
||||
|
||||
import { baseCollator } from 'Common/Translator';
|
||||
|
||||
const
|
||||
isChecked = item => item.checked(),
|
||||
replaceHash = hash => {
|
||||
@@ -254,17 +256,14 @@ MessagelistUserStore.reload = (bDropPagePosition = false, bDropCurrentFolderCach
|
||||
|
||||
let flags = folderInfo.permanentFlags || [];
|
||||
if (flags.includes('\\*')) {
|
||||
/** Add Thunderbird labels */
|
||||
let i = 6;
|
||||
while (--i) {
|
||||
flags.includes('$label'+i) || flags.push('$label'+i);
|
||||
}
|
||||
/** TODO: add others by default? */
|
||||
}
|
||||
flags.sort((a, b) => {
|
||||
a = a.toUpperCase();
|
||||
b = b.toUpperCase();
|
||||
return (a < b) ? -1 : ((a > b) ? 1 : 0);
|
||||
});
|
||||
folder.permanentFlags(flags);
|
||||
folder.permanentFlags(flags.sort(baseCollator().compare));
|
||||
|
||||
MessagelistUserStore.notifyNewMessages(folder.fullName, collection.newMessages);
|
||||
}
|
||||
|
||||
@@ -32,14 +32,12 @@ export class AdvancedSearchPopupView extends AbstractViewPopup {
|
||||
// Almost the same as MessageModel.tagOptions
|
||||
keywords: () => {
|
||||
const keywords = [{value:'',label:''}];
|
||||
FolderUserStore.currentFolder().permanentFlags.forEach(value => {
|
||||
if (isAllowedKeyword(value)) {
|
||||
let lower = value.toLowerCase();
|
||||
keywords.push({
|
||||
value: value,
|
||||
label: i18n('MESSAGE_TAGS/'+lower, 0, lower)
|
||||
});
|
||||
}
|
||||
FolderUserStore.currentFolder().optionalTags().forEach(value => {
|
||||
let lower = value.toLowerCase();
|
||||
keywords.push({
|
||||
value: value,
|
||||
label: i18n('MESSAGE_TAGS/'+lower, 0, lower)
|
||||
});
|
||||
});
|
||||
return keywords
|
||||
},
|
||||
|
||||
@@ -154,7 +154,7 @@
|
||||
"SPAM_SCORE": "Spamscore",
|
||||
"HAS_VIRUS_WARNING": "WAARSCHUWING: virus gedetecteerd",
|
||||
"TAGS": "Labels",
|
||||
"NEW_TAG": "Nieuwe label",
|
||||
"NEW_TAG": "Nieuw label",
|
||||
"ENABLE_TRACKING_LINKS": "Schakel trackinglinks in",
|
||||
"TRACKING_ENABLED": "Links worden nu bijgehouden wanneer erop wordt geklikt!"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user