From 7a7b11bdebbc24c20aaca27c1b52ce9a2a8c7fa0 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Fri, 7 Oct 2022 12:06:03 +0200 Subject: [PATCH] Resolve #474 --- dev/Model/FolderCollection.js | 10 +++++++--- dev/View/User/MailBox/FolderList.js | 6 +++++- .../0.0.0/app/templates/Views/User/MailFolderList.html | 1 + 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/dev/Model/FolderCollection.js b/dev/Model/FolderCollection.js index e43b9fa82..850d41383 100644 --- a/dev/Model/FolderCollection.js +++ b/dev/Model/FolderCollection.js @@ -13,8 +13,6 @@ import { FolderUserStore } from 'Stores/User/Folder'; import { MessagelistUserStore } from 'Stores/User/Messagelist'; import { SettingsUserStore } from 'Stores/User/Settings'; -import ko from 'ko'; - import { sortFolders } from 'Common/Folders'; import { i18n, trigger as translatorTrigger } from 'Common/Translator'; @@ -91,6 +89,8 @@ export const Local.set(ClientSideKeyNameExpandedFolders, aExpandedList); }, + foldersFilter = ko.observable(''), + /** * @param {?Function} fCallback */ @@ -385,7 +385,11 @@ export class FolderModel extends AbstractModel { */ visible: () => { const selectable = folder.canBeSelected(), - visible = (folder.isSubscribed() | !SettingsUserStore.hideUnsubscribed()) && selectable; + name = folder.name(), + filter = foldersFilter(), + visible = (folder.isSubscribed() | !SettingsUserStore.hideUnsubscribed()) + && selectable + && (!filter || name.toLowerCase().includes(filter.toLowerCase())); return folder.hasVisibleSubfolders() | visible; }, diff --git a/dev/View/User/MailBox/FolderList.js b/dev/View/User/MailBox/FolderList.js index f465b5ca6..ae1c0c2ba 100644 --- a/dev/View/User/MailBox/FolderList.js +++ b/dev/View/User/MailBox/FolderList.js @@ -22,7 +22,7 @@ import { ComposePopupView } from 'View/Popup/Compose'; import { moveMessagesToFolder } from 'Common/Folders'; -import { setExpandedFolder } from 'Model/FolderCollection'; +import { setExpandedFolder, foldersFilter } from 'Model/FolderCollection'; export class MailFolderList extends AbstractViewLeft { constructor() { @@ -40,7 +40,11 @@ export class MailFolderList extends AbstractViewLeft { this.allowContacts = AppUserStore.allowContacts(); + this.foldersFilter = foldersFilter; + addComputablesTo(this, { + foldersFilterVisible: () => 20 < FolderUserStore.folderList().CountRec, + folderListVisible: () => { let multiple = false, inbox, visible, diff --git a/snappymail/v/0.0.0/app/templates/Views/User/MailFolderList.html b/snappymail/v/0.0.0/app/templates/Views/User/MailFolderList.html index 8089dcbb2..cc360516a 100644 --- a/snappymail/v/0.0.0/app/templates/Views/User/MailFolderList.html +++ b/snappymail/v/0.0.0/app/templates/Views/User/MailFolderList.html @@ -20,6 +20,7 @@