Some account switch reload improvements

This commit is contained in:
djmaze 2021-11-12 09:36:08 +01:00
parent 9b0f9be23c
commit ce413b7b7a
7 changed files with 41 additions and 37 deletions

View file

@ -23,11 +23,9 @@ export class AbstractApp {
this.Remote = Remote;
}
logoutReload(close = false) {
logoutReload() {
const url = logoutLink();
close && window.close && window.close();
if (location.href !== url) {
setTimeout(() => (Settings.app('inIframe') ? parent : window).location.href = url, 100);
} else {

View file

@ -708,7 +708,7 @@ class AppUser extends AbstractApp {
}
logout() {
Remote.logout(() => rl.logoutReload(!!SettingsGet('ParentEmail')));
Remote.logout(() => rl.logoutReload());
}
bootstart() {

View file

@ -162,12 +162,11 @@ const
});
},
hideScreen = (screenToHide, destroy) => {
hideScreen = screenToHide => {
screenToHide.onHide && screenToHide.onHide();
forEachViewModel(screenToHide, (vm, dom) => {
dom.hidden = true;
vm.onHide && vm.onHide();
destroy && vm.viewModelDom.remove();
});
},
@ -319,7 +318,7 @@ export const
*/
startScreens = screensClasses => {
hasher.clear();
forEachObjectValue(SCREENS, screen => hideScreen(screen, 1));
forEachObjectValue(SCREENS, screen => hideScreen(screen));
SCREENS = {};
currentScreen = null,
defaultScreenName = '';

View file

@ -25,25 +25,6 @@ const urlSafeJSON = data => btoa(JSON.stringify(data))
.replace(/=+$/, '');
class RemoteUserFetch extends AbstractFetchRemote {
/**
* @param {?Function} fCallback
*/
folders(fCallback) {
this.defaultRequest(
fCallback,
'Folders',
{
SentFolder: SettingsGet('SentFolder'),
DraftFolder: SettingsGet('DraftFolder'),
SpamFolder: SettingsGet('SpamFolder'),
TrashFolder: SettingsGet('TrashFolder'),
ArchiveFolder: SettingsGet('ArchiveFolder')
},
null,
'',
['Folders']
);
}
/**
* @param {?Function} fCallback
@ -651,6 +632,9 @@ class RemoteUserFetch extends AbstractFetchRemote {
this.defaultRequest(fCallback, 'ClearUserBackground');
}
/**
* @param {?Function} fCallback
*/
foldersReload(fCallback) {
this.abort('Folders')
.postRequest('Folders', FolderUserStore.foldersLoading)

View file

@ -18,6 +18,7 @@ import { ThemeStore } from 'Stores/Theme';
import Remote from 'Remote/User/Fetch';
import { getNotification } from 'Common/Translator';
//import { FolderUserStore } from 'Stores/User/Folder';
export class SystemDropDownUserView extends AbstractViewRight {
constructor() {
@ -60,8 +61,15 @@ export class SystemDropDownUserView extends AbstractViewRight {
showScreenPopup(AccountPopupView, [account]);
}
} else {
// This does not work yet
// rl.setData(oData.Result);
/*
// This does not work yet:
FolderUserStore.folderList([]);
MessageUserStore.list([]);
Object.entries(oData.Result).forEach((key, value) => rl.settings.set(key, value));
3. reload Folders = Remote.foldersReload
4. Change to INBOX = reload MessageList
*/
// rl.route.reload();
location.reload();
}
}, 'AccountSwitch', {Email:account.email}