instead of just using the filterfn directly, return a function from
`getFilterFn`. This way, when we want to filter different things
depending on e.g. local storage values, we don't have to do that for
every element, but only once and return the finished filterFn.

while at it, rename 'filterfn' to camel case 'filterFn'.

Signed-off-by: Dominik Csapak <d.csa...@proxmox.com>
---
 www/manager6/form/ViewSelector.js | 4 ++--
 www/manager6/tree/ResourceTree.js | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/www/manager6/form/ViewSelector.js 
b/www/manager6/form/ViewSelector.js
index ee16c227..f5de5c8e 100644
--- a/www/manager6/form/ViewSelector.js
+++ b/www/manager6/form/ViewSelector.js
@@ -30,12 +30,12 @@ Ext.define('PVE.form.ViewSelector', {
                text: gettext('Pool View'),
                groups: ['pool'],
                // Pool View only lists VMs and Containers
-               filterfn: ({ data }) => data.type === 'qemu' || data.type === 
'lxc' || data.type === 'pool',
+               getFilterFn: () => ({ data }) => data.type === 'qemu' || 
data.type === 'lxc' || data.type === 'pool',
            },
            tags: {
                text: gettext('Tag View'),
                groups: ['tag'],
-               filterfn: ({ data }) => data.type === 'qemu' || data.type === 
'lxc',
+               getFilterFn: () => ({ data }) => data.type === 'qemu' || 
data.type === 'lxc',
                groupRenderer: function(info) {
                    let tag = PVE.Utils.renderTags(info.tag, 
PVE.UIOptions.tagOverrides);
                    return `<span class="proxmox-tags-full">${tag}</span>`;
diff --git a/www/manager6/tree/ResourceTree.js 
b/www/manager6/tree/ResourceTree.js
index 640ebbf9..312f958f 100644
--- a/www/manager6/tree/ResourceTree.js
+++ b/www/manager6/tree/ResourceTree.js
@@ -327,7 +327,7 @@ Ext.define('PVE.tree.ResourceTree', {
 
            // also check for name for when the tree is sorted by name
            let moveCheckAttrs = groups.concat(['node', 'template', 'name']);
-           let filterfn = me.viewFilter.filterfn;
+           let filterFn = me.viewFilter.getFilterFn ? 
me.viewFilter.getFilterFn() : Ext.identityFn;
 
            let reselect = false; // for disappeared nodes
            let index = pdata.dataIndex;
@@ -399,7 +399,7 @@ Ext.define('PVE.tree.ResourceTree', {
                if (olditem) {
                    return;
                }
-               if (filterfn && !filterfn(item)) {
+               if (filterFn && !filterFn(item)) {
                    return;
                }
                let info = Ext.apply({ leaf: true }, item.data);
-- 
2.39.5



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to