From 3f8fb54976d230362ecf2b9d4cc39ccb0247a2f8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 28 Aug 2026 14:53:38 +0000 Subject: [PATCH] fix: show sidenav shell when layout is sidenav even with no sections Co-authored-by: eromano <1030050+eromano@users.noreply.github.com> --- .../src/lib/form/components/form-renderer.component.spec.ts | 6 ++++++ lib/core/src/lib/form/components/widgets/core/form.model.ts | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/core/src/lib/form/components/form-renderer.component.spec.ts b/lib/core/src/lib/form/components/form-renderer.component.spec.ts index 495aabe754..03c6ce8b1d 100644 --- a/lib/core/src/lib/form/components/form-renderer.component.spec.ts +++ b/lib/core/src/lib/form/components/form-renderer.component.spec.ts @@ -1119,6 +1119,12 @@ describe('Form Renderer Component', () => { expect(form.hasSideNav()).toBeFalse(); }); + it('should report hasSideNav as true when layout is sidenav even with no sections', () => { + const form = new FormModel({ layout: 'sidenav', tabs: [], fields: [] }); + formRendererComponent.formDefinition = form; + expect(form.hasSideNav()).toBeTrue(); + }); + it('should default the active section to the first visible leaf node', () => { formRendererComponent.formDefinition = buildSideNavForm(); expect(formRendererComponent.activeSideNavSectionId()).toBe('section-1'); diff --git a/lib/core/src/lib/form/components/widgets/core/form.model.ts b/lib/core/src/lib/form/components/widgets/core/form.model.ts index 753bcaae03..40b15e8a1e 100644 --- a/lib/core/src/lib/form/components/widgets/core/form.model.ts +++ b/lib/core/src/lib/form/components/widgets/core/form.model.ts @@ -354,10 +354,10 @@ export class FormModel implements ProcessFormModel { * Indicates whether the form should be rendered using the hierarchical side navigation * layout instead of the classic tabs layout. * - * @returns true when the form has tabs and its layout is set to `sidenav` + * @returns true when the form layout is set to `sidenav` */ hasSideNav(): boolean { - return this.layout === 'sidenav' && this.hasTabs(); + return this.layout === 'sidenav'; } /**