extend: 'Ext.panel.Panel',
alias: 'widget.pveStorageSummary',
scrollable: true,
- bodyPadding: 10,
- defaults: {
- style: 'padding-top:10px',
- width: 800
- },
+ bodyPadding: 5,
tbar: [
'->',
{
- xtype: 'pveRRDTypeSelector'
- }
+ xtype: 'proxmoxRRDTypeSelector',
+ },
],
+ layout: {
+ type: 'column',
+ },
+ defaults: {
+ padding: 5,
+ columnWidth: 1,
+ },
initComponent: function() {
var me = this;
throw "no storage ID specified";
}
- var statusview = Ext.create('PVE.storage.StatusView', {
- pveSelNode: me.pveSelNode,
- style: 'padding-top:0px'
+ var rstore = Ext.create('Proxmox.data.ObjectStore', {
+ url: "/api2/json/nodes/" + nodename + "/storage/" + storage + "/status",
+ interval: 1000,
});
- var rstore = statusview.rstore;
-
- var rrdurl = "/api2/png/nodes/" + nodename + "/storage/" + storage + "/rrd";
+ var rrdstore = Ext.create('Proxmox.data.RRDStore', {
+ rrdurl: "/api2/json/nodes/" + nodename + "/storage/" + storage + "/rrddata",
+ model: 'pve-rrd-storage',
+ });
Ext.apply(me, {
items: [
- statusview,
{
- xtype: 'pveRRDView',
- title: gettext('Usage'),
+ xtype: 'pveStorageStatusView',
pveSelNode: me.pveSelNode,
- datasource: 'total,used',
- rrdurl: rrdurl
- }
- ]
+ rstore: rstore,
+ },
+ {
+ xtype: 'proxmoxRRDChart',
+ title: gettext('Usage'),
+ fields: ['total', 'used'],
+ fieldTitles: ['Total Size', 'Used Size'],
+ store: rrdstore,
+ },
+ ],
+ listeners: {
+ activate: function() { rstore.startUpdate(); rrdstore.startUpdate(); },
+ destroy: function() { rstore.stopUpdate(); rrdstore.stopUpdate(); },
+ },
});
- me.on('activate', rstore.startUpdate);
- me.on('hide', rstore.stopUpdate);
- me.on('destroy', rstore.stopUpdate);
-
me.callParent();
- }
+ },
});