From a4d292d9dafef064532c133d99703b33e69cd6e0 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Wed, 15 Jun 2016 15:33:51 +0200 Subject: [PATCH] remove unnecessary information on template summary since most of the information on the summary page is irrelevant for templates (e.g. status,ha,using memory,graphs, etc), we only show just the information which is available and helpful since we then have the vertical space, we move the notes panel below the statuspanel, to allow visually more space for the description (which makes sense for a template) Signed-off-by: Dominik Csapak --- www/manager6/qemu/StatusView.js | 35 ++++--- www/manager6/qemu/Summary.js | 156 +++++++++++++++++++------------- 2 files changed, 119 insertions(+), 72 deletions(-) diff --git a/www/manager6/qemu/StatusView.js b/www/manager6/qemu/StatusView.js index 3a2ac93f..67e54d40 100644 --- a/www/manager6/qemu/StatusView.js +++ b/www/manager6/qemu/StatusView.js @@ -16,6 +16,8 @@ Ext.define('PVE.qemu.StatusView', { throw "no VM ID specified"; } + var template = !!me.pveSelNode.data.template; + var render_cpu = function(value, metaData, record, rowIndex, colIndex, store) { if (!me.getObjectValue('uptime')) { return '-'; @@ -40,17 +42,28 @@ Ext.define('PVE.qemu.StatusView', { return text; }; - var rows = { - name: { header: gettext('Name'), defaultValue: 'no name specified' }, - qmpstatus: { header: gettext('Status'), defaultValue: 'unknown' }, - cpu: { header: gettext('CPU usage'), required: true, renderer: render_cpu }, - cpus: { visible: false }, - mem: { header: gettext('Memory usage'), required: true, renderer: render_mem }, - maxmem: { visible: false }, - maxdisk: { header: gettext('Bootdisk size'), renderer: PVE.Utils.render_size, required: true}, - uptime: { header: gettext('Uptime'), required: true, renderer: PVE.Utils.render_uptime }, - ha: { header: gettext('Managed by HA'), required: true, renderer: PVE.Utils.format_ha } - }; + var rows = {}; + + if (template) { + rows = { + name: { header: gettext('Name'), defaultValue: 'no name specified' }, + cpus: { header: gettext('Processors'), required: true}, + maxmem: { header: gettext('Memory'), renderer: PVE.Utils.render_size, required: true}, + maxdisk: { header: gettext('Bootdisk size'), renderer: PVE.Utils.render_size, required: true} + }; + } else { + rows = { + name: { header: gettext('Name'), defaultValue: 'no name specified' }, + qmpstatus: { header: gettext('Status'), defaultValue: 'unknown' }, + cpu: { iconCls: 'fa fa-up', header: gettext('CPU usage'), required: true, renderer: render_cpu }, + cpus: { visible: false }, + mem: { header: gettext('Memory usage'), required: true, renderer: render_mem }, + maxmem: { visible: false }, + maxdisk: { header: gettext('Bootdisk size'), renderer: PVE.Utils.render_size, required: true}, + uptime: { header: gettext('Uptime'), required: true, renderer: PVE.Utils.render_uptime }, + ha: { header: gettext('Managed by HA'), required: true, renderer: PVE.Utils.format_ha } + }; + } Ext.applyIf(me, { cwidth1: 150, diff --git a/www/manager6/qemu/Summary.js b/www/manager6/qemu/Summary.js index 5de8f79c..1a1b85dd 100644 --- a/www/manager6/qemu/Summary.js +++ b/www/manager6/qemu/Summary.js @@ -2,7 +2,6 @@ Ext.define('PVE.qemu.Summary', { extend: 'Ext.panel.Panel', alias: 'widget.pveQemuSummary', - tbar: [ '->', { xtype: 'pveRRDTypeSelector' } ], scrollable: true, bodyPadding: 10, @@ -27,88 +26,123 @@ Ext.define('PVE.qemu.Summary', { throw "no status storage specified"; } + var template = !!me.pveSelNode.data.template; var rstore = me.statusStore; var statusview = Ext.create('PVE.qemu.StatusView', { title: gettext('Status'), pveSelNode: me.pveSelNode, - width: 400, + width: template ? 800 : 400, rstore: rstore }); var notesview = Ext.create('PVE.panel.NotesView', { pveSelNode: me.pveSelNode, - padding: '0 0 0 10', + padding: template? '10 0 0 0' : '0 0 0 10', flex: 1 }); - var rrdstore = Ext.create('PVE.data.RRDStore', { - rrdurl: "/api2/json/nodes/" + nodename + "/qemu/" + vmid + "/rrddata" - }); + if (template) { - Ext.apply(me, { - plugins: { - ptype: 'lazyitems', - items: [ - { - xtype: 'container', - layout: { - type: 'column' - }, - defaults: { - padding: '0 10 10 0' - }, - items: [ - { + Ext.apply(me, { + plugins: { + ptype: 'lazyitems', + items: [ + { + xtype: 'container', + layout: { + type: 'column' + }, + defaults: { + padding: '0 10 10 0' + }, + items: [{ width: 800, - height: 300, layout: { - type: 'hbox', + type: 'vbox', align: 'stretch' }, border: false, items: [ statusview, notesview ] + }] + } + ] + }, + listeners: { + activate: function() { notesview.load(); } + } + }); + + } else { + var rrdstore = Ext.create('PVE.data.RRDStore', { + rrdurl: "/api2/json/nodes/" + nodename + "/qemu/" + vmid + "/rrddata" + }); + + Ext.apply(me, { + tbar: [ '->', { xtype: 'pveRRDTypeSelector' } ], + plugins: { + ptype: 'lazyitems', + items: [ + { + xtype: 'container', + layout: { + type: 'column' }, - { - xtype: 'pveRRDChart', - title: gettext('CPU usage'), - pveSelNode: me.pveSelNode, - fields: ['cpu'], - fieldTitles: [gettext('CPU usage')], - store: rrdstore + defaults: { + padding: '0 10 10 0' }, - { - xtype: 'pveRRDChart', - title: gettext('Memory usage'), - pveSelNode: me.pveSelNode, - fields: ['maxmem', 'mem'], - fieldTitles: [gettext('Total'), gettext('RAM usage')], - store: rrdstore - }, - { - xtype: 'pveRRDChart', - title: gettext('Network traffic'), - pveSelNode: me.pveSelNode, - fields: ['netin','netout'], - store: rrdstore - }, - { - xtype: 'pveRRDChart', - title: gettext('Disk IO'), - pveSelNode: me.pveSelNode, - fields: ['diskread','diskwrite'], - store: rrdstore - } - ] - } - ] - }, - listeners: { - activate: function() {notesview.load(); rrdstore.startUpdate();}, - hide: rrdstore.stopUpdate, - destroy: rrdstore.stopUpdate - } - }); + items: [ + { + width: 800, + height: 300, + layout: { + type: 'hbox', + align: 'stretch' + }, + border: false, + items: [ statusview, notesview ] + }, + { + xtype: 'pveRRDChart', + title: gettext('CPU usage'), + pveSelNode: me.pveSelNode, + fields: ['cpu'], + fieldTitles: [gettext('CPU usage')], + store: rrdstore + }, + { + xtype: 'pveRRDChart', + title: gettext('Memory usage'), + pveSelNode: me.pveSelNode, + fields: ['maxmem', 'mem'], + fieldTitles: [gettext('Total'), gettext('RAM usage')], + store: rrdstore + }, + { + xtype: 'pveRRDChart', + title: gettext('Network traffic'), + pveSelNode: me.pveSelNode, + fields: ['netin','netout'], + store: rrdstore + }, + { + xtype: 'pveRRDChart', + title: gettext('Disk IO'), + pveSelNode: me.pveSelNode, + fields: ['diskread','diskwrite'], + store: rrdstore + } + ] + } + ] + }, + listeners: { + activate: function() {notesview.load(); rrdstore.startUpdate();}, + hide: rrdstore.stopUpdate, + destroy: rrdstore.stopUpdate + } + }); + } me.callParent(); }