diff --git a/dev/App/User.js b/dev/App/User.js index 44fb6d130..6d05c092f 100644 --- a/dev/App/User.js +++ b/dev/App/User.js @@ -2,15 +2,18 @@ import { pInt, pString } from 'Common/Utils'; import { isPosNumeric, delegateRunOnDestroy, mailToHelper } from 'Common/UtilsUser'; import { - Layout, Capa, StorageResultType, - Notification, + Notification +} from 'Common/Enums'; + +import { + Layout, FolderType, SetSystemFoldersNotification, MessageSetAction, ClientSideKeyName -} from 'Common/Enums'; +} from 'Common/EnumsUser'; import { $htmlCL, leftPanelDisabled } from 'Common/Globals'; diff --git a/dev/Common/Cache.js b/dev/Common/Cache.js index 72437771b..37017d64a 100644 --- a/dev/Common/Cache.js +++ b/dev/Common/Cache.js @@ -1,4 +1,4 @@ -import { MessageSetAction } from 'Common/Enums'; +import { MessageSetAction } from 'Common/EnumsUser'; import { pInt } from 'Common/Utils'; let FOLDERS_CACHE = {}, diff --git a/dev/Common/Enums.js b/dev/Common/Enums.js index 9de898dee..27ee8149d 100644 --- a/dev/Common/Enums.js +++ b/dev/Common/Enums.js @@ -10,16 +10,6 @@ export const StorageResultType = { Unload: 'unload' }; -/** - * @enum {string} - */ -export const Focused = { - None: 'none', - MessageList: 'message-list', - MessageView: 'message-view', - FolderList: 'folder-list' -}; - /** * @enum {string} */ @@ -71,66 +61,6 @@ export const KeyState = { PopupAsk: 'popup-ask' }; -/** - * @enum {number} - */ -export const FolderType = { - Inbox: 10, - SentItems: 11, - Draft: 12, - Trash: 13, - Spam: 14, - Archive: 15, - NotSpam: 80, - User: 99 -}; - -/** - * @enum {number} - */ -export const ServerFolderType = { - USER: 0, - INBOX: 1, - SENT: 2, - DRAFTS: 3, - JUNK: 4, - TRASH: 5, - IMPORTANT: 10, - FLAGGED: 11, - ALL: 12 -}; - -/** - * @enum {string} - */ -export const LoginSignMeTypeAsString = { - DefaultOff: 'defaultoff', - DefaultOn: 'defaulton', - Unused: 'unused' -}; - -/** - * @enum {number} - */ -export const LoginSignMeType = { - DefaultOff: 0, - DefaultOn: 1, - Unused: 2 -}; - -/** - * @enum {string} - */ -export const ComposeType = { - Empty: 'empty', - Reply: 'reply', - ReplyAll: 'replyall', - Forward: 'forward', - ForwardAsAttachment: 'forward-as-attachment', - Draft: 'draft', - EditAsNew: 'editasnew' -}; - /** * @enum {number} */ @@ -145,96 +75,6 @@ export const UploadErrorCode = { Unknown: 99 }; -/** - * @enum {number} - */ -export const SetSystemFoldersNotification = { - None: 0, - Sent: 1, - Draft: 2, - Spam: 3, - Trash: 4, - Archive: 5 -}; - -/** - * @enum {number} - */ -export const ClientSideKeyName = { - FoldersLashHash: 0, - MessagesInboxLastHash: 1, - MailBoxListSize: 2, - ExpandedFolders: 3, - FolderListSize: 4, - MessageListSize: 5, - LastReplyAction: 6, - LastSignMe: 7, - ComposeLastIdentityID: 8, - MessageHeaderFullInfo: 9, - MessageAttachmentControls: 10 -}; - -/** - * @enum {number} - */ -export const MessageSetAction = { - SetSeen: 0, - UnsetSeen: 1, - SetFlag: 2, - UnsetFlag: 3 -}; - -/** - * @enum {number} - */ -export const MessageSelectAction = { - All: 0, - None: 1, - Invert: 2, - Unseen: 3, - Seen: 4, - Flagged: 5, - Unflagged: 6 -}; - -/** - * @enum {number} - */ -export const MessagePriority = { - Low: 5, - Normal: 3, - High: 1 -}; - -/** - * @enum {string} - */ -export const EditorDefaultType = { - Html: 'Html', - Plain: 'Plain', - HtmlForced: 'HtmlForced', - PlainForced: 'PlainForced' -}; - -/** - * @enum {number} - */ -export const ServerSecure = { - None: 0, - SSL: 1, - TLS: 2 -}; - -/** - * @enum {number} - */ -export const SearchDateType = { - All: -1, - Days3: 3, - Days7: 7, - Month: 30 -}; - /** * @enum {number} */ @@ -245,105 +85,6 @@ export const SaveSettingsStep = { FalseResult: 0 }; -/** - * @enum {number} - */ -export const Layout = { - NoPreview: 0, - SidePreview: 1, - BottomPreview: 2 -}; - -/** - * @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' -}; - -/** - * @enum {string} - */ -export const FiltersAction = { - None: 'None', - MoveTo: 'MoveTo', - Discard: 'Discard', - Vacation: 'Vacation', - Reject: 'Reject', - Forward: 'Forward' -}; - -/** - * @enum {string} - */ -export const FilterRulesType = { - All: 'All', - Any: 'Any' -}; - -/** - * @enum {number} - */ -export const SignedVerifyStatus = { - UnknownPublicKeys: -4, - UnknownPrivateKey: -3, - Unverified: -2, - Error: -1, - None: 0, - Success: 1 -}; - -/** - * @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 -}; - /** * @enum {number} */ diff --git a/dev/Common/EnumsUser.js b/dev/Common/EnumsUser.js new file mode 100644 index 000000000..6c54e4db4 --- /dev/null +++ b/dev/Common/EnumsUser.js @@ -0,0 +1,105 @@ +/* eslint quote-props: 0 */ + +/** + * @enum {string} + */ +export const Focused = { + None: 'none', + MessageList: 'message-list', + MessageView: 'message-view', + FolderList: 'folder-list' +}; + +/** + * @enum {number} + */ +export const FolderType = { + Inbox: 10, + SentItems: 11, + Draft: 12, + Trash: 13, + Spam: 14, + Archive: 15, + NotSpam: 80, + User: 99 +}; + +/** + * @enum {string} + */ +export const ComposeType = { + Empty: 'empty', + Reply: 'reply', + ReplyAll: 'replyall', + Forward: 'forward', + ForwardAsAttachment: 'forward-as-attachment', + Draft: 'draft', + EditAsNew: 'editasnew' +}; + +/** + * @enum {number} + */ +export const SetSystemFoldersNotification = { + None: 0, + Sent: 1, + Draft: 2, + Spam: 3, + Trash: 4, + Archive: 5 +}; + +/** + * @enum {number} + */ +export const ClientSideKeyName = { + FoldersLashHash: 0, + MessagesInboxLastHash: 1, + MailBoxListSize: 2, + ExpandedFolders: 3, + FolderListSize: 4, + MessageListSize: 5, + LastReplyAction: 6, + LastSignMe: 7, + ComposeLastIdentityID: 8, + MessageHeaderFullInfo: 9, + MessageAttachmentControls: 10 +}; + +/** + * @enum {number} + */ +export const MessageSetAction = { + SetSeen: 0, + UnsetSeen: 1, + SetFlag: 2, + UnsetFlag: 3 +}; + +/** + * @enum {number} + */ +export const MessagePriority = { + Low: 5, + Normal: 3, + High: 1 +}; + +/** + * @enum {string} + */ +export const EditorDefaultType = { + Html: 'Html', + Plain: 'Plain', + HtmlForced: 'HtmlForced', + PlainForced: 'PlainForced' +}; + +/** + * @enum {number} + */ +export const Layout = { + NoPreview: 0, + SidePreview: 1, + BottomPreview: 2 +}; diff --git a/dev/Common/UtilsUser.js b/dev/Common/UtilsUser.js index df3454a58..f4b180150 100644 --- a/dev/Common/UtilsUser.js +++ b/dev/Common/UtilsUser.js @@ -1,4 +1,4 @@ -import { ComposeType, FolderType } from 'Common/Enums'; +import { ComposeType, FolderType } from 'Common/EnumsUser'; const tpl = document.createElement('template'), diff --git a/dev/External/ko.js b/dev/External/ko.js index c9ef56a8f..2e9b1aea6 100644 --- a/dev/External/ko.js +++ b/dev/External/ko.js @@ -171,7 +171,7 @@ ko.bindingHandlers.command = { ['command-disabled','disable','disabled'].forEach(s=>cl.toggle(s, !result)); cl.toggle('no-disabled', !!result); - if (element.nodeName.match(/INPUT|TEXTAREA|BUTTON/)) { + if (element.matches('INPUT,TEXTAREA,BUTTON')) { element.disabled = !result; } } diff --git a/dev/Knoin/Knoin.js b/dev/Knoin/Knoin.js index f1b09a682..edb6fd240 100644 --- a/dev/Knoin/Knoin.js +++ b/dev/Knoin/Knoin.js @@ -180,12 +180,12 @@ function buildViewModel(ViewModelClass, vmScreen) { } } - return ViewModelClass ? ViewModelClass.__vm : null; + return ViewModelClass && ViewModelClass.__vm; } function getScreenPopupViewModel(ViewModelClassToShow) { const ModalView = getScreenPopup(ViewModelClassToShow); - return (buildViewModel(ModalView) && ModalView.__dom) ? ModalView.__vm : null; + return (buildViewModel(ModalView) && ModalView.__dom) && ModalView.__vm; } /** @@ -221,7 +221,7 @@ export function warmUpScreenPopup(ViewModelClassToShow) { */ export function isPopupVisible(ViewModelClassToShow) { const ModalView = getScreenPopup(ViewModelClassToShow); - return ModalView && ModalView.__vm ? ModalView.__vm.modalVisibility() : false; + return ModalView && ModalView.__vm && ModalView.__vm.modalVisibility(); } /** @@ -329,7 +329,7 @@ export function startScreens(screensClasses) { screensClasses.forEach(CScreen => { if (CScreen) { const vmScreen = new CScreen(), - screenName = vmScreen ? vmScreen.screenName() : ''; + screenName = vmScreen && vmScreen.screenName(); if (vmScreen && screenName) { if (!defaultScreenName) { diff --git a/dev/Model/Contact.js b/dev/Model/Contact.js index 5c6ed7ca5..978d5f931 100644 --- a/dev/Model/Contact.js +++ b/dev/Model/Contact.js @@ -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'; diff --git a/dev/Model/ContactProperty.js b/dev/Model/ContactProperty.js index 20b4adc67..8617627f5 100644 --- a/dev/Model/ContactProperty.js +++ b/dev/Model/ContactProperty.js @@ -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 diff --git a/dev/Model/Filter.js b/dev/Model/Filter.js index 2c06d6c14..36dabad95 100644 --- a/dev/Model/Filter.js +++ b/dev/Model/Filter.js @@ -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('@') ) { diff --git a/dev/Model/FilterCondition.js b/dev/Model/FilterCondition.js index 15c0b68e7..3fd2c15ff 100644 --- a/dev/Model/FilterCondition.js +++ b/dev/Model/FilterCondition.js @@ -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(); diff --git a/dev/Model/Folder.js b/dev/Model/Folder.js index 553840e88..61587ec9b 100644 --- a/dev/Model/Folder.js +++ b/dev/Model/Folder.js @@ -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'; diff --git a/dev/Model/FolderCollection.js b/dev/Model/FolderCollection.js index 1fa00f381..912e0069b 100644 --- a/dev/Model/FolderCollection.js +++ b/dev/Model/FolderCollection.js @@ -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)) diff --git a/dev/Model/Message.js b/dev/Model/Message.js index 1807e8d2e..c42e66a26 100644 --- a/dev/Model/Message.js +++ b/dev/Model/Message.js @@ -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]) { diff --git a/dev/Screen/User/MailBox.js b/dev/Screen/User/MailBox.js index 826527008..1762d940f 100644 --- a/dev/Screen/User/MailBox.js +++ b/dev/Screen/User/MailBox.js @@ -1,4 +1,5 @@ -import { Focused, Capa, ClientSideKeyName } from 'Common/Enums'; +import { Capa } from 'Common/Enums'; +import { Focused, ClientSideKeyName } from 'Common/EnumsUser'; import { leftPanelDisabled, leftPanelType, moveAction } from 'Common/Globals'; import { pString, pInt } from 'Common/Utils'; import { getFolderFromCacheList, getFolderFullNameRaw, getFolderInboxName } from 'Common/Cache'; diff --git a/dev/Settings/User/Folders.js b/dev/Settings/User/Folders.js index 3766da8e7..6a17781c2 100644 --- a/dev/Settings/User/Folders.js +++ b/dev/Settings/User/Folders.js @@ -1,6 +1,7 @@ import ko from 'ko'; -import { ClientSideKeyName, Notification } from 'Common/Enums'; +import { Notification } from 'Common/Enums'; +import { ClientSideKeyName } from 'Common/EnumsUser'; import { getNotification, i18n } from 'Common/Translator'; import { removeFolderFromCacheList } from 'Common/Cache'; diff --git a/dev/Settings/User/General.js b/dev/Settings/User/General.js index cfcb1fff0..6d4987b02 100644 --- a/dev/Settings/User/General.js +++ b/dev/Settings/User/General.js @@ -2,7 +2,8 @@ import ko from 'ko'; import { MESSAGES_PER_PAGE_VALUES } from 'Common/Consts'; -import { SaveSettingsStep, EditorDefaultType, Layout } from 'Common/Enums'; +import { SaveSettingsStep } from 'Common/Enums'; +import { EditorDefaultType, Layout } from 'Common/EnumsUser'; import { settingsSaveHelperSimpleFunction, convertLangName } from 'Common/Utils'; diff --git a/dev/Stores/User/App.js b/dev/Stores/User/App.js index 042eecb7b..abc312303 100644 --- a/dev/Stores/User/App.js +++ b/dev/Stores/User/App.js @@ -1,5 +1,6 @@ import ko from 'ko'; -import { Focused, KeyState } from 'Common/Enums'; +import { KeyState } from 'Common/Enums'; +import { Focused } from 'Common/EnumsUser'; import { keyScope, leftPanelDisabled } from 'Common/Globals'; diff --git a/dev/Stores/User/Folder.js b/dev/Stores/User/Folder.js index 1c43079fe..f27cd71f2 100644 --- a/dev/Stores/User/Folder.js +++ b/dev/Stores/User/Folder.js @@ -1,6 +1,6 @@ import ko from 'ko'; -import { FolderType } from 'Common/Enums'; +import { FolderType } from 'Common/EnumsUser'; import { UNUSED_OPTION_VALUE } from 'Common/Consts'; import { folderListOptionsBuilder } from 'Common/UtilsUser'; import { getFolderInboxName, getFolderFromCacheList } from 'Common/Cache'; diff --git a/dev/Stores/User/Message.js b/dev/Stores/User/Message.js index 46c48d03b..17f5dea2b 100644 --- a/dev/Stores/User/Message.js +++ b/dev/Stores/User/Message.js @@ -1,6 +1,7 @@ import ko from 'ko'; -import { Layout, Focused, MessageSetAction, StorageResultType, Notification } from 'Common/Enums'; +import { StorageResultType, Notification } from 'Common/Enums'; +import { Layout, Focused, MessageSetAction } from 'Common/EnumsUser'; import { pInt, pString } from 'Common/Utils'; import { plainToHtml } from 'Common/UtilsUser'; diff --git a/dev/Stores/User/Settings.js b/dev/Stores/User/Settings.js index 869364a3b..4792b18c8 100644 --- a/dev/Stores/User/Settings.js +++ b/dev/Stores/User/Settings.js @@ -1,7 +1,7 @@ import ko from 'ko'; import { MESSAGES_PER_PAGE_VALUES } from 'Common/Consts'; -import { Layout, EditorDefaultType } from 'Common/Enums'; +import { Layout, EditorDefaultType } from 'Common/EnumsUser'; import { pInt } from 'Common/Utils'; class SettingsUserStore { diff --git a/dev/View/Popup/Compose.js b/dev/View/Popup/Compose.js index 10eee9a1f..c4d9b1457 100644 --- a/dev/View/Popup/Compose.js +++ b/dev/View/Popup/Compose.js @@ -3,14 +3,17 @@ import ko from 'ko'; import { Capa, KeyState, - ComposeType, StorageResultType, - EditorDefaultType, Notification, - SetSystemFoldersNotification, UploadErrorCode } from 'Common/Enums'; +import { + ComposeType, + EditorDefaultType, + SetSystemFoldersNotification +} from 'Common/EnumsUser'; + import { inFocus, pInt } from 'Common/Utils'; import { encodeHtml, delegateRunOnDestroy } from 'Common/UtilsUser'; diff --git a/dev/View/Popup/Contacts.js b/dev/View/Popup/Contacts.js index 63187c2ce..fa2167a36 100644 --- a/dev/View/Popup/Contacts.js +++ b/dev/View/Popup/Contacts.js @@ -2,14 +2,14 @@ import ko from 'ko'; import { SaveSettingsStep, - ContactPropertyType, - ComposeType, Capa, StorageResultType, Notification, KeyState } from 'Common/Enums'; +import { ComposeType } from 'Common/EnumsUser'; + import { pInt } from 'Common/Utils'; import { delegateRunOnDestroy, computedPaginatorHelper } from 'Common/UtilsUser'; @@ -24,7 +24,7 @@ import Remote from 'Remote/User/Fetch'; import { EmailModel } from 'Model/Email'; import { ContactModel } from 'Model/Contact'; -import { ContactPropertyModel } from 'Model/ContactProperty'; +import { ContactPropertyModel, ContactPropertyType } from 'Model/ContactProperty'; import { command, showScreenPopup, hideScreenPopup } from 'Knoin/Knoin'; import { AbstractViewPopup } from 'Knoin/AbstractViews'; diff --git a/dev/View/Popup/Domain.js b/dev/View/Popup/Domain.js index 0a91611dc..9b2e4c830 100644 --- a/dev/View/Popup/Domain.js +++ b/dev/View/Popup/Domain.js @@ -1,4 +1,4 @@ -import { StorageResultType, ServerSecure, Notification } from 'Common/Enums'; +import { StorageResultType, Notification } from 'Common/Enums'; import { pInt, pString } from 'Common/Utils'; import { i18n } from 'Common/Translator'; @@ -37,15 +37,15 @@ class DomainPopupView extends AbstractViewPopup { imapServer: '', imapPort: '143', - imapSecure: ServerSecure.None, + imapSecure: 0, imapShortLogin: false, useSieve: false, sieveServer: '', sievePort: '4190', - sieveSecure: ServerSecure.None, + sieveSecure: 0, smtpServer: '', smtpPort: '25', - smtpSecure: ServerSecure.None, + smtpSecure: 0, smtpShortLogin: false, smtpAuth: true, smtpPhpMail: false, @@ -325,17 +325,17 @@ class DomainPopupView extends AbstractViewPopup { this.imapServer(''); this.imapPort('143'); - this.imapSecure(ServerSecure.None); + this.imapSecure(0); this.imapShortLogin(false); this.useSieve(false); this.sieveServer(''); this.sievePort('4190'); - this.sieveSecure(ServerSecure.None); + this.sieveSecure(0); this.smtpServer(''); this.smtpPort('25'); - this.smtpSecure(ServerSecure.None); + this.smtpSecure(0); this.smtpShortLogin(false); this.smtpAuth(true); this.smtpPhpMail(false); diff --git a/dev/View/Popup/Filter.js b/dev/View/Popup/Filter.js index 4d5f97e13..0f0bc9217 100644 --- a/dev/View/Popup/Filter.js +++ b/dev/View/Popup/Filter.js @@ -1,6 +1,7 @@ import ko from 'ko'; -import { FiltersAction, FilterConditionField, FilterConditionType } from 'Common/Enums'; +import { FilterAction } from 'Model/Filter'; +import { FilterConditionField, FilterConditionType } from 'Model/FilterCondition'; import { defaultOptionsAfterRender } from 'Common/Utils'; import { i18n, initOnStartOrLangChange } from 'Common/Translator'; @@ -40,7 +41,7 @@ class FilterPopupView extends AbstractViewPopup { @command() saveFilterCommand() { if (this.filter()) { - if (FiltersAction.MoveTo === this.filter().actionType()) { + if (FilterAction.MoveTo === this.filter().actionType()) { this.filter().actionValue(this.selectedFolderValue()); } @@ -74,7 +75,7 @@ class FilterPopupView extends AbstractViewPopup { { 'id': FilterConditionType.NotEqualTo, 'name': i18n('POPUPS_FILTER/SELECT_TYPE_NOT_EQUAL_TO') } ]); - // this.actionTypeOptions.push({'id': FiltersAction.None, + // this.actionTypeOptions.push({'id': FilterAction.None, // 'name': i18n('GLOBAL/NONE')}); const modules = SieveStore.capa; if (modules) { @@ -84,22 +85,22 @@ class FilterPopupView extends AbstractViewPopup { if (modules.includes('fileinto')) { this.actionTypeOptions.push({ - 'id': FiltersAction.MoveTo, + 'id': FilterAction.MoveTo, 'name': i18n('POPUPS_FILTER/SELECT_ACTION_MOVE_TO') }); this.actionTypeOptions.push({ - 'id': FiltersAction.Forward, + 'id': FilterAction.Forward, 'name': i18n('POPUPS_FILTER/SELECT_ACTION_FORWARD_TO') }); } if (modules.includes('reject')) { - this.actionTypeOptions.push({ 'id': FiltersAction.Reject, 'name': i18n('POPUPS_FILTER/SELECT_ACTION_REJECT') }); + this.actionTypeOptions.push({ 'id': FilterAction.Reject, 'name': i18n('POPUPS_FILTER/SELECT_ACTION_REJECT') }); } if (modules.includes('vacation')) { this.actionTypeOptions.push({ - 'id': FiltersAction.Vacation, + 'id': FilterAction.Vacation, 'name': i18n('POPUPS_FILTER/SELECT_ACTION_VACATION_MESSAGE') }); } @@ -113,7 +114,7 @@ class FilterPopupView extends AbstractViewPopup { } } - this.actionTypeOptions.push({ 'id': FiltersAction.Discard, 'name': i18n('POPUPS_FILTER/SELECT_ACTION_DISCARD') }); + this.actionTypeOptions.push({ 'id': FilterAction.Discard, 'name': i18n('POPUPS_FILTER/SELECT_ACTION_DISCARD') }); this.typeOptionsSize([ { 'id': FilterConditionType.Over, 'name': i18n('POPUPS_FILTER/SELECT_TYPE_OVER') }, diff --git a/dev/View/Popup/FolderSystem.js b/dev/View/Popup/FolderSystem.js index a916827ad..3b06df469 100644 --- a/dev/View/Popup/FolderSystem.js +++ b/dev/View/Popup/FolderSystem.js @@ -1,6 +1,6 @@ import ko from 'ko'; -import { SetSystemFoldersNotification } from 'Common/Enums'; +import { SetSystemFoldersNotification } from 'Common/EnumsUser'; import { UNUSED_OPTION_VALUE } from 'Common/Consts'; import { defaultOptionsAfterRender } from 'Common/Utils'; import { folderListOptionsBuilder } from 'Common/UtilsUser'; diff --git a/dev/View/User/Login.js b/dev/View/User/Login.js index 263d0339d..01d29ae52 100644 --- a/dev/View/User/Login.js +++ b/dev/View/User/Login.js @@ -1,13 +1,12 @@ import ko from 'ko'; import { - LoginSignMeType, - LoginSignMeTypeAsString, - ClientSideKeyName, StorageResultType, Notification } from 'Common/Enums'; +import { ClientSideKeyName } from 'Common/EnumsUser'; + import { convertLangName } from 'Common/Utils'; import { getNotification, getNotificationFromResponse, reload as translatorReload } from 'Common/Translator'; @@ -24,7 +23,20 @@ import { AbstractViewCenter } from 'Knoin/AbstractViews'; import { rootAdmin } from 'Common/Links'; -const Settings = rl.settings; +const Settings = rl.settings, + + LoginSignMeType = { + DefaultOff: 0, + DefaultOn: 1, + Unused: 2 + }, + + LoginSignMeTypeAsString = { + DefaultOff: 'defaultoff', + DefaultOn: 'defaulton', + Unused: 'unused' + }; + class LoginUserView extends AbstractViewCenter { constructor() { diff --git a/dev/View/User/MailBox/FolderList.js b/dev/View/User/MailBox/FolderList.js index a1cd1baca..50be553c2 100644 --- a/dev/View/User/MailBox/FolderList.js +++ b/dev/View/User/MailBox/FolderList.js @@ -1,6 +1,7 @@ import ko from 'ko'; -import { Capa, Focused, Layout, KeyState } from 'Common/Enums'; +import { Capa, KeyState } from 'Common/Enums'; +import { Focused, Layout } from 'Common/EnumsUser'; import { leftPanelDisabled, moveAction } from 'Common/Globals'; import { mailBox, settings } from 'Common/Links'; import { setFolderHash } from 'Common/Cache'; diff --git a/dev/View/User/MailBox/MessageList.js b/dev/View/User/MailBox/MessageList.js index 45fb7a07b..98efe0abd 100644 --- a/dev/View/User/MailBox/MessageList.js +++ b/dev/View/User/MailBox/MessageList.js @@ -2,14 +2,17 @@ import ko from 'ko'; import { Capa, + KeyState, + StorageResultType +} from 'Common/Enums'; + +import { Layout, Focused, ComposeType, FolderType, - MessageSetAction, - KeyState, - StorageResultType -} from 'Common/Enums'; + MessageSetAction +} from 'Common/EnumsUser'; import { UNUSED_OPTION_VALUE } from 'Common/Consts'; diff --git a/dev/View/User/MailBox/MessageView.js b/dev/View/User/MailBox/MessageView.js index 798659f11..8c3877e16 100644 --- a/dev/View/User/MailBox/MessageView.js +++ b/dev/View/User/MailBox/MessageView.js @@ -4,14 +4,17 @@ import { UNUSED_OPTION_VALUE } from 'Common/Consts'; import { Capa, + KeyState +} from 'Common/Enums'; + +import { ComposeType, ClientSideKeyName, - KeyState, FolderType, Focused, Layout, MessageSetAction -} from 'Common/Enums'; +} from 'Common/EnumsUser'; import { $htmlCL, leftPanelDisabled, keyScopeReal, moveAction } from 'Common/Globals'; diff --git a/dev/bootstrap.js b/dev/bootstrap.js index f138b1a42..31b8a3145 100644 --- a/dev/bootstrap.js +++ b/dev/bootstrap.js @@ -13,10 +13,10 @@ export default (App) => { if ('S' == event.key) { event.preventDefault(); } else if ('A' == event.key) { - const sender = event.target || event.srcElement; + const sender = event.target; if ( sender && - ('true' === '' + sender.contentEditable || (sender.tagName && sender.tagName.match(/INPUT|TEXTAREA/i))) + ('true' === '' + sender.contentEditable || (sender.matches && sender.matches('INPUT,TEXTAREA'))) ) { return; }