From 4aa70a6b3a5291b1a3d61d09e5b8578c6b52bbfc Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Fri, 10 Mar 2023 15:38:17 +0100 Subject: [PATCH] ui: fire config change: always pass required parameters As otherwise the listeners might choke on the missing records. For our usage it was only a problem when one changed the tree UI options while having the Datacenter -> Summary panel open, as that listens to the UI changes to adapt the shown gauges for e.g., memory, storage, or CPUs, and thus actually uses the current result (unlike we do in the store load listener). Signed-off-by: Thomas Lamprecht --- www/manager6/UIOptions.js | 4 +--- www/manager6/data/ResourceStore.js | 9 +++++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/www/manager6/UIOptions.js b/www/manager6/UIOptions.js index cb5a1755..057c8f03 100644 --- a/www/manager6/UIOptions.js +++ b/www/manager6/UIOptions.js @@ -99,9 +99,7 @@ Ext.define('PVE.UIOptions', { }, fireUIConfigChanged: function() { - if (!PVE.data.ResourceStore.isLoading() && PVE.data.ResourceStore.isLoaded()) { - PVE.data.ResourceStore.fireEvent('load'); - } + PVE.data.ResourceStore.refresh(); Ext.GlobalEvents.fireEvent('loadedUiOptions'); }, }); diff --git a/www/manager6/data/ResourceStore.js b/www/manager6/data/ResourceStore.js index f3a5c4d8..76da3f08 100644 --- a/www/manager6/data/ResourceStore.js +++ b/www/manager6/data/ResourceStore.js @@ -53,6 +53,15 @@ Ext.define('PVE.data.ResourceStore', { return ''; }, + refresh: function() { + let me = this; + // can only refresh if we're loaded at least once and are not currently loading + if (!me.isLoading() && me.isLoaded()) { + let records = (me.getData().getSource() || me.getData()).getRange() + me.fireEvent('load', me, records); + } + }, + constructor: function(config) { let me = this;