2017-01-21 16:46:34 +03:00
|
|
|
import { Component, ViewContainerRef } from '@angular/core';
|
2017-01-20 18:18:59 +03:00
|
|
|
|
2016-08-26 17:37:59 +03:00
|
|
|
import { GlobalState } from './global.state';
|
|
|
|
|
import { BaImageLoaderService, BaThemePreloader, BaThemeSpinner } from './theme/services';
|
2017-02-03 15:09:03 +03:00
|
|
|
import { BaThemeConfig } from './theme/theme.config';
|
2016-08-26 17:37:59 +03:00
|
|
|
import { layoutPaths } from './theme/theme.constants';
|
2017-01-09 11:37:57 +03:00
|
|
|
|
2017-01-20 18:18:59 +03:00
|
|
|
import 'style-loader!./app.scss';
|
|
|
|
|
import 'style-loader!./theme/initial.scss';
|
2017-01-09 11:37:57 +03:00
|
|
|
|
2016-04-29 17:27:19 +03:00
|
|
|
/*
|
|
|
|
|
* App Component
|
|
|
|
|
* Top Level Component
|
|
|
|
|
*/
|
2016-04-20 16:32:12 +03:00
|
|
|
@Component({
|
|
|
|
|
selector: 'app',
|
|
|
|
|
template: `
|
2016-05-17 14:13:56 +03:00
|
|
|
<main [ngClass]="{'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
|
|
|
|
2016-08-26 17:37:59 +03:00
|
|
|
isMenuCollapsed: boolean = false;
|
2016-04-29 11:49:49 +03:00
|
|
|
|
2016-08-26 17:37:59 +03:00
|
|
|
constructor(private _state: GlobalState,
|
|
|
|
|
private _imageLoader: BaImageLoaderService,
|
2016-10-04 12:36:08 +03:00
|
|
|
private _spinner: BaThemeSpinner,
|
2017-02-03 15:09:03 +03:00
|
|
|
private viewContainerRef: ViewContainerRef,
|
|
|
|
|
private themeConfig: BaThemeConfig) {
|
|
|
|
|
|
|
|
|
|
themeConfig.config();
|
2016-09-19 14:30:30 +03:00
|
|
|
|
2016-05-24 16:40:17 +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-04-29 11:49:49 +03:00
|
|
|
}
|
2016-05-17 17:42:13 +03:00
|
|
|
|
2016-08-26 17:37:59 +03:00
|
|
|
public ngAfterViewInit(): void {
|
2016-05-24 16:40:17 +03:00
|
|
|
// hide spinner once all loaders are completed
|
|
|
|
|
BaThemePreloader.load().then((values) => {
|
|
|
|
|
this._spinner.hide();
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
2016-08-26 17:37:59 +03:00
|
|
|
private _loadImages(): void {
|
2016-05-24 16:40:17 +03:00
|
|
|
// register some loaders
|
2016-05-25 17:16:46 +03:00
|
|
|
BaThemePreloader.registerLoader(this._imageLoader.load(layoutPaths.images.root + 'sky-bg.jpg'));
|
2016-05-17 17:42:13 +03:00
|
|
|
}
|
2017-01-10 11:32:26 +03:00
|
|
|
|
2016-04-20 16:32:12 +03:00
|
|
|
}
|