diff --git a/projects/aca-content/src/lib/components/sidenav/sidenav.component.spec.ts b/projects/aca-content/src/lib/components/sidenav/sidenav.component.spec.ts index c0e02d15f..5ee56dcb3 100644 --- a/projects/aca-content/src/lib/components/sidenav/sidenav.component.spec.ts +++ b/projects/aca-content/src/lib/components/sidenav/sidenav.component.spec.ts @@ -28,11 +28,13 @@ import { SidenavComponent } from './sidenav.component'; import { AppTestingModule } from '../../testing/app-testing.module'; import { AppExtensionService, AppService } from '@alfresco/aca-shared'; import { BehaviorSubject, Subject } from 'rxjs'; +import { SidenavLayoutComponent } from '@alfresco/adf-core'; describe('SidenavComponent', () => { let fixture: ComponentFixture; let component: SidenavComponent; let extensionService: AppExtensionService; + let sidenavLayoutComponent: SidenavLayoutComponent; beforeEach(() => { TestBed.configureTestingModule({ @@ -44,13 +46,15 @@ describe('SidenavComponent', () => { appNavNarMode$: new BehaviorSubject('expanded'), toggleAppNavBar$: new Subject() } - } + }, + SidenavLayoutComponent ], schemas: [NO_ERRORS_SCHEMA] }); fixture = TestBed.createComponent(SidenavComponent); component = fixture.componentInstance; + sidenavLayoutComponent = TestBed.inject(SidenavLayoutComponent); extensionService = TestBed.inject(AppExtensionService); extensionService.navbar = [ { @@ -65,6 +69,9 @@ describe('SidenavComponent', () => { ] } ]; + component.data = { + layout: sidenavLayoutComponent + }; }); it('should set the sidenav data', async () => { diff --git a/projects/aca-content/src/lib/components/sidenav/sidenav.component.ts b/projects/aca-content/src/lib/components/sidenav/sidenav.component.ts index 57d6f61bd..993da2b0f 100755 --- a/projects/aca-content/src/lib/components/sidenav/sidenav.component.ts +++ b/projects/aca-content/src/lib/components/sidenav/sidenav.component.ts @@ -66,6 +66,7 @@ export class SidenavComponent implements OnInit, OnDestroy { this.appService.appNavNarMode$.next(this.data.mode); this.appService.toggleAppNavBar$.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.toggleNavBar()); + this.data.layout.expanded.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.setNavBarMode()); } trackByGroupId(_: number, obj: NavBarGroupRef): string { @@ -80,9 +81,13 @@ export class SidenavComponent implements OnInit, OnDestroy { this.toggleNavBar(); } + private setNavBarMode() { + this.appService.appNavNarMode$.next(this.data.layout.isMenuMinimized || this.data.layout.isHeaderInside ? 'collapsed' : 'expanded'); + } + private toggleNavBar() { this.data.layout.toggleMenu(); - this.appService.appNavNarMode$.next(this.data.layout.isMenuMinimized ? 'collapsed' : 'expanded'); + this.setNavBarMode(); } ngOnDestroy() {