import { Component, Input, OnDestroy } from '@angular/core'; import { List } from 'immutable'; import { NgaMenuItem } from '@akveo/nga-theme'; import { Subscription } from 'rxjs/Subscription'; import { StateService } from '../../../@core/data/state.service'; // TODO: move layouts into the framework @Component({ selector: 'ngx-sample-layout', styleUrls: ['./sample.layout.scss'], template: ` `, }) export class SampleLayoutComponent implements OnDestroy { subMenu: List = List( [ { title: 'PAGE LEVEL MENU', group: true, }, { title: 'Buttons', icon: 'ion ion-android-radio-button-off', link: '/pages/ui-features/buttons', }, { title: 'Grid', icon: 'ion ion-android-radio-button-off', link: '/pages/ui-features/grid', }, { title: 'Icons', icon: 'ion ion-android-radio-button-off', link: '/pages/ui-features/icons', }, { title: 'Modals', icon: 'ion ion-android-radio-button-off', link: '/pages/ui-features/modals', }, { title: 'Typography', icon: 'ion ion-android-radio-button-off', link: '/pages/ui-features/typography', }, { title: 'Animated Searches', icon: 'ion ion-android-radio-button-off', link: '/pages/ui-features/search-fields', }, { title: 'Tabs', icon: 'ion ion-android-radio-button-off', link: '/pages/ui-features/tabs', }, ], ); layout: any = {}; sidebar: any = {}; protected layoutState$: Subscription; protected sidebarState$: Subscription; constructor(protected stateService: StateService) { this.layoutState$ = this.stateService.onLayoutState() .subscribe((layout: string) => this.layout = layout); this.sidebarState$ = this.stateService.onSidebarState() .subscribe((sidebar: string) => { this.sidebar = sidebar }); } ngOnDestroy() { this.layoutState$.unsubscribe(); this.sidebarState$.unsubscribe(); } }