as with vm templates, restyle the summary panel for lxc templates Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> --- www/manager6/lxc/StatusView.js | 41 +++++++----- www/manager6/lxc/Summary.js | 140 +++++++++++++++++++++++++---------------- 2 files changed, 112 insertions(+), 69 deletions(-)
diff --git a/www/manager6/lxc/StatusView.js b/www/manager6/lxc/StatusView.js index 46aed9e..426b4cc 100644 --- a/www/manager6/lxc/StatusView.js +++ b/www/manager6/lxc/StatusView.js @@ -15,6 +15,8 @@ Ext.define('PVE.lxc.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 '-'; @@ -55,21 +57,32 @@ Ext.define('PVE.lxc.StatusView', { return value; }; - var rows = { - name: { header: gettext('Name'), defaultValue: 'no name specified' }, - status: { header: gettext('Status'), defaultValue: 'unknown', renderer: render_status }, - failcnt: { visible: false }, - 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 }, - swap: { header: gettext('VSwap usage'), required: true, renderer: render_swap }, - maxswap: { 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('CPU limit'), required: true}, + maxmem: { header: gettext('Memory'), required: true, renderer: PVE.Utils.render_size }, + maxswap: { header: gettext('VSwap'), required: true, renderer: PVE.Utils.render_size }, + maxdisk: { header: gettext('Bootdisk size'), renderer: PVE.Utils.render_size, required: true} + }; + } else { + rows = { + name: { header: gettext('Name'), defaultValue: 'no name specified' }, + status: { header: gettext('Status'), defaultValue: 'unknown', renderer: render_status }, + failcnt: { visible: false }, + 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 }, + swap: { header: gettext('VSwap usage'), required: true, renderer: render_swap }, + maxswap: { 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, rows: rows diff --git a/www/manager6/lxc/Summary.js b/www/manager6/lxc/Summary.js index b675956..bf491ff 100644 --- a/www/manager6/lxc/Summary.js +++ b/www/manager6/lxc/Summary.js @@ -2,7 +2,6 @@ Ext.define('PVE.lxc.Summary', { extend: 'Ext.panel.Panel', alias: 'widget.pveLxcSummary', - tbar: [ '->' , { xtype: 'pveRRDTypeSelector' } ], scrollable: true, bodyPadding: 10, @@ -27,30 +26,27 @@ Ext.define('PVE.lxc.Summary', { throw "no status storage specified"; } + var template = !!me.pveSelNode.data.template; var rstore = me.statusStore; var statusview = Ext.create('PVE.lxc.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 + "/lxc/" + vmid + "/rrddata" - }); - - Ext.apply(me, { - plugins: { - ptype: 'lazyitems', - items: [ - { + if (template) { + Ext.apply(me, { + plugins: { + ptype: 'lazyitems', + items: [{ xtype: 'container', layout: { type: 'column' @@ -58,57 +54,91 @@ Ext.define('PVE.lxc.Summary', { defaults: { padding: '0 10 10 0' }, - items: [ - { + 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 + "/lxc/" + 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 - }, - { - 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 + defaults: { + padding: '0 10 10 0' }, - { - 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(); } -- 2.1.4 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel