UNPKG

ad-custom-lib

Version:

This is an UI custom library based on Adminlte library with purpose for personal use, if you need a full template of Primeng please visit https://github.com/mledour/angular-admin-lte

226 lines 18.2 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, ContentChild, ElementRef, Input, NgZone, Renderer2, TemplateRef, ViewChild } from '@angular/core'; import { removeListeners, removeSubscriptions } from '../../helpers'; import { LayoutStore } from '../layout.store'; import { HeaderService } from './header.service'; /** * Header Logo */ export class HeaderLogoComponent { } HeaderLogoComponent.decorators = [ { type: Component, args: [{ selector: 'mk-layout-header-logo', template: '<ng-template #templateRef><ng-content></ng-content></ng-template>' }] } ]; HeaderLogoComponent.propDecorators = { templateRef: [{ type: ViewChild, args: ['templateRef', { static: true },] }] }; if (false) { /** @type {?} */ HeaderLogoComponent.prototype.templateRef; } /** * Header Logo Mini */ export class HeaderLogoMiniComponent { } HeaderLogoMiniComponent.decorators = [ { type: Component, args: [{ selector: 'mk-layout-header-logo-mini', template: '<ng-template #templateRef><ng-content></ng-content></ng-template>' }] } ]; HeaderLogoMiniComponent.propDecorators = { templateRef: [{ type: ViewChild, args: ['templateRef', { static: true },] }] }; if (false) { /** @type {?} */ HeaderLogoMiniComponent.prototype.templateRef; } /** * Header */ export class HeaderComponent { /** * \@method constructor * @param {?} layoutStore [description] * @param {?} ngZone [description] * @param {?} renderer2 [description] * @param {?} elementRef [description] * @param {?} headerService [description] */ constructor(layoutStore, ngZone, renderer2, elementRef, headerService) { this.layoutStore = layoutStore; this.ngZone = ngZone; this.renderer2 = renderer2; this.elementRef = elementRef; this.headerService = headerService; this.listeners = []; this.subscriptions = []; this.isSidebarLeftToggle = true; this.isSidebarRightToggle = true; this.logoLink = '/'; } /** * \@method ngAfterViewInit * @return {?} */ ngAfterViewInit() { this.headerService.elementRef = this.headerElement; if (this.sidebarLeftToggleElement) { this.subscriptions.push(this.layoutStore.isSidebarLeftCollapsed.subscribe((/** * @param {?} value * @return {?} */ (value) => { this.isSidebarLeftCollapsed = value; }))); this.ngZone.runOutsideAngular((/** * @return {?} */ () => { this.listeners.push(this.renderer2.listen(this.sidebarLeftToggleElement.nativeElement, 'click', (/** * @param {?} event * @return {?} */ (event) => { event.preventDefault(); this.layoutStore.sidebarLeftCollapsed(!this.isSidebarLeftCollapsed); }))); })); } if (this.sidebarRightToggleElement) { this.subscriptions.push(this.layoutStore.isSidebarRightCollapsed.subscribe((/** * @param {?} value * @return {?} */ (value) => { this.isSidebarRightCollapsed = value; }))); this.ngZone.runOutsideAngular((/** * @return {?} */ () => { this.listeners.push(this.renderer2.listen(this.sidebarRightToggleElement.nativeElement, 'click', (/** * @param {?} event * @return {?} */ (event) => { event.preventDefault(); this.layoutStore.sidebarRightCollapsed(!this.isSidebarRightCollapsed); }))); })); } } /** * \@method ngOnDestroy * @return {?} */ ngOnDestroy() { this.listeners = removeListeners(this.listeners); this.subscriptions = removeSubscriptions(this.subscriptions); } } HeaderComponent.decorators = [ { type: Component, args: [{ selector: 'mk-layout-header', template: "<header #headerElement class=\"main-header\">\r\n <a [routerLink]=\"logoLink\" class=\"logo\">\r\n <span class=\"logo-mini\">\r\n <ng-template [ngTemplateOutlet]=\"headerLogoMiniComponent?.templateRef\"></ng-template>\r\n </span>\r\n <span class=\"logo-lg\">\r\n <ng-template [ngTemplateOutlet]=\"headerLogoComponent?.templateRef\"></ng-template>\r\n </span>\r\n </a>\r\n <nav class=\"navbar navbar-static-top\">\r\n <a *ngIf=\"isSidebarLeftToggle\" #sidebarLeftToggleElement href=\"#\" class=\"sidebar-toggle\">\r\n <span class=\"sr-only\">Toggle navigation</span>\r\n <span class=\"icon-bar\"></span>\r\n <span class=\"icon-bar\"></span>\r\n <span class=\"icon-bar\"></span>\r\n </a>\r\n <div *ngIf=\"isSidebarRightToggle\" class=\"sidebar-right-toggle\">\r\n <a #sidebarRightToggleElement href=\"#\"><i class=\"fa fa-gears\"></i></a>\r\n </div>\r\n <ng-content></ng-content>\r\n </nav>\r\n</header>", styles: [":host{display:block}.sidebar-right-toggle{float:right}.sidebar-right-toggle a{padding:15px;display:block;line-height:20px;cursor:pointer}"] }] } ]; /** @nocollapse */ HeaderComponent.ctorParameters = () => [ { type: LayoutStore }, { type: NgZone }, { type: Renderer2 }, { type: ElementRef }, { type: HeaderService } ]; HeaderComponent.propDecorators = { isSidebarLeftToggle: [{ type: Input }], isSidebarRightToggle: [{ type: Input }], logoLink: [{ type: Input }], headerLogoComponent: [{ type: ContentChild, args: [HeaderLogoComponent, { static: true },] }], headerLogoMiniComponent: [{ type: ContentChild, args: [HeaderLogoMiniComponent, { static: true },] }], headerElement: [{ type: ViewChild, args: ['headerElement', { static: true },] }], sidebarLeftToggleElement: [{ type: ViewChild, args: ['sidebarLeftToggleElement', { static: false },] }], sidebarRightToggleElement: [{ type: ViewChild, args: ['sidebarRightToggleElement', { static: false },] }] }; if (false) { /** * @type {?} * @private */ HeaderComponent.prototype.isSidebarLeftCollapsed; /** * @type {?} * @private */ HeaderComponent.prototype.isSidebarRightCollapsed; /** * @type {?} * @private */ HeaderComponent.prototype.listeners; /** * @type {?} * @private */ HeaderComponent.prototype.subscriptions; /** @type {?} */ HeaderComponent.prototype.isSidebarLeftToggle; /** @type {?} */ HeaderComponent.prototype.isSidebarRightToggle; /** @type {?} */ HeaderComponent.prototype.logoLink; /** @type {?} */ HeaderComponent.prototype.headerLogoComponent; /** @type {?} */ HeaderComponent.prototype.headerLogoMiniComponent; /** * @type {?} * @private */ HeaderComponent.prototype.headerElement; /** * @type {?} * @private */ HeaderComponent.prototype.sidebarLeftToggleElement; /** * @type {?} * @private */ HeaderComponent.prototype.sidebarRightToggleElement; /** * @type {?} * @private */ HeaderComponent.prototype.layoutStore; /** * @type {?} * @private */ HeaderComponent.prototype.ngZone; /** * @type {?} * @private */ HeaderComponent.prototype.renderer2; /** * @type {?} * @private */ HeaderComponent.prototype.elementRef; /** * @type {?} * @private */ HeaderComponent.prototype.headerService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FkLWN1c3RvbS1saWIvIiwic291cmNlcyI6WyJsaWIvbGF5b3V0L2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ1ksU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxTQUFTLEVBQ3ZGLFdBQVcsRUFBRSxTQUFTLEVBQ3pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQVNqRCxNQUFNLE9BQU8sbUJBQW1COzs7WUFKL0IsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLFFBQVEsRUFBRSxtRUFBbUU7YUFDaEY7OzswQkFFSSxTQUFTLFNBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs7OztJQUExQywwQ0FBaUY7Ozs7O0FBVXJGLE1BQU0sT0FBTyx1QkFBdUI7OztZQUpuQyxTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLDRCQUE0QjtnQkFDdEMsUUFBUSxFQUFFLG1FQUFtRTthQUNoRjs7OzBCQUVJLFNBQVMsU0FBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOzs7O0lBQTFDLDhDQUFpRjs7Ozs7QUFXckYsTUFBTSxPQUFPLGVBQWU7Ozs7Ozs7OztJQXlCeEIsWUFDWSxXQUF3QixFQUN4QixNQUFjLEVBQ2QsU0FBb0IsRUFDcEIsVUFBc0IsRUFDdEIsYUFBNEI7UUFKNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGNBQVMs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RUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7dUNBQzNDLFNBQVMsU0FBQywwQkFBMEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7d0NBQ3ZELFNBQVMsU0FBQywyQkFBMkIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Ozs7Ozs7SUFkekQsaURBQXdDOzs7OztJQUN4QyxrREFBeUM7Ozs7O0lBQ3pDLG9DQUF1Qjs7Ozs7SUFDdkIsd0NBQTJCOztJQUUzQiw4Q0FBb0M7O0lBQ3BDLCtDQUFxQzs7SUFDckMsbUNBQXdDOztJQUV4Qyw4Q0FBcUc7O0lBQ3JHLGtEQUFpSDs7Ozs7SUFFakgsd0NBQWdGOzs7OztJQUNoRixtREFBdUc7Ozs7O0lBQ3ZHLG9EQUF5Rzs7Ozs7SUFXckcsc0NBQWdDOzs7OztJQUNoQyxpQ0FBc0I7Ozs7O0lBQ3RCLG9DQUE0Qjs7Ozs7SUFDNUIscUNBQThCOzs7OztJQUM5Qix3Q0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgUmVuZGVyZXIyLFxyXG4gICAgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgcmVtb3ZlTGlzdGVuZXJzLCByZW1vdmVTdWJzY3JpcHRpb25zIH0gZnJvbSAnLi4vLi4vaGVscGVycyc7XHJcbmltcG9ydCB7IExheW91dFN0b3JlIH0gZnJvbSAnLi4vbGF5b3V0LnN0b3JlJztcclxuaW1wb3J0IHsgSGVhZGVyU2VydmljZSB9IGZyb20gJy4vaGVhZGVyLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEhlYWRlciBMb2dvXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbWstbGF5b3V0LWhlYWRlci1sb2dvJyxcclxuICAgIHRlbXBsYXRlOiAnPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZVJlZj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9uZy10ZW1wbGF0ZT4nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIZWFkZXJMb2dvQ29tcG9uZW50IHtcclxuICAgIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlUmVmJywgeyBzdGF0aWM6IHRydWUgfSkgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG59XHJcblxyXG4vKipcclxuICogSGVhZGVyIExvZ28gTWluaVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ21rLWxheW91dC1oZWFkZXItbG9nby1taW5pJyxcclxuICAgIHRlbXBsYXRlOiAnPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZVJlZj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9uZy10ZW1wbGF0ZT4nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIZWFkZXJMb2dvTWluaUNvbXBvbmVudCB7XHJcbiAgICBAVmlld0NoaWxkKCd0ZW1wbGF0ZVJlZicsIHsgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEhlYWRlclxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ21rLWxheW91dC1oZWFkZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9oZWFkZXIuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgcHJpdmF0ZSBpc1NpZGViYXJMZWZ0Q29sbGFwc2VkOiBib29sZWFuO1xyXG4gICAgcHJpdmF0ZSBpc1NpZGViYXJSaWdodENvbGxhcHNlZDogYm9vbGVhbjtcclxuICAgIHByaXZhdGUgbGlzdGVuZXJzID0gW107XHJcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnMgPSBbXTtcclxuXHJcbiAgICBASW5wdXQoKSBpc1NpZGViYXJMZWZ0VG9nZ2xlID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGlzU2lkZWJhclJpZ2h0VG9nZ2xlID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGxvZ29MaW5rOiBzdHJpbmcgfCBhbnlbXSA9ICcvJztcclxuXHJcbiAgICBAQ29udGVudENoaWxkKEhlYWRlckxvZ29Db21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyBoZWFkZXJMb2dvQ29tcG9uZW50OiBIZWFkZXJMb2dvQ29tcG9uZW50O1xyXG4gICAgQENvbnRlbnRDaGlsZChIZWFkZXJMb2dvTWluaUNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgcHVibGljIGhlYWRlckxvZ29NaW5pQ29tcG9uZW50OiBIZWFkZXJMb2dvTWluaUNvbXBvbmVudDtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdoZWFkZXJFbGVtZW50JywgeyBzdGF0aWM6IHRydWUgfSkgcHJpdmF0ZSBoZWFkZXJFbGVtZW50OiBFbGVtZW50UmVmO1xyXG4gICAgQFZpZXdDaGlsZCgnc2lkZWJhckxlZnRUb2dnbGVFbGVtZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pIHByaXZhdGUgc2lkZWJhckxlZnRUb2dnbGVFbGVtZW50OiBFbGVtZW50UmVmO1xyXG4gICAgQFZpZXdDaGlsZCgnc2lkZWJhclJpZ2h0VG9nZ2xlRWxlbWVudCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwcml2YXRlIHNpZGViYXJSaWdodFRvZ2dsZUVsZW1lbnQ6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAbWV0aG9kIGNvbnN0cnVjdG9yXHJcbiAgICAgKiBAcGFyYW0gbGF5b3V0U3RvcmUgW2Rlc2NyaXB0aW9uXVxyXG4gICAgICogQHBhcmFtIG5nWm9uZSAgICAgIFtkZXNjcmlwdGlvbl1cclxuICAgICAqIEBwYXJhbSByZW5kZXJlcjIgICBbZGVzY3JpcHRpb25dXHJcbiAgICAgKiBAcGFyYW0gZWxlbWVudFJlZiAgIFtkZXNjcmlwdGlvbl1cclxuICAgICAqIEBwYXJhbSBoZWFkZXJTZXJ2aWNlICAgW2Rlc2NyaXB0aW9uXVxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGxheW91dFN0b3JlOiBMYXlvdXRTdG9yZSxcclxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxyXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXIyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByaXZhdGUgaGVhZGVyU2VydmljZTogSGVhZGVyU2VydmljZVxyXG4gICAgKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBtZXRob2QgbmdBZnRlclZpZXdJbml0XHJcbiAgICAgKi9cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLmhlYWRlclNlcnZpY2UuZWxlbWVudFJlZiA9IHRoaXMuaGVhZGVyRWxlbWVudDtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuc2lkZWJhckxlZnRUb2dnbGVFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMubGF5b3V0U3RvcmUuaXNTaWRlYmFyTGVmdENvbGxhcHNlZC5zdWJzY3JpYmUoKHZhbHVlOiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzU2lkZWJhckxlZnRDb2xsYXBzZWQgPSB2YWx1ZTtcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxpc3RlbmVycy5wdXNoKHRoaXMucmVuZGVyZXIyLmxpc3Rlbih0aGlzLnNpZGViYXJMZWZ0VG9nZ2xlRWxlbWVudC5uYXRpdmVFbGVtZW50LCAnY2xpY2snLCAoZXZlbnQ6IEV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxheW91dFN0b3JlLnNpZGViYXJMZWZ0Q29sbGFwc2VkKCF0aGlzLmlzU2lkZWJhckxlZnRDb2xsYXBzZWQpO1xyXG4gICAgICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuc2lkZWJhclJpZ2h0VG9nZ2xlRWxlbWVudCkge1xyXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLmxheW91dFN0b3JlLmlzU2lkZWJhclJpZ2h0Q29sbGFwc2VkLnN1YnNjcmliZSgodmFsdWU6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNTaWRlYmFyUmlnaHRDb2xsYXBzZWQgPSB2YWx1ZTtcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxpc3RlbmVycy5wdXNoKHRoaXMucmVuZGVyZXIyLmxpc3Rlbih0aGlzLnNpZGViYXJSaWdodFRvZ2dsZUVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2NsaWNrJywgKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXlvdXRTdG9yZS5zaWRlYmFyUmlnaHRDb2xsYXBzZWQoIXRoaXMuaXNTaWRlYmFyUmlnaHRDb2xsYXBzZWQpO1xyXG4gICAgICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAbWV0aG9kIG5nT25EZXN0cm95XHJcbiAgICAgKi9cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMubGlzdGVuZXJzID0gcmVtb3ZlTGlzdGVuZXJzKHRoaXMubGlzdGVuZXJzKTtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSByZW1vdmVTdWJzY3JpcHRpb25zKHRoaXMuc3Vic2NyaXB0aW9ucyk7XHJcbiAgICB9XHJcbn1cclxuIl19