mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-30 20:49:20 +03:00
Revamp mailbox management so that reloading of the whole folder tree is not needed
This commit is contained in:
parent
5fdc38a40d
commit
2719f08e26
8 changed files with 67 additions and 60 deletions
|
|
@ -207,21 +207,17 @@ class RemoteUserFetch extends AbstractFetchRemote {
|
|||
* @param {?Function} fCallback
|
||||
*/
|
||||
foldersReload(fCallback) {
|
||||
clearTimeout(this.foldersTimeout);
|
||||
this.abort('Folders')
|
||||
.post('Folders', FolderUserStore.foldersLoading)
|
||||
.then(data => {
|
||||
data = FolderCollectionModel.reviveFromJson(data.Result);
|
||||
data && data.storeIt();
|
||||
fCallback && fCallback(true);
|
||||
// Repeat every 15 minutes
|
||||
this.foldersTimeout = setTimeout(() => this.foldersReload(), 900000);
|
||||
})
|
||||
.catch(() => fCallback && setTimeout(() => fCallback(false), 1));
|
||||
}
|
||||
|
||||
foldersReloadWithTimeout() {
|
||||
this.setTrigger(FolderUserStore.foldersLoading, true);
|
||||
|
||||
clearTimeout(this.foldersTimeout);
|
||||
this.foldersTimeout = setTimeout(() => this.foldersReload(), 500);
|
||||
.catch(() => fCallback && setTimeout(fCallback, 1, false));
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue