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