1 Ext
.define('PVE.data.ResourceStore', {
2 extend
: 'Proxmox.data.UpdateStore',
5 findVMID: function(vmid
) {
8 return (me
.findExact('vmid', parseInt(vmid
, 10)) >= 0);
11 // returns the cached data from all nodes
12 getNodes: function() {
16 me
.each(function(record
) {
17 if (record
.get('type') == "node") {
18 nodes
.push( record
.getData() );
25 constructor: function(config
) {
26 // fixme: how to avoid those warnings
27 /*jslint confusion: true */
31 config
= config
|| {};
33 var field_defaults
= {
35 header
: gettext('Type'),
37 renderer
: PVE
.Utils
.render_resource_type
,
50 header
: gettext('Online'),
52 renderer
: PVE
.Utils
.format_boolean
,
54 convert: function(value
, record
) {
55 var info
= record
.data
;
56 return (Ext
.isNumeric(info
.uptime
) && (info
.uptime
> 0));
60 header
: gettext('Description'),
64 convert: function(value
, record
) {
65 var info
= record
.data
;
72 if (Ext
.isNumeric(info
.vmid
) && info
.vmid
> 0) {
73 text
= String(info
.vmid
);
75 text
+= " (" + info
.name
+ ')';
77 } else { // node, pool, storage
78 text
= info
[info
.type
] || info
.id
;
79 if (info
.node
&& info
.type
!== 'node') {
80 text
+= " (" + info
.node
+ ")";
95 header
: gettext('Name'),
101 header
: gettext('Disk usage'),
103 renderer
: PVE
.Utils
.render_disk_usage
,
109 header
: gettext('Disk usage') + " %",
112 renderer
: PVE
.Utils
.render_disk_usage_percent
,
114 calculate
: PVE
.Utils
.calculate_disk_usage
,
118 header
: gettext('Disk size'),
120 renderer
: PVE
.Utils
.render_size
,
126 header
: gettext('Memory usage'),
128 renderer
: PVE
.Utils
.render_mem_usage
,
134 header
: gettext('Memory usage') + " %",
136 renderer
: PVE
.Utils
.render_mem_usage_percent
,
137 calculate
: PVE
.Utils
.calculate_mem_usage
,
143 header
: gettext('Memory size'),
145 renderer
: PVE
.Utils
.render_size
,
151 header
: gettext('CPU usage'),
153 renderer
: PVE
.Utils
.render_cpu
,
158 header
: gettext('maxcpu'),
165 header
: gettext('Total Disk Read'),
169 renderer
: PVE
.Utils
.format_size
,
173 header
: gettext('Total Disk Write'),
177 renderer
: PVE
.Utils
.format_size
,
181 header
: gettext('Total NetIn'),
185 renderer
: PVE
.Utils
.format_size
,
189 header
: gettext('Total NetOut'),
193 renderer
: PVE
.Utils
.format_size
,
197 header
: gettext('Template'),
204 header
: gettext('Uptime'),
206 renderer
: PVE
.Utils
.render_uptime
,
211 header
: gettext('Node'),
218 header
: gettext('Storage'),
225 header
: gettext('Pool'),
232 header
: gettext('HA State'),
234 defaultValue
: 'unmanaged',
239 header
: gettext('Status'),
249 Ext
.Object
.each(field_defaults
, function(key
, value
) {
250 var field
= {name
: key
, type
: value
.type
};
251 if (Ext
.isDefined(value
.convert
)) {
252 field
.convert
= value
.convert
;
255 if (Ext
.isDefined(value
.calculate
)) {
256 field
.calculate
= value
.calculate
;
259 if (Ext
.isDefined(value
.defaultValue
)) {
260 field
.defaultValue
= value
.defaultValue
;
264 fieldNames
.push(key
);
267 Ext
.define('PVEResources', {
268 extend
: "Ext.data.Model",
272 url
: '/api2/json/cluster/resources'
276 Ext
.define('PVETree', {
277 extend
: "Ext.data.Model",
279 proxy
: { type
: 'memory' }
283 storeid
: 'PVEResources',
284 model
: 'PVEResources',
285 defaultColumns: function() {
287 Ext
.Object
.each(field_defaults
, function(field
, info
) {
288 var fi
= Ext
.apply({ dataIndex
: field
}, info
);
293 fieldNames
: fieldNames
296 me
.callParent([config
]);