Add FabricEdit components for openfabric and ospf. These are used to create and edit fabrics. When editing, everything is disabled except the hello_interval property, mostly because making the area/router_id and the loopback_prefix editable would be kinda hard (i.e. we'd need to force the user to delete the fabrics, or revalidate stuff).
Signed-off-by: Gabriel Goller <g.gol...@proxmox.com> Co-authored-by: Stefan Hanreich <s.hanre...@proxmox.com> --- www/manager6/Makefile | 2 + .../sdn/fabrics/openfabric/FabricEdit.js | 71 +++++++++++++++++++ www/manager6/sdn/fabrics/ospf/FabricEdit.js | 64 +++++++++++++++++ 3 files changed, 137 insertions(+) create mode 100644 www/manager6/sdn/fabrics/openfabric/FabricEdit.js create mode 100644 www/manager6/sdn/fabrics/ospf/FabricEdit.js diff --git a/www/manager6/Makefile b/www/manager6/Makefile index b75a455d70e6..04f00b270fba 100644 --- a/www/manager6/Makefile +++ b/www/manager6/Makefile @@ -304,7 +304,9 @@ JSSRC= \ sdn/zones/VlanEdit.js \ sdn/zones/VxlanEdit.js \ sdn/fabrics/Common.js \ + sdn/fabrics/openfabric/FabricEdit.js \ sdn/fabrics/openfabric/InterfaceEdit.js \ + sdn/fabrics/ospf/FabricEdit.js \ sdn/fabrics/ospf/InterfaceEdit.js \ storage/ContentView.js \ storage/BackupView.js \ diff --git a/www/manager6/sdn/fabrics/openfabric/FabricEdit.js b/www/manager6/sdn/fabrics/openfabric/FabricEdit.js new file mode 100644 index 000000000000..672adf45581f --- /dev/null +++ b/www/manager6/sdn/fabrics/openfabric/FabricEdit.js @@ -0,0 +1,71 @@ +Ext.define('PVE.sdn.Fabric.OpenFabric.Fabric.Edit', { + extend: 'Proxmox.window.Edit', + xtype: 'pveSDNOpenFabricRouteEdit', + + subject: gettext('Add OpenFabric'), + + onlineHelp: 'pvesdn_openfabric_fabric', + + url: '/cluster/sdn/fabrics/openfabric', + + isCreate: undefined, + + viewModel: { + data: { + isCreate: true, + }, + }, + + items: [ + { + xtype: 'textfield', + fieldLabel: gettext('Name'), + labelWidth: 120, + name: 'fabric_id', + allowBlank: false, + bind: { + disabled: '{!isCreate}', + }, + }, + { + xtype: 'textfield', + fieldLabel: gettext('Loopback IP Prefix'), + labelWidth: 120, + name: 'loopback_prefix', + allowBlank: false, + bind: { + disabled: '{!isCreate}', + }, + }, + { + xtype: 'proxmoxintegerfield', + fieldLabel: gettext('Hello Interval'), + labelWidth: 120, + name: 'hello_interval', + allowBlank: true, + }, + ], + + submitUrl: function(url, values) { + let me = this; + return `${me.url}`; + }, + + initComponent: function() { + let me = this; + + let view = me.getViewModel(); + view.set('isCreate', me.isCreate); + + me.method = me.isCreate ? 'POST' : 'PUT'; + me.callParent(); + + if (!me.isCreate) { + me.load({ + success: function(response, opts) { + me.setValues(response.result.data); + }, + }); + } + }, +}); diff --git a/www/manager6/sdn/fabrics/ospf/FabricEdit.js b/www/manager6/sdn/fabrics/ospf/FabricEdit.js new file mode 100644 index 000000000000..a229e688c9e6 --- /dev/null +++ b/www/manager6/sdn/fabrics/ospf/FabricEdit.js @@ -0,0 +1,64 @@ +Ext.define('PVE.sdn.Fabric.Ospf.Fabric.Edit', { + extend: 'Proxmox.window.Edit', + xtype: 'pveSDNOpenFabricRouteEdit', + + subject: gettext('Add OSPF'), + + onlineHelp: 'pvesdn_ospf_fabric', + + url: '/cluster/sdn/fabrics/ospf', + + isCreate: undefined, + + viewModel: { + data: { + isCreate: true, + }, + }, + + items: [ + { + xtype: 'textfield', + fieldLabel: gettext('Area'), + labelWidth: 120, + name: 'area', + allowBlank: false, + bind: { + disabled: '{!isCreate}', + }, + }, + { + xtype: 'textfield', + fieldLabel: gettext('Loopback IP Prefix'), + labelWidth: 120, + name: 'loopback_prefix', + allowBlank: false, + bind: { + disabled: '{!isCreate}', + }, + }, + ], + + submitUrl: function(url, values) { + let me = this; + return `${me.url}`; + }, + + initComponent: function() { + let me = this; + + let view = me.getViewModel(); + view.set('isCreate', me.isCreate); + + me.method = me.isCreate ? 'POST' : 'PUT'; + + me.callParent(); + if (!me.isCreate) { + me.load({ + success: function(response, opts) { + me.setValues(response.result.data); + }, + }); + } + }, +}); -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel