]> git.proxmox.com Git - pve-manager.git/commitdiff
add GuestStatusView and TemplateStatusView
authorDominik Csapak <d.csapak@proxmox.com>
Fri, 19 Aug 2016 08:47:49 +0000 (10:47 +0200)
committerFabian Grünbichler <f.gruenbichler@proxmox.com>
Fri, 19 Aug 2016 11:54:36 +0000 (13:54 +0200)
this implements the new StatusView class for
guests and templates

using the new pveStatusView, we do not split the status
panels per lxc/qemu, but for Template/Guest

this makes more sense, since the information which lxc
and qemu guests have are more similar than what you want
to display for templates/guests

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
www/manager6/panel/GuestStatusView.js [new file with mode: 0644]
www/manager6/panel/TemplateStatusView.js [new file with mode: 0644]

diff --git a/www/manager6/panel/GuestStatusView.js b/www/manager6/panel/GuestStatusView.js
new file mode 100644 (file)
index 0000000..9e86ddf
--- /dev/null
@@ -0,0 +1,94 @@
+Ext.define('PVE.panel.GuestStatusView', {
+    extend: 'PVE.panel.StatusView',
+    alias: 'widget.pveGuestStatusView',
+
+    height: 300,
+
+    defaults: {
+       xtype: 'pveInfoWidget',
+       padding: '0 30 5 30',
+       // parent panel is 400 wide
+       // minus 2 pixels for the border
+       width: 398
+    },
+    items: [
+       {
+           xtype: 'box',
+           height: 30
+       },
+       {
+           itemId: 'status',
+           title: gettext('Status'),
+           printBar: false,
+           textField: 'status'
+       },
+       {
+           itemId: 'hamanaged',
+           title: gettext('Managed by HA'),
+           printBar: false,
+           textField: 'ha',
+           renderer: PVE.Utils.format_ha
+       },
+       {
+           itemId: 'node',
+           title: gettext('Node'),
+           printBar: false
+       },
+       {
+           xtype: 'box',
+           height: 20
+       },
+       {
+           itemId: 'cpu',
+           title: gettext('CPU usage'),
+           valueField: 'cpu',
+           maxField: 'cpus',
+           renderer: PVE.Utils.render_cpu_usage,
+           // in this specific api call
+           // we already have the correct value for the usage
+           calculate: Ext.identityFn
+       },
+       {
+           itemId: 'memory',
+           title: gettext('Memory usage'),
+           valueField: 'mem',
+           maxField: 'maxmem'
+       },
+       {
+           itemId: 'swap',
+           title: gettext('SWAP usage'),
+           valueField: 'swap',
+           maxField: 'maxswap'
+       },
+       {
+           itemId: 'rootfs',
+           title: gettext('Bootdisk Size'),
+           textField: 'maxdisk',
+           printBar: false,
+           renderer: PVE.Utils.render_size
+       }
+    ],
+
+    updateTitle: function() {
+       var me = this;
+       var uptime = me.getRecordValue('uptime');
+
+       var text = "";
+       if (Number(uptime) > 0) {
+           text = " (" + gettext('Uptime') + ': ' + PVE.Utils.format_duration_long(uptime)
+               + ')';
+       }
+
+       me.setTitle(me.getRecordValue('name') + text);
+    },
+
+    initComponent: function() {
+       var me = this;
+
+       me.callParent();
+       if (me.pveSelNode.data.type !== 'lxc') {
+           me.remove(me.getComponent('swap'));
+       }
+       me.getComponent('node').updateValue(me.pveSelNode.data.node);
+    }
+});
diff --git a/www/manager6/panel/TemplateStatusView.js b/www/manager6/panel/TemplateStatusView.js
new file mode 100644 (file)
index 0000000..5226996
--- /dev/null
@@ -0,0 +1,69 @@
+Ext.define('PVE.panel.TemplateStatusView',{
+    extend: 'PVE.panel.StatusView',
+    alias: 'widget.pveTemplateStatusView',
+
+    defaults: {
+       xtype: 'pveInfoWidget',
+       printBar: false,
+       padding: '5 0 0 20',
+       width: 400
+    },
+    items: [
+       {
+           xtype: 'box',
+           padding: '20 0 0 0'
+       },
+       {
+           itemId: 'node',
+           title: gettext('Node')
+       },
+       {
+           xtype: 'box',
+           padding: '20 0 0 0'
+       },
+       {
+           itemId: 'cpus',
+           title: gettext('Processors'),
+           textField: 'cpus'
+       },
+       {
+           itemId: 'memory',
+           title: gettext('Memory'),
+           textField: 'maxmem',
+           renderer: PVE.Utils.render_size
+       },
+       {
+           itemId: 'swap',
+           title: gettext('Swap'),
+           textField: 'maxswap',
+           renderer: PVE.Utils.render_size
+       },
+       {
+           itemId: 'disk',
+           title: gettext('Bootdisk size'),
+           textField: 'maxdisk',
+           renderer: PVE.Utils.render_size
+       },
+       {
+           xtype: 'box',
+           padding: '25 0 0 0'
+       }
+    ],
+
+    initComponent: function() {
+       var me = this;
+
+       var name = me.pveSelNode.data.name;
+       if (!name) {
+           throw "no name specified";
+       }
+
+       me.title = name;
+
+       me.callParent();
+       if (me.pveSelNode.data.type !== 'lxc') {
+           me.remove(me.getComponent('swap'));
+       }
+       me.getComponent('node').updateValue(me.pveSelNode.data.node);
+    }
+});