From: Christoph Heiss <[email protected]>

This allows selectively enabling IPv4/6 in the child components,
without having to re-define the respective fields in every child
component. A later commit will introduce the Wireguard fabric, which
will have neither a IPv4 nor IPv6 prefix for now, so the option to
exclude those fields will be used there as well.

Co-authored-by: Stefan Hanreich <[email protected]?
Signed-off-by: Christoph Heiss <[email protected]>
---
 www/manager6/sdn/fabrics/InterfacePanel.js     | 18 ++++++++++++++++++
 .../sdn/fabrics/openfabric/InterfacePanel.js   | 13 -------------
 .../sdn/fabrics/ospf/InterfacePanel.js         |  2 ++
 3 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/www/manager6/sdn/fabrics/InterfacePanel.js 
b/www/manager6/sdn/fabrics/InterfacePanel.js
index f75f1acd2..ab2162b1e 100644
--- a/www/manager6/sdn/fabrics/InterfacePanel.js
+++ b/www/manager6/sdn/fabrics/InterfacePanel.js
@@ -6,6 +6,8 @@ Ext.define('PVE.sdn.Fabric.InterfacePanel', {
 
     nodeInterfaces: {},
 
+    hasIpv6Support: true,
+
     selModel: {
         mode: 'SIMPLE',
         type: 'checkboxmodel',
@@ -106,6 +108,22 @@ Ext.define('PVE.sdn.Fabric.InterfacePanel', {
     initComponent: function () {
         let me = this;
 
+        if (me.hasIpv6Support) {
+            me.commonColumns.push({
+                text: gettext('IPv6'),
+                xtype: 'widgetcolumn',
+                dataIndex: 'ip6',
+                flex: 1,
+                widget: {
+                    xtype: 'proxmoxtextfield',
+                    isFormField: false,
+                    bind: {
+                        disabled: '{record.isDisabled}',
+                    },
+                },
+            });
+        }
+
         Ext.apply(me, {
             store: Ext.create('Ext.data.Store', {
                 model: 'Pve.sdn.Interface',
diff --git a/www/manager6/sdn/fabrics/openfabric/InterfacePanel.js 
b/www/manager6/sdn/fabrics/openfabric/InterfacePanel.js
index f23b889b4..19438bf5f 100644
--- a/www/manager6/sdn/fabrics/openfabric/InterfacePanel.js
+++ b/www/manager6/sdn/fabrics/openfabric/InterfacePanel.js
@@ -2,19 +2,6 @@ Ext.define('PVE.sdn.Fabric.OpenFabric.InterfacePanel', {
     extend: 'PVE.sdn.Fabric.InterfacePanel',
 
     additionalColumns: [
-        {
-            text: gettext('IPv6'),
-            xtype: 'widgetcolumn',
-            dataIndex: 'ip6',
-            flex: 1,
-            widget: {
-                xtype: 'proxmoxtextfield',
-                isFormField: false,
-                bind: {
-                    disabled: '{record.isDisabled}',
-                },
-            },
-        },
         {
             text: gettext('Hello Multiplier'),
             xtype: 'widgetcolumn',
diff --git a/www/manager6/sdn/fabrics/ospf/InterfacePanel.js 
b/www/manager6/sdn/fabrics/ospf/InterfacePanel.js
index 29f0502fa..b521b1a22 100644
--- a/www/manager6/sdn/fabrics/ospf/InterfacePanel.js
+++ b/www/manager6/sdn/fabrics/ospf/InterfacePanel.js
@@ -1,3 +1,5 @@
 Ext.define('PVE.sdn.Fabric.Ospf.InterfacePanel', {
     extend: 'PVE.sdn.Fabric.InterfacePanel',
+
+    hasIpv6Support: false,
 });
-- 
2.47.3



Reply via email to