From 612071b97cfba28cbb49c99ffb44da106774f954 Mon Sep 17 00:00:00 2001 From: nixa <4dmitr@gmail.com> Date: Wed, 18 May 2016 15:02:23 +0300 Subject: [PATCH] sidebar menu fixes --- .../components/pageTop/pageTop.component.ts | 5 ++++- .../components/sidebar/sidebar.component.ts | 16 +++++++++++++--- src/app/theme/components/sidebar/sidebar.html | 6 +++--- src/app/theme/components/sidebar/sidebar.scss | 1 + 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/app/theme/components/pageTop/pageTop.component.ts b/src/app/theme/components/pageTop/pageTop.component.ts index a71e2345..e1593cf5 100644 --- a/src/app/theme/components/pageTop/pageTop.component.ts +++ b/src/app/theme/components/pageTop/pageTop.component.ts @@ -14,11 +14,14 @@ import {ScrollPosition} from '../../directives'; encapsulation: ViewEncapsulation.None }) export class PageTop { + isScrolled:Boolean = false; isMenuCollapsed:boolean = false; - constructor(private _state:AppState) { + this._state.subscribe('menu.isCollapsed', (isCollapsed) => { + this.isMenuCollapsed = isCollapsed; + }); } toggleMenu() { diff --git a/src/app/theme/components/sidebar/sidebar.component.ts b/src/app/theme/components/sidebar/sidebar.component.ts index 01d7634b..24eda468 100644 --- a/src/app/theme/components/sidebar/sidebar.component.ts +++ b/src/app/theme/components/sidebar/sidebar.component.ts @@ -37,14 +37,20 @@ export class Sidebar { this._router.root.subscribe((path) => this._selectMenuItem(path)); } + ngOnInit() { + if (this._shouldMenuCollapse()) { + this.menuCollapse(); + } + } + ngAfterViewInit() { this.updateSidebarHeight(); } - @HostListener('window:resize', ['$event']) - onWindowResize($event) { + @HostListener('window:resize') + onWindowResize() { - var isMenuShouldCollapsed = $event.target.innerWidth <= layoutSizes.resWidthCollapseSidebar; + var isMenuShouldCollapsed = this._shouldMenuCollapse(); if (this.isMenuShouldCollapsed !== isMenuShouldCollapsed) { this.menuCollapseStateChange(isMenuShouldCollapsed); @@ -94,6 +100,10 @@ export class Sidebar { return false; } + private _shouldMenuCollapse() { + return window.innerWidth <= layoutSizes.resWidthCollapseSidebar; + } + private _selectMenuItem(currentPath = null) { let currentMenu = this._sidebarService.setRouter(this._router).selectMenuItem(this.menuItems, currentPath); diff --git a/src/app/theme/components/sidebar/sidebar.html b/src/app/theme/components/sidebar/sidebar.html index a706297b..3fae0ac1 100644 --- a/src/app/theme/components/sidebar/sidebar.html +++ b/src/app/theme/components/sidebar/sidebar.html @@ -1,7 +1,7 @@