From: Stefan Hanreich <s.hanre...@proxmox.com> Expose the new fabric field added to the EVPN controller in the UI. Users can now select any fabric in the EVPN controller, instead of having to specify peers manually. This simplifies setting up an EVPN zone via SDN fabrics considerably.
Since the peers field can now be empty, we have to adapt the existing field to allow empty values and properly send the delete property when updating a controller. Signed-off-by: Stefan Hanreich <s.hanre...@proxmox.com> --- www/manager6/sdn/controllers/Base.js | 17 ++++++++++++ www/manager6/sdn/controllers/EvpnEdit.js | 34 ++++++++++++++++++++++-- 2 files changed, 49 insertions(+), 2 deletions(-) diff --git a/www/manager6/sdn/controllers/Base.js b/www/manager6/sdn/controllers/Base.js index b73af80dfe06..071345400ce5 100644 --- a/www/manager6/sdn/controllers/Base.js +++ b/www/manager6/sdn/controllers/Base.js @@ -8,8 +8,25 @@ Ext.define('PVE.panel.SDNControllerBase', { if (me.isCreate) { values.type = me.type; + delete values.delete; } else { delete values.controller; + + 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]; + } + } + } } return values; diff --git a/www/manager6/sdn/controllers/EvpnEdit.js b/www/manager6/sdn/controllers/EvpnEdit.js index 9f5910327c52..cf879cda23ac 100644 --- a/www/manager6/sdn/controllers/EvpnEdit.js +++ b/www/manager6/sdn/controllers/EvpnEdit.js @@ -25,10 +25,40 @@ Ext.define('PVE.sdn.controllers.EvpnInputPanel', { allowBlank: false, }, { - xtype: 'textfield', + xtype: 'proxmoxNetworkSelector', + name: 'fabric', + type: 'fabric', + valueField: 'iface', + displayField: 'iface', + fieldLabel: 'SDN Fabric', + allowBlank: true, + skipEmptyText: 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, + }, + ], + }, + }, + { + xtype: 'proxmoxtextfield', name: 'peers', fieldLabel: gettext('Peers'), - allowBlank: false, + allowBlank: true, + deleteEmpty: true, }, ]; -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel