[pve-devel] [PATCH v4 pve-manager 8/8] add vnet option to subnets and remove subnets list from vnet
Alexandre Derumier
aderumier at odiso.com
Mon Aug 24 18:48:47 CEST 2020
---
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
More information about the pve-devel
mailing list