ngx-admin/src/app/app.component.ts

51 lines
1.2 KiB
TypeScript
Raw Normal View History

2016-05-17 17:42:13 +03:00
import './app.loader.ts';
2016-05-11 17:38:01 +03:00
import {Component, ViewEncapsulation} from '@angular/core';
2016-05-13 13:34:55 +03:00
import {RouteConfig} from '@angular/router-deprecated';
2016-04-21 20:34:07 +03:00
import {Pages} from './pages';
2016-05-16 17:08:43 +03:00
import {AppState} from './app.state';
2016-05-17 17:42:13 +03:00
import {BaThemeConfigProvider, BaThemeConfig, BaThemeSpinner} from './theme';
2016-05-17 14:13:56 +03:00
import {BaThemeRun} from './theme/directives';
2016-04-29 17:27:19 +03:00
/*
* App Component
* Top Level Component
*/
2016-04-20 16:32:12 +03:00
@Component({
selector: 'app',
2016-04-29 17:27:19 +03:00
pipes: [],
2016-05-17 14:13:56 +03:00
directives: [BaThemeRun],
2016-05-17 17:42:13 +03:00
providers: [BaThemeConfigProvider, BaThemeConfig, BaThemeSpinner],
2016-04-20 16:32:12 +03:00
encapsulation: ViewEncapsulation.None,
2016-04-29 17:27:19 +03:00
styles: [require('normalize.css'), require('./app.scss')],
2016-04-20 16:32:12 +03:00
template: `
2016-05-17 14:13:56 +03:00
<main [ngClass]="{'menu-collapsed': isMenuCollapsed}" baThemeRun>
2016-04-20 16:32:12 +03:00
<router-outlet></router-outlet>
</main>
`
})
@RouteConfig([
2016-04-21 20:34:07 +03:00
{
path: '/pages/...',
2016-04-21 20:34:07 +03:00
name: 'Pages',
component: Pages,
useAsDefault: true
},
2016-04-20 16:32:12 +03:00
])
export class App {
2016-04-29 17:23:33 +03:00
2016-04-29 17:27:19 +03:00
isMenuCollapsed:boolean = false;
2016-05-17 17:42:13 +03:00
constructor(private _state:AppState, private _baThemeConfig:BaThemeConfig, private _baSpinner:BaThemeSpinner) {
2016-04-20 16:32:12 +03:00
2016-05-13 13:34:55 +03:00
this._state.subscribe('menu.isCollapsed', (isCollapsed) => {
this.isMenuCollapsed = isCollapsed;
2016-05-02 14:40:12 +03:00
});
}
2016-05-17 17:42:13 +03:00
ngAfterViewInit() {
this._baSpinner.hide(200);
}
2016-04-20 16:32:12 +03:00
}