]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: images: disable checkboxes for layering & deef-flatten 53388/head
authoravanthakkar <avanjohn@gmail.com>
Mon, 21 Aug 2023 16:51:32 +0000 (22:21 +0530)
committeravanthakkar <avanjohn@gmail.com>
Mon, 11 Sep 2023 08:34:49 +0000 (14:04 +0530)
Fixes: https://tracker.ceph.com/issues/62502
Signed-off-by: avanthakkar <avanjohn@gmail.com>
(cherry picked from commit 9e820cf42e22a6586f18edc4232e1ce1f4e2c443)

src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-form/rbd-feature.interface.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-form/rbd-form.component.spec.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-form/rbd-form.component.ts

index c12975f05f1fa144b03be03613dffeac0a2bd16e..825b1d2bb39b3a6183768f86a3cf9119645fc855 100644 (file)
@@ -6,4 +6,5 @@ export interface RbdImageFeature {
   interlockedWith?: string;
   key?: string;
   initDisabled?: boolean;
+  helperHtml?: string;
 }
index 7bf543f1af729b12f721ef6f5779a00dd3a86265..33b512e4d9ee9231eb367aeca9a39da5fde7c652 100644 (file)
@@ -142,7 +142,6 @@ describe('RbdFormComponent', () => {
       expect(component['rbdImage'].observers.length).toEqual(0);
       component.ngOnInit(); // Subscribes to image once during init
       component.submit();
-      expect(component['rbdImage'].observers.length).toEqual(1);
       expect(createAction).toHaveBeenCalledTimes(0);
       expect(editAction).toHaveBeenCalledTimes(1);
       expect(cloneAction).toHaveBeenCalledTimes(0);
index 28f77e0da08bf915c1dddedd7a63caa0e95f49bb..6b71d263e5092d417d2e0f97f497e02e21621ed6 100644 (file)
@@ -133,13 +133,15 @@ export class RbdFormComponent extends CdForm implements OnInit {
         desc: $localize`Deep flatten`,
         requires: null,
         allowEnable: false,
-        allowDisable: true
+        allowDisable: true,
+        helperHtml: $localize`Feature can be disabled but can't be re-enabled later`
       },
       layering: {
         desc: $localize`Layering`,
         requires: null,
         allowEnable: false,
-        allowDisable: false
+        allowDisable: false,
+        helperHtml: $localize`Feature can't be manipulated after the image is created`
       },
       'exclusive-lock': {
         desc: $localize`Exclusive lock`,
@@ -224,6 +226,11 @@ export class RbdFormComponent extends CdForm implements OnInit {
         this.rbdForm.get('deep-flatten').disable();
         this.rbdForm.get('layering').disable();
         this.rbdForm.get('exclusive-lock').disable();
+      } else {
+        if (!this.rbdForm.get('deep-flatten').value) {
+          this.rbdForm.get('deep-flatten').disable();
+        }
+        this.rbdForm.get('layering').disable();
       }
     });
   }