mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Bugfix: FolderList INBOX detection
This commit is contained in:
parent
e2a7d1f5f0
commit
db1615f2ca
1 changed files with 23 additions and 32 deletions
|
|
@ -20,19 +20,6 @@ import { i18n, trigger as translatorTrigger } from 'Common/Translator';
|
||||||
import { AbstractModel } from 'Knoin/AbstractModel';
|
import { AbstractModel } from 'Knoin/AbstractModel';
|
||||||
|
|
||||||
const
|
const
|
||||||
ServerFolderType = {
|
|
||||||
// USER: 0,
|
|
||||||
INBOX: 1,
|
|
||||||
SENT: 2,
|
|
||||||
DRAFTS: 3,
|
|
||||||
SPAM: 4, // JUNK
|
|
||||||
TRASH: 5,
|
|
||||||
// IMPORTANT: 10,
|
|
||||||
// FLAGGED: 11,
|
|
||||||
ARCHIVE: 12
|
|
||||||
// ,ALL: 13
|
|
||||||
},
|
|
||||||
|
|
||||||
normalizeFolder = sFolderFullNameRaw => ('' === sFolderFullNameRaw
|
normalizeFolder = sFolderFullNameRaw => ('' === sFolderFullNameRaw
|
||||||
|| UNUSED_OPTION_VALUE === sFolderFullNameRaw
|
|| UNUSED_OPTION_VALUE === sFolderFullNameRaw
|
||||||
|| null !== Cache.getFolderFromCacheList(sFolderFullNameRaw))
|
|| null !== Cache.getFolderFromCacheList(sFolderFullNameRaw))
|
||||||
|
|
@ -64,12 +51,17 @@ export class FolderCollectionModel extends AbstractCollectionModel
|
||||||
const expandedFolders = Local.get(ClientSideKeyName.ExpandedFolders);
|
const expandedFolders = Local.get(ClientSideKeyName.ExpandedFolders);
|
||||||
if (object && object.SystemFolders) {
|
if (object && object.SystemFolders) {
|
||||||
let sf = object.SystemFolders;
|
let sf = object.SystemFolders;
|
||||||
SystemFolders = [0,0,
|
SystemFolders = [
|
||||||
SettingsGet('SentFolder') || sf[ServerFolderType.SENT],
|
/* USER */ 0,
|
||||||
SettingsGet('DraftFolder') || sf[ServerFolderType.DRAFTS],
|
/* INBOX */ sf[1],
|
||||||
SettingsGet('SpamFolder') || sf[ServerFolderType.SPAM],
|
SettingsGet('SentFolder') || sf[2],
|
||||||
SettingsGet('TrashFolder') || sf[ServerFolderType.TRASH],
|
SettingsGet('DraftFolder') || sf[3],
|
||||||
SettingsGet('ArchiveFolder') || sf[ServerFolderType.ARCHIVE]
|
SettingsGet('SpamFolder') || sf[4],
|
||||||
|
SettingsGet('TrashFolder') || sf[5],
|
||||||
|
SettingsGet('ArchiveFolder') || sf[12]
|
||||||
|
// IMPORTANT: sf[10],
|
||||||
|
// FLAGGED: sf[11],
|
||||||
|
// ALL: sf[13]
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -82,7 +74,7 @@ export class FolderCollectionModel extends AbstractCollectionModel
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
if (!oCacheFolder && (oCacheFolder = FolderModel.reviveFromJson(oFolder))) {
|
if (!oCacheFolder && (oCacheFolder = FolderModel.reviveFromJson(oFolder))) {
|
||||||
if (oFolder.FullNameRaw == SystemFolders[ServerFolderType.INBOX]) {
|
if (1 == SystemFolders.indexOf(oFolder.FullNameRaw)) {
|
||||||
oCacheFolder.type(FolderType.Inbox);
|
oCacheFolder.type(FolderType.Inbox);
|
||||||
Cache.setFolderInboxName(oFolder.FullNameRaw);
|
Cache.setFolderInboxName(oFolder.FullNameRaw);
|
||||||
}
|
}
|
||||||
|
|
@ -132,11 +124,11 @@ export class FolderCollectionModel extends AbstractCollectionModel
|
||||||
SettingsGet('ArchiveFolder'))
|
SettingsGet('ArchiveFolder'))
|
||||||
) {
|
) {
|
||||||
FolderUserStore.saveSystemFolders({
|
FolderUserStore.saveSystemFolders({
|
||||||
SentFolder: SystemFolders[ServerFolderType.SENT] || null,
|
SentFolder: SystemFolders[FolderType.SENT] || null,
|
||||||
DraftFolder: SystemFolders[ServerFolderType.DRAFTS] || null,
|
DraftFolder: SystemFolders[FolderType.DRAFTS] || null,
|
||||||
SpamFolder: SystemFolders[ServerFolderType.SPAM] || null,
|
SpamFolder: SystemFolders[FolderType.SPAM] || null,
|
||||||
TrashFolder: SystemFolders[ServerFolderType.TRASH] || null,
|
TrashFolder: SystemFolders[FolderType.TRASH] || null,
|
||||||
ArchiveFolder: SystemFolders[ServerFolderType.ARCHIVE] || null
|
ArchiveFolder: SystemFolders[FolderType.ARCHIVE] || null
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -261,13 +253,12 @@ export class FolderModel extends AbstractModel {
|
||||||
isInbox: () => FolderType.Inbox === folder.type(),
|
isInbox: () => FolderType.Inbox === folder.type(),
|
||||||
|
|
||||||
hasSubscribedSubfolders:
|
hasSubscribedSubfolders:
|
||||||
() =>
|
() => !!folder.subFolders().find(
|
||||||
!!folder.subFolders().find(
|
oFolder => {
|
||||||
oFolder => {
|
const subscribed = oFolder.hasSubscriptions();
|
||||||
const subscribed = oFolder.hasSubscriptions();
|
return !oFolder.isSystemFolder() && subscribed;
|
||||||
return !oFolder.isSystemFolder() && subscribed;
|
}
|
||||||
}
|
),
|
||||||
),
|
|
||||||
|
|
||||||
hasSubscriptions: () => folder.subscribed() | folder.hasSubscribedSubfolders(),
|
hasSubscriptions: () => folder.subscribed() | folder.hasSubscribedSubfolders(),
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue