VXLAN zones can now use fabrics instead of having to specify peers manually. Since the network selector doesn't implement deleteEmpty, we have to manually handle deleted properties in the VXLAN input panel.
Signed-off-by: Stefan Hanreich <s.hanre...@proxmox.com> --- www/manager6/sdn/zones/VxlanEdit.js | 52 +++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 2 deletions(-) diff --git a/www/manager6/sdn/zones/VxlanEdit.js b/www/manager6/sdn/zones/VxlanEdit.js index b556790df..575dd867f 100644 --- a/www/manager6/sdn/zones/VxlanEdit.js +++ b/www/manager6/sdn/zones/VxlanEdit.js @@ -8,8 +8,25 @@ Ext.define('PVE.sdn.zones.VxlanInputPanel', { if (me.isCreate) { values.type = me.type; + delete values.delete; } else { delete values.zone; + + for (const [key, value] of Object.entries(values)) { + if (value === null || value === undefined || value === "") { + delete values[key]; + + if (values.delete) { + if (Array.isArray(values.delete)) { + values.delete.push(key); + } else { + values.delete = [values.delete, key]; + } + } else { + values.delete = [key]; + } + } + } } delete values.mode; @@ -22,10 +39,41 @@ Ext.define('PVE.sdn.zones.VxlanInputPanel', { me.items = [ { - xtype: 'textfield', + xtype: 'proxmoxtextfield', name: 'peers', fieldLabel: gettext('Peer Address List'), - allowBlank: false, + allowBlank: true, + deleteEmpty: true, + }, + { + xtype: 'proxmoxNetworkSelector', + name: 'fabric', + type: 'fabric', + valueField: 'iface', + displayField: 'iface', + fieldLabel: 'SDN Fabric', + skipEmptyText: true, + allowBlank: true, + autoSelect: false, + emptyText: gettext('used as underlay network'), + nodename: 'localhost', + listConfig: { + width: 600, + columns: [ + { + header: gettext('Fabric'), + width: 90, + dataIndex: 'iface', + }, + { + + header: gettext('CIDR'), + dataIndex: 'cidr', + hideable: false, + flex: 1, + }, + ], + }, }, ]; -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel