Cleanup and split Enums

This commit is contained in:
djmaze 2021-01-24 22:58:06 +01:00
parent 864da66b5f
commit f3bfa0e8c1
31 changed files with 315 additions and 344 deletions

View file

@ -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';

View file

@ -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

View file

@ -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('@')
) {

View file

@ -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();

View file

@ -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';

View file

@ -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))

View file

@ -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]) {