public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: "Shannon Sterz" <s.sterz@proxmox.com>
To: "Proxmox VE development discussion" <pve-devel@lists.proxmox.com>
Subject: Re: [pve-devel] [PATCH pve-manager] fix #5936: ui: backup: add CT PBS change detection mode selector
Date: Fri, 29 Nov 2024 14:09:34 +0100	[thread overview]
Message-ID: <D5YOQMOC7DP6.3MHZWGLPNVCXR@proxmox.com> (raw)
In-Reply-To: <20241129124053.217032-1-c.ebner@proxmox.com>

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.ebner@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	other threads:[~2024-11-29 13:09 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-29 12:40 Christian Ebner
2024-11-29 13:09 ` Shannon Sterz [this message]
2024-11-29 13:18   ` Christian Ebner
2024-11-29 13:25     ` Shannon Sterz
2024-11-29 13:43       ` Christian Ebner
2024-11-29 15:01 ` Christian Ebner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=D5YOQMOC7DP6.3MHZWGLPNVCXR@proxmox.com \
    --to=s.sterz@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal