[pve-devel] [PATCH v5 pve-manager 08/11] add vnet option to subnets and remove subnets list from vnet

Alexandre Derumier aderumier at odiso.com
Thu Sep 24 10:41:02 CEST 2020


Signed-off-by: Alexandre Derumier <aderumier at odiso.com>
---
 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 33cb080f..fca8b6d5 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