]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/storage/Summary.js
use RRDChart and RRDStore from widget toolkit
[pve-manager.git] / www / manager6 / storage / Summary.js
1 Ext.define('PVE.storage.Summary', {
2 extend: 'Ext.panel.Panel',
3 alias: 'widget.pveStorageSummary',
4 scrollable: true,
5 bodyPadding: 10,
6 defaults: {
7 style: {'padding-top':'10px'},
8 width: 770
9 },
10 tbar: [
11 '->',
12 {
13 xtype: 'pveRRDTypeSelector'
14 }
15 ],
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
29 var rstore = Ext.create('PVE.data.ObjectStore', {
30 url: "/api2/json/nodes/" + nodename + "/storage/" + storage + "/status",
31 interval: 1000
32 });
33
34 var statusview = Ext.create('PVE.storage.StatusView', {
35 pveSelNode: me.pveSelNode,
36 rstore: rstore,
37 style: {'padding-top':'0px'}
38 });
39
40 var rrdstore = Ext.create('Proxmox.data.RRDStore', {
41 rrdurl: "/api2/json/nodes/" + nodename + "/storage/" + storage + "/rrddata",
42 model: 'pve-rrd-storage'
43 });
44
45 Ext.apply(me, {
46 items: [
47 statusview,
48 {
49 xtype: 'proxmoxRRDChart',
50 title: gettext('Usage'),
51 fields: ['total','used'],
52 fieldTitles: ['Total Size', 'Used Size'],
53 store: rrdstore
54 }
55 ],
56 listeners: {
57 activate: function() { rstore.startUpdate(); rrdstore.startUpdate(); },
58 destroy: function() { rstore.stopUpdate(); rrdstore.stopUpdate(); }
59 }
60 });
61
62 me.callParent();
63 }
64 });