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 6 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby10aXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2dldHRpL0RBRy9zb3JnZW50aS9naXRsYWItc29mdHdhcmVmYWN0b3J5L2NvbW1vbi1jb21wb25lbnQtbGliL3Byb2plY3RzL3BvcnRhbC1jb21tb24tY29tcG9uZW50LWxpYi9zcmMvIiwic291cmNlcyI6WyJsaWIvaW5mby10aXAvaW5mby10aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBZ0IsU0FBUyxFQUFtQixLQUFLLEVBQXFCLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFVcEQsTUFBTSxPQUFPLE9BQU87SUFVbkIscUVBQXFFO0lBRXJFLFlBQ2tCLGNBQThCLEVBQzlCLFdBQWlELEVBQ2pELGFBQStCLEVBQy9CLHdCQUFrRDtRQUhsRCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQXNDO1FBQ2pELGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO0lBRXBFLENBQUM7SUFFTSxRQUFRO1FBQ2QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRWQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FDbkQsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHVCQUF1QixDQUNwRCx1QkFBdUIsQ0FDdkIsQ0FDRCxDQUFDO1FBRUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDbEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLElBQUksS0FBSyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxXQUFXO1FBQ1YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxQixrQ0FBa0M7SUFDbkMsQ0FBQzs7O1lBOUNELFNBQVMsU0FDVDtnQkFDQyxRQUFRLEVBQUUsY0FBYztnQkFDdEIsUUFBUSxFQUFFLFdBQVc7YUFDdkI7OztZQVJPLGNBQWM7WUFGZ0YsV0FBVztZQUFFLGdCQUFnQjtZQUEzSCx3QkFBd0I7OztzQkFlL0IsS0FBSzs4QkFHTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRSZWYsIERpcmVjdGl2ZSwgRW1iZWRkZWRWaWV3UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEluZm9UaXBXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9pbmZvLXRpcC13cmFwcGVyL2luZm8tdGlwLXdyYXBwZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mb1RpcFNlcnZpY2UgfSBmcm9tICcuL2luZm8tdGlwLnNlcnZpY2UnO1xyXG5cclxudHlwZSBJbmZvVGlwRGlyZWN0aXZlQ29udGV4dCA9IGFueTtcclxuXHJcbkBEaXJlY3RpdmUoXHJcblx0e1xyXG5cdFx0ZXhwb3J0QXM6ICdkYWctaW5mby10aXAnXHJcblx0XHQsIHNlbGVjdG9yOiAnW2luZm9UaXBdJ1xyXG5cdH1cclxuKVxyXG5leHBvcnQgY2xhc3MgSW5mb1RpcFxyXG5cdGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuXHRASW5wdXQoKVxyXG5cdHByaXZhdGUgcmVhZG9ubHkgaW5mb1RpcDogc3RyaW5nO1xyXG5cclxuXHRASW5wdXQoKVxyXG5cdHByaXZhdGUgcmVhZG9ubHkgaW5mb1RpcFNob3dJY29uOiBib29sZWFuO1xyXG5cclxuXHRwcml2YXRlIHdyYXBwZXJSZWY6IENvbXBvbmVudFJlZjxJbmZvVGlwV3JhcHBlckNvbXBvbmVudD47XHJcblx0Ly8gcHJpdmF0ZSBlbWJlZGRlZFZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjxJbmZvVGlwRGlyZWN0aXZlQ29udGV4dD47XHJcblxyXG5cdHB1YmxpYyBjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgcmVhZG9ubHkgaW5mb1RpcFNlcnZpY2U6IEluZm9UaXBTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8SW5mb1RpcERpcmVjdGl2ZUNvbnRleHQ+LFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxyXG5cdCkge1xyXG5cdH1cclxuXHJcblx0cHVibGljIG5nT25Jbml0KCkge1xyXG5cdFx0Y29uc3QgdmlldyA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XHJcblx0XHR2aWV3LmRldGFjaCgpO1xyXG5cclxuXHRcdHRoaXMud3JhcHBlclJlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQ8SW5mb1RpcFdyYXBwZXJDb21wb25lbnQ+KFxyXG5cdFx0XHR0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShcclxuXHRcdFx0XHRJbmZvVGlwV3JhcHBlckNvbXBvbmVudFxyXG5cdFx0XHQpXHJcblx0XHQpO1xyXG5cclxuXHRcdHRoaXMud3JhcHBlclJlZi5pbnN0YW5jZS5lbHNlTGFiZWwgPSB0aGlzLmluZm9UaXA7XHJcblx0XHR0aGlzLndyYXBwZXJSZWYuaW5zdGFuY2Uuc2hvd0ljb24gPSB0aGlzLmluZm9UaXBTaG93SWNvbiB8fCBmYWxzZTtcclxuXHRcdHRoaXMud3JhcHBlclJlZi5pbnN0YW5jZS5pbmZvJCA9IHRoaXMuaW5mb1RpcFNlcnZpY2UuZ2V0SW5mbyQodGhpcy5pbmZvVGlwKTtcclxuXHJcblx0XHR2aWV3LnJlYXR0YWNoKCk7XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpIHtcclxuXHRcdHRoaXMud3JhcHBlclJlZi5kZXN0cm95KCk7XHJcblx0XHQvLyB0aGlzLmVtYmVkZGVkVmlld1JlZi5kZXN0cm95KCk7XHJcblx0fVxyXG59XHJcbiJdfQ==