[pve-devel] [PATCH manager v2] ui: backup: hide change mode detection for vms and non-pbs storage

Dominik Csapak d.csapak at proxmox.com
Thu Apr 10 10:33:33 CEST 2025


Since it does not do anything for non-pbs storages and vms, this is only
distracting in these cases, so hide the selector + tooltip help icon.

Refactor the help icon into a variable, so we can more easily
disable/hide it.

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
replacement for:
https://lore.proxmox.com/pve-devel/20250410080821.1297854-1-d.csapak@proxmox.com/

changes from v1:
* hide the selctor and tooltip completely instead of disabling
* also hide it for non-pbs storages

Side note: looking at the component, I'd love to refactor it into more
"modern" extjs (view/viewmodel/controller), but for now this is IMHO
good enough.

 www/manager6/window/Backup.js | 24 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/www/manager6/window/Backup.js b/www/manager6/window/Backup.js
index cb09c7b9..68e9565b 100644
--- a/www/manager6/window/Backup.js
+++ b/www/manager6/window/Backup.js
@@ -53,8 +53,17 @@ Ext.define('PVE.window.Backup', {
 	    },
 	});
 
+	let pbsChangeDetectionHelp = Ext.create('Ext.Component', {
+	    hidden: true,
+	    html: `<i class="fa fa-question-circle" data-qtip="
+		${gettext("Mode to detect file changes and switch archive encoding format for container backups to Proxmox Backup Server. Not available for VM backups.")}
+	    "></i>`,
+	});
+
 	let pbsChangeDetectionModeSelector = Ext.create({
 	    xtype: 'proxmoxKVComboBox',
+	    hidden: true,
+	    disabled: true,
 	    fieldLabel: gettext('PBS change detection mode'),
 	    name: 'pbs-change-detection-mode',
 	    deleteEmpty: true,
@@ -126,12 +135,20 @@ Ext.define('PVE.window.Backup', {
 			if (me.vmtype === 'lxc') {
 			    pbsChangeDetectionModeSelector.setValue('__default__');
 			    pbsChangeDetectionModeSelector.setDisabled(false);
+			    pbsChangeDetectionModeSelector.setHidden(false);
+			    pbsChangeDetectionHelp.setHidden(false);
+			} else {
+			    pbsChangeDetectionModeSelector.setDisabled(true);
+			    pbsChangeDetectionModeSelector.setHidden(true);
+			    pbsChangeDetectionHelp.setHidden(true);
 			}
 		    } else {
 			if (!compressionSelector.getEditable()) {
 			    compressionSelector.setDisabled(false);
 			}
 			pbsChangeDetectionModeSelector.setDisabled(true);
+			pbsChangeDetectionModeSelector.setHidden(true);
+			pbsChangeDetectionHelp.setHidden(true);
 		    }
 
 
@@ -214,12 +231,7 @@ Ext.define('PVE.window.Backup', {
 		storagesel,
 		modeSelector,
 		protectedCheckbox,
-		{
-		    xtype: 'box',
-		    html: `<i class="fa fa-question-circle" data-qtip="
-			${gettext("Mode to detect file changes and switch archive encoding format for container backups to Proxmox Backup Server. Not available for VM backups.")}
-		    "></i>`,
-		},
+		pbsChangeDetectionHelp,
 		pbsChangeDetectionModeSelector,
 	    ],
 	    column2: [
-- 
2.39.5





More information about the pve-devel mailing list