]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/panel/StatusView.js
1 Ext
.define('PVE.panel.StatusView', {
2 extend
: 'Ext.panel.Panel',
3 alias
: 'widget.pveStatusView',
9 title
: gettext('Status'),
11 getRecordValue: function(key
, store
) {
17 if (store
=== undefined) {
18 store
= me
.getStore();
21 var rec
= store
.getById(key
);
23 return rec
.data
.value
;
29 fieldRenderer: function(val
, max
) {
30 if (max
=== undefined) {
34 if (!Ext
.isNumeric(max
) || max
=== 1) {
35 return PVE
.Utils
.render_usage(val
);
37 return PVE
.Utils
.render_size_usage(val
, max
);
40 fieldCalculator: function(used
, max
) {
41 if (!Ext
.isNumeric(max
) && Ext
.isNumeric(used
)) {
43 } else if (!Ext
.isNumeric(used
)) {
44 /* we come here if the field is from a node
45 * where the records are not mem and maxmem
46 * but mem.used and mem.total
48 if (used
.used
!== undefined &&
49 used
.total
!== undefined) {
50 return used
.used
/used
.total
;
57 updateField: function(field
) {
60 var renderer
= me
.fieldRenderer
;
61 if (Ext
.isFunction(field
.renderer
)) {
62 renderer
= field
.renderer
;
64 if (field
.multiField
=== true) {
65 field
.updateValue(renderer
.call(field
, me
.getStore().getRecord()));
66 } else if (field
.textField
!== undefined) {
67 field
.updateValue(renderer
.call(field
, me
.getRecordValue(field
.textField
)));
68 } else if (field
.valueField
!== undefined) {
69 var used
= me
.getRecordValue(field
.valueField
);
71 var max
= field
.maxField
!== undefined ? me
.getRecordValue(field
.maxField
) : 1;
73 var calculate
= me
.fieldCalculator
;
75 if (Ext
.isFunction(field
.calculate
)) {
76 calculate
= field
.calculate
;
78 field
.updateValue(renderer
.call(field
, used
, max
), calculate(used
, max
));
82 getStore: function() {
85 throw "there is no rstore";
91 updateTitle: function() {
93 me
.setTitle(me
.getRecordValue('name'));
96 updateValues: function(store
, records
, success
) {
98 return; // do not update if store load was not successful
101 var itemsToUpdate
= me
.query('pveInfoWidget');
103 itemsToUpdate
.forEach(me
.updateField
, me
);
105 me
.updateTitle(store
);
108 initComponent: function() {
112 throw "no rstore given";
116 throw "no title given";
119 Proxmox
.Utils
.monStoreErrors(me
, me
.rstore
);
123 me
.mon(me
.rstore
, 'load', 'updateValues');