---
 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

Reply via email to