ngx-admin-lte
Version:
AdminLTE theme for angular
89 lines • 13.9 kB
JavaScript
import * as tslib_1 from "tslib";
import { Component } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { MenuService } from '../../services/menu.service';
import { TranslateService } from '../../services/translate.service';
let LayoutAuthComponent = class LayoutAuthComponent {
constructor(menuServ, translate, route) {
this.menuServ = menuServ;
this.translate = translate;
this.mylinks = [];
this.skin = 'skin-blue';
this.display_control = true;
this.display_user = true;
this.display_tasks = true;
this.display_messages = true;
this.display_notifications = true;
this.display_menu_user = true;
this.display_menu_search = true;
this.display_logout = false;
this.header_components = [];
this.boxed_style = true;
this.display_control_sidebar = true;
const param = route.snapshot.data[0];
this.skin = this.paramExistOrDefault(param, 'skin', 'skin-blue');
this.display_control = this.paramExistOrDefault(param, 'display_control');
this.display_user = this.paramExistOrDefault(param, 'display_user');
this.display_tasks = this.paramExistOrDefault(param, 'display_tasks');
this.display_messages = this.paramExistOrDefault(param, 'display_messages');
this.display_notifications = this.paramExistOrDefault(param, 'display_notifications');
this.display_menu_user = this.paramExistOrDefault(param, 'display_menu_user');
this.display_menu_search = this.paramExistOrDefault(param, 'display_menu_search');
this.display_logout = this.paramExistOrDefault(param, 'display_logout', false);
this.display_control_sidebar = this.paramExistOrDefault(param, 'display_control_sidebar', true);
this.header_components = this.paramExistOrDefault(param, 'header_components', []);
this.boxed_style = this.paramExistOrDefault(param, 'boxed_style', true);
}
paramExistOrDefault(param, index, default_value = true) {
return param.hasOwnProperty(index) ? param[index] : default_value;
}
ngOnInit() {
// sedding the resize event, for AdminLTE to place the height
const ie = this.detectIE();
if (!ie) {
window.dispatchEvent(new Event('resize'));
}
else {
// solution for IE from @hakonamatata
const event = document.createEvent('Event');
event.initEvent('resize', false, true);
window.dispatchEvent(event);
}
// default menu structure, please use the menuService to modify
this.mylinks = [
{
'header': 'NAVIGATION'
},
{
'title': 'Home',
'icon': 'dashboard',
'link': ['/']
}
];
// register to menu change
this.menuServ.getCurrent().subscribe((menu) => {
this.mylinks = menu;
});
document.body.className = 'hold-transition ' + this.skin + ' sidebar-mini';
}
ngOnDestroy() {
document.body.className = '';
}
detectIE() {
const ua = window.navigator.userAgent;
return ua.includes('MSIE ') || ua.includes('Trident/') || ua.includes('Edge/');
}
};
LayoutAuthComponent.ctorParameters = () => [
{ type: MenuService },
{ type: TranslateService },
{ type: ActivatedRoute }
];
LayoutAuthComponent = tslib_1.__decorate([
Component({
selector: 'app-layouts-auth',
template: "<div class=\"wrapper\">\n\t<app-header\n\t\t[display_messages]='display_messages'\n\t\t[display_notifications]='display_notifications'\n\t\t[display_tasks]='display_tasks'\n\t\t[display_user]='display_user'\n\t\t[display_control]='display_control'\n\t\t[display_logout]='display_logout'\n\t\t[header_components]='header_components'\n >{{ 'LOADING' | translate }} header...</app-header>\n\t<app-menu-aside\n\t[links]=\"mylinks\"\n\t[display_menu_user]='display_menu_user'\n\t[display_menu_search]='display_menu_search'\n\t>{{ 'LOADING' | translate }} menu...</app-menu-aside>\n\n\t<!-- Content Wrapper. Contains page content -->\n\t<div class=\"content-wrapper\">\n\t\t<!-- Content Header (Page header) -->\n\t\t<app-breadcrumb></app-breadcrumb>\n\n\t\t<!-- Main content -->\n\t\t<section class=\"content\">\n\t\t\t<div [ngClass]=\"{'box': boxed_style, 'box-default': boxed_style}\">\n\t\t\t\t<div [ngClass]=\"{'box-body': boxed_style}\">\n\t\t\t\t\t<router-outlet></router-outlet>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t\t<!-- /.content -->\n\t</div>\n\t<!-- /.content-wrapper -->\n\t<app-footer>{{ 'LOADING' | translate }} footer...</app-footer>\n\t<app-control-sidebar *ngIf='display_control_sidebar'>{{ 'LOADING' | translate }} control sidebar...</app-control-sidebar>\n</div>\n<!-- ./wrapper -->\n"
})
], LayoutAuthComponent);
export { LayoutAuthComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1hZG1pbi1sdGUvIiwic291cmNlcyI6WyJsYXlvdXRzL2F1dGgvYXV0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQU1wRSxJQUFhLG1CQUFtQixHQUFoQyxNQUFhLG1CQUFtQjtJQWU1QixZQUNVLFFBQXFCLEVBQ3JCLFNBQTJCLEVBQ25DLEtBQXFCO1FBRmIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQWhCOUIsWUFBTyxHQUFlLEVBQUUsQ0FBQztRQUN6QixTQUFJLEdBQUcsV0FBVyxDQUFDO1FBQ25CLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUN4QiwwQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDN0Isc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLHdCQUFtQixHQUFHLElBQUksQ0FBQztRQUMzQixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixzQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFDdkIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDbkIsNEJBQXVCLEdBQUcsSUFBSSxDQUFDO1FBTWxDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUss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LENBQUM7SUFFTSxXQUFXO1FBQ2hCLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRVMsUUFBUTtRQUNkLE1BQU0sRUFBRSxHQUFXLE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBQzlDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkYsQ0FBQztDQUVKLENBQUE7O1lBaEV1QixXQUFXO1lBQ1YsZ0JBQWdCO1lBQzVCLGNBQWM7O0FBbEJkLG1CQUFtQjtJQUovQixTQUFTLENBQUU7UUFDUixRQUFRLEVBQUUsa0JBQWtCO1FBQzVCLDh5Q0FBMEI7S0FDN0IsQ0FBQztHQUNXLG1CQUFtQixDQWdGL0I7U0FoRlksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTWVudVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0ZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCgge1xuICAgIHNlbGVjdG9yOiAnYXBwLWxheW91dHMtYXV0aCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2F1dGguaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0QXV0aENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwdWJsaWMgbXlsaW5rczogQXJyYXk8YW55PiA9IFtdO1xuICAgIHB1YmxpYyBza2luID0gJ3NraW4tYmx1ZSc7XG4gICAgcHVibGljIGRpc3BsYXlfY29udHJvbCA9IHRydWU7XG4gICAgcHVibGljIGRpc3BsYXlfdXNlciA9IHRydWU7XG4gICAgcHVibGljIGRpc3BsYXlfdGFza3MgPSB0cnVlO1xuICAgIHB1YmxpYyBkaXNwbGF5X21lc3NhZ2VzID0gdHJ1ZTtcbiAgICBwdWJsaWMgZGlzcGxheV9ub3RpZmljYXRpb25zID0gdHJ1ZTtcbiAgICBwdWJsaWMgZGlzcGxheV9tZW51X3VzZXIgPSB0cnVlO1xuICAgIHB1YmxpYyBkaXNwbGF5X21lbnVfc2VhcmNoID0gdHJ1ZTtcbiAgICBwdWJsaWMgZGlzcGxheV9sb2dvdXQgPSBmYWxzZTtcbiAgICBwdWJsaWMgaGVhZGVyX2NvbXBvbmVudHMgPSBbXTtcbiAgICBwdWJsaWMgYm94ZWRfc3R5bGUgPSB0cnVlO1xuICAgIHB1YmxpYyBkaXNwbGF5X2NvbnRyb2xfc2lkZWJhciA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgbWVudVNlcnY6IE1lbnVTZXJ2aWNlLFxuICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICAgICAgY29uc3QgcGFyYW0gPSByb3V0ZS5zbmFwc2hvdC5kYXRhWzBdO1xuICAgICAgICB0aGlzLnNraW4gPSB0aGlzLnBhcmFtRXhpc3RPckRlZmF1bHQocGFyYW0sICdza2luJywgJ3NraW4tYmx1ZScpO1xuICAgICAgICB0aGlzLmRpc3BsYXlfY29udHJvbCA9IHRoaXMucGFyYW1FeGlzdE9yRGVmYXVsdChwYXJhbSwgJ2Rpc3BsYXlfY29udHJvbCcpO1xuICAgICAgICB0aGlzLmRpc3BsYXlfdXNlciA9IHRoaXMucGFyYW1FeGlzdE9yRGVmYXVsdChwYXJhbSwgJ2Rpc3BsYXlfdXNlcicpO1xuICAgICAgICB0aGlzLmRpc3BsYXlfdGFza3MgPSB0aGlzLnBhcmFtRXhpc3RPckRlZmF1bHQocGFyYW0sICdkaXNwbGF5X3Rhc2tzJyk7XG4gICAgICAgIHRoaXMuZGlzcGxheV9tZXNzYWdlcyA9IHRoaXMucGFyYW1FeGlzdE9yRGVmYXVsdChwYXJhbSwgJ2Rpc3BsYXlfbWVzc2FnZXMnKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5X25vdGlmaWNhdGlvbnMgPSB0aGlzLnBhcmFtRXhpc3RPckRlZmF1bHQocGFyYW0sICdkaXNwbGF5X25vdGlmaWNhdGlvbnMnKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5X21lbnVfdXNlciA9IHRoaXMucGFyYW1FeGlzdE9yRGVmYXVsdChwYXJhbSwgJ2Rpc3BsYXlfbWVudV91c2VyJyk7XG4gICAgICAgIHRoaXMuZGlzcGxheV9tZW51X3NlYXJjaCA9IHRoaXMucGFyYW1FeGlzdE9yRGVmYXVsdChwYXJhbSwgJ2Rpc3BsYXlfbWVudV9zZWFyY2gnKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5X2xvZ291dCA9IHRoaXMucGFyYW1FeGlzdE9yRGVmYXVsdChwYXJhbSwgJ2Rpc3BsYXlfbG9nb3V0JywgZmFsc2UpO1xuICAgICAgICB0aGlzLmRpc3BsYXlfY29udHJvbF9zaWRlYmFyID0gdGhpcy5wYXJhbUV4aXN0T3JEZWZhdWx0KHBhcmFtLCAnZGlzcGxheV9jb250cm9sX3NpZGViYXInLCB0cnVlKTtcbiAgICAgICAgdGhpcy5oZWFkZXJfY29tcG9uZW50cyA9IHRoaXMucGFyYW1FeGlzdE9yRGVmYXVsdChwYXJhbSwgJ2hlYWRlcl9jb21wb25lbnRzJywgW10pO1xuICAgICAgICB0aGlzLmJveGVkX3N0eWxlID0gdGhpcy5wYXJhbUV4aXN0T3JEZWZhdWx0KHBhcmFtLCAnYm94ZWRfc3R5bGUnLCB0cnVlKTtcblxuICAgIH1cblxuICAgIHByaXZhdGUgcGFyYW1FeGlzdE9yRGVmYXVsdChwYXJhbTogYW55LCBpbmRleDogc3RyaW5nLCBkZWZhdWx0X3ZhbHVlOiBhbnkgPSB0cnVlKSB7XG4gICAgICByZXR1cm4gcGFyYW0uaGFzT3duUHJvcGVydHkoaW5kZXgpID8gcGFyYW1baW5kZXhdIDogZGVmYXVsdF92YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vICBzZWRkaW5nIHRoZSByZXNpemUgZXZlbnQsIGZvciBBZG1pbkxURSB0byBwbGFjZSB0aGUgaGVpZ2h0XG4gICAgICAgIGNvbnN0IGllID0gdGhpcy5kZXRlY3RJRSgpO1xuICAgICAgICBpZiAoIWllKSB7XG4gICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudCggbmV3IEV2ZW50KCAncmVzaXplJyApICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBzb2x1dGlvbiBmb3IgSUUgZnJvbSBAaGFrb25hbWF0YXRhXG4gICAgICAgICAgICBjb25zdCBldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCAnRXZlbnQnICk7XG4gICAgICAgICAgICBldmVudC5pbml0RXZlbnQoICdyZXNpemUnLCBmYWxzZSwgdHJ1ZSApO1xuICAgICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQoIGV2ZW50ICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBkZWZhdWx0IG1lbnUgc3RydWN0dXJlLCBwbGVhc2UgdXNlIHRoZSBtZW51U2VydmljZSB0byBtb2RpZnlcbiAgICAgICAgdGhpcy5teWxpbmtzID0gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgICdoZWFkZXInOiAnTkFWSUdBVElPTidcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgICd0aXRsZSc6ICdIb21lJyxcbiAgICAgICAgICAgICdpY29uJzogJ2Rhc2hib2FyZCcsXG4gICAgICAgICAgICAnbGluayc6IFsnLyddXG4gICAgICAgICAgfVxuICAgICAgICBdO1xuXG4gICAgICAgIC8vIHJlZ2lzdGVyIHRvIG1lbnUgY2hhbmdlXG4gICAgICAgIHRoaXMubWVudVNlcnYuZ2V0Q3VycmVudCgpLnN1YnNjcmliZSgobWVudSkgPT4ge1xuICAgICAgICAgIHRoaXMubXlsaW5rcyA9IG1lbnU7XG4gICAgICAgIH0pO1xuXG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSA9ICdob2xkLXRyYW5zaXRpb24gJyArIHRoaXMuc2tpbiArICcgc2lkZWJhci1taW5pJztcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSA9ICcnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBkZXRlY3RJRSgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgdWE6IHN0cmluZyA9IHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50O1xuICAgICAgICByZXR1cm4gdWEuaW5jbHVkZXMoJ01TSUUgJykgfHwgdWEuaW5jbHVkZXMoJ1RyaWRlbnQvJykgfHwgdWEuaW5jbHVkZXMoJ0VkZ2UvJyk7XG4gICAgfVxuXG59XG4iXX0=