]> git.proxmox.com Git - pve-manager.git/blame - www/manager6/storage/Summary.js
use RRDChart and RRDStore from widget toolkit
[pve-manager.git] / www / manager6 / storage / Summary.js
CommitLineData
af51679a
DM
1Ext.define('PVE.storage.Summary', {
2 extend: 'Ext.panel.Panel',
3 alias: 'widget.pveStorageSummary',
e857c94a
DC
4 scrollable: true,
5 bodyPadding: 10,
6 defaults: {
921324b6 7 style: {'padding-top':'10px'},
19e2978b 8 width: 770
e857c94a
DC
9 },
10 tbar: [
11 '->',
12 {
13 xtype: 'pveRRDTypeSelector'
14 }
15 ],
af51679a
DM
16 initComponent: function() {
17 var me = this;
18
19 var nodename = me.pveSelNode.data.node;
20 if (!nodename) {
21 throw "no node name specified";
22 }
23
24 var storage = me.pveSelNode.data.storage;
25 if (!storage) {
26 throw "no storage ID specified";
27 }
28
19e2978b
DC
29 var rstore = Ext.create('PVE.data.ObjectStore', {
30 url: "/api2/json/nodes/" + nodename + "/storage/" + storage + "/status",
31 interval: 1000
32 });
33
af51679a
DM
34 var statusview = Ext.create('PVE.storage.StatusView', {
35 pveSelNode: me.pveSelNode,
19e2978b 36 rstore: rstore,
ec0bd652 37 style: {'padding-top':'0px'}
af51679a
DM
38 });
39
5536d678
DC
40 var rrdstore = Ext.create('Proxmox.data.RRDStore', {
41 rrdurl: "/api2/json/nodes/" + nodename + "/storage/" + storage + "/rrddata",
42 model: 'pve-rrd-storage'
921324b6 43 });
af51679a
DM
44
45 Ext.apply(me, {
af51679a
DM
46 items: [
47 statusview,
48 {
5536d678 49 xtype: 'proxmoxRRDChart',
af51679a 50 title: gettext('Usage'),
921324b6
DC
51 fields: ['total','used'],
52 fieldTitles: ['Total Size', 'Used Size'],
53 store: rrdstore
af51679a 54 }
921324b6
DC
55 ],
56 listeners: {
57 activate: function() { rstore.startUpdate(); rrdstore.startUpdate(); },
22f2f9d6 58 destroy: function() { rstore.stopUpdate(); rrdstore.stopUpdate(); }
921324b6 59 }
af51679a
DM
60 });
61
af51679a
DM
62 me.callParent();
63 }
64});