]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/node/Summary.js
1 Ext
.define('PVE.node.Summary', {
2 extend
: 'Ext.panel.Panel',
3 alias
: 'widget.pveNodeSummary',
8 showVersions: function() {
11 // Note: we use simply text/html here, because ExtJS grid has problems
14 var nodename
= me
.pveSelNode
.data
.node
;
16 var view
= Ext
.createWidget('component', {
20 'background-color': 'white',
22 'font-family': 'monospace'
26 var win
= Ext
.create('Ext.window.Window', {
27 title
: gettext('Package versions'),
35 Proxmox
.Utils
.API2Request({
37 url
: "/nodes/" + nodename
+ "/apt/versions",
39 failure: function(response
, opts
) {
41 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
43 success: function(response
, opts
) {
47 Ext
.Array
.each(response
.result
.data
, function(rec
) {
48 var version
= "not correctly installed";
49 var pkg
= rec
.Package
;
50 if (rec
.OldVersion
&& rec
.CurrentState
=== 'Installed') {
51 version
= rec
.OldVersion
;
53 if (rec
.RunningKernel
) {
54 text
+= pkg
+ ': ' + version
+ ' (running kernel: ' +
55 rec
.RunningKernel
+ ')\n';
56 } else if (rec
.ManagerVersion
) {
57 text
+= pkg
+ ': ' + version
+ ' (running version: ' +
58 rec
.ManagerVersion
+ ')\n';
60 text
+= pkg
+ ': ' + version
+ '\n';
64 view
.update(Ext
.htmlEncode(text
));
69 initComponent: function() {
72 var nodename
= me
.pveSelNode
.data
.node
;
74 throw "no node name specified";
77 if (!me
.statusStore
) {
78 throw "no status storage specified";
81 var rstore
= me
.statusStore
;
83 var version_btn
= new Ext
.Button({
84 text
: gettext('Package versions'),
86 Proxmox
.Utils
.checked_command(function() { me
.showVersions(); });
90 var rrdstore
= Ext
.create('Proxmox.data.RRDStore', {
91 rrdurl
: "/api2/json/nodes/" + nodename
+ "/rrddata",
96 tbar
: [version_btn
, '->', { xtype
: 'proxmoxRRDTypeSelector' } ],
100 itemId
: 'itemcontainer',
109 xtype
: 'pveNodeStatus',
112 pveSelNode
: me
.pveSelNode
115 xtype
: 'proxmoxRRDChart',
116 title
: gettext('CPU usage'),
117 fields
: ['cpu','iowait'],
118 fieldTitles
: [gettext('CPU usage'), gettext('IO delay')],
122 xtype
: 'proxmoxRRDChart',
123 title
: gettext('Server load'),
125 fieldTitles
: [gettext('Load average')],
129 xtype
: 'proxmoxRRDChart',
130 title
: gettext('Memory usage'),
131 fields
: ['memtotal','memused'],
132 fieldTitles
: [gettext('Total'), gettext('RAM usage')],
136 xtype
: 'proxmoxRRDChart',
137 title
: gettext('Network traffic'),
138 fields
: ['netin','netout'],
143 resize: function(panel
) {
144 PVE
.Utils
.updateColumns(panel
);
150 activate: function() { rstore
.startUpdate(); rrdstore
.startUpdate(); },
151 destroy: function() { rstore
.stopUpdate(); rrdstore
.stopUpdate(); }
157 let sp
= Ext
.state
.Manager
.getProvider();
158 me
.mon(sp
, 'statechange', function(provider
, key
, value
) {
159 if (key
!== 'summarycolumns') {
162 PVE
.Utils
.updateColumns(me
.getComponent('itemcontainer'));