[pve-devel] [PATCH manager 5/7] make node StatusView use new version

Dominik Csapak d.csapak at proxmox.com
Mon Jul 11 15:46:16 CEST 2016


this implements the new StatusView for nodes
and uses it declarative instead of with Ext.Create

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
 www/manager6/node/StatusView.js | 167 ++++++++++++++++++++++++++--------------
 www/manager6/node/Summary.js    |  14 ++--
 2 files changed, 115 insertions(+), 66 deletions(-)

diff --git a/www/manager6/node/StatusView.js b/www/manager6/node/StatusView.js
index 68b2217..3ee56ad 100644
--- a/www/manager6/node/StatusView.js
+++ b/www/manager6/node/StatusView.js
@@ -1,65 +1,116 @@
 Ext.define('PVE.node.StatusView', {
-    extend: 'PVE.grid.ObjectGrid',
-    alias: ['widget.pveNodeStatusView'],
-    disabled: true,
+    extend: 'PVE.panel.StatusView',
+    alias: 'widget.pveNodeStatus',
 
-    initComponent : function() {
-	var me = this;
-
-	var nodename = me.pveSelNode.data.node;
-	if (!nodename) {
-	    throw "no node name specified";
-	}
-
-	var socketText = gettext('Socket');
-	var socketsText = gettext('Sockets');
-
-	var render_cpuinfo = function(value) {
-	    return value.cpus + " x " + value.model + " (" + 
-		value.sockets.toString() + " " + 
-		(value.sockets > 1 ? socketsText : socketText) + ")";
-	};
-
-	var render_loadavg = function(value) {
-	    return value[0] + ", " + value[1] + ", " + value[2]; 
-	};
+    height: 300,
 
-	var render_cpu = function(value) {
-	    var per = value * 100;
-	    return per.toFixed(2) + "%";
-	};
+    defaults: {
+	xtype: 'pveInfoWidget',
+	padding: '0 30 5 30',
+	width: 394
+    },
 
-	var render_ksm = function(value) {
-	    return PVE.Utils.format_size(value.shared);
-	};
-
-	var render_meminfo = function(value) {
-	    var per = (value.used / value.total)*100;
-	    var text = "<div>" +  PVE.Utils.totalText + ": " + PVE.Utils.format_size(value.total) + "</div>" + 
-		"<div>" + PVE.Utils.usedText + ": " + PVE.Utils.format_size(value.used) + "</div>";
-	    return text;
-	};
-
-	var rows = {
-	    uptime: { header: gettext('Uptime'), required: true, renderer: PVE.Utils.format_duration_long },
-	    loadavg: { header: gettext('Load average'), required: true, renderer: render_loadavg },
-	    cpuinfo: { header: gettext('CPUs'), required: true, renderer: render_cpuinfo },
-	    cpu: { header: gettext('CPU usage'),required: true,  renderer: render_cpu },
-	    wait: { header: gettext('IO delay'), required: true, renderer: render_cpu },
-	    memory: { header: gettext('RAM usage'), required: true, renderer: render_meminfo },
-	    swap: { header: gettext('SWAP usage'), required: true, renderer: render_meminfo },
-	    ksm: { header: gettext('KSM sharing'), required: true, renderer: render_ksm },
-	    rootfs: { header: gettext('HD space') + ' (root)', required: true, renderer: render_meminfo },
-	    pveversion: { header: gettext('PVE Manager version'), required: true },
-	    kversion: { header: gettext('Kernel version'), required: true }
-	};
-
-	Ext.applyIf(me, {
-	    cwidth1: 150,
-	    //height: 276,
-	    rows: rows
-	});
+    items: [
+	{
+	    xtype: 'box',
+	    width: 400,
+	    height: 20
+	},
+	{
+	    itemId: 'cpu',
+	    title: gettext('CPU usage'),
+	    valueField: 'cpu',
+	    maxField: 'cpuinfo',
+	    renderer: PVE.Utils.render_node_cpu_usage
+	},
+	{
+	    itemId: 'wait',
+	    title: gettext('IO delay'),
+	    valueField: 'wait'
+	},
+	{
+	    itemId: 'load',
+	    title: gettext('Load average'),
+	    printBar: false,
+	    textField: 'loadavg'
+	},
+	{
+	    xtype: 'box',
+	    width: 400,
+	    padding: '0 0 20 0'
+	},
+	{
+	    itemId: 'memory',
+	    title: gettext('RAM usage'),
+	    valueField: 'memory',
+	    maxField: 'memory',
+	    renderer: PVE.Utils.render_node_size_usage
+	},
+	{
+	    itemId: 'ksm',
+	    printBar: false,
+	    title: gettext('KSM sharing'),
+	    textField: 'ksm',
+	    renderer: function(record) {
+		return PVE.Utils.render_size(record.shared);
+	    },
+	    padding: '0 30 10 30'
+	},
+	{
+	    itemId: 'rootfs',
+	    title: gettext('HD space') + '(root)',
+	    valueField: 'rootfs',
+	    maxField: 'rootfs',
+	    renderer: PVE.Utils.render_node_size_usage
+	},
+	{
+	    itemId: 'swap',
+	    printSize: true,
+	    title: gettext('SWAP usage'),
+	    valueField: 'swap',
+	    maxField: 'swap',
+	    renderer: PVE.Utils.render_node_size_usage
+	},
+	{
+	    xtype: 'box',
+	    width: 400,
+	    padding: '0 0 20 0'
+	},
+	{
+	    itemId: 'cpus',
+	    printBar: false,
+	    title: gettext('CPUs'),
+	    textField: 'cpuinfo',
+	    renderer: function(cpuinfo) {
+		return cpuinfo.cpus + " x " + cpuinfo.model + " (" +
+		cpuinfo.sockets.toString() + " " +
+		gettext('Socket' + (cpuinfo.sockets > 1 ? 's': '')) + ")";
+	    },
+	    value: '',
+	    width: 790
+	},
+	{
+	    itemId: 'kversion',
+	    title: gettext('Kernel Version'),
+	    printBar: false,
+	    textField: 'kversion',
+	    value: '',
+	    width: 790
+	},
+	{
+	    itemId: 'version',
+	    printBar: false,
+	    title: gettext('PVE Manager Version'),
+	    textField: 'pveversion',
+	    value: '',
+	    width: 790
+	}
+    ],
 
-	me.callParent();
+    updateTitle: function() {
+	var me = this;
+	var uptime = PVE.Utils.render_uptime(me.getRecordValue('uptime'));
+	me.setTitle(me.pveSelNode.data.node + ' (' + gettext('Uptime') + ': ' + uptime + ')');
     }
+
 });
diff --git a/www/manager6/node/Summary.js b/www/manager6/node/Summary.js
index 026ee99..1231796 100644
--- a/www/manager6/node/Summary.js
+++ b/www/manager6/node/Summary.js
@@ -80,13 +80,6 @@ Ext.define('PVE.node.Summary', {
 
 	var rstore = me.statusStore;
 
-	var statusview = Ext.create('PVE.node.StatusView', {
-	    title: gettext('Status'),
-	    pveSelNode: me.pveSelNode,
-	    width: 800,
-	    rstore: rstore
-	});
-
 	var version_btn = new Ext.Button({
 	    text: gettext('Package versions'),
 	    handler: function(){
@@ -110,7 +103,12 @@ Ext.define('PVE.node.Summary', {
 			    padding: '0 10 10 0'
 			},
 			items: [
-			    statusview,
+			    {
+				xtype: 'pveNodeStatus',
+				rstore: rstore,
+				width: 800,
+				pveSelNode: me.pveSelNode
+			    },
 			    {
 				xtype: 'pveRRDChart',
 				title: gettext('CPU usage'),
-- 
2.1.4




More information about the pve-devel mailing list