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

55 lines
1.4 KiB
TypeScript
Raw Normal View History

2017-01-21 16:46:34 +03:00
import { Component, ViewContainerRef } from '@angular/core';
import * as $ from 'jquery';
import { GlobalState } from './global.state';
import { BaImageLoaderService, BaThemePreloader, BaThemeSpinner } from './theme/services';
import { BaThemeConfig } from './theme/theme.config';
import { layoutPaths } from './theme/theme.constants';
2016-04-29 17:27:19 +03:00
/*
* App Component
* Top Level Component
*/
2016-04-20 16:32:12 +03:00
@Component({
selector: 'app',
2017-04-20 13:28:56 +03:00
styleUrls: ['./app.component.scss'],
2016-04-20 16:32:12 +03:00
template: `
2017-04-20 13:28:56 +03:00
<main [class.menu-collapsed]="isMenuCollapsed" baThemeRun>
2016-05-19 12:15:02 +03:00
<div class="additional-bg"></div>
2016-04-20 16:32:12 +03:00
<router-outlet></router-outlet>
</main>
`
})
export class App {
2016-04-29 17:23:33 +03:00
isMenuCollapsed: boolean = false;
constructor(private _state: GlobalState,
private _imageLoader: BaImageLoaderService,
private _spinner: BaThemeSpinner,
private viewContainerRef: ViewContainerRef,
private themeConfig: BaThemeConfig) {
themeConfig.config();
2016-09-19 14:30:30 +03:00
this._loadImages();
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
public ngAfterViewInit(): void {
// hide spinner once all loaders are completed
BaThemePreloader.load().then((values) => {
this._spinner.hide();
});
}
private _loadImages(): void {
// register some loaders
BaThemePreloader.registerLoader(this._imageLoader.load('/assets/img/sky-bg.jpg'));
2016-05-17 17:42:13 +03:00
}
2016-04-20 16:32:12 +03:00
}