--- www/manager6/Makefile | 1 + www/manager6/form/SDNVnetSelector.js | 68 ++++++++++++++++++++++++++++ www/manager6/sdn/SubnetEdit.js | 7 +++ www/manager6/sdn/SubnetView.js | 5 ++ www/manager6/sdn/VnetEdit.js | 8 +--- www/manager6/sdn/VnetView.js | 22 +-------- 6 files changed, 83 insertions(+), 28 deletions(-) create mode 100644 www/manager6/form/SDNVnetSelector.js
diff --git a/www/manager6/Makefile b/www/manager6/Makefile index 11761df5..7cb5939d 100644 --- a/www/manager6/Makefile +++ b/www/manager6/Makefile @@ -100,6 +100,7 @@ JSSRC= \ form/QemuBiosSelector.js \ form/SDNControllerSelector.js \ form/SDNZoneSelector.js \ + form/SDNVnetSelector.js \ form/SDNIpamSelector.js \ form/SDNDnsSelector.js \ form/ScsiHwSelector.js \ diff --git a/www/manager6/form/SDNVnetSelector.js b/www/manager6/form/SDNVnetSelector.js new file mode 100644 index 00000000..0f9a6613 --- /dev/null +++ b/www/manager6/form/SDNVnetSelector.js @@ -0,0 +1,68 @@ +Ext.define('PVE.form.SDNVnetSelector', { + extend: 'Proxmox.form.ComboGrid', + alias: ['widget.pveSDNVnetSelector'], + + allowBlank: false, + valueField: 'vnet', + displayField: 'vnet', + + initComponent: function() { + var me = this; + + var store = new Ext.data.Store({ + model: 'pve-sdn-vnet', + sorters: { + property: 'vnet', + order: 'DESC' + }, + }); + + Ext.apply(me, { + store: store, + autoSelect: false, + listConfig: { + columns: [ + { + header: gettext('Vnet'), + sortable: true, + dataIndex: 'vnet', + flex: 1 + }, + { + header: gettext('Alias'), + flex: 1, + dataIndex: 'alias', + }, + { + header: gettext('Tag'), + flex: 1, + dataIndex: 'tag', + } + ] + } + }); + + me.callParent(); + + store.load(); + } + +}, function() { + + Ext.define('pve-sdn-vnet', { + extend: 'Ext.data.Model', + fields: [ + 'alias', + 'tag', + 'type', + 'vnet', + 'zone', + ], + proxy: { + type: 'proxmox', + url: "/api2/json/cluster/sdn/vnets" + }, + idProperty: 'vnet' + }); + +}); diff --git a/www/manager6/sdn/SubnetEdit.js b/www/manager6/sdn/SubnetEdit.js index ac9a40ea..8badc34a 100644 --- a/www/manager6/sdn/SubnetEdit.js +++ b/www/manager6/sdn/SubnetEdit.js @@ -32,6 +32,13 @@ Ext.define('PVE.sdn.SubnetInputPanel', { allowBlank: false, fieldLabel: gettext('Subnet'), }, + { + xtype: 'pveSDNVnetSelector', + fieldLabel: gettext('Vnet'), + name: 'vnet', + value: '', + allowBlank: true, + }, { xtype: 'textfield', name: 'gateway', diff --git a/www/manager6/sdn/SubnetView.js b/www/manager6/sdn/SubnetView.js index 95a468bc..012d127b 100644 --- a/www/manager6/sdn/SubnetView.js +++ b/www/manager6/sdn/SubnetView.js @@ -73,6 +73,11 @@ Ext.define('PVE.sdn.SubnetView', { flex: 2, dataIndex: 'cidr' }, + { + header: gettext('Vnet'), + flex: 1, + dataIndex: 'vnet', + }, { header: gettext('Gateway'), flex: 1, diff --git a/www/manager6/sdn/VnetEdit.js b/www/manager6/sdn/VnetEdit.js index 09e2f3bf..03e539ab 100644 --- a/www/manager6/sdn/VnetEdit.js +++ b/www/manager6/sdn/VnetEdit.js @@ -61,13 +61,7 @@ Ext.define('PVE.sdn.VnetInputPanel', { uncheckedValue: 0, checked: false, fieldLabel: gettext('VLAN Aware') - }, - { - xtype: 'textfield', - name: 'subnets', - fieldLabel: gettext('Subnets'), - allowBlank: true, - }, + } ] }); diff --git a/www/manager6/sdn/VnetView.js b/www/manager6/sdn/VnetView.js index 604a2d1a..eefb6e42 100644 --- a/www/manager6/sdn/VnetView.js +++ b/www/manager6/sdn/VnetView.js @@ -96,12 +96,7 @@ Ext.define('PVE.sdn.VnetView', { header: gettext('VLAN Aware'), flex: 1, dataIndex: 'vlanaware', - }, - { - header: 'Subnets', - flex: 1, - dataIndex: 'subnets', - }, + } ], listeners: { activate: reload, @@ -111,19 +106,4 @@ Ext.define('PVE.sdn.VnetView', { me.callParent(); } -}, function() { - - Ext.define('pve-sdn-vnet', { - extend: 'Ext.data.Model', - fields: [ - 'alias', - 'subnets', - 'tag', - 'type', - 'vnet', - 'zone', - ], - idProperty: 'vnet' - }); - }); -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel