]> git.proxmox.com Git - pve-manager.git/blame - www/manager6/panel/StatusView.js
ui: eslint: fix various spacing related issues
[pve-manager.git] / www / manager6 / panel / StatusView.js
CommitLineData
054ac1b8
DC
1Ext.define('PVE.panel.StatusView', {
2 extend: 'Ext.panel.Panel',
3 alias: 'widget.pveStatusView',
4
5 layout: {
f6710aac 6 type: 'column',
054ac1b8
DC
7 },
8
9 title: gettext('Status'),
10
11 getRecordValue: function(key, store) {
12 if (!key) {
13 throw "no key given";
14 }
15 var me = this;
16
17 if (store === undefined) {
18 store = me.getStore();
19 }
20
21 var rec = store.getById(key);
22 if (rec) {
23 return rec.data.value;
24 }
25
26 return '';
27 },
28
f6710aac 29 fieldRenderer: function(val, max) {
054ac1b8
DC
30 if (max === undefined) {
31 return val;
32 }
33
34 if (!Ext.isNumeric(max) || max === 1) {
35 return PVE.Utils.render_usage(val);
36 }
f6710aac 37 return PVE.Utils.render_size_usage(val, max);
054ac1b8
DC
38 },
39
40 fieldCalculator: function(used, max) {
41 if (!Ext.isNumeric(max) && Ext.isNumeric(used)) {
42 return used;
8058410f 43 } else if (!Ext.isNumeric(used)) {
054ac1b8
DC
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
47 */
48 if (used.used !== undefined &&
49 used.total !== undefined) {
50 return used.used/used.total;
51 }
52 }
53
54 return used/max;
55 },
56
57 updateField: function(field) {
58 var me = this;
59 var text = '';
60 var renderer = me.fieldRenderer;
61 if (Ext.isFunction(field.renderer)) {
62 renderer = field.renderer;
63 }
aec9d2ec
DC
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)));
8058410f 68 } else if (field.valueField !== undefined) {
054ac1b8 69 var used = me.getRecordValue(field.valueField);
054ac1b8
DC
70 /* string and int */
71 var max = field.maxField !== undefined ? me.getRecordValue(field.maxField) : 1;
72
73 var calculate = me.fieldCalculator;
74
75 if (Ext.isFunction(field.calculate)) {
76 calculate = field.calculate;
77 }
f6710aac 78 field.updateValue(renderer.call(field, used, max), calculate(used, max));
054ac1b8
DC
79 }
80 },
81
82 getStore: function() {
83 var me = this;
84 if (!me.rstore) {
85 throw "there is no rstore";
86 }
87
88 return me.rstore;
89 },
90
91 updateTitle: function() {
92 var me = this;
93 me.setTitle(me.getRecordValue('name'));
94 },
95
96 updateValues: function(store, records, success) {
97 if (!success) {
98 return; // do not update if store load was not successful
99 }
100 var me = this;
101 var itemsToUpdate = me.query('pveInfoWidget');
102
103 itemsToUpdate.forEach(me.updateField, me);
104
105 me.updateTitle(store);
106 },
107
108 initComponent: function() {
109 var me = this;
110
111 if (!me.rstore) {
112 throw "no rstore given";
113 }
114
115 if (!me.title) {
116 throw "no title given";
117 }
118
e7ade592 119 Proxmox.Utils.monStoreErrors(me, me.rstore);
054ac1b8
DC
120
121 me.callParent();
122
123 me.mon(me.rstore, 'load', 'updateValues');
f6710aac 124 },
054ac1b8
DC
125
126});