From 4ecad70c66aa202d3c5fd556fd593721cbed1a25 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Wed, 19 Jul 2023 14:11:09 +0200 Subject: [PATCH] combogrid: initialze value with [] by default we have to initialize the value of a combogrid to something (else extjs does not initialize everything in the object *sometimes* for yet unknown reasons), but the empty string is wrong. we already have at least two places where we set the default value to [] (namely NodeSelector and ha GroupSelector) with the comment: // set default value to empty array, else it inits it with // null and after the store load it is an empty array, // triggering dirtychange so it makes sense to always set it to that by default. This only ever is relevant when the combogrid has `allowBlank: true`, since if it does not it's either invalid (and thus "dirty") or it has a selected value anyway this should make the manual setting of value: [], unnecessary in the child classes. We can even remove it direcly in the NetworkSelector. Signed-off-by: Dominik Csapak --- src/form/ComboGrid.js | 2 +- src/form/NetworkSelector.js | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/src/form/ComboGrid.js b/src/form/ComboGrid.js index 55dee7e..6338a3a 100644 --- a/src/form/ComboGrid.js +++ b/src/form/ComboGrid.js @@ -400,7 +400,7 @@ Ext.define('Proxmox.form.ComboGrid', { matchFieldWidth: false, }); - Ext.applyIf(me, { value: '' }); // hack: avoid ExtJS validate() bug + Ext.applyIf(me, { value: [] }); // hack: avoid ExtJS validate() bug Ext.applyIf(me.listConfig, { width: 400 }); diff --git a/src/form/NetworkSelector.js b/src/form/NetworkSelector.js index ed3a02b..caa7b7e 100644 --- a/src/form/NetworkSelector.js +++ b/src/form/NetworkSelector.js @@ -45,10 +45,6 @@ Ext.define('Proxmox.form.NetworkSelector', { networkSelectorStore.load(); } }, - // set default value to empty array, else it inits it with - // null and after the store load it is an empty array, - // triggering dirtychange - value: [], valueField: 'cidr', displayField: 'cidr', store: {