Added Admin - Extensions search filter

This commit is contained in:
the-djmaze 2024-09-17 21:16:17 +02:00
parent 365392eefe
commit 33b509c0a6
2 changed files with 18 additions and 1 deletions

View file

@ -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() {

View file

@ -20,6 +20,9 @@
<br>
<input type="search" data-bind="textInput: search" data-i18n="[placeholder]GLOBAL/SEARCH">
<br>
<div data-bind="visible: packagesUpdate().length">
<div class="legend">
<span data-i18n="TAB_PACKAGES/LEGEND_AVAILABLE_FOR_UPDATE"></span>