mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-27 19:19:21 +03:00
Some account switch reload improvements
This commit is contained in:
parent
9b0f9be23c
commit
ce413b7b7a
7 changed files with 41 additions and 37 deletions
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -708,7 +708,7 @@ class AppUser extends AbstractApp {
|
|||
}
|
||||
|
||||
logout() {
|
||||
Remote.logout(() => rl.logoutReload(!!SettingsGet('ParentEmail')));
|
||||
Remote.logout(() => rl.logoutReload());
|
||||
}
|
||||
|
||||
bootstart() {
|
||||
|
|
|
|||
|
|
@ -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 = '';
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue