]> git.proxmox.com Git - pve-manager.git/blob - www/manager/storage/StatusView.js
imported from svn 'pve-manager/pve2'
[pve-manager.git] / www / manager / storage / StatusView.js
1 Ext.define('PVE.storage.StatusView', {
2 extend: 'PVE.grid.ObjectGrid',
3 alias: ['widget.pveStorageStatusView'],
4
5 initComponent : function() {
6 var me = this;
7
8 var nodename = me.pveSelNode.data.node;
9 if (!nodename) {
10 throw "no node name specified";
11 }
12
13 var storage = me.pveSelNode.data.storage;
14 if (!storage) {
15 throw "no storage ID specified";
16 }
17
18 var rows = {
19 disable: {
20 header: 'Enabled',
21 required: true,
22 renderer: PVE.Utils.format_neg_boolean
23 },
24 active: {
25 header: 'Active',
26 required: true,
27 renderer: PVE.Utils.format_boolean
28 },
29 content: {
30 header: 'Content',
31 required: true,
32 renderer: PVE.Utils.format_content_types
33 },
34 type: {
35 header: 'Type',
36 required: true,
37 renderer: PVE.Utils.format_storage_type
38 },
39 shared: {
40 header: 'Shared',
41 required: true,
42 renderer: PVE.Utils.format_boolean
43 },
44 total: {
45 header: 'Size',
46 required: true,
47 renderer: PVE.Utils.render_size
48 },
49 used: {
50 header: 'Used',
51 required: true,
52 renderer: function(value) {
53 // do not confuse users with filesystem details
54 var total = me.getObjectValue('total', 0);
55 var avail = me.getObjectValue('avail', 0);
56 return PVE.Utils.render_size(total - avail);
57 }
58 },
59 avail: {
60 header: 'Avail',
61 required: true,
62 renderer: PVE.Utils.render_size
63 }
64 };
65
66 Ext.applyIf(me, {
67 url: "/api2/json/nodes/" + nodename + "/storage/" + storage + "/status",
68 cwidth1: 150,
69 interval: 30000,
70 //height: 195,
71 rows: rows
72 });
73
74 me.callParent();
75 }
76 });