2016-05-17 14:13:56 +03:00
|
|
|
import {Directive, HostBinding} from '@angular/core';
|
|
|
|
|
|
|
|
|
|
import {BaThemeConfigProvider, isMobile} from '../../../theme';
|
|
|
|
|
|
|
|
|
|
@Directive({
|
|
|
|
|
selector: '[baThemeRun]'
|
|
|
|
|
})
|
|
|
|
|
export class BaThemeRun {
|
|
|
|
|
|
2016-05-19 11:29:41 +03:00
|
|
|
private _classes:Array<string> = [];
|
|
|
|
|
@HostBinding('class') classesString:string;
|
2016-05-17 14:13:56 +03:00
|
|
|
|
|
|
|
|
constructor(private _baConfig:BaThemeConfigProvider) {
|
|
|
|
|
}
|
|
|
|
|
|
2016-05-18 16:47:23 +03:00
|
|
|
public ngOnInit():void {
|
2016-05-19 11:29:41 +03:00
|
|
|
this._assignTheme();
|
2016-05-18 16:47:23 +03:00
|
|
|
this._assignMobile();
|
2016-05-17 14:13:56 +03:00
|
|
|
}
|
|
|
|
|
|
2016-05-19 11:29:41 +03:00
|
|
|
private _assignTheme():void {
|
|
|
|
|
this._addClass(this._baConfig.get().theme.name);
|
2016-05-17 14:13:56 +03:00
|
|
|
}
|
|
|
|
|
|
2016-05-18 16:47:23 +03:00
|
|
|
private _assignMobile():void {
|
2016-05-19 11:29:41 +03:00
|
|
|
if (isMobile()) {
|
|
|
|
|
this._addClass('mobile');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private _addClass(cls:string) {
|
|
|
|
|
this._classes.push(cls);
|
|
|
|
|
this.classesString = this._classes.join(' ');
|
2016-05-17 14:13:56 +03:00
|
|
|
}
|
|
|
|
|
}
|