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

Reply via email to