]> git.proxmox.com Git - pmg-gui.git/blob - js/dashboard/NodeInfo.js
ui: node summary: use SI units for HD usage
[pmg-gui.git] / js / dashboard / NodeInfo.js
1 Ext.define('PMG.NodeInfoPanel', {
2 extend: 'Proxmox.panel.StatusView',
3 alias: 'widget.pmgNodeInfoPanel',
4
5 layout: {
6 type: 'table',
7 columns: 2,
8 tableAttrs: {
9 style: {
10 width: '100%',
11 },
12 },
13 },
14
15 defaults: {
16 xtype: 'pmxInfoWidget',
17 padding: '0 10 5 10',
18 },
19
20 items: [
21 {
22 itemId: 'nodecpu',
23 iconCls: 'fa fa-fw pmx-itype-icon-processor pmx-icon',
24 title: gettext('CPU usage'),
25 valueField: 'cpu',
26 maxField: 'cpuinfo',
27 renderer: Proxmox.Utils.render_node_cpu_usage,
28 },
29 {
30 itemId: 'wait',
31 iconCls: 'pmx-icon-size fa fa-fw fa-clock-o',
32 title: gettext('IO delay'),
33 valueField: 'wait',
34 },
35 {
36 xtype: 'box',
37 colspan: 2,
38 padding: '0 0 20 0',
39 },
40 {
41 iconCls: 'fa fa-fw pmx-itype-icon-memory pmx-icon',
42 itemId: 'memory',
43 title: gettext('RAM usage'),
44 valueField: 'memory',
45 maxField: 'memory',
46 renderer: Proxmox.Utils.render_node_size_usage,
47 },
48 {
49 itemId: 'load',
50 iconCls: 'pmx-icon-size fa fa-fw fa-tasks',
51 title: gettext('Load average'),
52 printBar: false,
53 textField: 'loadavg',
54 },
55 {
56 iconCls: 'pmx-icon-size fa fa-fw fa-hdd-o',
57 itemId: 'rootfs',
58 title: gettext('HD space') + ' (root)',
59 valueField: 'rootfs',
60 maxField: 'rootfs',
61 renderer: ({ used, total }) => Proxmox.Utils.render_size_usage(used, total, true),
62 },
63 {
64 iconCls: 'pmx-icon-size fa fa-fw fa-refresh',
65 itemId: 'swap',
66 printSize: true,
67 title: gettext('SWAP usage'),
68 valueField: 'swap',
69 maxField: 'swap',
70 renderer: Proxmox.Utils.render_node_size_usage,
71 },
72 {
73 xtype: 'box',
74 colspan: 2,
75 padding: '0 0 20 0',
76 },
77 {
78 itemId: 'cpus',
79 colspan: 2,
80 printBar: false,
81 title: gettext('CPU(s)'),
82 textField: 'cpuinfo',
83 renderer: Proxmox.Utils.render_cpu_model,
84 value: '',
85 },
86 {
87 itemId: 'kversion',
88 colspan: 2,
89 title: gettext('Kernel Version'),
90 printBar: false,
91 textField: 'kversion',
92 value: '',
93 },
94 {
95 xtype: 'pmxNodeInfoRepoStatus',
96 itemId: 'repositoryStatus',
97 product: 'Proxmox Mail Gateway',
98 repoLink: '#pmgServerAdministration:aptrepositories',
99 },
100 ],
101
102 updateTitle: function() {
103 var me = this;
104 var uptime = Proxmox.Utils.render_uptime(me.getRecordValue('uptime'));
105 me.setTitle(Proxmox.NodeName + ' (' + gettext('Uptime') + ': ' + uptime + ')');
106 },
107
108 initComponent: function() {
109 let me = this;
110
111 me.rstore = Ext.create('Proxmox.data.ObjectStore', {
112 interval: 3000,
113 url: '/api2/json/nodes/localhost/status',
114 autoStart: true,
115 });
116
117 me.callParent();
118
119 me.on('destroy', function() { me.rstore.stopUpdate(); });
120 },
121 });