]>
git.proxmox.com Git - pmg-gui.git/blob - js/dashboard/NodeInfo.js
bdf8f85e56c16ca9ac399fb6f2114eae73d9d754
1 Ext
.define('PMG.NodeInfoPanel', {
2 extend
: 'Proxmox.panel.StatusView',
3 alias
: 'widget.pmgNodeInfoPanel',
16 xtype
: 'pmxInfoWidget',
22 subscriptionActive
: '',
23 noSubscriptionRepo
: '',
28 repoStatus: function(get) {
29 if (get('subscriptionActive') === '' || get('enterpriseRepo') === '') {
33 if (get('noSubscriptionRepo') || get('testRepo')) {
34 return 'non-production';
35 } else if (get('subscriptionActive') && get('enterpriseRepo')) {
37 } else if (!get('subscriptionActive') && get('enterpriseRepo')) {
39 } else if (!get('enterpriseRepo') || !get('noSubscriptionRepo') || !get('testRepo')) {
44 repoStatusMessage: function(get) {
45 const status
= get('repoStatus');
46 let repoLink
= ` <a data-qtip="${gettext("Open Repositories Panel")}"
47 href="#pmgServerAdministration:aptrepositories">
48 <i class="fa black fa-chevron-right txt-shadow-hover"></i>
50 return Proxmox
.Utils
.formatNodeRepoStatus(status
, 'Proxmox Mail Gateway') + repoLink
;
58 iconCls
: 'fa fa-fw pmx-itype-icon-processor pmx-icon',
59 title
: gettext('CPU usage'),
62 renderer
: Proxmox
.Utils
.render_node_cpu_usage
,
66 iconCls
: 'pmx-icon-size fa fa-fw fa-clock-o',
67 title
: gettext('IO delay'),
76 iconCls
: 'fa fa-fw pmx-itype-icon-memory pmx-icon',
78 title
: gettext('RAM usage'),
81 renderer
: Proxmox
.Utils
.render_node_size_usage
,
85 iconCls
: 'pmx-icon-size fa fa-fw fa-tasks',
86 title
: gettext('Load average'),
91 iconCls
: 'pmx-icon-size fa fa-fw fa-hdd-o',
93 title
: gettext('HD space') + ' (root)',
96 renderer
: Proxmox
.Utils
.render_node_size_usage
,
99 iconCls
: 'pmx-icon-size fa fa-fw fa-refresh',
102 title
: gettext('SWAP usage'),
105 renderer
: Proxmox
.Utils
.render_node_size_usage
,
116 title
: gettext('CPU(s)'),
117 textField
: 'cpuinfo',
118 renderer
: Proxmox
.Utils
.render_cpu_model
,
124 title
: gettext('Kernel Version'),
126 textField
: 'kversion',
130 itemId
: 'repositoryStatus',
133 title
: gettext('Repository Status'),
134 setValue: function(value
) { // for binding below
135 this.updateValue(value
);
138 value
: '{repoStatusMessage}',
143 updateTitle: function() {
145 var uptime
= Proxmox
.Utils
.render_uptime(me
.getRecordValue('uptime'));
146 me
.setTitle(Proxmox
.NodeName
+ ' (' + gettext('Uptime') + ': ' + uptime
+ ')');
149 setRepositoryInfo: function(standardRepos
) {
151 let vm
= me
.getViewModel();
153 for (const standardRepo
of standardRepos
) {
154 const handle
= standardRepo
.handle
;
155 const status
= standardRepo
.status
|| 0;
157 if (handle
=== "enterprise") {
158 vm
.set('enterpriseRepo', status
);
159 } else if (handle
=== "no-subscription") {
160 vm
.set('noSubscriptionRepo', status
);
161 } else if (handle
=== "test") {
162 vm
.set('testRepo', status
);
167 setSubscriptionStatus: function(status
) {
169 let vm
= me
.getViewModel();
171 vm
.set('subscriptionActive', status
);
174 initComponent: function() {
177 me
.rstore
= Ext
.create('Proxmox.data.ObjectStore', {
179 url
: '/api2/json/nodes/localhost/status',
185 me
.on('destroy', function() { me
.rstore
.stopUpdate(); });