Set the correct return type for the 'getSidebar' method

+ Close the navbar on NavigationEnd on mobile devices
This commit is contained in:
Sercan Yemen 2018-04-04 11:36:00 +03:00
parent 4e6207fef5
commit 44663342f4
3 changed files with 24 additions and 10 deletions

View File

@ -58,7 +58,7 @@ export class FuseSidebarService
* *
* @param key * @param key
*/ */
getSidebar(key): any getSidebar(key): FuseSidebarComponent
{ {
// Check if the sidebar exists // Check if the sidebar exists
if ( !this._registry[key] ) if ( !this._registry[key] )

View File

@ -10,12 +10,12 @@
</div> </div>
<button mat-button class="toggle-button-navbar mat-icon-button" <button mat-button class="toggle-button-navbar mat-icon-button"
(click)="toggleSidebarFolded('navbar')" fxHide.lt-lg> (click)="toggleSidebarFolded()" fxHide.lt-lg>
<mat-icon>menu</mat-icon> <mat-icon>menu</mat-icon>
</button> </button>
<button mat-button class="toggle-button-navbar mat-icon-button" <button mat-button class="toggle-button-navbar mat-icon-button"
(click)="toggleSidebarOpened('navbar')" fxHide.gt-md> (click)="toggleSidebarOpened()" fxHide.gt-md>
<mat-icon>arrow_back</mat-icon> <mat-icon>arrow_back</mat-icon>
</button> </button>

View File

@ -1,4 +1,5 @@
import { Component, Input, OnDestroy, ViewChild, ViewEncapsulation } from '@angular/core'; import { Component, Input, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';
import { NavigationEnd, Router } from '@angular/router';
import { Subscription } from 'rxjs/Subscription'; import { Subscription } from 'rxjs/Subscription';
import { FusePerfectScrollbarDirective } from '@fuse/directives/fuse-perfect-scrollbar/fuse-perfect-scrollbar.directive'; import { FusePerfectScrollbarDirective } from '@fuse/directives/fuse-perfect-scrollbar/fuse-perfect-scrollbar.directive';
@ -13,7 +14,7 @@ import { FuseNavigationService } from '@fuse/components/navigation/navigation.se
styleUrls : ['./navbar.component.scss'], styleUrls : ['./navbar.component.scss'],
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class FuseNavbarComponent implements OnDestroy export class FuseNavbarComponent implements OnInit, OnDestroy
{ {
private fusePerfectScrollbar: FusePerfectScrollbarDirective; private fusePerfectScrollbar: FusePerfectScrollbarDirective;
@ -41,7 +42,8 @@ export class FuseNavbarComponent implements OnDestroy
constructor( constructor(
private sidebarService: FuseSidebarService, private sidebarService: FuseSidebarService,
private navigationService: FuseNavigationService private navigationService: FuseNavigationService,
private router: Router
) )
{ {
// Navigation data // Navigation data
@ -51,6 +53,18 @@ export class FuseNavbarComponent implements OnDestroy
this.layout = 'vertical'; this.layout = 'vertical';
} }
ngOnInit()
{
this.router.events.subscribe(
(event) => {
if ( event instanceof NavigationEnd )
{
this.sidebarService.getSidebar('navbar').close();
}
}
);
}
ngOnDestroy() ngOnDestroy()
{ {
if ( this.fusePerfectScrollbarUpdateTimeout ) if ( this.fusePerfectScrollbarUpdateTimeout )
@ -64,13 +78,13 @@ export class FuseNavbarComponent implements OnDestroy
} }
} }
toggleSidebarOpened(key) toggleSidebarOpened()
{ {
this.sidebarService.getSidebar(key).toggleOpen(); this.sidebarService.getSidebar('navbar').toggleOpen();
} }
toggleSidebarFolded(key) toggleSidebarFolded()
{ {
this.sidebarService.getSidebar(key).toggleFold(); this.sidebarService.getSidebar('navbar').toggleFold();
} }
} }