]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/qemu/Summary.js
jslint: remove trailing commas
[pve-manager.git] / www / manager6 / qemu / Summary.js
1 Ext.define('PVE.qemu.Summary', {
2 extend: 'Ext.panel.Panel',
3 alias: 'widget.pveQemuSummary',
4
5 tbar: [ '->', { xtype: 'pveRRDTypeSelector' } ],
6 scrollable: true,
7 bodyPadding: 10,
8 defaults: {
9 style: {'padding-top':'10px'},
10 width: 800
11 },
12 initComponent: function() {
13 var me = this;
14
15 var nodename = me.pveSelNode.data.node;
16 if (!nodename) {
17 throw "no node name specified";
18 }
19
20 var vmid = me.pveSelNode.data.vmid;
21 if (!vmid) {
22 throw "no VM ID specified";
23 }
24
25 if (!me.workspace) {
26 throw "no workspace specified";
27 }
28
29 if (!me.statusStore) {
30 throw "no status storage specified";
31 }
32
33 var rstore = me.statusStore;
34
35 var statusview = Ext.create('PVE.qemu.StatusView', {
36 title: gettext('Status'),
37 pveSelNode: me.pveSelNode,
38 width: 400,
39 rstore: rstore
40 });
41
42 var notesview = Ext.create('PVE.panel.NotesView', {
43 pveSelNode: me.pveSelNode,
44 flex: 1
45 });
46
47 var rrdstore = Ext.create('PVE.data.RRDStore', {
48 rrdurl: "/api2/json/nodes/" + nodename + "/qemu/" + vmid + "/rrddata"
49 });
50
51 Ext.apply(me, {
52 plugins: {
53 ptype: 'lazyitems',
54 items: [
55 {
56 style: {'padding-top':'0px'},
57 layout: {
58 type: 'hbox',
59 align: 'stretchmax'
60 },
61 border: false,
62 items: [ statusview, notesview ]
63 },
64 {
65 xtype: 'pveRRDChart',
66 title: gettext('CPU usage'),
67 pveSelNode: me.pveSelNode,
68 fields: ['cpu'],
69 fieldTitles: [gettext('CPU usage')],
70 store: rrdstore
71 },
72 {
73 xtype: 'pveRRDChart',
74 title: gettext('Memory usage'),
75 pveSelNode: me.pveSelNode,
76 fields: ['maxmem', 'mem'],
77 fieldTitles: [gettext('Total'), gettext('RAM usage')],
78 store: rrdstore
79 },
80 {
81 xtype: 'pveRRDChart',
82 title: gettext('Network traffic'),
83 pveSelNode: me.pveSelNode,
84 fields: ['netin','netout'],
85 store: rrdstore
86 },
87 {
88 xtype: 'pveRRDChart',
89 title: gettext('Disk IO'),
90 pveSelNode: me.pveSelNode,
91 fields: ['diskread','diskwrite'],
92 store: rrdstore
93 }
94 ]
95 },
96 listeners: {
97 activate: function() {notesview.load(); rrdstore.startUpdate();},
98 hide: rrdstore.stopUpdate,
99 destroy: rrdstore.stopUpdate
100 }
101 });
102
103 me.callParent();
104 }
105 });