mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-30 04:29:21 +03:00
Cleanup and split Enums
This commit is contained in:
parent
864da66b5f
commit
f3bfa0e8c1
31 changed files with 315 additions and 344 deletions
|
|
@ -1,5 +1,4 @@
|
|||
import { ContactPropertyModel } from 'Model/ContactProperty';
|
||||
import { ContactPropertyType } from 'Common/Enums';
|
||||
import { ContactPropertyModel, ContactPropertyType } from 'Model/ContactProperty';
|
||||
|
||||
import { AbstractModel } from 'Knoin/AbstractModel';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
import { ContactPropertyType } from 'Common/Enums';
|
||||
import { pInt, pString } from 'Common/Utils';
|
||||
import { i18n } from 'Common/Translator';
|
||||
|
||||
|
|
@ -6,6 +5,37 @@ import { AbstractModel } from 'Knoin/AbstractModel';
|
|||
|
||||
const trim = text => null == text ? "" : (text + "").trim();
|
||||
|
||||
/**
|
||||
* @enum {number}
|
||||
*/
|
||||
export const ContactPropertyType = {
|
||||
Unknown: 0,
|
||||
|
||||
FullName: 10,
|
||||
|
||||
FirstName: 15,
|
||||
LastName: 16,
|
||||
MiddleName: 17,
|
||||
Nick: 18,
|
||||
|
||||
NamePrefix: 20,
|
||||
NameSuffix: 21,
|
||||
|
||||
Email: 30,
|
||||
Phone: 31,
|
||||
Web: 32,
|
||||
|
||||
Birthday: 40,
|
||||
|
||||
Facebook: 90,
|
||||
Skype: 91,
|
||||
GitHub: 92,
|
||||
|
||||
Note: 110,
|
||||
|
||||
Custom: 250
|
||||
};
|
||||
|
||||
export class ContactPropertyModel extends AbstractModel {
|
||||
/**
|
||||
* @param {number=} type = Enums.ContactPropertyType.Unknown
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
import ko from 'ko';
|
||||
|
||||
import { FilterRulesType, FiltersAction } from 'Common/Enums';
|
||||
import { pString } from 'Common/Utils';
|
||||
import { delegateRunOnDestroy } from 'Common/UtilsUser';
|
||||
import { i18n } from 'Common/Translator';
|
||||
|
|
@ -11,6 +10,26 @@ import AccountStore from 'Stores/User/Account';
|
|||
import { FilterConditionModel } from 'Model/FilterCondition';
|
||||
import { AbstractModel } from 'Knoin/AbstractModel';
|
||||
|
||||
/**
|
||||
* @enum {string}
|
||||
*/
|
||||
export const FilterAction = {
|
||||
None: 'None',
|
||||
MoveTo: 'MoveTo',
|
||||
Discard: 'Discard',
|
||||
Vacation: 'Vacation',
|
||||
Reject: 'Reject',
|
||||
Forward: 'Forward'
|
||||
};
|
||||
|
||||
/**
|
||||
* @enum {string}
|
||||
*/
|
||||
const FilterRulesType = {
|
||||
All: 'All',
|
||||
Any: 'Any'
|
||||
};
|
||||
|
||||
export class FilterModel extends AbstractModel {
|
||||
constructor() {
|
||||
super();
|
||||
|
|
@ -43,7 +62,7 @@ export class FilterModel extends AbstractModel {
|
|||
actionKeep: true,
|
||||
actionNoStop: false,
|
||||
|
||||
actionType: FiltersAction.MoveTo
|
||||
actionType: FilterAction.MoveTo
|
||||
});
|
||||
|
||||
this.conditions = ko.observableArray();
|
||||
|
|
@ -59,23 +78,23 @@ export class FilterModel extends AbstractModel {
|
|||
const actionValue = this.actionValue();
|
||||
|
||||
switch (this.actionType()) {
|
||||
case FiltersAction.MoveTo:
|
||||
case FilterAction.MoveTo:
|
||||
result = i18n('SETTINGS_FILTERS/SUBNAME_MOVE_TO', {
|
||||
FOLDER: fGetRealFolderName(actionValue)
|
||||
});
|
||||
break;
|
||||
case FiltersAction.Forward:
|
||||
case FilterAction.Forward:
|
||||
result = i18n('SETTINGS_FILTERS/SUBNAME_FORWARD_TO', {
|
||||
EMAIL: actionValue
|
||||
});
|
||||
break;
|
||||
case FiltersAction.Vacation:
|
||||
case FilterAction.Vacation:
|
||||
result = i18n('SETTINGS_FILTERS/SUBNAME_VACATION_MESSAGE');
|
||||
break;
|
||||
case FiltersAction.Reject:
|
||||
case FilterAction.Reject:
|
||||
result = i18n('SETTINGS_FILTERS/SUBNAME_REJECT');
|
||||
break;
|
||||
case FiltersAction.Discard:
|
||||
case FilterAction.Discard:
|
||||
result = i18n('SETTINGS_FILTERS/SUBNAME_DISCARD');
|
||||
break;
|
||||
// no default
|
||||
|
|
@ -88,24 +107,24 @@ export class FilterModel extends AbstractModel {
|
|||
let result = '';
|
||||
|
||||
switch (this.actionType()) {
|
||||
case FiltersAction.Forward:
|
||||
result = 'SettingsFiltersActionForward';
|
||||
case FilterAction.Forward:
|
||||
result = 'SettingsFilterActionForward';
|
||||
break;
|
||||
case FiltersAction.Vacation:
|
||||
result = 'SettingsFiltersActionVacation';
|
||||
case FilterAction.Vacation:
|
||||
result = 'SettingsFilterActionVacation';
|
||||
break;
|
||||
case FiltersAction.Reject:
|
||||
result = 'SettingsFiltersActionReject';
|
||||
case FilterAction.Reject:
|
||||
result = 'SettingsFilterActionReject';
|
||||
break;
|
||||
case FiltersAction.None:
|
||||
result = 'SettingsFiltersActionNone';
|
||||
case FilterAction.None:
|
||||
result = 'SettingsFilterActionNone';
|
||||
break;
|
||||
case FiltersAction.Discard:
|
||||
result = 'SettingsFiltersActionDiscard';
|
||||
case FilterAction.Discard:
|
||||
result = 'SettingsFilterActionDiscard';
|
||||
break;
|
||||
case FiltersAction.MoveTo:
|
||||
case FilterAction.MoveTo:
|
||||
default:
|
||||
result = 'SettingsFiltersActionMoveToFolder';
|
||||
result = 'SettingsFilterActionMoveToFolder';
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -143,10 +162,10 @@ export class FilterModel extends AbstractModel {
|
|||
|
||||
if (!this.actionValue()) {
|
||||
if ([
|
||||
FiltersAction.MoveTo,
|
||||
FiltersAction.Forward,
|
||||
FiltersAction.Reject,
|
||||
FiltersAction.Vacation
|
||||
FilterAction.MoveTo,
|
||||
FilterAction.Forward,
|
||||
FilterAction.Reject,
|
||||
FilterAction.Vacation
|
||||
].includes(this.actionType())
|
||||
) {
|
||||
this.actionValueError(true);
|
||||
|
|
@ -154,13 +173,13 @@ export class FilterModel extends AbstractModel {
|
|||
}
|
||||
}
|
||||
|
||||
if (FiltersAction.Forward === this.actionType() && !this.actionValue().includes('@')) {
|
||||
if (FilterAction.Forward === this.actionType() && !this.actionValue().includes('@')) {
|
||||
this.actionValueError(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (
|
||||
FiltersAction.Vacation === this.actionType() &&
|
||||
FilterAction.Vacation === this.actionType() &&
|
||||
this.actionValueFourth() &&
|
||||
!this.actionValueFourth().includes('@')
|
||||
) {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,34 @@
|
|||
import ko from 'ko';
|
||||
|
||||
import { FilterConditionField, FilterConditionType } from 'Common/Enums';
|
||||
|
||||
import { AbstractModel } from 'Knoin/AbstractModel';
|
||||
|
||||
/**
|
||||
* @enum {string}
|
||||
*/
|
||||
export const FilterConditionField = {
|
||||
From: 'From',
|
||||
Recipient: 'Recipient',
|
||||
Subject: 'Subject',
|
||||
Header: 'Header',
|
||||
Body: 'Body',
|
||||
Size: 'Size'
|
||||
};
|
||||
|
||||
/**
|
||||
* @enum {string}
|
||||
*/
|
||||
export const FilterConditionType = {
|
||||
Contains: 'Contains',
|
||||
NotContains: 'NotContains',
|
||||
EqualTo: 'EqualTo',
|
||||
NotEqualTo: 'NotEqualTo',
|
||||
Regex: 'Regex',
|
||||
Over: 'Over',
|
||||
Under: 'Under',
|
||||
Text: 'Text',
|
||||
Raw: 'Raw'
|
||||
};
|
||||
|
||||
export class FilterConditionModel extends AbstractModel {
|
||||
constructor() {
|
||||
super();
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import ko from 'ko';
|
||||
|
||||
import { FolderType } from 'Common/Enums';
|
||||
import { FolderType } from 'Common/EnumsUser';
|
||||
import { isPosNumeric } from 'Common/UtilsUser';
|
||||
import { i18n, trigger as translatorTrigger } from 'Common/Translator';
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { AbstractCollectionModel } from 'Model/AbstractCollection';
|
|||
|
||||
import { UNUSED_OPTION_VALUE } from 'Common/Consts';
|
||||
import { pInt } from 'Common/Utils';
|
||||
import { ClientSideKeyName, FolderType, ServerFolderType } from 'Common/Enums';
|
||||
import { ClientSideKeyName, FolderType } from 'Common/EnumsUser';
|
||||
import * as Cache from 'Common/Cache';
|
||||
|
||||
import * as Local from 'Storage/Client';
|
||||
|
|
@ -18,6 +18,18 @@ import Remote from 'Remote/User/Fetch';
|
|||
|
||||
const Settings = rl.settings,
|
||||
|
||||
ServerFolderType = {
|
||||
USER: 0,
|
||||
INBOX: 1,
|
||||
SENT: 2,
|
||||
DRAFTS: 3,
|
||||
JUNK: 4,
|
||||
TRASH: 5,
|
||||
IMPORTANT: 10,
|
||||
FLAGGED: 11,
|
||||
ALL: 12
|
||||
},
|
||||
|
||||
normalizeFolder = sFolderFullNameRaw => ('' === sFolderFullNameRaw
|
||||
|| UNUSED_OPTION_VALUE === sFolderFullNameRaw
|
||||
|| null !== Cache.getFolderFromCacheList(sFolderFullNameRaw))
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import ko from 'ko';
|
||||
|
||||
import { MessagePriority, SignedVerifyStatus } from 'Common/Enums';
|
||||
import { MessagePriority } from 'Common/EnumsUser';
|
||||
import { i18n } from 'Common/Translator';
|
||||
|
||||
import { encodeHtml } from 'Common/UtilsUser';
|
||||
|
|
@ -16,6 +16,15 @@ import { AbstractModel } from 'Knoin/AbstractModel';
|
|||
|
||||
const isArray = Array.isArray,
|
||||
|
||||
SignedVerifyStatus = {
|
||||
UnknownPublicKeys: -4,
|
||||
UnknownPrivateKey: -3,
|
||||
Unverified: -2,
|
||||
Error: -1,
|
||||
None: 0,
|
||||
Success: 1
|
||||
},
|
||||
|
||||
replyHelper = (emails, unic, localEmails) => {
|
||||
emails.forEach(email => {
|
||||
if (undefined === unic[email.email]) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue