Revamp mailbox management so that reloading of the whole folder tree is not needed

This commit is contained in:
djmaze 2021-12-08 11:06:42 +01:00
parent 5fdc38a40d
commit 2719f08e26
8 changed files with 67 additions and 60 deletions

View file

@ -20,6 +20,8 @@ import { i18n, trigger as translatorTrigger } from 'Common/Translator';
import { AbstractModel } from 'Knoin/AbstractModel';
//import { mailBox } from 'Common/Links';
const
normalizeFolder = sFolderFullName => ('' === sFolderFullName
|| UNUSED_OPTION_VALUE === sFolderFullName
@ -236,7 +238,10 @@ export class FolderModel extends AbstractModel {
static reviveFromJson(json) {
const folder = super.reviveFromJson(json);
if (folder) {
folder.deep = json.FullName.split(folder.delimiter).length - 1;
const path = folder.fullName.split(folder.delimiter);
folder.deep = path.length - 1;
path.pop();
folder.parentName = path.join(folder.delimiter);
let type = (folder.metadata[FolderMetadataKeys.KolabFolderType]
|| folder.metadata[FolderMetadataKeys.KolabFolderTypeShared]
@ -360,6 +365,8 @@ export class FolderModel extends AbstractModel {
!!folder.subFolders().find(
folder => folder.hasUnreadMessages() | folder.hasSubscribedUnreadMessagesSubfolders()
)
// ,href: () => folder.canBeSelected() && mailBox(folder.fullNameHash)
});
folder.addSubscribables({