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 <t.lampre...@proxmox.com> --- 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; -- 2.39.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel