diff --git a/npm/ng-packs/packages/theme-basic/src/lib/components/application-layout/application-layout.component.ts b/npm/ng-packs/packages/theme-basic/src/lib/components/application-layout/application-layout.component.ts index de906894a4..32dd47bad6 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/components/application-layout/application-layout.component.ts +++ b/npm/ng-packs/packages/theme-basic/src/lib/components/application-layout/application-layout.component.ts @@ -1,8 +1,8 @@ -import {eLayoutType, RouterEvents, SubscriptionService} from '@abp/ng.core'; +import {eLayoutType, SubscriptionService} from '@abp/ng.core'; import { collapseWithMargin, slideFromBottom } from '@abp/ng.theme.shared'; -import {AfterViewInit, Component, OnDestroy} from '@angular/core'; +import {AfterViewInit, Component} from '@angular/core'; import { LayoutService } from '../../services/layout.service'; -import {Subscription} from "rxjs"; + @Component({ selector: 'abp-layout-application', @@ -10,23 +10,13 @@ import {Subscription} from "rxjs"; animations: [slideFromBottom, collapseWithMargin], providers: [LayoutService, SubscriptionService], }) -export class ApplicationLayoutComponent implements AfterViewInit , OnDestroy{ +export class ApplicationLayoutComponent implements AfterViewInit { // required for dynamic component static type = eLayoutType.application; - navigationEndSubscription:Subscription - constructor(public service: LayoutService, - routerEvents:RouterEvents, - ) { - this.navigationEndSubscription = routerEvents.getNavigationEvents('End').subscribe(() => { - service.isCollapsed = true; - }) - } + + constructor(public service: LayoutService) {} ngAfterViewInit() { this.service.subscribeWindowSize(); } - - ngOnDestroy(): void { - this.navigationEndSubscription.unsubscribe() - } } diff --git a/npm/ng-packs/packages/theme-basic/src/lib/services/layout.service.ts b/npm/ng-packs/packages/theme-basic/src/lib/services/layout.service.ts index 860f499d55..a990173218 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/services/layout.service.ts +++ b/npm/ng-packs/packages/theme-basic/src/lib/services/layout.service.ts @@ -1,4 +1,4 @@ -import { SubscriptionService } from '@abp/ng.core'; +import {RouterEvents, SubscriptionService} from '@abp/ng.core'; import { ChangeDetectorRef, Injectable } from '@angular/core'; import { fromEvent } from 'rxjs'; import { debounceTime } from 'rxjs/operators'; @@ -16,7 +16,13 @@ export class LayoutService { navItemsComponentKey = eThemeBasicComponents.NavItems; - constructor(private subscription: SubscriptionService, private cdRef: ChangeDetectorRef) {} + constructor(private subscription: SubscriptionService, + private cdRef: ChangeDetectorRef, + routerEvents:RouterEvents) { + subscription.addOne(routerEvents.getNavigationEvents("End"),() => { + this.isCollapsed = true; + }) + } private checkWindowWidth() { const isSmallScreen = window.innerWidth < 992;