UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

41 lines 5.04 kB
import { TemplatePortal } from '@angular/cdk/portal'; import { Directive, TemplateRef, ViewContainerRef, } from '@angular/core'; import { TemplateHolderType, UiStateService, } from '../services/ui-state.service'; import * as i0 from "@angular/core"; import * as i1 from "../services/ui-state.service"; /** * Dynamically change page header content based on active template. * * Usage: * If you want to customize a page header, wrap a template with *aclPageHeaderContent. * * eg: * <ng-container *aclPageHeaderContent> * ... YOUR TEMPLATE CONTENT * </ng-container> */ export class PageHeaderContentDirective { constructor(templateRef, viewContainerRef, uiState) { this.templateRef = templateRef; this.viewContainerRef = viewContainerRef; this.uiState = uiState; this.templateHolder = this.uiState.getTemplateHolder(TemplateHolderType.PageHeaderContent); } ngOnInit() { const portal = new TemplatePortal(this.templateRef, this.viewContainerRef); this.templateHolder.setTemplatePortal(portal); } ngOnDestroy() { this.templateHolder.setTemplatePortal(null); } static { this.ɵfac = function PageHeaderContentDirective_Factory(t) { return new (t || PageHeaderContentDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i1.UiStateService)); }; } static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PageHeaderContentDirective, selectors: [["", "aclPageHeaderContent", ""]], standalone: true }); } } (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PageHeaderContentDirective, [{ type: Directive, args: [{ selector: '[aclPageHeaderContent]', standalone: true, }] }], () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.UiStateService }], null); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oZWFkZXItY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS9kaXJlY3RpdmVzL3BhZ2UtaGVhZGVyLWNvbnRlbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsU0FBUyxFQUdULFdBQVcsRUFDWCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUVMLGtCQUFrQixFQUNsQixjQUFjLEdBQ2YsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBRXRDOzs7Ozs7Ozs7O0dBVUc7QUFLSCxNQUFNLE9BQU8sMEJBQTBCO0lBR3JDLFlBQ21CLFdBQTZCLEVBQzdCLGdCQUFrQyxFQUNsQyxPQUF1QjtRQUZ2QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUV4QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQ2xELGtCQUFrQixDQUFDLGlCQUFpQixDQUNyQyxDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlDLENBQUM7MkZBcEJVLDBCQUEwQjtvRUFBMUIsMEJBQTBCOztpRkFBMUIsMEJBQTBCO2NBSnRDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxVQUFVLEVBQUUsSUFBSTthQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFRlbXBsYXRlSG9sZGVyLFxuICBUZW1wbGF0ZUhvbGRlclR5cGUsXG4gIFVpU3RhdGVTZXJ2aWNlLFxufSBmcm9tICcuLi9zZXJ2aWNlcy91aS1zdGF0ZS5zZXJ2aWNlJztcblxuLyoqXG4gKiBEeW5hbWljYWxseSBjaGFuZ2UgcGFnZSBoZWFkZXIgY29udGVudCBiYXNlZCBvbiBhY3RpdmUgdGVtcGxhdGUuXG4gKlxuICogVXNhZ2U6XG4gKiBJZiB5b3Ugd2FudCB0byBjdXN0b21pemUgYSBwYWdlIGhlYWRlciwgd3JhcCBhIHRlbXBsYXRlIHdpdGggKmFjbFBhZ2VIZWFkZXJDb250ZW50LlxuICpcbiAqIGVnOlxuICogPG5nLWNvbnRhaW5lciAqYWNsUGFnZUhlYWRlckNvbnRlbnQ+XG4gKiAgIC4uLiBZT1VSIFRFTVBMQVRFIENPTlRFTlRcbiAqIDwvbmctY29udGFpbmVyPlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWNsUGFnZUhlYWRlckNvbnRlbnRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgUGFnZUhlYWRlckNvbnRlbnREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHRlbXBsYXRlSG9sZGVyOiBUZW1wbGF0ZUhvbGRlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVpU3RhdGU6IFVpU3RhdGVTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLnRlbXBsYXRlSG9sZGVyID0gdGhpcy51aVN0YXRlLmdldFRlbXBsYXRlSG9sZGVyKFxuICAgICAgVGVtcGxhdGVIb2xkZXJUeXBlLlBhZ2VIZWFkZXJDb250ZW50LFxuICAgICk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy50ZW1wbGF0ZVJlZiwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICB0aGlzLnRlbXBsYXRlSG9sZGVyLnNldFRlbXBsYXRlUG9ydGFsKHBvcnRhbCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnRlbXBsYXRlSG9sZGVyLnNldFRlbXBsYXRlUG9ydGFsKG51bGwpO1xuICB9XG59XG4iXX0=