UNPKG

@cisstech/nge

Version:

NG Essentials is a collection of libraries for Angular developers.

48 lines 5.74 kB
import { Directive, Input, NgModule } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "@cisstech/nge/services"; export class DynamicComponentDirective { constructor(compilerService, viewContainerRef) { this.compilerService = compilerService; this.viewContainerRef = viewContainerRef; } async ngOnChanges() { this.viewContainerRef.clear(); await this.compilerService.render({ container: this.viewContainerRef, type: await this.type(), inputs: this.inputs, }); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: DynamicComponentDirective, deps: [{ token: i1.CompilerService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: DynamicComponentDirective, isStandalone: true, selector: "[dynamic-component]", inputs: { type: ["dynamic-component", "type"], inputs: ["dynamic-componentInputs", "inputs"] }, usesOnChanges: true, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: DynamicComponentDirective, decorators: [{ type: Directive, args: [{ selector: '[dynamic-component]', standalone: true, }] }], ctorParameters: () => [{ type: i1.CompilerService }, { type: i0.ViewContainerRef }], propDecorators: { type: [{ type: Input, args: ['dynamic-component'] }], inputs: [{ type: Input, args: ['dynamic-componentInputs'] }] } }); /** * @deprecated in favor of standalone api, so please use direclty the directive as a standalone. Will be removed in/after v18 */ export class DynamicComponentDirectiveModule { static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: DynamicComponentDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); } static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.1", ngImport: i0, type: DynamicComponentDirectiveModule, imports: [DynamicComponentDirective], exports: [DynamicComponentDirective] }); } static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: DynamicComponentDirectiveModule }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: DynamicComponentDirectiveModule, decorators: [{ type: NgModule, args: [{ imports: [DynamicComponentDirective], exports: [DynamicComponentDirective], }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdlL2RpcmVjdGl2ZXMvc3JjL2R5bmFtaWMtY29tcG9uZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQXFDLE1BQU0sZUFBZSxDQUFBOzs7QUFPN0YsTUFBTSxPQUFPLHlCQUF5QjtJQU1wQyxZQUNtQixlQUFnQyxFQUNoQyxnQkFBa0M7UUFEbEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFDbEQsQ0FBQztJQUVKLEtBQUssQ0FBQyxXQUFXO1FBQ2YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFBO1FBQzdCLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7WUFDaEMsU0FBUyxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDaEMsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRTtZQUN2QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs4R0FsQlUseUJBQXlCO2tHQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO21IQUdDLElBQUk7c0JBREgsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBR1EsTUFBTTtzQkFBdkMsS0FBSzt1QkFBQyx5QkFBeUI7O0FBaUJsQzs7R0FFRztBQUtILE1BQU0sT0FBTywrQkFBK0I7OEdBQS9CLCtCQUErQjsrR0FBL0IsK0JBQStCLFlBNUIvQix5QkFBeUIsYUFBekIseUJBQXlCOytHQTRCekIsK0JBQStCOzsyRkFBL0IsK0JBQStCO2tCQUozQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztpQkFDckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBOZ01vZHVsZSwgT25DaGFuZ2VzLCBUeXBlLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbXBpbGVyU2VydmljZSB9IGZyb20gJ0BjaXNzdGVjaC9uZ2Uvc2VydmljZXMnXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkeW5hbWljLWNvbXBvbmVudF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljQ29tcG9uZW50RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCdkeW5hbWljLWNvbXBvbmVudCcpXG4gIHR5cGUhOiAoKSA9PiBUeXBlPGFueT4gfCBQcm9taXNlPFR5cGU8YW55Pj5cblxuICBASW5wdXQoJ2R5bmFtaWMtY29tcG9uZW50SW5wdXRzJykgaW5wdXRzOiBhbnlcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbXBpbGVyU2VydmljZTogQ29tcGlsZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHt9XG5cbiAgYXN5bmMgbmdPbkNoYW5nZXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKClcbiAgICBhd2FpdCB0aGlzLmNvbXBpbGVyU2VydmljZS5yZW5kZXIoe1xuICAgICAgY29udGFpbmVyOiB0aGlzLnZpZXdDb250YWluZXJSZWYsXG4gICAgICB0eXBlOiBhd2FpdCB0aGlzLnR5cGUoKSxcbiAgICAgIGlucHV0czogdGhpcy5pbnB1dHMsXG4gICAgfSlcbiAgfVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIGluIGZhdm9yIG9mIHN0YW5kYWxvbmUgYXBpLCBzbyBwbGVhc2UgdXNlIGRpcmVjbHR5IHRoZSBkaXJlY3RpdmUgYXMgYSBzdGFuZGFsb25lLiBXaWxsIGJlIHJlbW92ZWQgaW4vYWZ0ZXIgdjE4XG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtEeW5hbWljQ29tcG9uZW50RGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW0R5bmFtaWNDb21wb25lbnREaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljQ29tcG9uZW50RGlyZWN0aXZlTW9kdWxlIHt9XG4iXX0=