[DURACOM-195] Base components (simplify header-navbar-wrapper)

This commit is contained in:
Davide Negretti
2023-11-23 14:07:23 +01:00
parent e84773afb2
commit d59f33278d
2 changed files with 6 additions and 18 deletions

View File

@@ -1,4 +1,4 @@
<div [ngClass]="{'open': !(isNavBarCollapsed | async)}" id="header-navbar-wrapper"> <div [ngClass]="{'open': !(isNavBarCollapsed$ | async)}" id="header-navbar-wrapper">
<ds-themed-header></ds-themed-header> <ds-themed-header></ds-themed-header>
<ds-themed-navbar></ds-themed-navbar> <ds-themed-navbar></ds-themed-navbar>
</div> </div>

View File

@@ -1,8 +1,5 @@
import { Component, HostBinding, OnDestroy, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { Store } from '@ngrx/store'; import { Observable } from 'rxjs';
import { AppState } from '../app.reducer';
import { hasValue } from '../shared/empty.util';
import { Observable, Subscription } from 'rxjs';
import { MenuService } from '../shared/menu/menu.service'; import { MenuService } from '../shared/menu/menu.service';
import { MenuID } from '../shared/menu/menu-id.model'; import { MenuID } from '../shared/menu/menu-id.model';
import { HostWindowService, WidthCategory } from '../shared/host-window.service'; import { HostWindowService, WidthCategory } from '../shared/host-window.service';
@@ -15,17 +12,14 @@ import { HostWindowService, WidthCategory } from '../shared/host-window.service'
styleUrls: ['header-navbar-wrapper.component.scss'], styleUrls: ['header-navbar-wrapper.component.scss'],
templateUrl: 'header-navbar-wrapper.component.html', templateUrl: 'header-navbar-wrapper.component.html',
}) })
export class HeaderNavbarWrapperComponent implements OnInit, OnDestroy { export class HeaderNavbarWrapperComponent implements OnInit {
@HostBinding('class.open') isOpen = false; public isNavBarCollapsed$: Observable<boolean>;
private sub: Subscription;
public isNavBarCollapsed: Observable<boolean>;
public isMobile$: Observable<boolean>; public isMobile$: Observable<boolean>;
menuID = MenuID.PUBLIC; menuID = MenuID.PUBLIC;
maxMobileWidth = WidthCategory.SM; maxMobileWidth = WidthCategory.SM;
constructor( constructor(
private store: Store<AppState>,
private menuService: MenuService, private menuService: MenuService,
protected windowService: HostWindowService, protected windowService: HostWindowService,
) { ) {
@@ -33,13 +27,7 @@ export class HeaderNavbarWrapperComponent implements OnInit, OnDestroy {
ngOnInit(): void { ngOnInit(): void {
this.isMobile$ = this.windowService.isUpTo(this.maxMobileWidth); this.isMobile$ = this.windowService.isUpTo(this.maxMobileWidth);
this.isNavBarCollapsed = this.menuService.isMenuCollapsed(this.menuID); this.isNavBarCollapsed$ = this.menuService.isMenuCollapsed(this.menuID);
this.sub = this.isNavBarCollapsed.subscribe((isCollapsed) => this.isOpen = !isCollapsed);
} }
ngOnDestroy() {
if (hasValue(this.sub)) {
this.sub.unsubscribe();
}
}
} }