]> git.proxmox.com Git - proxmox-widget-toolkit.git/blobdiff - form/NetworkSelector.js
network selector: allow to select IP too
[proxmox-widget-toolkit.git] / form / NetworkSelector.js
index e6824b6c341d1ce10e2065f96fe1fc3fc8bec383..e44bd2dc0958782c82d2ecc6b321767c0d9e673f 100644 (file)
@@ -18,6 +18,8 @@ Ext.define('Proxmox.data.NetworkSelector', {
        {name: 'active'},
        {name: 'cidr'},
        {name: 'cidr6'},
+       {name: 'address'},
+       {name: 'address6'},
        {name: 'comments'},
        {name: 'iface'},
        {name: 'slaves'},
@@ -29,8 +31,9 @@ Ext.define('Proxmox.form.NetworkSelector', {
     extend: 'Proxmox.form.ComboGrid',
     alias: 'widget.proxmoxNetworkSelector',
 
-    nodename: 'localhost',
     controller: 'proxmoxNetworkSelectorController',
+
+    nodename: 'localhost',
     setNodename: function(nodename) {
        this.nodename = nodename;
        var networkSelectorStore = this.getStore();
@@ -68,23 +71,16 @@ Ext.define('Proxmox.form.NetworkSelector', {
        listeners: {
            load: function(store, records, successfull) {
 
-               if(successfull) {
+               if (successfull) {
                    records.forEach(function(record) {
-                       if(record.data.cidr && record.data.cidr6) {
-                           var tempcopy = record.copy(null);
-                           tempcopy.data.cidr = tempcopy.data.cidr6;
-                           delete tempcopy.data.cidr6;
-                           tempcopy.data.comment = tempcopy.data.comments6;
-                           delete tempcopy.data.comments6;
-                           store.add(tempcopy);
-                       }
-
-                       if(!record.data.cidr && record.data.cidr6) {
-                           record.data.cidr = record.data.cidr6;
+                       if (record.data.cidr6) {
+                           let dest = (record.data.cidr) ? record.copy(null) : record;
+                           dest.data.cidr = record.data.cidr6;
+                           dest.data.address = record.data.address6;
                            delete record.data.cidr6;
-                           record.data.comments = record.data.comments6;
+                           dest.data.comments = record.data.comments6;
                            delete record.data.comments6;
-                           store.add(record);
+                           store.add(dest);
                        }
                    });
                }
@@ -94,36 +90,39 @@ Ext.define('Proxmox.form.NetworkSelector', {
     listConfig: {
        width: 600,
        columns: [
+           {
+
+               header: gettext('CIDR'),
+               dataIndex: 'cidr',
+               hideable: false,
+               flex: 1
+           },
+           {
+
+               header: gettext('IP'),
+               dataIndex: 'address',
+               hidden: true,
+           },
            {
                header: gettext('Interface'),
-               sortable: true,
-               flex:1,
+               width: 90,
                dataIndex: 'iface'
            },
            {
                header: gettext('Active'),
-               sortable: true,
-               flex:1,
+               renderer: Proxmox.Utils.format_boolean,
+               width: 60,
                dataIndex: 'active'
            },
-           {
-
-               header: gettext('CIDR'),
-               dataIndex: 'cidr',
-               sortable: true,
-               hideable: false,
-               flex:1
-           },
            {
                header: gettext('Type'),
-               sortable: true,
-               flex:1,
+               width: 80,
+               hidden: true,
                dataIndex: 'type'
            },
            {
                header: gettext('Comment'),
-               sortable: true,
-               flex:1,
+               flex: 2,
                dataIndex: 'comments'
            }
        ]