into a global list, so that we have it avaiable anywhere also add the tags from the tagOverrides on update into the list
Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> --- www/manager6/Utils.js | 7 +++++++ www/manager6/data/ResourceStore.js | 6 ++++++ www/manager6/tree/ResourceTree.js | 16 ++++++++++++++-- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js index e32c679a..bc808c68 100644 --- a/www/manager6/Utils.js +++ b/www/manager6/Utils.js @@ -1804,6 +1804,13 @@ Ext.define('PVE.Utils', { notesTemplateVars: ['cluster', 'guestname', 'node', 'vmid'], + tagList: new Set(), + + updateTagList: function(tags) { + let override_tags = Object.keys(PVE.Utils.tagOverrides); + PVE.Utils.tagList = [...new Set([...tags, ...override_tags])].sort(); + }, + parseTagOverrides: function(overrides) { let colors = {}; (overrides || "").split(';').forEach(color => { diff --git a/www/manager6/data/ResourceStore.js b/www/manager6/data/ResourceStore.js index c7b72306..b18f7dd8 100644 --- a/www/manager6/data/ResourceStore.js +++ b/www/manager6/data/ResourceStore.js @@ -293,6 +293,12 @@ Ext.define('PVE.data.ResourceStore', { sortable: true, width: 100, }, + tags: { + header: gettext('Tags'), + type: 'string', + hidden: true, + sortable: true, + }, }; let fields = []; diff --git a/www/manager6/tree/ResourceTree.js b/www/manager6/tree/ResourceTree.js index be90d4f7..139defab 100644 --- a/www/manager6/tree/ResourceTree.js +++ b/www/manager6/tree/ResourceTree.js @@ -226,6 +226,10 @@ Ext.define('PVE.tree.ResourceTree', { let stateid = 'rid'; + const changedFields = [ + 'text', 'running', 'template', 'status', 'qmpstatus', 'hastate', 'lock', 'tags', + ]; + let updateTree = function() { store.suspendEvents(); @@ -261,7 +265,7 @@ Ext.define('PVE.tree.ResourceTree', { } // tree item has been updated - for (const field of ['text', 'running', 'template', 'status', 'qmpstatus', 'hastate', 'lock']) { + for (const field of changedFields) { if (item.data[field] !== olditem.data[field]) { changed = true; break; @@ -294,7 +298,14 @@ Ext.define('PVE.tree.ResourceTree', { } } - rstore.each(function(item) { // add new items + let tags = new Set(); + + rstore.each(function(item) { // add new items and collect tags + if (item.data.tags) { + item.data.tags.split(/[,; ]/).filter(t => !!t).forEach((tag) => { + tags.add(tag); + }); + } let olditem = index[item.data.id]; if (olditem) { return; @@ -310,6 +321,7 @@ Ext.define('PVE.tree.ResourceTree', { } }); + PVE.Utils.updateTagList(tags); store.resumeEvents(); store.fireEvent('refresh', store); -- 2.30.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel