]> git.proxmox.com Git - pve-manager.git/blame - www/manager6/dc/NodeView.js
ui: ldap: add 'Check connection' checkbox as advanced option
[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) {
53e3ea84 28 var cls = value?'good':'critical';
8058410f 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',
8058410f 81 handler: function() {
ffc94780
TL
82 let view = this.up('grid');
83 view.setHeight(Math.max(view.getHeight() - 50, 250));
f6710aac 84 },
cf8b372a
DC
85 },
86 {
87 type: 'down',
8058410f 88 handler: function() {
ffc94780
TL
89 let view = this.up('grid');
90 view.setHeight(view.getHeight() + 50);
f6710aac
TL
91 },
92 },
93 ],
cd81cc2a 94}, function() {
cd81cc2a
DC
95 Ext.define('pve-dc-nodes', {
96 extend: 'Ext.data.Model',
8058410f 97 fields: ['id', 'type', 'name', 'nodeid', 'ip', 'level', 'local', 'online'],
f6710aac 98 idProperty: 'id',
cd81cc2a 99 });
cd81cc2a
DC
100});
101
f6710aac 102Ext.define('PVE.widget.ProgressBar', {
1f8ff841
DC
103 extend: 'Ext.Progress',
104 alias: 'widget.pveProgressBar',
105
106 animate: true,
107 textTpl: [
f6710aac 108 '{percent}%',
1f8ff841
DC
109 ],
110
8058410f 111 setValue: function(value) {
ffc94780
TL
112 let me = this;
113
1f8ff841
DC
114 me.callParent([value]);
115
116 me.removeCls(['warning', 'critical']);
117
118 if (value > 0.89) {
119 me.addCls('critical');
2dcb6bb0 120 } else if (value > 0.75) {
1f8ff841
DC
121 me.addCls('warning');
122 }
f6710aac 123 },
1f8ff841 124});