mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Improved handling of visible folders
This commit is contained in:
parent
7ca5991041
commit
6c144b5a28
3 changed files with 9 additions and 8 deletions
|
|
@ -254,6 +254,10 @@ export class FolderCollectionModel extends AbstractCollectionModel
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
visible() {
|
||||||
|
return this.filter(folder => folder.visible());
|
||||||
|
}
|
||||||
|
|
||||||
storeIt() {
|
storeIt() {
|
||||||
FolderUserStore.displaySpecSetting(Settings.app('folderSpecLimit') < this.CountRec);
|
FolderUserStore.displaySpecSetting(Settings.app('folderSpecLimit') < this.CountRec);
|
||||||
|
|
||||||
|
|
@ -387,6 +391,7 @@ export class FolderModel extends AbstractModel {
|
||||||
// isSubscribed: () => this.attributes().includes('\\subscribed'),
|
// isSubscribed: () => this.attributes().includes('\\subscribed'),
|
||||||
|
|
||||||
hasVisibleSubfolders: () => !!this.subFolders().find(folder => folder.visible()),
|
hasVisibleSubfolders: () => !!this.subFolders().find(folder => folder.visible()),
|
||||||
|
visibleSubfolders: () => this.subFolders().visible(),
|
||||||
|
|
||||||
hasSubscriptions: () => this.isSubscribed() | !!this.subFolders().find(
|
hasSubscriptions: () => this.isSubscribed() | !!this.subFolders().find(
|
||||||
oFolder => {
|
oFolder => {
|
||||||
|
|
|
||||||
|
|
@ -43,10 +43,8 @@ export class MailFolderList extends AbstractViewLeft {
|
||||||
foldersFilterVisible: () => 20 < FolderUserStore.folderList().CountRec,
|
foldersFilterVisible: () => 20 < FolderUserStore.folderList().CountRec,
|
||||||
|
|
||||||
folderListVisible: () => {
|
folderListVisible: () => {
|
||||||
let result = FolderUserStore.folderList().filter(folder => folder.visible());
|
let result = FolderUserStore.folderList().visible();
|
||||||
// https://github.com/the-djmaze/snappymail/issues/1427
|
return 1 === result.length && result[0].isInbox() ? result[0].visibleSubfolders() : result;
|
||||||
// result.sort((a, b) => a.unreadEmails ? (b.unreadEmails ? 0 : -1) : (b.unreadEmails ? 1 : 0));
|
|
||||||
return 1 === result.length && result[0].isInbox() ? result[0].subFolders() : result;
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
<!-- ko if: visible -->
|
|
||||||
<li>
|
<li>
|
||||||
<a data-bind="dropmessages: $data,
|
<a data-bind="dropmessages: $data,
|
||||||
css: { 'selected': selected() && !isSystemFolder(), 'system': isSystemFolder, 'selectable': canBeSelected, 'unread-sub': hasSubscribedUnreadMessagesSubfolders, 'anim-action-class': actionBlink },
|
css: { 'selected': selected() && !isSystemFolder(), 'system': isSystemFolder, 'selectable': canBeSelected, 'unread-sub': hasSubscribedUnreadMessagesSubfolders, 'anim-action-class': actionBlink },
|
||||||
|
|
@ -6,8 +5,7 @@
|
||||||
<i data-bind="css: collapsedCss()"></i>
|
<i data-bind="css: collapsedCss()"></i>
|
||||||
<!-- ko text: name --><!-- /ko -->
|
<!-- ko text: name --><!-- /ko -->
|
||||||
</a>
|
</a>
|
||||||
<!-- ko if: subFolders().length -->
|
<!-- ko if: hasVisibleSubfolders -->
|
||||||
<ul data-bind="template: { name: 'MailFolderListItem', foreach: subFolders }, css: { 'collapsed': collapsed() }"></ul>
|
<ul data-bind="template: { name: 'MailFolderListItem', foreach: visibleSubfolders }, css: { 'collapsed': collapsed() }"></ul>
|
||||||
<!-- /ko -->
|
<!-- /ko -->
|
||||||
</li>
|
</li>
|
||||||
<!-- /ko -->
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue