make node StatusView use new version

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

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
Dominik Csapak 2016-08-19 10:47:51 +02:00 committed by Fabian Grünbichler
parent 6d43126dcb
commit cb892fb36c
2 changed files with 115 additions and 66 deletions

View File

@ -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;
height: 300,
var nodename = me.pveSelNode.data.node;
if (!nodename) {
throw "no node name specified";
defaults: {
xtype: 'pveInfoWidget',
padding: '0 30 5 30',
width: 394
},
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
}
],
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];
};
var render_cpu = function(value) {
var per = value * 100;
return per.toFixed(2) + "%";
};
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
});
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 + ')');
}
});

View File

@ -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'),