diff --git a/dev/App/User.js b/dev/App/User.js index 378f87d29..a9345dcbf 100644 --- a/dev/App/User.js +++ b/dev/App/User.js @@ -132,7 +132,7 @@ class AppUser extends AbstractApp { let iOffset = (MessageUserStore.listPage() - 1) * SettingsUserStore.messagesPerPage(); if (bDropCurrenFolderCache) { - setFolderHash(FolderUserStore.currentFolderFullNameRaw(), ''); + setFolderHash(FolderUserStore.currentFolderFullName(), ''); } if (bDropPagePosition) { @@ -167,7 +167,7 @@ class AppUser extends AbstractApp { MessageUserStore.listLoading(false); }, { - Folder: FolderUserStore.currentFolderFullNameRaw(), + Folder: FolderUserStore.currentFolderFullName(), Offset: iOffset, Limit: SettingsUserStore.messagesPerPage(), Search: MessageUserStore.listSearch(), @@ -198,12 +198,12 @@ class AppUser extends AbstractApp { this.moveCache = {}; } - messagesMoveHelper(fromFolderFullNameRaw, toFolderFullNameRaw, uidsForMove) { - const hash = '$$' + fromFolderFullNameRaw + '$$' + toFolderFullNameRaw + '$$'; + messagesMoveHelper(fromFolderFullName, toFolderFullName, uidsForMove) { + const hash = '$$' + fromFolderFullName + '$$' + toFolderFullName + '$$'; if (!this.moveCache[hash]) { this.moveCache[hash] = { - From: fromFolderFullNameRaw, - To: toFolderFullNameRaw, + From: fromFolderFullName, + To: toFolderFullName, Uid: [] }; } @@ -212,44 +212,44 @@ class AppUser extends AbstractApp { this.messagesMoveTrigger(); } - messagesCopyHelper(sFromFolderFullNameRaw, sToFolderFullNameRaw, aUidForCopy) { - Remote.messagesCopy(this.moveOrDeleteResponseHelper, sFromFolderFullNameRaw, sToFolderFullNameRaw, aUidForCopy); + messagesCopyHelper(sFromFolderFullName, sToFolderFullName, aUidForCopy) { + Remote.messagesCopy(this.moveOrDeleteResponseHelper, sFromFolderFullName, sToFolderFullName, aUidForCopy); } - messagesDeleteHelper(sFromFolderFullNameRaw, aUidForRemove) { - Remote.messagesDelete(this.moveOrDeleteResponseHelper, sFromFolderFullNameRaw, aUidForRemove); + messagesDeleteHelper(sFromFolderFullName, aUidForRemove) { + Remote.messagesDelete(this.moveOrDeleteResponseHelper, sFromFolderFullName, aUidForRemove); } moveOrDeleteResponseHelper(iError, oData) { if (iError) { - setFolderHash(FolderUserStore.currentFolderFullNameRaw(), ''); + setFolderHash(FolderUserStore.currentFolderFullName(), ''); alert(getNotification(iError)); } else if (FolderUserStore.currentFolder()) { if (2 === arrayLength(oData.Result)) { setFolderHash(oData.Result[0], oData.Result[1]); } else { - setFolderHash(FolderUserStore.currentFolderFullNameRaw(), ''); + setFolderHash(FolderUserStore.currentFolderFullName(), ''); } this.reloadMessageList(!MessageUserStore.list.length); } } /** - * @param {string} sFromFolderFullNameRaw + * @param {string} sFromFolderFullName * @param {Array} aUidForRemove */ - deleteMessagesFromFolderWithoutCheck(sFromFolderFullNameRaw, aUidForRemove) { - this.messagesDeleteHelper(sFromFolderFullNameRaw, aUidForRemove); - MessageUserStore.removeMessagesFromList(sFromFolderFullNameRaw, aUidForRemove); + deleteMessagesFromFolderWithoutCheck(sFromFolderFullName, aUidForRemove) { + this.messagesDeleteHelper(sFromFolderFullName, aUidForRemove); + MessageUserStore.removeMessagesFromList(sFromFolderFullName, aUidForRemove); } /** * @param {number} iDeleteType - * @param {string} sFromFolderFullNameRaw + * @param {string} sFromFolderFullName * @param {Array} aUidForRemove * @param {boolean=} bUseFolder = true */ - deleteMessagesFromFolder(iDeleteType, sFromFolderFullNameRaw, aUidForRemove, bUseFolder) { + deleteMessagesFromFolder(iDeleteType, sFromFolderFullName, aUidForRemove, bUseFolder) { let oMoveFolder = null, nSetSystemFoldersNotification = null; @@ -288,32 +288,32 @@ class AppUser extends AbstractApp { } else if ( !bUseFolder || (FolderType.Trash === iDeleteType && - (sFromFolderFullNameRaw === FolderUserStore.spamFolder() - || sFromFolderFullNameRaw === FolderUserStore.trashFolder())) + (sFromFolderFullName === FolderUserStore.spamFolder() + || sFromFolderFullName === FolderUserStore.trashFolder())) ) { showScreenPopup(AskPopupView, [ i18n('POPUPS_ASK/DESC_WANT_DELETE_MESSAGES'), () => { - this.messagesDeleteHelper(sFromFolderFullNameRaw, aUidForRemove); - MessageUserStore.removeMessagesFromList(sFromFolderFullNameRaw, aUidForRemove); + this.messagesDeleteHelper(sFromFolderFullName, aUidForRemove); + MessageUserStore.removeMessagesFromList(sFromFolderFullName, aUidForRemove); } ]); } else if (oMoveFolder) { - this.messagesMoveHelper(sFromFolderFullNameRaw, oMoveFolder.fullName, aUidForRemove); - MessageUserStore.removeMessagesFromList(sFromFolderFullNameRaw, aUidForRemove, oMoveFolder.fullName); + this.messagesMoveHelper(sFromFolderFullName, oMoveFolder.fullName, aUidForRemove); + MessageUserStore.removeMessagesFromList(sFromFolderFullName, aUidForRemove, oMoveFolder.fullName); } } /** - * @param {string} sFromFolderFullNameRaw + * @param {string} sFromFolderFullName * @param {Array} aUidForMove - * @param {string} sToFolderFullNameRaw + * @param {string} sToFolderFullName * @param {boolean=} bCopy = false */ - moveMessagesToFolder(sFromFolderFullNameRaw, aUidForMove, sToFolderFullNameRaw, bCopy) { - if (sFromFolderFullNameRaw !== sToFolderFullNameRaw && arrayLength(aUidForMove)) { - const oFromFolder = getFolderFromCacheList(sFromFolderFullNameRaw), - oToFolder = getFolderFromCacheList(sToFolderFullNameRaw); + moveMessagesToFolder(sFromFolderFullName, aUidForMove, sToFolderFullName, bCopy) { + if (sFromFolderFullName !== sToFolderFullName && arrayLength(aUidForMove)) { + const oFromFolder = getFolderFromCacheList(sFromFolderFullName), + oToFolder = getFolderFromCacheList(sToFolderFullName); if (oFromFolder && oToFolder) { if (undefined === bCopy ? false : !!bCopy) { @@ -511,7 +511,7 @@ class AppUser extends AbstractApp { ); if (!hash || unreadCountChange || result.Hash !== hash) { - if (folderFromCache.fullName === FolderUserStore.currentFolderFullNameRaw()) { + if (folderFromCache.fullName === FolderUserStore.currentFolderFullName()) { this.reloadMessageList(); } else if (getFolderInboxName() === folderFromCache.fullName) { Remote.messageList(null, {Folder: getFolderInboxName()}, true); @@ -555,11 +555,11 @@ class AppUser extends AbstractApp { } if (!hash || item.Hash !== hash) { - if (folder.fullName === FolderUserStore.currentFolderFullNameRaw()) { + if (folder.fullName === FolderUserStore.currentFolderFullName()) { this.reloadMessageList(); } } else if (unreadCountChange - && folder.fullName === FolderUserStore.currentFolderFullNameRaw() + && folder.fullName === FolderUserStore.currentFolderFullName() && MessageUserStore.list.length) { this.folderInformation(folder.fullName, MessageUserStore.list()); } @@ -575,11 +575,11 @@ class AppUser extends AbstractApp { } /** - * @param {string} sFolderFullNameRaw + * @param {string} sFolderFullName * @param {number} iSetAction * @param {Array=} messages = null */ - messageListAction(sFolderFullNameRaw, iSetAction, messages) { + messageListAction(sFolderFullName, iSetAction, messages) { let folder = null, alreadyUnread = 0, rootUids = []; @@ -591,48 +591,48 @@ class AppUser extends AbstractApp { rootUids = messages.map(oMessage => oMessage && oMessage.uid ? oMessage.uid : null) .validUnique(); - if (sFolderFullNameRaw && rootUids.length) { + if (sFolderFullName && rootUids.length) { switch (iSetAction) { case MessageSetAction.SetSeen: rootUids.forEach(sSubUid => - alreadyUnread += MessageFlagsCache.storeBySetAction(sFolderFullNameRaw, sSubUid, iSetAction) + alreadyUnread += MessageFlagsCache.storeBySetAction(sFolderFullName, sSubUid, iSetAction) ); - folder = getFolderFromCacheList(sFolderFullNameRaw); + folder = getFolderFromCacheList(sFolderFullName); if (folder) { folder.messageCountUnread(folder.messageCountUnread() - alreadyUnread); } - Remote.messageSetSeen(null, sFolderFullNameRaw, rootUids, true); + Remote.messageSetSeen(null, sFolderFullName, rootUids, true); break; case MessageSetAction.UnsetSeen: rootUids.forEach(sSubUid => - alreadyUnread += MessageFlagsCache.storeBySetAction(sFolderFullNameRaw, sSubUid, iSetAction) + alreadyUnread += MessageFlagsCache.storeBySetAction(sFolderFullName, sSubUid, iSetAction) ); - folder = getFolderFromCacheList(sFolderFullNameRaw); + folder = getFolderFromCacheList(sFolderFullName); if (folder) { folder.messageCountUnread(folder.messageCountUnread() - alreadyUnread + rootUids.length); } - Remote.messageSetSeen(null, sFolderFullNameRaw, rootUids, false); + Remote.messageSetSeen(null, sFolderFullName, rootUids, false); break; case MessageSetAction.SetFlag: rootUids.forEach(sSubUid => - MessageFlagsCache.storeBySetAction(sFolderFullNameRaw, sSubUid, iSetAction) + MessageFlagsCache.storeBySetAction(sFolderFullName, sSubUid, iSetAction) ); - Remote.messageSetFlagged(null, sFolderFullNameRaw, rootUids, true); + Remote.messageSetFlagged(null, sFolderFullName, rootUids, true); break; case MessageSetAction.UnsetFlag: rootUids.forEach(sSubUid => - MessageFlagsCache.storeBySetAction(sFolderFullNameRaw, sSubUid, iSetAction) + MessageFlagsCache.storeBySetAction(sFolderFullName, sSubUid, iSetAction) ); - Remote.messageSetFlagged(null, sFolderFullNameRaw, rootUids, false); + Remote.messageSetFlagged(null, sFolderFullName, rootUids, false); break; // no default } @@ -734,7 +734,7 @@ class AppUser extends AbstractApp { ]); setInterval(() => { - const cF = FolderUserStore.currentFolderFullNameRaw(), + const cF = FolderUserStore.currentFolderFullName(), iF = getFolderInboxName(); this.folderInformation(iF); if (iF !== cF) { @@ -751,7 +751,7 @@ class AppUser extends AbstractApp { this.accountsAndIdentities(); setTimeout(() => { - const cF = FolderUserStore.currentFolderFullNameRaw(); + const cF = FolderUserStore.currentFolderFullName(); if (getFolderInboxName() !== cF) { this.folderInformation(cF); } diff --git a/dev/Common/Cache.js b/dev/Common/Cache.js index ce053c6f6..64bf14188 100644 --- a/dev/Common/Cache.js +++ b/dev/Common/Cache.js @@ -25,11 +25,11 @@ export const }, /** - * @param {string} folderFullNameRaw + * @param {string} folderFullName * @param {string} uid * @returns {string} */ - getMessageKey = (folderFullNameRaw, uid) => `${folderFullNameRaw}#${uid}`, + getMessageKey = (folderFullName, uid) => `${folderFullName}#${uid}`, /** * @param {string} folder @@ -45,18 +45,18 @@ export const hasRequestedMessage = (folder, uid) => true === REQUESTED_MESSAGE_CACHE[getMessageKey(folder, uid)], /** - * @param {string} folderFullNameRaw + * @param {string} folderFullName * @param {string} uid */ - addNewMessageCache = (folderFullNameRaw, uid) => NEW_MESSAGE_CACHE[getMessageKey(folderFullNameRaw, uid)] = true, + addNewMessageCache = (folderFullName, uid) => NEW_MESSAGE_CACHE[getMessageKey(folderFullName, uid)] = true, /** - * @param {string} folderFullNameRaw + * @param {string} folderFullName * @param {string} uid */ - hasNewMessageAndRemoveFromCache = (folderFullNameRaw, uid) => { - if (NEW_MESSAGE_CACHE[getMessageKey(folderFullNameRaw, uid)]) { - NEW_MESSAGE_CACHE[getMessageKey(folderFullNameRaw, uid)] = null; + hasNewMessageAndRemoveFromCache = (folderFullName, uid) => { + if (NEW_MESSAGE_CACHE[getMessageKey(folderFullName, uid)]) { + NEW_MESSAGE_CACHE[getMessageKey(folderFullName, uid)] = null; return true; } return false; @@ -81,60 +81,60 @@ export const * @param {string} folderHash * @returns {string} */ - getFolderFullNameRaw = folderHash => + getFolderFullName = folderHash => folderHash && FOLDERS_NAME_CACHE[folderHash] ? FOLDERS_NAME_CACHE[folderHash] : '', /** * @param {string} folderHash - * @param {string} folderFullNameRaw + * @param {string} folderFullName * @param {?FolderModel} folder */ - setFolder = (folderHash, folderFullNameRaw, folder) => { - FOLDERS_CACHE[folderFullNameRaw] = folder; - FOLDERS_NAME_CACHE[folderHash] = folderFullNameRaw; + setFolder = (folderHash, folderFullName, folder) => { + FOLDERS_CACHE[folderFullName] = folder; + FOLDERS_NAME_CACHE[folderHash] = folderFullName; }, /** - * @param {string} folderFullNameRaw + * @param {string} folderFullName * @returns {string} */ - getFolderHash = folderFullNameRaw => - folderFullNameRaw && FOLDERS_HASH_CACHE[folderFullNameRaw] ? FOLDERS_HASH_CACHE[folderFullNameRaw] : '', + getFolderHash = folderFullName => + folderFullName && FOLDERS_HASH_CACHE[folderFullName] ? FOLDERS_HASH_CACHE[folderFullName] : '', /** - * @param {string} folderFullNameRaw + * @param {string} folderFullName * @param {string} folderHash */ - setFolderHash = (folderFullNameRaw, folderHash) => - folderFullNameRaw && (FOLDERS_HASH_CACHE[folderFullNameRaw] = folderHash), + setFolderHash = (folderFullName, folderHash) => + folderFullName && (FOLDERS_HASH_CACHE[folderFullName] = folderHash), /** - * @param {string} folderFullNameRaw + * @param {string} folderFullName * @returns {string} */ - getFolderUidNext = folderFullNameRaw => - folderFullNameRaw && FOLDERS_UID_NEXT_CACHE[folderFullNameRaw] - ? FOLDERS_UID_NEXT_CACHE[folderFullNameRaw] + getFolderUidNext = folderFullName => + folderFullName && FOLDERS_UID_NEXT_CACHE[folderFullName] + ? FOLDERS_UID_NEXT_CACHE[folderFullName] : '', /** - * @param {string} folderFullNameRaw + * @param {string} folderFullName * @param {string} uidNext */ - setFolderUidNext = (folderFullNameRaw, uidNext) => - FOLDERS_UID_NEXT_CACHE[folderFullNameRaw] = uidNext, + setFolderUidNext = (folderFullName, uidNext) => + FOLDERS_UID_NEXT_CACHE[folderFullName] = uidNext, /** - * @param {string} folderFullNameRaw + * @param {string} folderFullName * @returns {?FolderModel} */ - getFolderFromCacheList = folderFullNameRaw => - folderFullNameRaw && FOLDERS_CACHE[folderFullNameRaw] ? FOLDERS_CACHE[folderFullNameRaw] : null, + getFolderFromCacheList = folderFullName => + folderFullName && FOLDERS_CACHE[folderFullName] ? FOLDERS_CACHE[folderFullName] : null, /** - * @param {string} folderFullNameRaw + * @param {string} folderFullName */ - removeFolderFromCacheList = folderFullNameRaw => delete FOLDERS_CACHE[folderFullNameRaw]; + removeFolderFromCacheList = folderFullName => delete FOLDERS_CACHE[folderFullName]; export class MessageFlagsCache { diff --git a/dev/Model/Filter.js b/dev/Model/Filter.js index 691e7b142..8a9e5a0e5 100644 --- a/dev/Model/Filter.js +++ b/dev/Model/Filter.js @@ -67,9 +67,9 @@ export class FilterModel extends AbstractModel { this.conditions = ko.observableArray(); - const fGetRealFolderName = (folderFullNameRaw) => { - const folder = getFolderFromCacheList(folderFullNameRaw); - return folder ? folder.fullName.replace('.' === folder.delimiter ? /\./ : /[\\/]+/, ' / ') : folderFullNameRaw; + const fGetRealFolderName = (folderFullName) => { + const folder = getFolderFromCacheList(folderFullName); + return folder ? folder.fullName.replace('.' === folder.delimiter ? /\./ : /[\\/]+/, ' / ') : folderFullName; }; this.addComputables({ diff --git a/dev/Model/FolderCollection.js b/dev/Model/FolderCollection.js index b6105e87c..50cc68671 100644 --- a/dev/Model/FolderCollection.js +++ b/dev/Model/FolderCollection.js @@ -21,10 +21,10 @@ import { i18n, trigger as translatorTrigger } from 'Common/Translator'; import { AbstractModel } from 'Knoin/AbstractModel'; const -normalizeFolder = sFolderFullNameRaw => ('' === sFolderFullNameRaw - || UNUSED_OPTION_VALUE === sFolderFullNameRaw - || null !== Cache.getFolderFromCacheList(sFolderFullNameRaw)) - ? sFolderFullNameRaw +normalizeFolder = sFolderFullName => ('' === sFolderFullName + || UNUSED_OPTION_VALUE === sFolderFullName + || null !== Cache.getFolderFromCacheList(sFolderFullName)) + ? sFolderFullName : ''; // index is FolderType value diff --git a/dev/Remote/User/Fetch.js b/dev/Remote/User/Fetch.js index b82a96e9e..b6bd1a136 100644 --- a/dev/Remote/User/Fetch.js +++ b/dev/Remote/User/Fetch.js @@ -171,18 +171,18 @@ class RemoteUserFetch extends AbstractFetchRemote { */ messageList(fCallback, params, bSilent = false) { const - sFolderFullNameRaw = pString(params.Folder), - folderHash = getFolderHash(sFolderFullNameRaw); + sFolderFullName = pString(params.Folder), + folderHash = getFolderHash(sFolderFullName); params = Object.assign({ Offset: 0, Limit: SettingsUserStore.messagesPerPage(), Search: '', - UidNext: getFolderInboxName() === sFolderFullNameRaw ? getFolderUidNext(sFolderFullNameRaw) : '', + UidNext: getFolderInboxName() === sFolderFullName ? getFolderUidNext(sFolderFullName) : '', Sort: FolderUserStore.sortMode(), Hash: folderHash + SettingsGet('AccountHash') }, params); - params.Folder = sFolderFullNameRaw; + params.Folder = sFolderFullName; if (AppUserStore.threadsAllowed() && SettingsUserStore.useThreads()) { params.UseThreads = 1; } else { @@ -226,15 +226,15 @@ class RemoteUserFetch extends AbstractFetchRemote { /** * @param {?Function} fCallback - * @param {string} sFolderFullNameRaw + * @param {string} sFolderFullName * @param {number} iUid * @returns {boolean} */ - message(fCallback, sFolderFullNameRaw, iUid) { - sFolderFullNameRaw = pString(sFolderFullNameRaw); + message(fCallback, sFolderFullName, iUid) { + sFolderFullName = pString(sFolderFullName); iUid = pInt(iUid); - if (getFolderFromCacheList(sFolderFullNameRaw) && 0 < iUid) { + if (getFolderFromCacheList(sFolderFullName) && 0 < iUid) { this.defaultRequest( fCallback, 'Message', @@ -244,7 +244,7 @@ class RemoteUserFetch extends AbstractFetchRemote { SUB_QUERY_PREFIX + '/' + urlSafeJSON([ - sFolderFullNameRaw, + sFolderFullName, iUid, AppUserStore.threadsAllowed() && SettingsUserStore.useThreads() ? 1 : 0, SettingsGet('AccountHash') @@ -350,13 +350,13 @@ class RemoteUserFetch extends AbstractFetchRemote { /** * @param {?Function} fCallback - * @param {string} sFolderFullNameRaw + * @param {string} sFolderFullName * @param {Array} aUids * @param {boolean} bSetFlagged */ - messageSetFlagged(fCallback, sFolderFullNameRaw, aUids, bSetFlagged) { + messageSetFlagged(fCallback, sFolderFullName, aUids, bSetFlagged) { this.defaultRequest(fCallback, 'MessageSetFlagged', { - Folder: sFolderFullNameRaw, + Folder: sFolderFullName, Uids: aUids.join(','), SetAction: bSetFlagged ? 1 : 0 }); @@ -364,13 +364,13 @@ class RemoteUserFetch extends AbstractFetchRemote { /** * @param {?Function} fCallback - * @param {string} sFolderFullNameRaw + * @param {string} sFolderFullName * @param {Array} aUids * @param {boolean} bSetSeen */ - messageSetSeen(fCallback, sFolderFullNameRaw, aUids, bSetSeen) { + messageSetSeen(fCallback, sFolderFullName, aUids, bSetSeen) { this.defaultRequest(fCallback, 'MessageSetSeen', { - Folder: sFolderFullNameRaw, + Folder: sFolderFullName, Uids: aUids.join(','), SetAction: bSetSeen ? 1 : 0 }); @@ -378,13 +378,13 @@ class RemoteUserFetch extends AbstractFetchRemote { /** * @param {?Function} fCallback - * @param {string} sFolderFullNameRaw + * @param {string} sFolderFullName * @param {boolean} bSetSeen * @param {Array} aThreadUids = null */ - messageSetSeenToAll(fCallback, sFolderFullNameRaw, bSetSeen, aThreadUids = null) { + messageSetSeenToAll(fCallback, sFolderFullName, bSetSeen, aThreadUids = null) { this.defaultRequest(fCallback, 'MessageSetSeenToAll', { - Folder: sFolderFullNameRaw, + Folder: sFolderFullName, SetAction: bSetSeen ? 1 : 0, ThreadUids: aThreadUids ? aThreadUids.join(',') : '' }); @@ -453,34 +453,34 @@ class RemoteUserFetch extends AbstractFetchRemote { /** * @param {?Function} fCallback - * @param {string} sFolderFullNameRaw + * @param {string} sFolderFullName */ - folderClear(fCallback, sFolderFullNameRaw) { + folderClear(fCallback, sFolderFullName) { this.defaultRequest(fCallback, 'FolderClear', { - Folder: sFolderFullNameRaw + Folder: sFolderFullName }); } /** * @param {?Function} fCallback - * @param {string} sFolderFullNameRaw + * @param {string} sFolderFullName * @param {boolean} bSubscribe */ - folderSetSubscribe(fCallback, sFolderFullNameRaw, bSubscribe) { + folderSetSubscribe(fCallback, sFolderFullName, bSubscribe) { this.defaultRequest(fCallback, 'FolderSubscribe', { - Folder: sFolderFullNameRaw, + Folder: sFolderFullName, Subscribe: bSubscribe ? 1 : 0 }); } /** * @param {?Function} fCallback - * @param {string} sFolderFullNameRaw + * @param {string} sFolderFullName * @param {boolean} bSubscribe */ - folderSetMetadata(fCallback, sFolderFullNameRaw, sKey, sValue) { + folderSetMetadata(fCallback, sFolderFullName, sKey, sValue) { this.defaultRequest(fCallback, 'FolderSetMetadata', { - Folder: sFolderFullNameRaw, + Folder: sFolderFullName, Key: sKey, Value: sValue }); @@ -488,12 +488,12 @@ class RemoteUserFetch extends AbstractFetchRemote { /** * @param {?Function} fCallback - * @param {string} sFolderFullNameRaw + * @param {string} sFolderFullName * @param {boolean} bCheckable */ - folderSetCheckable(fCallback, sFolderFullNameRaw, bCheckable) { + folderSetCheckable(fCallback, sFolderFullName, bCheckable) { this.defaultRequest(fCallback, 'FolderCheckable', { - Folder: sFolderFullNameRaw, + Folder: sFolderFullName, Checkable: bCheckable ? 1 : 0 }); } @@ -662,9 +662,9 @@ class RemoteUserFetch extends AbstractFetchRemote { this.foldersTimeout = setTimeout(() => this.foldersReload(), 500); } - folderDelete(sFolderFullNameRaw) { + folderDelete(sFolderFullName) { return this.postRequest('FolderDelete', FolderUserStore.foldersDeleting, { - Folder: sFolderFullNameRaw + Folder: sFolderFullName }); } @@ -675,16 +675,16 @@ class RemoteUserFetch extends AbstractFetchRemote { }); } - folderMove(sPrevFolderFullNameRaw, sNewFolderFullName) { + folderMove(sPrevFolderFullName, sNewFolderFullName) { return this.postRequest('FolderMove', FolderUserStore.foldersRenaming, { - Folder: sPrevFolderFullNameRaw, + Folder: sPrevFolderFullName, NewFolder: sNewFolderFullName }); } - folderRename(sPrevFolderFullNameRaw, sNewFolderName) { + folderRename(sPrevFolderFullName, sNewFolderName) { return this.postRequest('FolderRename', FolderUserStore.foldersRenaming, { - Folder: sPrevFolderFullNameRaw, + Folder: sPrevFolderFullName, NewFolderName: sNewFolderName }); } diff --git a/dev/Screen/User/MailBox.js b/dev/Screen/User/MailBox.js index f965a655b..aca291bbf 100644 --- a/dev/Screen/User/MailBox.js +++ b/dev/Screen/User/MailBox.js @@ -3,7 +3,7 @@ import { Layout, ClientSideKeyName } from 'Common/EnumsUser'; import { doc, leftPanelDisabled, moveAction, Settings, elementById } from 'Common/Globals'; import { pString, pInt } from 'Common/Utils'; import { setLayoutResizer } from 'Common/UtilsUser'; -import { getFolderFromCacheList, getFolderFullNameRaw, getFolderInboxName } from 'Common/Cache'; +import { getFolderFromCacheList, getFolderFullName, getFolderInboxName } from 'Common/Cache'; import { i18n } from 'Common/Translator'; import { SettingsUserStore } from 'Stores/User/Settings'; @@ -64,7 +64,7 @@ export class MailBoxUserScreen extends AbstractScreen { * @returns {void} */ onRoute(folderHash, page, search) { - const folder = getFolderFromCacheList(getFolderFullNameRaw(folderHash.replace(/~([\d]+)$/, ''))); + const folder = getFolderFromCacheList(getFolderFullName(folderHash.replace(/~([\d]+)$/, ''))); if (folder) { let threadUid = folderHash.replace(/^.+~(\d+)$/, '$1'); diff --git a/dev/Stores/User/Contact.js b/dev/Stores/User/Contact.js index 1a929db93..caecf4dd1 100644 --- a/dev/Stores/User/Contact.js +++ b/dev/Stores/User/Contact.js @@ -27,9 +27,9 @@ ContactUserStore.sync = fResultFunc => { && !ContactUserStore.syncing() ) { ContactUserStore.syncing(true); - Remote.contactsSync((sResult, oData) => { + Remote.contactsSync((iError, oData) => { ContactUserStore.syncing(false); - fResultFunc && fResultFunc(sResult, oData); + fResultFunc && fResultFunc(iError, oData); }); } }; @@ -44,8 +44,7 @@ ContactUserStore.init = () => { ContactUserStore.syncPass(SettingsGet('ContactsSyncPassword')); setTimeout(ContactUserStore.sync, 10000); value = pInt(SettingsGet('ContactsSyncInterval')); - value = 5 <= value ? value : 20; - value = 320 >= value ? value : 320; + value = 5 <= value ? (320 >= value ? value : 320) : 20; setInterval(ContactUserStore.sync, value * 60000 + 5000); } }; diff --git a/dev/Stores/User/Folder.js b/dev/Stores/User/Folder.js index 3dc673c9b..5ade8b176 100644 --- a/dev/Stores/User/Folder.js +++ b/dev/Stores/User/Folder.js @@ -56,8 +56,6 @@ export const FolderUserStore = new class { draftFolderNotEnabled: () => !self.draftFolder() || UNUSED_OPTION_VALUE === self.draftFolder(), - currentFolderFullNameRaw: () => (self.currentFolder() ? self.currentFolder().fullName : ''), - currentFolderFullName: () => (self.currentFolder() ? self.currentFolder().fullName : ''), currentFolderFullNameHash: () => (self.currentFolder() ? self.currentFolder().fullNameHash : ''), diff --git a/dev/Stores/User/Message.js b/dev/Stores/User/Message.js index 53bb6d6e0..a1a9db694 100644 --- a/dev/Stores/User/Message.js +++ b/dev/Stores/User/Message.js @@ -267,12 +267,12 @@ export const MessageUserStore = new class { } /** - * @param {string} fromFolderFullNameRaw + * @param {string} fromFolderFullName * @param {Array} uidForRemove - * @param {string=} toFolderFullNameRaw = '' + * @param {string=} toFolderFullName = '' * @param {boolean=} copy = false */ - removeMessagesFromList(fromFolderFullNameRaw, uidForRemove, toFolderFullNameRaw = '', copy = false) { + removeMessagesFromList(fromFolderFullName, uidForRemove, toFolderFullName = '', copy = false) { uidForRemove = uidForRemove.map(mValue => pInt(mValue)); let unseenCount = 0, @@ -281,11 +281,10 @@ export const MessageUserStore = new class { const trashFolder = FolderUserStore.trashFolder(), spamFolder = FolderUserStore.spamFolder(), - fromFolder = getFolderFromCacheList(fromFolderFullNameRaw), - toFolder = toFolderFullNameRaw ? getFolderFromCacheList(toFolderFullNameRaw) : null, - currentFolderFullNameRaw = FolderUserStore.currentFolderFullNameRaw(), + fromFolder = getFolderFromCacheList(fromFolderFullName), + toFolder = toFolderFullName ? getFolderFromCacheList(toFolderFullName) : null, messages = - currentFolderFullNameRaw === fromFolderFullNameRaw + FolderUserStore.currentFolderFullName() === fromFolderFullName ? messageList.filter(item => item && uidForRemove.includes(pInt(item.uid))) : []; @@ -339,12 +338,12 @@ export const MessageUserStore = new class { } } - if (fromFolderFullNameRaw) { - setFolderHash(fromFolderFullNameRaw, ''); + if (fromFolderFullName) { + setFolderHash(fromFolderFullName, ''); } - if (toFolderFullNameRaw) { - setFolderHash(toFolderFullNameRaw, ''); + if (toFolderFullName) { + setFolderHash(toFolderFullName, ''); } if (this.listThreadUid()) { @@ -635,7 +634,7 @@ export const MessageUserStore = new class { * @returns {string} */ calculateMessageListHash(list) { - return list.map(message => '' + message.hash + '_' + message.threadsLen() + '_' + message.flagHash()).join( + return list.map(message => message.hash + '_' + message.threadsLen() + '_' + message.flagHash()).join( '|' ); } diff --git a/dev/Stores/User/Notification.js b/dev/Stores/User/Notification.js index 051c336c4..4b2b3f713 100644 --- a/dev/Stores/User/Notification.js +++ b/dev/Stores/User/Notification.js @@ -1,7 +1,6 @@ -import ko from 'ko'; - import { SMAudio } from 'Common/Audio'; import * as Links from 'Common/Links'; +import { addObservablesTo } from 'Common/Utils'; /** * Might not work due to the new ServiceWorkerRegistration.showNotification @@ -36,11 +35,13 @@ if (WorkerNotifications && ServiceWorkerRegistration && ServiceWorkerRegistratio export const NotificationUserStore = new class { constructor() { - this.enableSoundNotification = ko.observable(false); + addObservablesTo(this, { + enableSoundNotification: false, - this.enableDesktopNotification = ko.observable(false)/*.extend({ notify: 'always' })*/; + enableDesktopNotification: false,/*.extend({ notify: 'always' })*/ - this.isDesktopNotificationAllowed = ko.observable(!NotificationsDenied()); + isDesktopNotificationAllowed: !NotificationsDenied() + }); this.enableDesktopNotification.subscribe(value => { DesktopNotifications = !!value; diff --git a/dev/View/Popup/Compose.js b/dev/View/Popup/Compose.js index 9a500eb37..76c93e7b9 100644 --- a/dev/View/Popup/Compose.js +++ b/dev/View/Popup/Compose.js @@ -571,7 +571,7 @@ class ComposePopupView extends AbstractViewPopup { const draftFolder = FolderUserStore.draftFolder(); if (draftFolder && UNUSED_OPTION_VALUE !== draftFolder) { setFolderHash(draftFolder, ''); - if (FolderUserStore.currentFolderFullNameRaw() === draftFolder) { + if (FolderUserStore.currentFolderFullName() === draftFolder) { rl.app.reloadMessageList(true); } else { rl.app.folderInformation(draftFolder); diff --git a/dev/View/User/MailBox/FolderList.js b/dev/View/User/MailBox/FolderList.js index d4197c14c..bdfcfedda 100644 --- a/dev/View/User/MailBox/FolderList.js +++ b/dev/View/User/MailBox/FolderList.js @@ -86,7 +86,7 @@ export class MailFolderList extends AbstractViewLeft { if (moveAction()) { moveAction(false); rl.app.moveMessagesToFolder( - FolderUserStore.currentFolderFullNameRaw(), + FolderUserStore.currentFolderFullName(), MessageUserStore.listCheckedOrSelectedUidsWithSubMails(), folder.fullName, event.ctrlKey @@ -96,7 +96,7 @@ export class MailFolderList extends AbstractViewLeft { MessageUserStore.message(null); } - if (folder.fullName === FolderUserStore.currentFolderFullNameRaw()) { + if (folder.fullName === FolderUserStore.currentFolderFullName()) { setFolderHash(folder.fullName, ''); } diff --git a/dev/View/User/MailBox/MessageList.js b/dev/View/User/MailBox/MessageList.js index e3c44f372..279ce2486 100644 --- a/dev/View/User/MailBox/MessageList.js +++ b/dev/View/User/MailBox/MessageList.js @@ -109,7 +109,7 @@ export class MailMessageList extends AbstractViewRight { folderMenuForMove: () => folderListOptionsBuilder( - [FolderUserStore.currentFolderFullNameRaw()], + [FolderUserStore.currentFolderFullName()], [], item => item ? item.localName() : '' ), @@ -279,7 +279,7 @@ export class MailMessageList extends AbstractViewRight { if (Settings.capa(Capa.DangerousActions)) { rl.app.deleteMessagesFromFolder( FolderType.Trash, - FolderUserStore.currentFolderFullNameRaw(), + FolderUserStore.currentFolderFullName(), MessageUserStore.listCheckedOrSelectedUidsWithSubMails(), false ); @@ -289,7 +289,7 @@ export class MailMessageList extends AbstractViewRight { deleteCommand() { rl.app.deleteMessagesFromFolder( FolderType.Trash, - FolderUserStore.currentFolderFullNameRaw(), + FolderUserStore.currentFolderFullName(), MessageUserStore.listCheckedOrSelectedUidsWithSubMails(), true ); @@ -298,7 +298,7 @@ export class MailMessageList extends AbstractViewRight { archiveCommand() { rl.app.deleteMessagesFromFolder( FolderType.Archive, - FolderUserStore.currentFolderFullNameRaw(), + FolderUserStore.currentFolderFullName(), MessageUserStore.listCheckedOrSelectedUidsWithSubMails(), true ); @@ -307,7 +307,7 @@ export class MailMessageList extends AbstractViewRight { spamCommand() { rl.app.deleteMessagesFromFolder( FolderType.Spam, - FolderUserStore.currentFolderFullNameRaw(), + FolderUserStore.currentFolderFullName(), MessageUserStore.listCheckedOrSelectedUidsWithSubMails(), true ); @@ -316,7 +316,7 @@ export class MailMessageList extends AbstractViewRight { notSpamCommand() { rl.app.deleteMessagesFromFolder( FolderType.NotSpam, - FolderUserStore.currentFolderFullNameRaw(), + FolderUserStore.currentFolderFullName(), MessageUserStore.listCheckedOrSelectedUidsWithSubMails(), true ); @@ -413,16 +413,16 @@ export class MailMessageList extends AbstractViewRight { } /** - * @param {string} sToFolderFullNameRaw + * @param {string} sToFolderFullName * @param {boolean} bCopy * @returns {boolean} */ - moveSelectedMessagesToFolder(sToFolderFullNameRaw, bCopy) { + moveSelectedMessagesToFolder(sToFolderFullName, bCopy) { if (MessageUserStore.hasCheckedOrSelected()) { rl.app.moveMessagesToFolder( - FolderUserStore.currentFolderFullNameRaw(), + FolderUserStore.currentFolderFullName(), MessageUserStore.listCheckedOrSelectedUidsWithSubMails(), - sToFolderFullNameRaw, + sToFolderFullName, bCopy ); } @@ -437,37 +437,37 @@ export class MailMessageList extends AbstractViewRight { item && !uids.includes(item.uid) && uids.push(item.uid); return uids.length ? { copy: event.ctrlKey, - folder: FolderUserStore.currentFolderFullNameRaw(), + folder: FolderUserStore.currentFolderFullName(), uids: uids } : null; } /** - * @param {string} sFolderFullNameRaw + * @param {string} sFolderFullName * @param {number} iSetAction * @param {Array=} aMessages = null * @returns {void} */ - setAction(sFolderFullNameRaw, iSetAction, aMessages) { - rl.app.messageListAction(sFolderFullNameRaw, iSetAction, aMessages); + setAction(sFolderFullName, iSetAction, aMessages) { + rl.app.messageListAction(sFolderFullName, iSetAction, aMessages); } /** - * @param {string} sFolderFullNameRaw + * @param {string} sFolderFullName * @param {number} iSetAction * @param {number} iThreadUid = '' * @returns {void} */ - setActionForAll(sFolderFullNameRaw, iSetAction, iThreadUid = 0) { - if (sFolderFullNameRaw) { + setActionForAll(sFolderFullName, iSetAction, iThreadUid = 0) { + if (sFolderFullName) { let cnt = 0; const uids = []; - let folder = getFolderFromCacheList(sFolderFullNameRaw); + let folder = getFolderFromCacheList(sFolderFullName); if (folder) { switch (iSetAction) { case MessageSetAction.SetSeen: - folder = getFolderFromCacheList(sFolderFullNameRaw); + folder = getFolderFromCacheList(sFolderFullName); if (folder) { MessageUserStore.list.forEach(message => { if (message.isUnseen()) { @@ -487,13 +487,13 @@ export class MailMessageList extends AbstractViewRight { folder.messageCountUnread(0); } - MessageFlagsCache.clearFolder(sFolderFullNameRaw); + MessageFlagsCache.clearFolder(sFolderFullName); } - Remote.messageSetSeenToAll(null, sFolderFullNameRaw, true, iThreadUid ? uids : null); + Remote.messageSetSeenToAll(null, sFolderFullName, true, iThreadUid ? uids : null); break; case MessageSetAction.UnsetSeen: - folder = getFolderFromCacheList(sFolderFullNameRaw); + folder = getFolderFromCacheList(sFolderFullName); if (folder) { MessageUserStore.list.forEach(message => { if (!message.isUnseen()) { @@ -513,10 +513,10 @@ export class MailMessageList extends AbstractViewRight { folder.messageCountUnread(folder.messageCountAll()); } - MessageFlagsCache.clearFolder(sFolderFullNameRaw); + MessageFlagsCache.clearFolder(sFolderFullName); } - Remote.messageSetSeenToAll(null, sFolderFullNameRaw, false, iThreadUid ? uids : null); + Remote.messageSetSeenToAll(null, sFolderFullName, false, iThreadUid ? uids : null); break; // no default } @@ -528,7 +528,7 @@ export class MailMessageList extends AbstractViewRight { listSetSeen() { this.setAction( - FolderUserStore.currentFolderFullNameRaw(), + FolderUserStore.currentFolderFullName(), MessageSetAction.SetSeen, MessageUserStore.listCheckedOrSelected() ); @@ -536,7 +536,7 @@ export class MailMessageList extends AbstractViewRight { listSetAllSeen() { this.setActionForAll( - FolderUserStore.currentFolderFullNameRaw(), + FolderUserStore.currentFolderFullName(), MessageSetAction.SetSeen, MessageUserStore.listEndThreadUid() ); @@ -544,7 +544,7 @@ export class MailMessageList extends AbstractViewRight { listUnsetSeen() { this.setAction( - FolderUserStore.currentFolderFullNameRaw(), + FolderUserStore.currentFolderFullName(), MessageSetAction.UnsetSeen, MessageUserStore.listCheckedOrSelected() ); @@ -552,7 +552,7 @@ export class MailMessageList extends AbstractViewRight { listSetFlags() { this.setAction( - FolderUserStore.currentFolderFullNameRaw(), + FolderUserStore.currentFolderFullName(), MessageSetAction.SetFlag, MessageUserStore.listCheckedOrSelected() ); @@ -560,7 +560,7 @@ export class MailMessageList extends AbstractViewRight { listUnsetFlags() { this.setAction( - FolderUserStore.currentFolderFullNameRaw(), + FolderUserStore.currentFolderFullName(), MessageSetAction.UnsetFlag, MessageUserStore.listCheckedOrSelected() ); @@ -704,7 +704,7 @@ export class MailMessageList extends AbstractViewRight { name: 'AppendFile', limit: 1, hidden: { - Folder: () => FolderUserStore.currentFolderFullNameRaw() + Folder: () => FolderUserStore.currentFolderFullName() }, dragAndDropElement: this.dragOverArea(), dragAndDropBodyElement: this.dragOverBodyArea() diff --git a/dev/View/User/MailBox/MessageView.js b/dev/View/User/MailBox/MessageView.js index 608248a08..298b90d2d 100644 --- a/dev/View/User/MailBox/MessageView.js +++ b/dev/View/User/MailBox/MessageView.js @@ -176,8 +176,8 @@ export class MailMessageView extends AbstractViewRight { return ''; }, - messageListAndMessageViewLoading: - () => MessageUserStore.listCompleteLoading() || MessageUserStore.messageLoading() + messageListOrViewLoading: + () => MessageUserStore.listCompleteLoading() | MessageUserStore.messageLoading() }); this.addSubscribables({ @@ -258,8 +258,8 @@ export class MailMessageView extends AbstractViewRight { decorateKoCommands(this, { closeMessageCommand: 1, messageEditCommand: self => self.messageVisibility(), - goUpCommand: self => !self.messageListAndMessageViewLoading(), - goDownCommand: self => !self.messageListAndMessageViewLoading() + goUpCommand: self => !self.messageListOrViewLoading(), + goDownCommand: self => !self.messageListOrViewLoading() }); }