]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/node/StatusView.js
1 Ext
.define('PVE.node.StatusView', {
2 extend
: 'Proxmox.panel.StatusView',
3 alias
: 'widget.pveNodeStatus',
7 subscriptionActive
: '',
8 noSubscriptionRepo
: '',
13 repoStatus: function(get) {
14 if (get('subscriptionActive') === '' || get('enterpriseRepo') === '') {
18 if (!get('subscriptionActive') && get('enterpriseRepo')) {
20 } else if (get('noSubscriptionRepo') || get('testRepo')) {
21 return 'non-production';
22 } else if (!get('enterpriseRepo') || !get('noSubscriptionRepo') || !get('testRepo')) {
27 repoStatusMessage: function(get) {
28 const status
= get('repoStatus');
30 let fmt
= (txt
, cls
) => `<i class="fa fa-fw fa-${cls}"></i> ${txt}`;
32 if (status
=== 'ok') {
33 return fmt(gettext('Enterprise repository enabled'), 'check good') + ', ' +
34 fmt(gettext('Active subscription'), 'check good');
35 } else if (status
=== 'no-sub') {
36 return fmt(gettext('Enterprise repository enabled'), 'check good') + ', ' +
37 fmt(gettext('No active subscription'), 'exclamation-circle warning');
38 } else if (status
=== 'non-production') {
39 return fmt(gettext('No production-ready repository used'), 'exclamation-circle warning');
40 } else if (status
=== 'no-repo') {
41 return fmt(gettext('No Proxmox VE repository enabled!'), 'exclamation-circle critical');
44 return Proxmox
.Utils
.unknownText
;
50 bodyPadding
: '15 5 15 5',
63 xtype
: 'pmxInfoWidget',
70 iconCls
: 'fa fa-fw pmx-itype-icon-processor pmx-icon',
71 title
: gettext('CPU usage'),
74 renderer
: Proxmox
.Utils
.render_node_cpu_usage
,
78 iconCls
: 'fa fa-fw fa-clock-o',
79 title
: gettext('IO delay'),
85 iconCls
: 'fa fa-fw fa-tasks',
86 title
: gettext('Load average'),
96 iconCls
: 'fa fa-fw pmx-itype-icon-memory pmx-icon',
98 title
: gettext('RAM usage'),
101 renderer
: Proxmox
.Utils
.render_node_size_usage
,
106 title
: gettext('KSM sharing'),
108 renderer: function(record
) {
109 return Proxmox
.Utils
.render_size(record
.shared
);
111 padding
: '0 15 10 15',
114 iconCls
: 'fa fa-fw fa-hdd-o',
116 title
: gettext('HD space') + '(root)',
117 valueField
: 'rootfs',
119 renderer
: Proxmox
.Utils
.render_node_size_usage
,
122 iconCls
: 'fa fa-fw fa-refresh',
125 title
: gettext('SWAP usage'),
128 renderer
: Proxmox
.Utils
.render_node_size_usage
,
139 title
: gettext('CPU(s)'),
140 textField
: 'cpuinfo',
141 renderer
: Proxmox
.Utils
.render_cpu_model
,
147 title
: gettext('Kernel Version'),
149 textField
: 'kversion',
156 title
: gettext('PVE Manager Version'),
157 textField
: 'pveversion',
161 itemId
: 'repositoryStatus',
164 title
: gettext('Repository Status'),
166 setValue: function(value
) {
168 me
.updateValue(value
);
171 value
: '{repoStatusMessage}',
176 updateTitle: function() {
178 var uptime
= Proxmox
.Utils
.render_uptime(me
.getRecordValue('uptime'));
179 me
.setTitle(me
.pveSelNode
.data
.node
+ ' (' + gettext('Uptime') + ': ' + uptime
+ ')');
182 setRepositoryInfo: function(standardRepos
) {
184 let vm
= me
.getViewModel();
186 for (const standardRepo
of standardRepos
) {
187 const handle
= standardRepo
.handle
;
188 const status
= standardRepo
.status
;
190 if (handle
=== "enterprise") {
191 vm
.set('enterpriseRepo', status
);
192 } else if (handle
=== "no-subscription") {
193 vm
.set('noSubscriptionRepo', status
);
194 } else if (handle
=== "test") {
195 vm
.set('testRepo', status
);
200 setSubscriptionStatus: function(status
) {
202 let vm
= me
.getViewModel();
204 vm
.set('subscriptionActive', status
);