UNPKG

ngx-dynamic-compiler

Version:

191 lines (184 loc) 6.62 kB
import { CommonModule } from '@angular/common'; import { Injectable, Component, ViewChild, ViewContainerRef, Compiler, NgModule, Input, Output, EventEmitter, defineInjectable, COMPILER_OPTIONS, CompilerFactory } from '@angular/core'; import { JitCompilerFactory } from '@angular/platform-browser-dynamic'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var NgxDynamicCompilerService = /** @class */ (function () { function NgxDynamicCompilerService() { } NgxDynamicCompilerService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ NgxDynamicCompilerService.ctorParameters = function () { return []; }; /** @nocollapse */ NgxDynamicCompilerService.ngInjectableDef = defineInjectable({ factory: function NgxDynamicCompilerService_Factory() { return new NgxDynamicCompilerService(); }, token: NgxDynamicCompilerService, providedIn: "root" }); return NgxDynamicCompilerService; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var NgxDynamicCompilerComponent = /** @class */ (function () { function NgxDynamicCompilerComponent(compiler) { this.compiler = compiler; this.Data = {}; this.Template = ''; this.Output = new EventEmitter(); this.html = ''; this.returnUrl = '/'; this.showFilter = true; } /** * @return {?} */ NgxDynamicCompilerComponent.prototype.ngOnInit = /** * @return {?} */ function () { this.compileTemplate(this.Data); }; /** * @return {?} */ NgxDynamicCompilerComponent.prototype.ngOnChanges = /** * @return {?} */ function () { }; /** * @param {?} data * @return {?} */ NgxDynamicCompilerComponent.prototype.compileTemplate = /** * @param {?} data * @return {?} */ function (data) { /** @type {?} */ var metaData = { // template:this.template, template: this.Template, selector: 'ptv-template' }; /** @type {?} */ var factory = this.createComponentFactorySync(this.compiler, metaData, null, data); if (this.componentRef) { this.componentRef.destroy(); this.componentRef = null; } this.componentRef = this.container.createComponent(factory); }; /** * @param {?} compiler * @param {?} metadata * @param {?} componentClass * @param {?} data * @return {?} */ NgxDynamicCompilerComponent.prototype.createComponentFactorySync = /** * @param {?} compiler * @param {?} metadata * @param {?} componentClass * @param {?} data * @return {?} */ function (compiler, metadata, componentClass, data) { /** @type {?} */ var cmpClass = componentClass || /** @class */ (function () { function RuntimeComponent() { this.Data = data; } return RuntimeComponent; }()); /** @type {?} */ var decoratedCmp = Component(metadata)(cmpClass); var RuntimeModule = /** @class */ (function () { function RuntimeModule() { } RuntimeModule.decorators = [ { type: NgModule, args: [{ imports: [CommonModule], declarations: [decoratedCmp] },] }, ]; return RuntimeModule; }()); /** @type {?} */ var module = compiler.compileModuleAndAllComponentsSync(RuntimeModule); console.log(JSON.stringify(module.componentFactories)); return module.componentFactories.find((/** * @param {?} el * @return {?} */ function (el) { return el.componentType == decoratedCmp; })); }; /** * @return {?} */ NgxDynamicCompilerComponent.prototype.ngOnDestroy = /** * @return {?} */ function () { if (this.componentRef) { this.componentRef.destroy(); this.componentRef = null; } }; NgxDynamicCompilerComponent.decorators = [ { type: Component, args: [{ selector: 'ngx-dc', template: "\n <div #container>\n\n </div>\n " }] } ]; /** @nocollapse */ NgxDynamicCompilerComponent.ctorParameters = function () { return [ { type: Compiler } ]; }; NgxDynamicCompilerComponent.propDecorators = { container: [{ type: ViewChild, args: ['container', { read: ViewContainerRef },] }], Data: [{ type: Input }], Template: [{ type: Input }], Output: [{ type: Output }] }; return NgxDynamicCompilerComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @param {?} compilerFactory * @return {?} */ function createCompiler(compilerFactory) { return compilerFactory.createCompiler(); } var ɵ0 = {}; var NgxDCModule = /** @class */ (function () { function NgxDCModule() { } NgxDCModule.decorators = [ { type: NgModule, args: [{ declarations: [NgxDynamicCompilerComponent], imports: [], providers: [ { provide: COMPILER_OPTIONS, useValue: ɵ0, multi: true }, { provide: CompilerFactory, useClass: JitCompilerFactory, deps: [COMPILER_OPTIONS] }, { provide: Compiler, useFactory: createCompiler, deps: [CompilerFactory] } ], exports: [NgxDynamicCompilerComponent] },] } ]; return NgxDCModule; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ export { NgxDynamicCompilerService, NgxDynamicCompilerComponent, createCompiler, NgxDCModule }; //# sourceMappingURL=ngx-dynamic-compiler.js.map