and update the treenodes when the tags change.
since we change the vm node text (which we pass through to the config
panel), we have to change how we generate the text there slightly
(otherwise that would include the rendered tags)

Signed-off-by: Dominik Csapak <d.csa...@proxmox.com>
---
changes from v8:
* merged the updating logic here, since we don't collect the tags from
  the tree anymore
* improve commit message
 www/manager6/data/ResourceStore.js |  6 ++++++
 www/manager6/lxc/Config.js         |  4 +++-
 www/manager6/qemu/Config.js        |  4 +++-
 www/manager6/tree/ResourceTree.js  | 10 +++++++++-
 4 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/www/manager6/data/ResourceStore.js 
b/www/manager6/data/ResourceStore.js
index c7b723060..b18f7dd8d 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/lxc/Config.js b/www/manager6/lxc/Config.js
index 9b3017add..f33390513 100644
--- a/www/manager6/lxc/Config.js
+++ b/www/manager6/lxc/Config.js
@@ -206,8 +206,10 @@ Ext.define('PVE.lxc.Config', {
            },
        });
 
+       let vm_text = `${vm.vmid} (${vm.name})`;
+
        Ext.apply(me, {
-           title: Ext.String.format(gettext("Container {0} on node '{1}'"), 
vm.text, nodename),
+           title: Ext.String.format(gettext("Container {0} on node '{1}'"), 
vm_text, nodename),
            hstateid: 'lxctab',
            tbarSpacing: false,
            tbar: [statusTxt, tagsContainer, '->', startBtn, shutdownBtn, 
migrateBtn, consoleBtn, moreBtn],
diff --git a/www/manager6/qemu/Config.js b/www/manager6/qemu/Config.js
index 2cd6d8567..5c8fa620d 100644
--- a/www/manager6/qemu/Config.js
+++ b/www/manager6/qemu/Config.js
@@ -242,8 +242,10 @@ Ext.define('PVE.qemu.Config', {
            },
        });
 
+       let vm_text = `${vm.vmid} (${vm.name})`;
+
        Ext.apply(me, {
-           title: Ext.String.format(gettext("Virtual Machine {0} on node 
'{1}'"), vm.text, nodename),
+           title: Ext.String.format(gettext("Virtual Machine {0} on node 
'{1}'"), vm_text, nodename),
            hstateid: 'kvmtab',
            tbarSpacing: false,
            tbar: [statusTxt, tagsContainer, '->', resumeBtn, startBtn, 
shutdownBtn, migrateBtn, consoleBtn, moreBtn],
diff --git a/www/manager6/tree/ResourceTree.js 
b/www/manager6/tree/ResourceTree.js
index be90d4f7a..5c92d4128 100644
--- a/www/manager6/tree/ResourceTree.js
+++ b/www/manager6/tree/ResourceTree.js
@@ -5,6 +5,8 @@ Ext.define('PVE.tree.ResourceTree', {
     extend: 'Ext.tree.TreePanel',
     alias: ['widget.pveResourceTree'],
 
+    userCls: 'proxmox-tags-circle',
+
     statics: {
        typeDefaults: {
            node: {
@@ -114,6 +116,8 @@ Ext.define('PVE.tree.ResourceTree', {
            }
        }
 
+       info.text += PVE.Utils.renderTags(info.tags, PVE.Utils.tagOverrides);
+
        info.text = status + info.text;
     },
 
@@ -226,6 +230,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 +269,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;
-- 
2.30.2



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

Reply via email to