]>
git.proxmox.com Git - proxmox-widget-toolkit.git/blob - src/window/PackageVersions.js
aaa1372ee0e6937b94f0919bad5433e27ef91fcb
1 Ext
.define('Proxmox.window.PackageVersions', {
2 extend
: 'Ext.window.Window',
3 alias
: 'widget.proxmoxPackageVersions',
5 title
: gettext('Package versions'),
11 url
: `/nodes/localhost/apt/versions`,
22 text
: gettext('Copy'),
23 iconCls
: 'fa fa-clipboard',
24 handler: function(button
) {
25 window
.getSelection().selectAllChildren(
26 document
.getElementById('pkgversions'),
28 document
.execCommand("copy");
34 this.up('window').close();
45 html
: '{packageList}',
49 'font-family': 'monospace',
54 afterrender: function() {
55 this.loadPackageVersions(); // wait for after render so that we can show a load mask
59 loadPackageVersions
: async
function() {
62 let { result
} = await Proxmox
.Async
.api2({
63 waitMsgTarget
: me
.down('component[id="pkgversions"]'),
66 }).catch(Proxmox
.Utils
.alertResponseFailure
); // FIXME: mask window instead?
69 for (const pkg
of result
.data
) {
70 let version
= "not correctly installed";
71 if (pkg
.OldVersion
&& pkg
.OldVersion
!== 'unknown') {
72 version
= pkg
.OldVersion
;
73 } else if (pkg
.CurrentState
=== 'ConfigFiles') {
74 version
= 'residual config';
76 const name
= pkg
.Package
;
78 text
+= `${name}: ${version} (${pkg.ExtraInfo})\n`;
80 text
+= `${name}: ${version}\n`;
83 me
.getViewModel().set('packageList', Ext
.htmlEncode(text
));