Prepare some code for cleaner account switching without reload

This commit is contained in:
djmaze 2021-11-13 09:46:59 +01:00
parent 15ae0380ba
commit b057c4083e
3 changed files with 37 additions and 26 deletions

View file

@ -674,18 +674,6 @@ class AppUser extends AbstractApp {
Local.set(ClientSideKeyName.ExpandedFolders, aExpandedList);
}
initLeftSideLayoutResizer() {
const left = elementById('rl-left'),
right = elementById('rl-right'),
fToggle = () =>
setLayoutResizer(left, right, ClientSideKeyName.FolderListSize,
(ThemeStore.isMobile() || leftPanelDisabled()) ? 0 : 'Width');
if (left && right) {
fToggle();
leftPanelDisabled.subscribe(fToggle);
}
}
/**
* @param {string} link
* @returns {boolean}
@ -755,7 +743,7 @@ class AppUser extends AbstractApp {
ContactUserStore.init();
this.accountsAndIdentities(true);
this.accountsAndIdentities();
setTimeout(() => {
const cF = FolderUserStore.currentFolderFullNameRaw();
@ -791,7 +779,18 @@ class AppUser extends AbstractApp {
);
SettingsUserStore.delayLogout();
setTimeout(() => this.initLeftSideLayoutResizer(), 1);
// initLeftSideLayoutResizer
setTimeout(() => {
const left = elementById('rl-left'),
right = elementById('rl-right'),
fToggle = () =>
setLayoutResizer(left, right, ClientSideKeyName.FolderListSize,
(ThemeStore.isMobile() || leftPanelDisabled()) ? 0 : 'Width');
if (left && right) {
fToggle();
leftPanelDisabled.subscribe(fToggle);
}
}, 1);
setInterval(this.reloadTime(), 60000);

View file

@ -7,20 +7,21 @@ let FOLDERS_CACHE = {},
FOLDERS_UID_NEXT_CACHE = {},
MESSAGE_FLAGS_CACHE = {},
NEW_MESSAGE_CACHE = {},
REQUESTED_MESSAGE_CACHE = {},
inboxFolderName = 'INBOX';
const REQUESTED_MESSAGE_CACHE = {};
export const
/**
* @returns {void}
*/
clear = () => {
clearCache = () => {
FOLDERS_CACHE = {};
FOLDERS_NAME_CACHE = {};
FOLDERS_HASH_CACHE = {};
FOLDERS_UID_NEXT_CACHE = {};
MESSAGE_FLAGS_CACHE = {};
NEW_MESSAGE_CACHE = {};
REQUESTED_MESSAGE_CACHE = {};
},
/**

View file

@ -1,9 +1,10 @@
import { AppUserStore } from 'Stores/User/App';
import { AccountUserStore } from 'Stores/User/Account';
import { MessageUserStore } from 'Stores/User/Message';
//import { FolderUserStore } from 'Stores/User/Folder';
import { Capa, Scope } from 'Common/Enums';
import { settings } from 'Common/Links';
import { /*root,*/ settings } from 'Common/Links';
import { showScreenPopup } from 'Knoin/Knoin';
import { AbstractViewRight } from 'Knoin/AbstractViews';
@ -12,13 +13,13 @@ import { KeyboardShortcutsHelpPopupView } from 'View/Popup/KeyboardShortcutsHelp
import { AccountPopupView } from 'View/Popup/Account';
import { ContactsPopupView } from 'View/Popup/Contacts';
import { doc, Settings, leftPanelDisabled } from 'Common/Globals';
import { doc, Settings/*, SettingsGet*/, leftPanelDisabled } from 'Common/Globals';
import { ThemeStore } from 'Stores/Theme';
import Remote from 'Remote/User/Fetch';
import { getNotification } from 'Common/Translator';
//import { FolderUserStore } from 'Stores/User/Folder';
//import { clearCache } from 'Common/Cache';
export class SystemDropDownUserView extends AbstractViewRight {
constructor() {
@ -61,13 +62,23 @@ export class SystemDropDownUserView extends AbstractViewRight {
showScreenPopup(AccountPopupView, [account]);
}
} else {
/*
// This does not work yet:
FolderUserStore.folderList([]);
MessageUserStore.list([]);
/* // Not working yet
Object.entries(oData.Result).forEach((key, value) => rl.settings.set(key, value));
3. reload Folders = Remote.foldersReload
4. Change to INBOX = reload MessageList
clearCache();
// MessageUserStore.setMessage();
// MessageUserStore.purgeMessageBodyCache();
// MessageUserStore.hideMessageBodies();
MessageUserStore.list([]);
// FolderUserStore.folderList([]);
Remote.foldersReload(value => {
if (value) {
value = SettingsGet('StartupUrl');
rl.route.setHash(root(value), true);
// 4. Change to INBOX = reload MessageList
// MessageUserStore.setMessageList();
}
});
AccountUserStore.loading(false);
*/
// rl.route.reload();
location.reload();