UNPKG

@infordata-web/portal-common-component-lib

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.0.14.

42 lines 5.99 kB
import { ComponentFactoryResolver, Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core'; import { InfoTipWrapperComponent } from './info-tip-wrapper/info-tip-wrapper.component'; import { InfoTipService } from './info-tip.service'; export class InfoTip { // private embeddedViewRef: EmbeddedViewRef<InfoTipDirectiveContext>; constructor(infoTipService, templateRef, viewContainer, componentFactoryResolver) { this.infoTipService = infoTipService; this.templateRef = templateRef; this.viewContainer = viewContainer; this.componentFactoryResolver = componentFactoryResolver; } ngOnInit() { const view = this.viewContainer.createEmbeddedView(this.templateRef); view.detach(); this.wrapperRef = this.viewContainer.createComponent(this.componentFactoryResolver.resolveComponentFactory(InfoTipWrapperComponent)); this.wrapperRef.instance.elseLabel = this.infoTip; this.wrapperRef.instance.showIcon = this.infoTipShowIcon || false; this.wrapperRef.instance.info$ = this.infoTipService.getInfo$(this.infoTip); view.reattach(); } ngOnDestroy() { this.wrapperRef.destroy(); // this.embeddedViewRef.destroy(); } } InfoTip.decorators = [ { type: Directive, args: [{ exportAs: 'dag-info-tip', selector: '[infoTip]' },] } ]; InfoTip.ctorParameters = () => [ { type: InfoTipService }, { type: TemplateRef }, { type: ViewContainerRef }, { type: ComponentFactoryResolver } ]; InfoTip.propDecorators = { infoTip: [{ type: Input }], infoTipShowIcon: [{ type: Input }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby10aXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2dldHRpL0RBRy9zb3JnZW50aS9naXRsYWItdGVybmkvY29tbW9uLWNvbXBvbmVudC1saWIvcHJvamVjdHMvcG9ydGFsLWNvbW1vbi1jb21wb25lbnQtbGliL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9pbmZvLXRpcC9pbmZvLXRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFnQixTQUFTLEVBQW1CLEtBQUssRUFBcUIsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVKLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQVVwRCxNQUFNLE9BQU8sT0FBTztJQVVuQixxRUFBcUU7SUFFckUsWUFDa0IsY0FBOEIsRUFDOUIsV0FBaUQsRUFDakQsYUFBK0IsRUFDL0Isd0JBQWtEO1FBSGxELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBc0M7UUFDakQsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7SUFFcEUsQ0FBQztJQUVNLFFBQVE7UUFDZCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFZCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUNuRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQ3BELHVCQUF1QixDQUN2QixDQUNELENBQUM7UUFFRixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNsRCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsSUFBSSxLQUFLLENBQUM7UUFDbEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU1RSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELFdBQVc7UUFDVixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzFCLGtDQUFrQztJQUNuQyxDQUFDOzs7WUE5Q0QsU0FBUyxTQUNUO2dCQUNDLFFBQVEsRUFBRSxjQUFjO2dCQUN0QixRQUFRLEVBQUUsV0FBVzthQUN2Qjs7O1lBUk8sY0FBYztZQUZnRixXQUFXO1lBQUUsZ0JBQWdCO1lBQTNILHdCQUF3Qjs7O3NCQWUvQixLQUFLOzhCQUdMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIENvbXBvbmVudFJlZiwgRGlyZWN0aXZlLCBFbWJlZGRlZFZpZXdSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW5mb1RpcFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL2luZm8tdGlwLXdyYXBwZXIvaW5mby10aXAtd3JhcHBlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbmZvVGlwU2VydmljZSB9IGZyb20gJy4vaW5mby10aXAuc2VydmljZSc7XHJcblxyXG50eXBlIEluZm9UaXBEaXJlY3RpdmVDb250ZXh0ID0gYW55O1xyXG5cclxuQERpcmVjdGl2ZShcclxuXHR7XHJcblx0XHRleHBvcnRBczogJ2RhZy1pbmZvLXRpcCdcclxuXHRcdCwgc2VsZWN0b3I6ICdbaW5mb1RpcF0nXHJcblx0fVxyXG4pXHJcbmV4cG9ydCBjbGFzcyBJbmZvVGlwXHJcblx0aW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG5cdEBJbnB1dCgpXHJcblx0cHJpdmF0ZSByZWFkb25seSBpbmZvVGlwOiBzdHJpbmc7XHJcblxyXG5cdEBJbnB1dCgpXHJcblx0cHJpdmF0ZSByZWFkb25seSBpbmZvVGlwU2hvd0ljb246IGJvb2xlYW47XHJcblxyXG5cdHByaXZhdGUgd3JhcHBlclJlZjogQ29tcG9uZW50UmVmPEluZm9UaXBXcmFwcGVyQ29tcG9uZW50PjtcclxuXHQvLyBwcml2YXRlIGVtYmVkZGVkVmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPEluZm9UaXBEaXJlY3RpdmVDb250ZXh0PjtcclxuXHJcblx0cHVibGljIGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBpbmZvVGlwU2VydmljZTogSW5mb1RpcFNlcnZpY2UsXHJcblx0XHRwcml2YXRlIHJlYWRvbmx5IHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxJbmZvVGlwRGlyZWN0aXZlQ29udGV4dD4sXHJcblx0XHRwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcblx0XHRwcml2YXRlIHJlYWRvbmx5IGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyXHJcblx0KSB7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgbmdPbkluaXQoKSB7XHJcblx0XHRjb25zdCB2aWV3ID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuXHRcdHZpZXcuZGV0YWNoKCk7XHJcblxyXG5cdFx0dGhpcy53cmFwcGVyUmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudDxJbmZvVGlwV3JhcHBlckNvbXBvbmVudD4oXHJcblx0XHRcdHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFxyXG5cdFx0XHRcdEluZm9UaXBXcmFwcGVyQ29tcG9uZW50XHJcblx0XHRcdClcclxuXHRcdCk7XHJcblxyXG5cdFx0dGhpcy53cmFwcGVyUmVmLmluc3RhbmNlLmVsc2VMYWJlbCA9IHRoaXMuaW5mb1RpcDtcclxuXHRcdHRoaXMud3JhcHBlclJlZi5pbnN0YW5jZS5zaG93SWNvbiA9IHRoaXMuaW5mb1RpcFNob3dJY29uIHx8IGZhbHNlO1xyXG5cdFx0dGhpcy53cmFwcGVyUmVmLmluc3RhbmNlLmluZm8kID0gdGhpcy5pbmZvVGlwU2VydmljZS5nZXRJbmZvJCh0aGlzLmluZm9UaXApO1xyXG5cclxuXHRcdHZpZXcucmVhdHRhY2goKTtcclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCkge1xyXG5cdFx0dGhpcy53cmFwcGVyUmVmLmRlc3Ryb3koKTtcclxuXHRcdC8vIHRoaXMuZW1iZWRkZWRWaWV3UmVmLmRlc3Ryb3koKTtcclxuXHR9XHJcbn1cclxuIl19