]> git.proxmox.com Git - proxmox-widget-toolkit.git/commitdiff
make network devices types configureable
authorDominik Csapak <d.csapak@proxmox.com>
Tue, 14 Nov 2017 10:17:06 +0000 (11:17 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Tue, 14 Nov 2017 10:36:46 +0000 (11:36 +0100)
so that we can show all on pve and only bonds on pmg

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
node/NetworkView.js

index 692eb4d3fcb3544b34b954397c1a2db729688322..c2ea0dd0b9b04fd85b3633b4d95f09f9253e2b20 100644 (file)
@@ -15,6 +15,10 @@ Ext.define('Proxmox.node.NetworkView', {
 
     alias: ['widget.proxmoxNodeNetworkView'],
 
+    // defines what types of network devices we want to create
+    // order is always the same
+    types: ['bridge', 'bond', 'ovs'],
+
     initComponent : function() {
        var me = this;
 
@@ -144,75 +148,91 @@ Ext.define('Proxmox.node.NetworkView', {
            return prefix + next.toString();
        };
 
+       var menu_items = [];
+
+       if (me.types.indexOf('bridge') !== -1) {
+           menu_items.push({
+               text: Proxmox.Utils.render_network_iface_type('bridge'),
+               handler: function() {
+                   var win = Ext.create('Proxmox.node.NetworkEdit', {
+                       nodename: me.nodename,
+                       iftype: 'bridge',
+                       iface_default: find_next_iface_id('vmbr')
+                   });
+                   win.on('destroy', reload);
+                   win.show();
+               }
+           });
+       }
+
+       if (me.types.indexOf('bond') !== -1) {
+           menu_items.push({
+               text: Proxmox.Utils.render_network_iface_type('bond'),
+               handler: function() {
+                   var win = Ext.create('Proxmox.node.NetworkEdit', {
+                       nodename: me.nodename,
+                       iftype: 'bond',
+                       iface_default: find_next_iface_id('bond')
+                   });
+                   win.on('destroy', reload);
+                   win.show();
+               }
+           });
+       }
+
+       if (me.types.indexOf('ovs') !== -1) {
+           if (menu_items.length > 0) {
+               menu_items.push({ xtype: 'menuseparator' });
+           }
+
+           menu_items.push(
+               {
+                   text: Proxmox.Utils.render_network_iface_type('OVSBridge'),
+                   handler: function() {
+                       var win = Ext.create('Proxmox.node.NetworkEdit', {
+                           nodename: me.nodename,
+                           iftype: 'OVSBridge',
+                           iface_default: find_next_iface_id('vmbr')
+                       });
+                       win.on('destroy', reload);
+                       win.show();
+                   }
+               },
+               {
+                   text: Proxmox.Utils.render_network_iface_type('OVSBond'),
+                   handler: function() {
+                       var win = Ext.create('Proxmox.node.NetworkEdit', {
+                           nodename: me.nodename,
+                           iftype: 'OVSBond',
+                           iface_default: find_next_iface_id('bond')
+                       });
+                       win.on('destroy', reload);
+                       win.show();
+                   }
+               },
+               {
+                   text: Proxmox.Utils.render_network_iface_type('OVSIntPort'),
+                   handler: function() {
+                       var win = Ext.create('Proxmox.node.NetworkEdit', {
+                           nodename: me.nodename,
+                           iftype: 'OVSIntPort'
+                       });
+                       win.on('destroy', reload);
+                       win.show();
+                   }
+               }
+           );
+       }
+
        Ext.apply(me, {
            layout: 'border',
            tbar: [
                {
                    text: gettext('Create'),
-                   menu: new Ext.menu.Menu({
+                   menu: {
                        plain: true,
-                       items: [
-                           {
-                               text: Proxmox.Utils.render_network_iface_type('bridge'),
-                               handler: function() {
-                                   var win = Ext.create('Proxmox.node.NetworkEdit', {
-                                       nodename: me.nodename,
-                                       iftype: 'bridge',
-                                       iface_default: find_next_iface_id('vmbr')
-                                   });
-                                   win.on('destroy', reload);
-                                   win.show();
-                               }
-                           },
-                           {
-                               text: Proxmox.Utils.render_network_iface_type('bond'),
-                               handler: function() {
-                                   var win = Ext.create('Proxmox.node.NetworkEdit', {
-                                       nodename: me.nodename,
-                                       iftype: 'bond',
-                                       iface_default: find_next_iface_id('bond')
-                                   });
-                                   win.on('destroy', reload);
-                                   win.show();
-                               }
-                           }, '-',
-                           {
-                               text: Proxmox.Utils.render_network_iface_type('OVSBridge'),
-                               handler: function() {
-                                   var win = Ext.create('Proxmox.node.NetworkEdit', {
-                                       nodename: me.nodename,
-                                       iftype: 'OVSBridge',
-                                       iface_default: find_next_iface_id('vmbr')
-                                   });
-                                   win.on('destroy', reload);
-                                   win.show();
-                               }
-                           },
-                           {
-                               text: Proxmox.Utils.render_network_iface_type('OVSBond'),
-                               handler: function() {
-                                   var win = Ext.create('Proxmox.node.NetworkEdit', {
-                                       nodename: me.nodename,
-                                       iftype: 'OVSBond',
-                                       iface_default: find_next_iface_id('bond')
-                                   });
-                                   win.on('destroy', reload);
-                                   win.show();
-                               }
-                           },
-                           {
-                               text: Proxmox.Utils.render_network_iface_type('OVSIntPort'),
-                               handler: function() {
-                                   var win = Ext.create('Proxmox.node.NetworkEdit', {
-                                       nodename: me.nodename,
-                                       iftype: 'OVSIntPort'
-                                   });
-                                   win.on('destroy', reload);
-                                   win.show();
-                               }
-                           }
-                       ]
-                   })
+                       items: menu_items
+                   }
                }, ' ',
                {
                    text: gettext('Revert'),