]> git.proxmox.com Git - pve-manager.git/blobdiff - www/manager6/window/DownloadUrlToStorage.js
ui: guest import: fix isWindows check
[pve-manager.git] / www / manager6 / window / DownloadUrlToStorage.js
index 90320da4cb65b855ce7e058f5da5fff9edfecaff..5523a1523b6b2df4820c1436550626c01aac4263 100644 (file)
@@ -80,8 +80,20 @@ Ext.define('PVE.window.DownloadUrlToStorage', {
                    urlField.validate();
 
                    let data = res.result.data;
+
+                   let filename = data.filename || "";
+                   let compression = '__default__';
+                   if (view.content === 'iso') {
+                       const matches = filename.match(/^(.+)\.(gz|lzo|zst)$/i);
+                       if (matches) {
+                           filename = matches[1];
+                           compression = matches[2].toLowerCase();
+                       }
+                   }
+
                    view.setValues({
-                       filename: data.filename || "",
+                       filename,
+                       compression,
                        size: (data.size && Proxmox.Utils.format_size(data.size)) || gettext("Unknown"),
                        mimetype: data.mimetype || gettext("Unknown"),
                    });
@@ -203,6 +215,24 @@ Ext.define('PVE.window.DownloadUrlToStorage', {
                        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',
+                   },
+               },
            ],
        },
        {
@@ -223,7 +253,6 @@ Ext.define('PVE.window.DownloadUrlToStorage', {
        if (!me.storage) {
            throw "no storage ID specified";
        }
-
        me.callParent();
     },
 });