Am 26.04.24 um 09:17 schrieb Dominik Csapak: > when editing the pci mapping, we set the nodename of the pciselector > to the selected node. At the same time we disable and hide the node > selector, but it still changes it's value to the 'first' node > (alphabetically sorted) and that triggers a change event. >
It's the first node that's not in the disallowedNodes AFAICT. > To prevent that we accidentally set the node of the pciselector > too, we need to check here if the field is disabled. > I wondered why the USB mappings don't suffer the same issue though. The nodeChange() callback gets called with the correct value when editing the mapping for a specific node, even though the node selector definition and setting of disallowedNodes is the same as for the PCI mappings. Looking at Javascript backtraces, it seems like there might be some kind of race going on (whether the me.getStore().load() for PVE.form.NodeSelector finishes early or not), but not clue why it happens for one, but not the other. That said, adding a similar condition for the USB mappings would still be good IMHO. > Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> Reviewed-by: Fiona Ebner <f.eb...@proxmox.com> > --- > www/manager6/window/PCIMapEdit.js | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/www/manager6/window/PCIMapEdit.js > b/www/manager6/window/PCIMapEdit.js > index d43f04eb..faf58255 100644 > --- a/www/manager6/window/PCIMapEdit.js > +++ b/www/manager6/window/PCIMapEdit.js > @@ -126,8 +126,10 @@ Ext.define('PVE.window.PCIMapEditWindow', { > this.lookup('pciselector').setMdev(value); > }, > > - nodeChange: function(_field, value) { > - this.lookup('pciselector').setNodename(value); > + nodeChange: function(field, value) { > + if (!field.isDisabled()) { > + this.lookup('pciselector').setNodename(value); > + } > }, > > pciChange: function(_field, value) { _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel