From 33b509c0a6a765abb5d348caf84e1ec3b0823e57 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Tue, 17 Sep 2024 21:16:17 +0200 Subject: [PATCH] Added Admin - Extensions search filter --- dev/Settings/Admin/Packages.js | 16 +++++++++++++++- .../Views/Admin/AdminSettingsPackages.html | 3 +++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/dev/Settings/Admin/Packages.js b/dev/Settings/Admin/Packages.js index e0b202d6c..37fd18ee6 100644 --- a/dev/Settings/Admin/Packages.js +++ b/dev/Settings/Admin/Packages.js @@ -18,7 +18,8 @@ export class AdminSettingsPackages extends AbstractViewSettings { this.addSettings(['pluginsEnable']); addObservablesTo(this, { - packagesError: '' + packagesError: '', + search: '' }); this.packages = PackageAdminStore; @@ -30,6 +31,19 @@ export class AdminSettingsPackages extends AbstractViewSettings { visibility: () => (PackageAdminStore.loading() ? 'visible' : 'hidden') }); + + this.search.subscribe(value => { + const v = value.toLowerCase(), + qsa = (node, selector, fn) => node.querySelectorAll(selector).forEach(fn), + match = node => node.textContent.toLowerCase().includes(v); + if (v.length) { + qsa(this.viewModelDom, 'td:first-child', td => { + td.parentNode.hidden = !match(td); + }); + } else { + qsa(this.viewModelDom, 'tr[hidden]', n => n.hidden = false); + } + }); } onShow() { diff --git a/snappymail/v/0.0.0/app/templates/Views/Admin/AdminSettingsPackages.html b/snappymail/v/0.0.0/app/templates/Views/Admin/AdminSettingsPackages.html index b9bc9e544..b52152d44 100644 --- a/snappymail/v/0.0.0/app/templates/Views/Admin/AdminSettingsPackages.html +++ b/snappymail/v/0.0.0/app/templates/Views/Admin/AdminSettingsPackages.html @@ -20,6 +20,9 @@
+ +
+