Add generic base component to add and edit Fabrics, which contains the fields required for every protocol. The properties for every protocol are stored in different components and each extend this one.
Co-authored-by: Stefan Hanreich <s.hanre...@proxmox.com> Signed-off-by: Gabriel Goller <g.gol...@proxmox.com> --- www/manager6/Makefile | 1 + www/manager6/sdn/fabrics/FabricEdit.js | 57 ++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 www/manager6/sdn/fabrics/FabricEdit.js diff --git a/www/manager6/Makefile b/www/manager6/Makefile index fd5c0cfc9..6075f3289 100644 --- a/www/manager6/Makefile +++ b/www/manager6/Makefile @@ -310,6 +310,7 @@ JSSRC= \ sdn/fabrics/Common.js \ sdn/fabrics/InterfacePanel.js \ sdn/fabrics/NodeEdit.js \ + sdn/fabrics/FabricEdit.js \ sdn/fabrics/openfabric/InterfacePanel.js \ sdn/fabrics/openfabric/NodeEdit.js \ sdn/fabrics/ospf/InterfacePanel.js \ diff --git a/www/manager6/sdn/fabrics/FabricEdit.js b/www/manager6/sdn/fabrics/FabricEdit.js new file mode 100644 index 000000000..10f7aa2b2 --- /dev/null +++ b/www/manager6/sdn/fabrics/FabricEdit.js @@ -0,0 +1,57 @@ +Ext.define('PVE.sdn.Fabric.Fabric.Edit', { + extend: 'Proxmox.window.Edit', + mixins: ['Proxmox.Mixin.CBind'], + + fabricId: undefined, + baseUrl: "/cluster/sdn/fabrics/fabric", + + items: [ + { + xtype: 'textfield', + name: 'digest', + hidden: true, + allowBlank: true, + }, + { + xtype: 'proxmoxtextfield', + fieldLabel: gettext('Name'), + labelWidth: 120, + name: 'id', + cbind: { + disabled: '{!isCreate}', + }, + }, + { + xtype: 'proxmoxtextfield', + fieldLabel: gettext('IPv4 Prefix'), + labelWidth: 120, + name: 'ip_prefix', + allowBlank: true, + skipEmptyText: true, + cbind: { + disabled: '{!isCreate}', + deleteEmpty: '{!isCreate}', + }, + }, + ], + + additionalItems: [], + + initComponent: function() { + let me = this; + + me.isCreate = me.fabricId === undefined; + me.autoLoad = !me.isCreate; + me.method = me.isCreate ? 'POST' : 'PUT'; + + if (!me.isCreate) { + me.url = `${me.baseUrl}/${me.fabricId}`; + } else { + me.url = me.baseUrl; + } + + me.items.push(...me.additionalItems); + + me.callParent(); + }, +}); -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel