On Fri Nov 29, 2024 at 1:40 PM CET, Christian Ebner wrote:
> Allow to select the change detection mode when performing manual
> backups of containers with Proxmox Backup Server as target, just like
> for the advanced backup job options introduced by commit 3b21f19f
> ("www: advanced backup: add pbs change detection mode selector").
>
> The selector is only shown in the backup window for containers and
> only enabled when a Proxmox Backup Server is selected as target
> storage.
>
> Link to issue in bugtracker:
> https://bugzilla.proxmox.com/show_bug.cgi?id=5936
>
> Signed-off-by: Christian Ebner <c.eb...@proxmox.com>
> ---
>  www/manager6/window/Backup.js | 32 ++++++++++++++++++++++++++++++--
>  1 file changed, 30 insertions(+), 2 deletions(-)
>
> diff --git a/www/manager6/window/Backup.js b/www/manager6/window/Backup.js
> index 4418a9c7..82a2bd92 100644
> --- a/www/manager6/window/Backup.js
> +++ b/www/manager6/window/Backup.js
> @@ -53,6 +53,19 @@ Ext.define('PVE.window.Backup', {
>           },
>       });
>
> +     let pbsChangeDetectionModeSelector = me.vmtype === 'lxc' ? Ext.create({
> +         xtype: 'proxmoxKVComboBox',
> +         fieldLabel: gettext('PBS change detection mode'),
> +         name: 'pbs-change-detection-mode',
> +         deleteEmpty: true,
> +         value: '__default__',
> +         comboItems: [
> +             ['__default__', "Default"],
> +             ['data', "Data"],
> +             ['metadata', "Metadata"],
> +         ],
> +     }) : null;

nit: i think legibility of this would be improved by doing this instead:

let pbsChangeDetectionModeSelector = null;
if (me.vmtype === 'lxc') {
    pbsChangeDetectionModeSelector = Ext.create({
        ...
    })
}

it shouldn't be too much longer, but having a ternary operate span ten
lines of code is a bit much :)

> +
>       const keepNames = [
>           ['keep-last', gettext('Keep Last')],
>           ['keep-hourly', gettext('Keep Hourly')],
> @@ -110,10 +123,20 @@ Ext.define('PVE.window.Backup', {
>                   if (rec && rec.data && rec.data.type === 'pbs') {
>                       compressionSelector.setValue('zstd');
>                       compressionSelector.setDisabled(true);
> -                 } else if (!compressionSelector.getEditable()) {
> -                     compressionSelector.setDisabled(false);
> +                     if (me.vmtype === 'lxc') {
> +                         
> pbsChangeDetectionModeSelector.setValue('__default__');
> +                         pbsChangeDetectionModeSelector.setDisabled(false);
> +                     }
> +                 } else {
> +                     if (!compressionSelector.getEditable()) {
> +                         compressionSelector.setDisabled(false);
> +                     }
> +                     if (me.vmtype === 'lxc') {
> +                         pbsChangeDetectionModeSelector.setDisabled(true);
> +                     }
>                   }
>
> +
>                   Proxmox.Utils.API2Request({
>                       url: `/nodes/${me.nodename}/vzdump/defaults`,
>                       method: 'GET',
> @@ -193,6 +216,7 @@ Ext.define('PVE.window.Backup', {
>               storagesel,
>               modeSelector,
>               protectedCheckbox,
> +             pbsChangeDetectionModeSelector,
>           ],
>           column2: [
>               compressionSelector,
> @@ -289,6 +313,10 @@ Ext.define('PVE.window.Backup', {
>                   params.protected = values.protected;
>               }
>
> +             if (values['pbs-change-detection-mode']) {
> +                 params['pbs-change-detection-mode'] = 
> values['pbs-change-detection-mode'];
> +             }
> +
>               if (values['notes-template']) {
>                   params['notes-template'] = PVE.Utils.escapeNotesTemplate(
>                       values['notes-template']);



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to