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