snappymail/dev/Common/Enums.js

522 lines
8.1 KiB
JavaScript

/* eslint quote-props: 0 */
/**
* @enum {string}
*/
export const FileType = {
Unknown: 'unknown',
Text: 'text',
Html: 'html',
Code: 'code',
Eml: 'eml',
WordText: 'word-text',
Pdf: 'pdf',
Image: 'image',
Audio: 'audio',
Video: 'video',
Sheet: 'sheet',
Presentation: 'presentation',
Certificate: 'certificate',
CertificateBin: 'certificate-bin',
Archive: 'archive',
getIconClass: function(type) {
let result = ['icon-file', ''];
switch (type) {
case this.Text:
case this.Eml:
case this.WordText:
result[0] += '-text';
break;
case this.Html:
case this.Code:
result[0] += '-code';
break;
case this.Image:
result[0] += '-image';
break;
case this.Audio:
result[0] += '-music';
break;
case this.Video:
result[0] += '-movie';
break;
case this.Archive:
result[0] += '-zip';
break;
case this.Certificate:
case this.CertificateBin:
result[0] += '-certificate';
break;
case this.Sheet:
result[0] += '-excel';
break;
case this.Presentation:
result[0] += '-chart-graph';
break;
case this.Pdf:
result['icon-none', 'pdf'];
break;
// no default
}
return result;
}
};
/**
* @enum {string}
*/
export const StorageResultType = {
Success: 'success',
Abort: 'abort',
Error: 'error',
Unload: 'unload'
};
/**
* @enum {string}
*/
export const Focused = {
None: 'none',
MessageList: 'message-list',
MessageView: 'message-view',
FolderList: 'folder-list'
};
/**
* @enum {number}
*/
export const State = {
Empty: 10,
Login: 20,
Auth: 30
};
/**
* @enum {number}
*/
export const StateType = {
Webmail: 0,
Admin: 1
};
/**
* @enum {string}
*/
export const Capa = {
TwoFactor: 'TWO_FACTOR',
TwoFactorForce: 'TWO_FACTOR_FORCE',
OpenPGP: 'OPEN_PGP',
Prefetch: 'PREFETCH',
Gravatar: 'GRAVATAR',
Folders: 'FOLDERS',
Composer: 'COMPOSER',
Contacts: 'CONTACTS',
Reload: 'RELOAD',
Search: 'SEARCH',
SearchAdv: 'SEARCH_ADV',
MessageActions: 'MESSAGE_ACTIONS',
MessageListActions: 'MESSAGELIST_ACTIONS',
AttachmentsActions: 'ATTACHMENTS_ACTIONS',
DangerousActions: 'DANGEROUS_ACTIONS',
Settings: 'SETTINGS',
Help: 'HELP',
Themes: 'THEMES',
UserBackground: 'USER_BACKGROUND',
Sieve: 'SIEVE',
Filters: 'FILTERS',
AttachmentThumbnails: 'ATTACHMENT_THUMBNAILS',
Templates: 'TEMPLATES',
AutoLogout: 'AUTOLOGOUT',
AdditionalAccounts: 'ADDITIONAL_ACCOUNTS',
Identities: 'IDENTITIES'
};
/**
* @enum {string}
*/
export const KeyState = {
All: 'all',
None: 'none',
ContactList: 'contact-list',
MessageList: 'message-list',
FolderList: 'folder-list',
MessageView: 'message-view',
Compose: 'compose',
Settings: 'settings',
Menu: 'menu',
PopupComposeOpenPGP: 'compose-open-pgp',
PopupMessageOpenPGP: 'message-open-pgp',
PopupViewOpenPGP: 'view-open-pgp',
PopupKeyboardShortcutsHelp: 'popup-keyboard-shortcuts-help',
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}
*/
export const UploadErrorCode = {
Normal: 0,
FileIsTooBig: 1,
FilePartiallyUploaded: 2,
FileNoUploaded: 3,
MissingTempFolder: 4,
FileOnSaveingError: 5,
FileType: 98,
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,
MessageAttachmnetControls: 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 DesktopNotification = {
Allowed: 0,
NotAllowed: 1,
Denied: 2,
NotSupported: 9
};
/**
* @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}
*/
export const SaveSettingsStep = {
Animate: -2,
Idle: -1,
TrueResult: 1,
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',
Size: 'Size'
};
/**
* @enum {string}
*/
export const FilterConditionType = {
Contains: 'Contains',
NotContains: 'NotContains',
EqualTo: 'EqualTo',
NotEqualTo: 'NotEqualTo',
Regex: 'Regex',
Over: 'Over',
Under: 'Under'
};
/**
* @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: 16,
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}
*/
export const Ports = {
Imap: 143,
ImapSsl: 993,
Smtp: 25,
SmtpSsl: 465,
SmtpStartTls: 587
};
/**
* @enum {number}
*/
export const Notification = {
InvalidToken: 101,
AuthError: 102,
AccessError: 103,
ConnectionError: 104,
CaptchaError: 105,
SocialFacebookLoginAccessDisable: 106,
SocialTwitterLoginAccessDisable: 107,
SocialGoogleLoginAccessDisable: 108,
DomainNotAllowed: 109,
AccountNotAllowed: 110,
AccountTwoFactorAuthRequired: 120,
AccountTwoFactorAuthError: 121,
CouldNotSaveNewPassword: 130,
CurrentPasswordIncorrect: 131,
NewPasswordShort: 132,
NewPasswordWeak: 133,
NewPasswordForbidden: 134,
ContactsSyncError: 140,
CantGetMessageList: 201,
CantGetMessage: 202,
CantDeleteMessage: 203,
CantMoveMessage: 204,
CantCopyMessage: 205,
CantSaveMessage: 301,
CantSendMessage: 302,
InvalidRecipients: 303,
CantSaveFilters: 351,
CantGetFilters: 352,
FiltersAreNotCorrect: 355,
CantCreateFolder: 400,
CantRenameFolder: 401,
CantDeleteFolder: 402,
CantSubscribeFolder: 403,
CantUnsubscribeFolder: 404,
CantDeleteNonEmptyFolder: 405,
CantSaveSettings: 501,
CantSavePluginSettings: 502,
DomainAlreadyExists: 601,
CantInstallPackage: 701,
CantDeletePackage: 702,
InvalidPluginPackage: 703,
UnsupportedPluginPackage: 704,
DemoSendMessageError: 750,
DemoAccountError: 751,
AccountAlreadyExists: 801,
AccountDoesNotExist: 802,
MailServerError: 901,
ClientViewError: 902,
InvalidInputArgument: 903,
AjaxFalse: 950,
AjaxAbort: 951,
AjaxParse: 952,
AjaxTimeout: 953,
UnknownNotification: 999,
UnknownError: 999
,getKeyByValue: function(v) { return Object.keys(this).find(key => this[key] === v); }
};