[pve-devel] [PATCH manager] fix #6534: ui: keep displaying help button in backup edit dialog

Shannon Sterz s.sterz at proxmox.com
Fri Jul 18 15:38:46 CEST 2025


previously the help button would disappear once either the
"Notifications" or "Retention" tabs was opened. this removes an
unnecessary extra container and sets the value for all tab so that the
help button stays present.

Signed-off-by: Shannon Sterz <s.sterz at proxmox.com>
---

this may look worse than it is, most of this is just indentation
changes.

 www/manager6/dc/Backup.js | 258 ++++++++++++++++++--------------------
 1 file changed, 125 insertions(+), 133 deletions(-)

diff --git a/www/manager6/dc/Backup.js b/www/manager6/dc/Backup.js
index 0ad49568c..7dfb6f7dc 100644
--- a/www/manager6/dc/Backup.js
+++ b/www/manager6/dc/Backup.js
@@ -224,145 +224,135 @@ Ext.define('PVE.dc.BackupEdit', {
             bodyPadding: 10,
             items: [
                 {
-                    xtype: 'container',
                     title: gettext('General'),
-                    region: 'center',
-                    layout: {
-                        type: 'vbox',
-                        align: 'stretch',
-                    },
-                    items: [
+                    xtype: 'inputpanel',
+                    onlineHelp: 'chapter_vzdump',
+                    column1: [
                         {
-                            xtype: 'inputpanel',
-                            onlineHelp: 'chapter_vzdump',
-                            column1: [
-                                {
-                                    xtype: 'pveNodeSelector',
-                                    name: 'node',
-                                    fieldLabel: gettext('Node'),
-                                    allowBlank: true,
-                                    editable: true,
-                                    autoSelect: false,
-                                    emptyText: '-- ' + gettext('All') + ' --',
-                                    listeners: {
-                                        change: 'nodeChange',
-                                    },
-                                },
-                                {
-                                    xtype: 'pveStorageSelector',
-                                    reference: 'storageSelector',
-                                    fieldLabel: gettext('Storage'),
-                                    clusterView: true,
-                                    storageContent: 'backup',
-                                    allowBlank: false,
-                                    name: 'storage',
-                                    listeners: {
-                                        change: 'storageChange',
-                                    },
-                                },
-                                {
-                                    xtype: 'pveCalendarEvent',
-                                    fieldLabel: gettext('Schedule'),
-                                    allowBlank: false,
-                                    name: 'schedule',
-                                },
-                                {
-                                    xtype: 'proxmoxKVComboBox',
-                                    reference: 'modeSelector',
-                                    comboItems: [
-                                        ['include', gettext('Include selected VMs')],
-                                        ['all', gettext('All')],
-                                        ['exclude', gettext('Exclude selected VMs')],
-                                        ['pool', gettext('Pool based')],
-                                    ],
-                                    fieldLabel: gettext('Selection mode'),
-                                    name: 'selMode',
-                                    value: '',
-                                    bind: {
-                                        value: '{selMode}',
-                                    },
-                                    listeners: {
-                                        change: 'modeChange',
-                                    },
-                                },
-                                {
-                                    xtype: 'pvePoolSelector',
-                                    reference: 'poolSelector',
-                                    fieldLabel: gettext('Pool to backup'),
-                                    hidden: true,
-                                    allowBlank: false,
-                                    name: 'pool',
-                                    listeners: {
-                                        change: 'selectPoolMembers',
-                                    },
-                                    bind: {
-                                        hidden: '{!poolMode}',
-                                        disabled: '{!poolMode}',
-                                    },
-                                },
+                            xtype: 'pveNodeSelector',
+                            name: 'node',
+                            fieldLabel: gettext('Node'),
+                            allowBlank: true,
+                            editable: true,
+                            autoSelect: false,
+                            emptyText: '-- ' + gettext('All') + ' --',
+                            listeners: {
+                                change: 'nodeChange',
+                            },
+                        },
+                        {
+                            xtype: 'pveStorageSelector',
+                            reference: 'storageSelector',
+                            fieldLabel: gettext('Storage'),
+                            clusterView: true,
+                            storageContent: 'backup',
+                            allowBlank: false,
+                            name: 'storage',
+                            listeners: {
+                                change: 'storageChange',
+                            },
+                        },
+                        {
+                            xtype: 'pveCalendarEvent',
+                            fieldLabel: gettext('Schedule'),
+                            allowBlank: false,
+                            name: 'schedule',
+                        },
+                        {
+                            xtype: 'proxmoxKVComboBox',
+                            reference: 'modeSelector',
+                            comboItems: [
+                                ['include', gettext('Include selected VMs')],
+                                ['all', gettext('All')],
+                                ['exclude', gettext('Exclude selected VMs')],
+                                ['pool', gettext('Pool based')],
                             ],
-                            column2: [
-                                {
-                                    xtype: 'pveBackupCompressionSelector',
-                                    reference: 'compressionSelector',
-                                    fieldLabel: gettext('Compression'),
-                                    name: 'compress',
-                                    cbind: {
-                                        deleteEmpty: '{!isCreate}',
-                                    },
-                                    value: 'zstd',
-                                    listeners: {
-                                        change: 'compressionChange',
-                                        disable: 'compressionDisable',
-                                        enable: 'compressionEnable',
-                                    },
-                                },
-                                {
-                                    xtype: 'pveBackupModeSelector',
-                                    fieldLabel: gettext('Mode'),
-                                    value: 'snapshot',
-                                    name: 'mode',
-                                },
-                                {
-                                    xtype: 'proxmoxcheckbox',
-                                    fieldLabel: gettext('Enable'),
-                                    name: 'enabled',
-                                    uncheckedValue: 0,
-                                    defaultValue: 1,
-                                    checked: true,
-                                },
-                            ],
-                            columnB: [
-                                {
-                                    xtype: 'proxmoxtextfield',
-                                    name: 'comment',
-                                    fieldLabel: gettext('Job Comment'),
-                                    cbind: {
-                                        deleteEmpty: '{!isCreate}',
-                                    },
-                                    autoEl: {
-                                        tag: 'div',
-                                        'data-qtip': gettext('Description of the job'),
-                                    },
-                                },
-                                {
-                                    xtype: 'vmselector',
-                                    reference: 'vmgrid',
-                                    height: 300,
-                                    name: 'vmid',
-                                    disabled: true,
-                                    allowBlank: false,
-                                    columnSelection: ['vmid', 'node', 'status', 'name', 'type'],
-                                    bind: {
-                                        disabled: '{disableVMSelection}',
-                                    },
-                                },
-                            ],
-                            onGetValues: function (values) {
-                                return this.up('window').getController().onGetValues(values);
+                            fieldLabel: gettext('Selection mode'),
+                            name: 'selMode',
+                            value: '',
+                            bind: {
+                                value: '{selMode}',
+                            },
+                            listeners: {
+                                change: 'modeChange',
+                            },
+                        },
+                        {
+                            xtype: 'pvePoolSelector',
+                            reference: 'poolSelector',
+                            fieldLabel: gettext('Pool to backup'),
+                            hidden: true,
+                            allowBlank: false,
+                            name: 'pool',
+                            listeners: {
+                                change: 'selectPoolMembers',
+                            },
+                            bind: {
+                                hidden: '{!poolMode}',
+                                disabled: '{!poolMode}',
                             },
                         },
                     ],
+                    column2: [
+                        {
+                            xtype: 'pveBackupCompressionSelector',
+                            reference: 'compressionSelector',
+                            fieldLabel: gettext('Compression'),
+                            name: 'compress',
+                            cbind: {
+                                deleteEmpty: '{!isCreate}',
+                            },
+                            value: 'zstd',
+                            listeners: {
+                                change: 'compressionChange',
+                                disable: 'compressionDisable',
+                                enable: 'compressionEnable',
+                            },
+                        },
+                        {
+                            xtype: 'pveBackupModeSelector',
+                            fieldLabel: gettext('Mode'),
+                            value: 'snapshot',
+                            name: 'mode',
+                        },
+                        {
+                            xtype: 'proxmoxcheckbox',
+                            fieldLabel: gettext('Enable'),
+                            name: 'enabled',
+                            uncheckedValue: 0,
+                            defaultValue: 1,
+                            checked: true,
+                        },
+                    ],
+                    columnB: [
+                        {
+                            xtype: 'proxmoxtextfield',
+                            name: 'comment',
+                            fieldLabel: gettext('Job Comment'),
+                            cbind: {
+                                deleteEmpty: '{!isCreate}',
+                            },
+                            autoEl: {
+                                tag: 'div',
+                                'data-qtip': gettext('Description of the job'),
+                            },
+                        },
+                        {
+                            xtype: 'vmselector',
+                            reference: 'vmgrid',
+                            height: 300,
+                            name: 'vmid',
+                            disabled: true,
+                            allowBlank: false,
+                            columnSelection: ['vmid', 'node', 'status', 'name', 'type'],
+                            bind: {
+                                disabled: '{disableVMSelection}',
+                            },
+                        },
+                    ],
+                    onGetValues: function (values) {
+                        return this.up('window').getController().onGetValues(values);
+                    },
                 },
                 {
                     xtype: 'pveBackupNotificationOptionsPanel',
@@ -385,6 +375,7 @@ Ext.define('PVE.dc.BackupEdit', {
                 },
                 {
                     xtype: 'inputpanel',
+                    onlineHelp: 'chapter_vzdump',
                     title: gettext('Note Template'),
                     region: 'center',
                     layout: {
@@ -431,6 +422,7 @@ Ext.define('PVE.dc.BackupEdit', {
                 },
                 {
                     xtype: 'pveBackupAdvancedOptionsPanel',
+                    onlineHelp: 'chapter_vzdump',
                     reference: 'backupAdvanced',
                     title: gettext('Advanced'),
                     cbind: {
--
2.39.5





More information about the pve-devel mailing list