Remove MessageUserStore.listEnd* overhead

This commit is contained in:
djmaze 2021-12-16 14:35:29 +01:00
parent c7a0573852
commit eb669715ca
3 changed files with 21 additions and 32 deletions

View file

@ -82,10 +82,8 @@ export const MessageUserStore = new class {
listPageBeforeThread: 1, listPageBeforeThread: 1,
listError: '', listError: '',
listEndFolder: '', listEndHash: '',
listEndSearch: '',
listEndThreadUid: 0, listEndThreadUid: 0,
listEndPage: 1,
listLoading: false, listLoading: false,
// Happens when message(s) removed from list // Happens when message(s) removed from list
@ -120,15 +118,6 @@ export const MessageUserStore = new class {
return value; return value;
}, },
*/ */
listEndHash: () =>
this.listEndFolder() +
'|' +
this.listEndSearch() +
'|' +
this.listEndThreadUid() +
'|' +
this.listEndPage(),
listPageCount: () => Math.max(1, Math.ceil(this.listCount() / SettingsUserStore.messagesPerPage())), listPageCount: () => Math.max(1, Math.ceil(this.listCount() / SettingsUserStore.messagesPerPage())),
mainMessageListSearch: { mainMessageListSearch: {
@ -199,13 +188,6 @@ export const MessageUserStore = new class {
} }
}, },
listEndFolder: folder => {
const message = this.message();
if (message && folder && folder !== message.folder) {
this.message(null);
}
},
isMessageSelected: value => elementById('rl-right').classList.toggle('message-selected', value) isMessageSelected: value => elementById('rl-right').classList.toggle('message-selected', value)
}); });
@ -658,12 +640,19 @@ export const MessageUserStore = new class {
this.listCount(collection.MessageResultCount); this.listCount(collection.MessageResultCount);
this.listSearch(pString(collection.Search)); this.listSearch(pString(collection.Search));
this.listPage(Math.ceil(collection.Offset / SettingsUserStore.messagesPerPage() + 1)); this.listPage(Math.ceil(collection.Offset / SettingsUserStore.messagesPerPage() + 1));
this.listThreadUid(data.Result.ThreadUid); this.listThreadUid(collection.ThreadUid);
this.listEndFolder(collection.Folder); this.listEndHash(
this.listEndSearch(this.listSearch()); collection.Folder +
this.listEndThreadUid(this.listThreadUid()); '|' + collection.Search +
this.listEndPage(this.listPage()); '|' + this.listThreadUid() +
'|' + this.listPage()
);
this.listEndThreadUid(collection.ThreadUid);
const message = this.message();
if (message && collection.Folder !== message.folder) {
this.message(null);
}
this.listDisableAutoSelect(true); this.listDisableAutoSelect(true);

View file

@ -80,7 +80,7 @@ export class MailMessageList extends AbstractViewRight {
this.useCheckboxesInList = SettingsUserStore.useCheckboxesInList; this.useCheckboxesInList = SettingsUserStore.useCheckboxesInList;
this.messageListEndThreadUid = MessageUserStore.listEndThreadUid; this.messageListThreadUid = MessageUserStore.listEndThreadUid;
this.messageListIsLoading = MessageUserStore.listIsLoading; this.messageListIsLoading = MessageUserStore.listIsLoading;
@ -115,7 +115,7 @@ export class MailMessageList extends AbstractViewRight {
), ),
messageListSearchDesc: () => { messageListSearchDesc: () => {
const value = MessageUserStore.listEndSearch(); const value = MessageUserStore.list().Search;
return value ? i18n('MESSAGE_LIST/SEARCH_RESULT_FOR', { SEARCH: value }) : '' return value ? i18n('MESSAGE_LIST/SEARCH_RESULT_FOR', { SEARCH: value }) : ''
}, },
@ -142,17 +142,17 @@ export class MailMessageList extends AbstractViewRight {
hasMessages: () => 0 < MessageUserStore.list.length, hasMessages: () => 0 < MessageUserStore.list.length,
isSpamFolder: () => (FolderUserStore.spamFolder() || 0) === MessageUserStore.listEndFolder(), isSpamFolder: () => (FolderUserStore.spamFolder() || 0) === MessageUserStore.list().Folder,
isSpamDisabled: () => UNUSED_OPTION_VALUE === FolderUserStore.spamFolder(), isSpamDisabled: () => UNUSED_OPTION_VALUE === FolderUserStore.spamFolder(),
isTrashFolder: () => (FolderUserStore.trashFolder() || 0) === MessageUserStore.listEndFolder(), isTrashFolder: () => (FolderUserStore.trashFolder() || 0) === MessageUserStore.list().Folder,
isDraftFolder: () => (FolderUserStore.draftsFolder() || 0) === MessageUserStore.listEndFolder(), isDraftFolder: () => (FolderUserStore.draftsFolder() || 0) === MessageUserStore.list().Folder,
isSentFolder: () => (FolderUserStore.sentFolder() || 0) === MessageUserStore.listEndFolder(), isSentFolder: () => (FolderUserStore.sentFolder() || 0) === MessageUserStore.list().Folder,
isArchiveFolder: () => (FolderUserStore.archiveFolder() || 0) === MessageUserStore.listEndFolder(), isArchiveFolder: () => (FolderUserStore.archiveFolder() || 0) === MessageUserStore.list().Folder,
isArchiveDisabled: () => UNUSED_OPTION_VALUE === FolderUserStore.archiveFolder(), isArchiveDisabled: () => UNUSED_OPTION_VALUE === FolderUserStore.archiveFolder(),

View file

@ -163,7 +163,7 @@
<!-- /ko --> <!-- /ko -->
</div> </div>
<div class="b-content" data-bind="initDom: dragOverBodyArea"> <div class="b-content" data-bind="initDom: dragOverBodyArea">
<div class="listThreadUidDesc" data-bind="visible: messageListEndThreadUid(), click: cancelThreadUid"> <div class="listThreadUidDesc" data-bind="visible: messageListThreadUid(), click: cancelThreadUid">
<i class="fontastic"></i> <i class="fontastic"></i>
<span data-i18n="MESSAGE_LIST/BACK_TO_MESSAGE_LIST"></span> <span data-i18n="MESSAGE_LIST/BACK_TO_MESSAGE_LIST"></span>
</div> </div>