From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 851F51FF13E for ; Fri, 23 Jan 2026 09:13:43 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 2A94B5101; Fri, 23 Jan 2026 09:13:57 +0100 (CET) From: Dominik Csapak To: pve-devel@lists.proxmox.com Date: Fri, 23 Jan 2026 09:12:13 +0100 Message-ID: <20260123081322.644536-2-d.csapak@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260123081322.644536-1-d.csapak@proxmox.com> References: <20260123081322.644536-1-d.csapak@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.030 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [data.id] Subject: [pve-devel] [PATCH manager v3 2/2] ui: resource tree: only fire 'refresh' event when something changed X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" to optimize the rendering to the dom, only fire the 'refresh' event of the store at the end of the updateTree method when either: * an element changed it's relevant data * something moved * a new element was inserted * an element was removed We also need to refresh the store when the UI options are reloaded, so the tags get the correct color. Signed-off-by: Dominik Csapak --- changes from v2: * adhere to camelCase casing style www/manager6/tree/ResourceTree.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/www/manager6/tree/ResourceTree.js b/www/manager6/tree/ResourceTree.js index bdb0d6f8..8bf1f5dd 100644 --- a/www/manager6/tree/ResourceTree.js +++ b/www/manager6/tree/ResourceTree.js @@ -375,6 +375,7 @@ Ext.define('PVE.tree.ResourceTree', { let updateTree = function () { store.suspendEvents(); + let anyChanged = false; let rootnode; if (firstUpdate) { rootnode = Ext.create('PVETree', { @@ -462,6 +463,7 @@ Ext.define('PVE.tree.ResourceTree', { } me.setIconCls(info); olditem.commit(); + anyChanged = true; } if ((!item || moved) && olditem.isLeaf()) { delete index[key]; @@ -479,6 +481,8 @@ Ext.define('PVE.tree.ResourceTree', { let grandParent = parentNode.parentNode; grandParent.removeChild(parentNode, true); } + + anyChanged = true; } } @@ -498,10 +502,13 @@ Ext.define('PVE.tree.ResourceTree', { if (child) { index[item.data.id] = child; } + anyChanged = true; }); store.resumeEvents(); - store.fireEvent('refresh', store); + if (anyChanged) { + store.fireEvent('refresh', store); + } let foundChild = findNode(rootnode, lastsel?.data.id); @@ -660,6 +667,9 @@ Ext.define('PVE.tree.ResourceTree', { return true; }, }); + + // rerender + me.store.fireEvent('refresh', store); }); }, }); -- 2.47.3 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel