]> git.proxmox.com Git - pve-manager.git/blobdiff - www/manager6/dc/Backup.js
ui: backup job: make add/edit window wider
[pve-manager.git] / www / manager6 / dc / Backup.js
index 70903bdc2e6fd4adb007a74d118be830c9e4ea19..2619a77b1deb5a98b2ad06ba84077ea6d04e63c6 100644 (file)
@@ -7,6 +7,7 @@ Ext.define('PVE.dc.BackupEdit', {
     defaultFocus: undefined,
 
     subject: gettext("Backup Job"),
+    width: 720,
     bodyPadding: 0,
 
     url: '/api2/extjs/cluster/backup',
@@ -145,6 +146,18 @@ Ext.define('PVE.dc.BackupEdit', {
            }
        },
 
+       compressionChange: function(f, value, oldValue) {
+           this.getView().lookup('backupAdvanced').updateCompression(value, f.isDisabled());
+       },
+
+       compressionDisable: function(f) {
+           this.getView().lookup('backupAdvanced').updateCompression(f.getValue(), true);
+       },
+
+       compressionEnable: function(f) {
+           this.getView().lookup('backupAdvanced').updateCompression(f.getValue(), false);
+       },
+
        init: function(view) {
            let me = this;
            if (view.isCreate) {
@@ -196,6 +209,11 @@ Ext.define('PVE.dc.BackupEdit', {
                                PVE.Utils.unEscapeNotesTemplate(data['notes-template']);
                        }
 
+                       if (data.performance) {
+                           Object.assign(data, data.performance);
+                           delete data.performance;
+                       }
+
                        view.setValues(data);
                    },
                });
@@ -354,6 +372,11 @@ Ext.define('PVE.dc.BackupEdit', {
                                        deleteEmpty: '{!isCreate}',
                                    },
                                    value: 'zstd',
+                                   listeners: {
+                                       change: 'compressionChange',
+                                       disable: 'compressionDisable',
+                                       enable: 'compressionEnable',
+                                   },
                                },
                                {
                                    xtype: 'pveBackupModeSelector',
@@ -396,18 +419,6 @@ Ext.define('PVE.dc.BackupEdit', {
                                    },
                                },
                            ],
-                           advancedColumn1: [
-                               {
-                                   xtype: 'proxmoxcheckbox',
-                                   fieldLabel: gettext('Repeat missed'),
-                                   name: 'repeat-missed',
-                                   uncheckedValue: 0,
-                                   defaultValue: 0,
-                                   cbind: {
-                                       deleteDefaultValue: '{!isCreate}',
-                                   },
-                               },
-                           ],
                            onGetValues: function(values) {
                                return this.up('window').getController().onGetValues(values);
                            },
@@ -466,6 +477,14 @@ Ext.define('PVE.dc.BackupEdit', {
                        },
                    ],
                },
+               {
+                   xtype: 'pveBackupAdvancedOptionsPanel',
+                   reference: 'backupAdvanced',
+                   title: gettext('Advanced'),
+                   cbind: {
+                       isCreate: '{isCreate}',
+                   },
+               },
            ],
        },
     ],
@@ -515,11 +534,13 @@ Ext.define('PVE.dc.BackupView', {
                return;
            }
 
-           let win = Ext.create('PVE.dc.BackupEdit', {
+           Ext.create('PVE.dc.BackupEdit', {
+               autoShow: true,
                jobid: rec.data.id,
+               listeners: {
+                   destroy: () => reload(),
+               },
            });
-           win.on('destroy', reload);
-           win.show();
        };
 
        let run_detail = function() {