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