]> git.proxmox.com Git - pve-manager.git/commitdiff
ui: backup job: rework assembling deleted keys + style fixes
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Mon, 22 Apr 2024 10:42:05 +0000 (12:42 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Mon, 22 Apr 2024 17:49:33 +0000 (19:49 +0200)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
www/manager6/panel/BackupAdvancedOptions.js

index d29c7ddbaa1e969ede73acbf1f3188ced9fe0799..1dc7096b9a94d93e8baa0bb801af2d80a8ca5f7d 100644 (file)
@@ -17,28 +17,35 @@ Ext.define('PVE.panel.BackupAdvancedOptions', {
     },
 
     onGetValues: function(formValues) {
-       if (this.needMask) { // isMasked() may not yet be true if not rendered once
+       let me = this;
+       if (me.needMask) { // isMasked() may not yet be true if not rendered once
            return {};
        }
 
-       let options = { 'delete': [] };
+       let options = {};
+
+       if (!me.isCreate) {
+           options.delete = []; // to avoid having to check this all the time
+       }
+       const deletePropertyOnEdit = me.isCreate
+           ? () => { /* no-op on create */ }
+           : key => options.delete.push(key);
 
-       let performance = {};
-       let performanceOptions = ['max-workers', 'pbs-entries-max'];
+       let performance = {}, performanceOptions = ['max-workers', 'pbs-entries-max'];
 
        for (const [key, value] of Object.entries(formValues)) {
            if (performanceOptions.includes(key)) {
                performance[key] = value;
            // deleteEmpty is not currently implemented for pveBandwidthField
            } else if (key === 'bwlimit' && value === '') {
-               options.delete.push('bwlimit');
+               deletePropertyOnEdit('bwlimit');
            } else if (key === 'delete') {
                if (Array.isArray(value)) {
                    value.filter(opt => !performanceOptions.includes(opt)).forEach(
-                       opt => options.delete.push(opt),
+                       opt => deletePropertyOnEdit(opt),
                    );
                } else if (!performanceOptions.includes(formValues.delete)) {
-                   options.delete.push(value);
+                   deletePropertyOnEdit(value);
                }
            } else {
                options[key] = value;
@@ -48,11 +55,7 @@ Ext.define('PVE.panel.BackupAdvancedOptions', {
        if (Object.keys(performance).length > 0) {
            options.performance = PVE.Parser.printPropertyString(performance);
        } else {
-           options.delete.push('performance');
-       }
-
-       if (this.isCreate) {
-           delete options.delete;
+           deletePropertyOnEdit('performance');
        }
 
        return options;