]> git.proxmox.com Git - pmg-gui.git/blobdiff - js/ServerStatus.js
user view: disable unlock TFA button initially
[pmg-gui.git] / js / ServerStatus.js
index a342291062bdbf16ff589afd264ba0e4b7f2857e..f7d79e90ee03d3540ab1b65df06027b60f9e9004 100644 (file)
@@ -8,10 +8,11 @@ Ext.define('PMG.ServerStatus', {
 
     scrollable: true,
 
-    bodyPadding: '10 0 0 0',
+    bodyPadding: 5,
     defaults: {
        width: 700,
-       padding: '0 0 10 10',
+       padding: 5,
+       columnWidth: 1,
     },
 
     layout: 'column',
@@ -24,15 +25,14 @@ Ext.define('PMG.ServerStatus', {
        },
 
        nodeCommand: function(cmd) {
-           var me = this.getView();
            Proxmox.Utils.API2Request({
-               params: { command: cmd },
-               url: '/nodes/' + Proxmox.NodeName + '/status',
-               method: 'POST',
-               waitMsgTarget: me,
-               failure: function(response, opts) {
-                   Ext.Msg.alert(gettext('Error'), response.htmlStatus);
+               params: {
+                   command: cmd,
                },
+               url: `/nodes/${Proxmox.NodeName}/status`,
+               method: 'POST',
+               waitMsgTarget: this.getView(),
+               failure: response => Ext.Msg.alert(gettext('Error'), response.htmlStatus),
            });
        },
 
@@ -46,6 +46,15 @@ Ext.define('PMG.ServerStatus', {
     },
 
     tbar: [
+       {
+           text: gettext('Package versions'),
+           iconCls: 'fa fa-gift',
+           handler: () => Proxmox.Utils.checked_command(() => {
+               Ext.create('Proxmox.window.PackageVersions', {
+                   autoShow: true,
+               });
+           }),
+       },
        {
            text: gettext("Console"),
            iconCls: 'fa fa-terminal',
@@ -55,7 +64,7 @@ Ext.define('PMG.ServerStatus', {
            xtype: 'proxmoxButton',
            text: gettext('Restart'),
            dangerous: true,
-           confirmMsg: gettext('Node') + " '" + Proxmox.NodeName + "' - " + gettext('Restart'),
+           confirmMsg: `${gettext('Node')} '${Proxmox.NodeName}' - ${gettext('Restart')}`,
            handler: 'nodeReboot',
            iconCls: 'fa fa-undo',
        },
@@ -63,7 +72,7 @@ Ext.define('PMG.ServerStatus', {
            xtype: 'proxmoxButton',
            text: gettext('Shutdown'),
            dangerous: true,
-           confirmMsg: gettext('Node') + " '" + Proxmox.NodeName + "' - " + gettext('Shutdown'),
+           confirmMsg: `${gettext('Node')} '${Proxmox.NodeName}' - ${gettext('Shutdown')}`,
            handler: 'nodeShutdown',
            iconCls: 'fa fa-power-off',
        },
@@ -74,27 +83,23 @@ Ext.define('PMG.ServerStatus', {
     ],
 
     initComponent: function() {
-        var me = this;
+        let me = this;
 
-       var nodename = Proxmox.NodeName;
-       var rrdstore = Ext.create('Proxmox.data.RRDStore', {
-           rrdurl: "/api2/json/nodes/" + nodename + "/rrddata",
+       let nodename = Proxmox.NodeName;
+       let rrdstore = Ext.create('Proxmox.data.RRDStore', {
+           rrdurl: `/api2/json/nodes/${nodename}/rrddata`,
            fields: [
                { type: 'number', name: 'loadavg' },
                { type: 'number', name: 'maxcpu' },
                {
                    type: 'number',
                    name: 'cpu',
-                   convert: function(val) {
-                       return val*100;
-                   },
+                   convert: val => val * 100,
                },
                {
                    type: 'number',
                    name: 'iowait',
-                   convert: function(val) {
-                       return val*100;
-                   },
+                   convert: val => val * 100,
                },
                { type: 'number', name: 'memtotal' },
                { type: 'number', name: 'memused' },
@@ -159,15 +164,20 @@ Ext.define('PMG.ServerStatus', {
                },
            ],
            listeners: {
-               activate: function() {
-                   rrdstore.startUpdate();
-               },
-               destroy: function() {
-                   rrdstore.stopUpdate();
-               },
+               resize: panel => Proxmox.Utils.updateColumnWidth(panel),
+               activate: () => rrdstore.startUpdate(),
+               destroy: () => rrdstore.stopUpdate(),
            },
        });
+
        me.callParent();
+
+       let sp = Ext.state.Manager.getProvider();
+       me.mon(sp, 'statechange', function(provider, key, value) {
+           if (key !== 'summarycolumns') {
+               return;
+           }
+           Proxmox.Utils.updateColumnWidth(me);
+       });
    },
 });
-