mirror of
https://github.com/the-djmaze/snappymail.git
synced 2024-09-20 07:35:55 +08:00
Added Admin - Extensions search filter
This commit is contained in:
parent
365392eefe
commit
33b509c0a6
|
@ -18,7 +18,8 @@ export class AdminSettingsPackages extends AbstractViewSettings {
|
||||||
this.addSettings(['pluginsEnable']);
|
this.addSettings(['pluginsEnable']);
|
||||||
|
|
||||||
addObservablesTo(this, {
|
addObservablesTo(this, {
|
||||||
packagesError: ''
|
packagesError: '',
|
||||||
|
search: ''
|
||||||
});
|
});
|
||||||
|
|
||||||
this.packages = PackageAdminStore;
|
this.packages = PackageAdminStore;
|
||||||
|
@ -30,6 +31,19 @@ export class AdminSettingsPackages extends AbstractViewSettings {
|
||||||
|
|
||||||
visibility: () => (PackageAdminStore.loading() ? 'visible' : 'hidden')
|
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() {
|
onShow() {
|
||||||
|
|
|
@ -20,6 +20,9 @@
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
<input type="search" data-bind="textInput: search" data-i18n="[placeholder]GLOBAL/SEARCH">
|
||||||
|
<br>
|
||||||
|
|
||||||
<div data-bind="visible: packagesUpdate().length">
|
<div data-bind="visible: packagesUpdate().length">
|
||||||
<div class="legend">
|
<div class="legend">
|
||||||
<span data-i18n="TAB_PACKAGES/LEGEND_AVAILABLE_FOR_UPDATE"></span>
|
<span data-i18n="TAB_PACKAGES/LEGEND_AVAILABLE_FOR_UPDATE"></span>
|
||||||
|
|
Loading…
Reference in a new issue