]> git.proxmox.com Git - pve-manager.git/blobdiff - www/manager6/window/DownloadUrlToStorage.js
ui: avoid trivial decompression widget, only used once
[pve-manager.git] / www / manager6 / window / DownloadUrlToStorage.js
index c156358be3589fecdc1bd9e7b42b2c72232ff31c..481cb2ed47f0f781640a9b05787633038148eea7 100644 (file)
@@ -66,6 +66,7 @@ Ext.define('PVE.window.DownloadUrlToStorage', {
                params: {
                    url: queryParam.url,
                    'verify-certificates': queryParam['verify-certificates'],
+                   'detect-compression': view.content === 'iso' ? 1 : 0,
                },
                waitMsgTarget: view,
                failure: res => {
@@ -84,6 +85,7 @@ Ext.define('PVE.window.DownloadUrlToStorage', {
                        filename: data.filename || "",
                        size: (data.size && Proxmox.Utils.format_size(data.size)) || gettext("Unknown"),
                        mimetype: data.mimetype || gettext("Unknown"),
+                       compression: data.compression || '__default__',
                    });
                },
            });
@@ -106,6 +108,12 @@ Ext.define('PVE.window.DownloadUrlToStorage', {
        {
            xtype: 'inputpanel',
            border: false,
+           onGetValues: function(values) {
+               if (typeof values.checksum === 'string') {
+                   values.checksum = values.checksum.trim();
+               }
+               return values;
+           },
            columnT: [
                {
                    xtype: 'fieldcontainer',
@@ -194,7 +202,25 @@ Ext.define('PVE.window.DownloadUrlToStorage', {
                    uncheckedValue: 0,
                    checked: true,
                    listeners: {
-                       change: 'urlChange',
+                       change: 'setQueryEnabled',
+                   },
+               },
+               {
+                   xtype: 'proxmoxKVComboBox',
+                   name: 'compression',
+                   fieldLabel: gettext('Decompression algorithm'),
+                   allowBlank: true,
+                   hasNoneOption: true,
+                   deleteEmpty: false,
+                   value: '__default__',
+                   comboItems: [
+                               ['__default__', Proxmox.Utils.NoneText],
+                               ['lzo', 'LZO'],
+                               ['gz', 'GZIP'],
+                               ['zst', 'ZSTD'],
+                   ],
+                   cbind: {
+                       hidden: get => get('content') !== 'iso',
                    },
                },
            ],
@@ -209,7 +235,7 @@ Ext.define('PVE.window.DownloadUrlToStorage', {
     ],
 
     initComponent: function() {
-        var me = this;
+       var me = this;
 
        if (!me.nodename) {
            throw "no node name specified";
@@ -217,8 +243,7 @@ Ext.define('PVE.window.DownloadUrlToStorage', {
        if (!me.storage) {
            throw "no storage ID specified";
        }
-
-        me.callParent();
+       me.callParent();
     },
 });