]> git.proxmox.com Git - pve-manager.git/blobdiff - www/manager6/sdn/ControllerView.js
sdn: add subnet/ipam/sdn management
[pve-manager.git] / www / manager6 / sdn / ControllerView.js
index 90a76df31d53da325c4d23d2673085216474a768..ee4b68532e3981f7f7598b3f6b8e62d84d6f5243 100644 (file)
@@ -2,7 +2,7 @@ Ext.define('PVE.sdn.ControllerView', {
     extend: 'Ext.grid.GridPanel',
     alias: ['widget.pveSDNControllerView'],
 
-    onlineHelp: 'pvesdn_controller_plugins',
+    onlineHelp: 'pvesdn_config_controllers',
 
     stateful: true,
     stateId: 'grid-sdn-controller',
@@ -30,8 +30,8 @@ Ext.define('PVE.sdn.ControllerView', {
        var store = new Ext.data.Store({
            model: 'pve-sdn-controller',
            proxy: {
-                type: 'proxmox',
-               url: "/api2/json/cluster/sdn/controllers",
+               type: 'proxmox',
+               url: "/api2/json/cluster/sdn/controllers?pending=1",
            },
            sorters: {
                property: 'controller',
@@ -45,6 +45,16 @@ Ext.define('PVE.sdn.ControllerView', {
 
        var sm = Ext.create('Ext.selection.RowModel', {});
 
+       var set_button_status = function() {
+           var rec = me.selModel.getSelection()[0];
+
+           if (!rec || rec.data.state === 'deleted') {
+               edit_btn.disable();
+               remove_btn.disable();
+               return;
+           }
+       };
+
        var run_editor = function() {
            var rec = sm.getSelection()[0];
            if (!rec) {
@@ -110,21 +120,44 @@ Ext.define('PVE.sdn.ControllerView', {
                    flex: 2,
                    sortable: true,
                    dataIndex: 'controller',
+                   dataIndex: 'controller',
+                   renderer: function(value, metaData, rec) {
+                       return PVE.Utils.render_sdn_pending(rec, value, 'controller', 1);
+                   }
                },
                {
                    header: gettext('Type'),
                    flex: 1,
                    sortable: true,
                    dataIndex: 'type',
-                   renderer: PVE.Utils.format_sdncontroller_type,
+                   renderer: function(value, metaData, rec) {
+                       return PVE.Utils.render_sdn_pending(rec, value, 'type', 1);
+                   }
                },
+               {
+                   header: gettext('Node'),
+                   flex: 1,
+                   sortable: true,
+                   dataIndex: 'node',
+                   renderer: function(value, metaData, rec) {
+                       return PVE.Utils.render_sdn_pending(rec, value, 'node', 1);
+                   }
+               },
+               {
+                   header: gettext('State'),
+                   width: 100,
+                   dataIndex: 'state',
+                   renderer: function(value, metaData, rec) {
+                       return PVE.Utils.render_sdn_pending_state(rec, value);
+                   }
+               }
            ],
            listeners: {
                activate: reload,
                itemdblclick: run_editor,
            },
        });
-
+       store.load();
        me.callParent();
     },
 });