]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/dc/NodeView.js
ui: eslint: enforce "no-extra-parens" rule
[pve-manager.git] / www / manager6 / dc / NodeView.js
1 Ext.define('PVE.dc.NodeView', {
2 extend: 'Ext.grid.GridPanel',
3 alias: 'widget.pveDcNodeView',
4
5 title: gettext('Nodes'),
6 disableSelection: true,
7 scrollable: true,
8
9 columns: [
10 {
11 header: gettext('Name'),
12 flex: 1,
13 sortable: true,
14 dataIndex: 'name',
15 },
16 {
17 header: 'ID',
18 width: 40,
19 sortable: true,
20 dataIndex: 'nodeid',
21 },
22 {
23 header: gettext('Online'),
24 width: 60,
25 sortable: true,
26 dataIndex: 'online',
27 renderer: function(value) {
28 var cls = value?'good':'critical';
29 return '<i class="fa ' + PVE.Utils.get_health_icon(cls) + '"><i/>';
30 },
31 },
32 {
33 header: gettext('Support'),
34 width: 100,
35 sortable: true,
36 dataIndex: 'level',
37 renderer: PVE.Utils.render_support_level,
38 },
39 {
40 header: gettext('Server Address'),
41 width: 115,
42 sortable: true,
43 dataIndex: 'ip',
44 },
45 {
46 header: gettext('CPU usage'),
47 sortable: true,
48 width: 110,
49 dataIndex: 'cpuusage',
50 tdCls: 'x-progressbar-default-cell',
51 xtype: 'widgetcolumn',
52 widget: {
53 xtype: 'pveProgressBar',
54 },
55 },
56 {
57 header: gettext('Memory usage'),
58 width: 110,
59 sortable: true,
60 tdCls: 'x-progressbar-default-cell',
61 dataIndex: 'memoryusage',
62 xtype: 'widgetcolumn',
63 widget: {
64 xtype: 'pveProgressBar',
65 },
66 },
67 {
68 header: gettext('Uptime'),
69 sortable: true,
70 dataIndex: 'uptime',
71 align: 'right',
72 renderer: Proxmox.Utils.render_uptime,
73 },
74 ],
75
76 stateful: true,
77 stateId: 'grid-cluster-nodes',
78 tools: [
79 {
80 type: 'up',
81 handler: function() {
82 var me = this.up('grid');
83 var height = Math.max(me.getHeight()-50, 250);
84 me.setHeight(height);
85 },
86 },
87 {
88 type: 'down',
89 handler: function() {
90 var me = this.up('grid');
91 var height = me.getHeight()+50;
92 me.setHeight(height);
93 },
94 },
95 ],
96 }, function() {
97 Ext.define('pve-dc-nodes', {
98 extend: 'Ext.data.Model',
99 fields: ['id', 'type', 'name', 'nodeid', 'ip', 'level', 'local', 'online'],
100 idProperty: 'id',
101 });
102 });
103
104 Ext.define('PVE.widget.ProgressBar', {
105 extend: 'Ext.Progress',
106 alias: 'widget.pveProgressBar',
107
108 animate: true,
109 textTpl: [
110 '{percent}%',
111 ],
112
113 setValue: function(value) {
114 var me = this;
115 me.callParent([value]);
116
117 me.removeCls(['warning', 'critical']);
118
119 if (value > 0.89) {
120 me.addCls('critical');
121 } else if (value > 0.59) {
122 me.addCls('warning');
123 }
124 },
125 });