If the freeze-fs-on-backup key is not explicitly set on the config file
we hide the corresponding checkbox and hint.

Note that when the checkbox is unchecked we delete the value from the
config resulting.

Signed-off-by: Maximiliano Sandoval <[email protected]>
---
 www/manager6/form/AgentFeatureSelector.js | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/www/manager6/form/AgentFeatureSelector.js 
b/www/manager6/form/AgentFeatureSelector.js
index 1a87182d..deb774c1 100644
--- a/www/manager6/form/AgentFeatureSelector.js
+++ b/www/manager6/form/AgentFeatureSelector.js
@@ -2,7 +2,18 @@ Ext.define('PVE.form.AgentFeatureSelector', {
     extend: 'Proxmox.panel.InputPanel',
     alias: ['widget.pveAgentFeatureSelector'],
 
-    viewModel: {},
+    viewModel: {
+        data: {
+            hideFreezeFsOnBackup: true,
+            freezeFsOnBackupChecked: true,
+        },
+
+        formulas: {
+            hideFreezeFsOnBackupNotes: function (get) {
+                return get('freezeFsOnBackupChecked') || 
get('hideFreezeFsOnBackup');
+            },
+        },
+    },
 
     items: [
         {
@@ -71,9 +82,10 @@ Ext.define('PVE.form.AgentFeatureSelector', {
             xtype: 'proxmoxcheckbox',
             boxLabel: gettext('Deprecated. Freeze/thaw guest filesystems on 
backup for consistency'),
             name: 'freeze-fs-on-backup',
-            reference: 'freeze_fs_on_backup',
             bind: {
                 disabled: '{!enabled.checked}',
+                value: '{freezeFsOnBackupChecked}',
+                hidden: '{hideFreezeFsOnBackup}',
             },
             disabled: true,
             uncheckedValue: '0',
@@ -86,7 +98,7 @@ Ext.define('PVE.form.AgentFeatureSelector', {
                 'Freeze/thaw for guest filesystems disabled. This can lead to 
inconsistent disk backups.',
             ),
             bind: {
-                hidden: '{freeze_fs_on_backup.checked}',
+                hidden: '{hideFreezeFsOnBackupNotes}',
             },
         },
     ],
@@ -105,10 +117,13 @@ Ext.define('PVE.form.AgentFeatureSelector', {
 
     setValues: function (values) {
         let me = this;
+        let vm = me.getViewModel();
 
         let res = PVE.Parser.parsePropertyString(values.agent, 'enabled');
         if (!Ext.isDefined(res['freeze-fs-on-backup'])) {
             res['freeze-fs-on-backup'] = 1;
+        } else {
+            vm.set('hideFreezeFsOnBackup', false);
         }
         if (!Ext.isDefined(res['guest-fsfreeze'])) {
             res['guest-fsfreeze'] = 1;
-- 
2.47.3




Reply via email to