From 9e820cf42e22a6586f18edc4232e1ce1f4e2c443 Mon Sep 17 00:00:00 2001 From: avanthakkar Date: Mon, 21 Aug 2023 22:21:32 +0530 Subject: [PATCH] mgr/dashboard: images: disable checkboxes for layering & deef-flatten Fixes: https://tracker.ceph.com/issues/62502 Signed-off-by: avanthakkar --- .../app/ceph/block/rbd-form/rbd-feature.interface.ts | 1 + .../ceph/block/rbd-form/rbd-form.component.spec.ts | 1 - .../src/app/ceph/block/rbd-form/rbd-form.component.ts | 11 +++++++++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-form/rbd-feature.interface.ts b/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-form/rbd-feature.interface.ts index c12975f05f1fa..825b1d2bb39b3 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-form/rbd-feature.interface.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-form/rbd-feature.interface.ts @@ -6,4 +6,5 @@ export interface RbdImageFeature { interlockedWith?: string; key?: string; initDisabled?: boolean; + helperHtml?: string; } diff --git a/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-form/rbd-form.component.spec.ts b/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-form/rbd-form.component.spec.ts index 7bf543f1af729..33b512e4d9ee9 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-form/rbd-form.component.spec.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-form/rbd-form.component.spec.ts @@ -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); diff --git a/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-form/rbd-form.component.ts b/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-form/rbd-form.component.ts index 28f77e0da08bf..6b71d263e5092 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-form/rbd-form.component.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-form/rbd-form.component.ts @@ -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(); } }); } -- 2.39.5