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 storageIsShared: function(storage_path
) {
28 var index
= me
.findExact('id', storage_path
);
30 return me
.getAt(index
).data
.shared
;
33 guestNode: function(vmid
) {
36 var index
= me
.findExact('vmid', parseInt(vmid
, 10));
38 return me
.getAt(index
).data
.node
;
41 guestName: function(vmid
) {
43 let index
= me
.findExact('vmid', parseInt(vmid
, 10));
47 let rec
= me
.getAt(index
).data
;
54 constructor: function(config
) {
55 // fixme: how to avoid those warnings
59 config
= config
|| {};
61 var field_defaults
= {
63 header
: gettext('Type'),
65 renderer
: PVE
.Utils
.render_resource_type
,
78 header
: gettext('Online'),
80 renderer
: Proxmox
.Utils
.format_boolean
,
82 convert: function(value
, record
) {
83 var info
= record
.data
;
84 return (Ext
.isNumeric(info
.uptime
) && (info
.uptime
> 0));
88 header
: gettext('Description'),
92 convert: function(value
, record
) {
93 var info
= record
.data
;
100 if (Ext
.isNumeric(info
.vmid
) && info
.vmid
> 0) {
101 text
= String(info
.vmid
);
103 text
+= " (" + info
.name
+ ')';
105 } else { // node, pool, storage
106 text
= info
[info
.type
] || info
.id
;
107 if (info
.node
&& info
.type
!== 'node') {
108 text
+= " (" + info
.node
+ ")";
123 header
: gettext('Name'),
129 header
: gettext('Disk usage'),
131 renderer
: PVE
.Utils
.render_disk_usage
,
137 header
: gettext('Disk usage') + " %",
140 renderer
: PVE
.Utils
.render_disk_usage_percent
,
142 calculate
: PVE
.Utils
.calculate_disk_usage
,
146 header
: gettext('Disk size'),
148 renderer
: PVE
.Utils
.render_size
,
154 header
: gettext('Memory usage'),
156 renderer
: PVE
.Utils
.render_mem_usage
,
162 header
: gettext('Memory usage') + " %",
164 renderer
: PVE
.Utils
.render_mem_usage_percent
,
165 calculate
: PVE
.Utils
.calculate_mem_usage
,
171 header
: gettext('Memory size'),
173 renderer
: PVE
.Utils
.render_size
,
179 header
: gettext('CPU usage'),
181 renderer
: PVE
.Utils
.render_cpu
,
186 header
: gettext('maxcpu'),
193 header
: gettext('Total Disk Read'),
197 renderer
: Proxmox
.Utils
.format_size
,
201 header
: gettext('Total Disk Write'),
205 renderer
: Proxmox
.Utils
.format_size
,
209 header
: gettext('Total NetIn'),
213 renderer
: Proxmox
.Utils
.format_size
,
217 header
: gettext('Total NetOut'),
221 renderer
: Proxmox
.Utils
.format_size
,
225 header
: gettext('Template'),
232 header
: gettext('Uptime'),
234 renderer
: Proxmox
.Utils
.render_uptime
,
239 header
: gettext('Node'),
246 header
: gettext('Storage'),
253 header
: gettext('Pool'),
260 header
: gettext('HA State'),
262 defaultValue
: 'unmanaged',
267 header
: gettext('Status'),
274 header
: gettext('Lock'),
284 Ext
.Object
.each(field_defaults
, function(key
, value
) {
285 var field
= {name
: key
, type
: value
.type
};
286 if (Ext
.isDefined(value
.convert
)) {
287 field
.convert
= value
.convert
;
290 if (Ext
.isDefined(value
.calculate
)) {
291 field
.calculate
= value
.calculate
;
294 if (Ext
.isDefined(value
.defaultValue
)) {
295 field
.defaultValue
= value
.defaultValue
;
299 fieldNames
.push(key
);
302 Ext
.define('PVEResources', {
303 extend
: "Ext.data.Model",
307 url
: '/api2/json/cluster/resources'
311 Ext
.define('PVETree', {
312 extend
: "Ext.data.Model",
314 proxy
: { type
: 'memory' }
318 storeid
: 'PVEResources',
319 model
: 'PVEResources',
320 defaultColumns: function() {
322 Ext
.Object
.each(field_defaults
, function(field
, info
) {
323 var fi
= Ext
.apply({ dataIndex
: field
}, info
);
328 fieldNames
: fieldNames
331 me
.callParent([config
]);