[ACS-5564] Bugfix: Expand navigation menu icon is visible even when navigation menu is expanded (#3370)

* [ACS-5564] bug fixed

* [ACS-5564] fixed test

* [ACS-5564] simplify provider
This commit is contained in:
Mykyta Maliarchuk 2023-07-27 11:12:14 +02:00 committed by GitHub
parent 5508ff1362
commit 38d68193bd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 2 deletions

View File

@ -28,11 +28,13 @@ import { SidenavComponent } from './sidenav.component';
import { AppTestingModule } from '../../testing/app-testing.module'; import { AppTestingModule } from '../../testing/app-testing.module';
import { AppExtensionService, AppService } from '@alfresco/aca-shared'; import { AppExtensionService, AppService } from '@alfresco/aca-shared';
import { BehaviorSubject, Subject } from 'rxjs'; import { BehaviorSubject, Subject } from 'rxjs';
import { SidenavLayoutComponent } from '@alfresco/adf-core';
describe('SidenavComponent', () => { describe('SidenavComponent', () => {
let fixture: ComponentFixture<SidenavComponent>; let fixture: ComponentFixture<SidenavComponent>;
let component: SidenavComponent; let component: SidenavComponent;
let extensionService: AppExtensionService; let extensionService: AppExtensionService;
let sidenavLayoutComponent: SidenavLayoutComponent;
beforeEach(() => { beforeEach(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
@ -44,13 +46,15 @@ describe('SidenavComponent', () => {
appNavNarMode$: new BehaviorSubject('expanded'), appNavNarMode$: new BehaviorSubject('expanded'),
toggleAppNavBar$: new Subject() toggleAppNavBar$: new Subject()
} }
} },
SidenavLayoutComponent
], ],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}); });
fixture = TestBed.createComponent(SidenavComponent); fixture = TestBed.createComponent(SidenavComponent);
component = fixture.componentInstance; component = fixture.componentInstance;
sidenavLayoutComponent = TestBed.inject(SidenavLayoutComponent);
extensionService = TestBed.inject(AppExtensionService); extensionService = TestBed.inject(AppExtensionService);
extensionService.navbar = [ extensionService.navbar = [
{ {
@ -65,6 +69,9 @@ describe('SidenavComponent', () => {
] ]
} }
]; ];
component.data = {
layout: sidenavLayoutComponent
};
}); });
it('should set the sidenav data', async () => { it('should set the sidenav data', async () => {

View File

@ -66,6 +66,7 @@ export class SidenavComponent implements OnInit, OnDestroy {
this.appService.appNavNarMode$.next(this.data.mode); this.appService.appNavNarMode$.next(this.data.mode);
this.appService.toggleAppNavBar$.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.toggleNavBar()); 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 { trackByGroupId(_: number, obj: NavBarGroupRef): string {
@ -80,9 +81,13 @@ export class SidenavComponent implements OnInit, OnDestroy {
this.toggleNavBar(); this.toggleNavBar();
} }
private setNavBarMode() {
this.appService.appNavNarMode$.next(this.data.layout.isMenuMinimized || this.data.layout.isHeaderInside ? 'collapsed' : 'expanded');
}
private toggleNavBar() { private toggleNavBar() {
this.data.layout.toggleMenu(); this.data.layout.toggleMenu();
this.appService.appNavNarMode$.next(this.data.layout.isMenuMinimized ? 'collapsed' : 'expanded'); this.setNavBarMode();
} }
ngOnDestroy() { ngOnDestroy() {