UNPKG

ngx-dynamic-compiler

Version:

201 lines (192 loc) 8.13 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/platform-browser-dynamic')) : typeof define === 'function' && define.amd ? define('ngx-dynamic-compiler', ['exports', '@angular/common', '@angular/core', '@angular/platform-browser-dynamic'], factory) : (factory((global['ngx-dynamic-compiler'] = {}),global.ng.common,global.ng.core,global.ng.platformBrowserDynamic)); }(this, (function (exports,common,i0,platformBrowserDynamic) { 'use strict'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var NgxDynamicCompilerService = /** @class */ (function () { function NgxDynamicCompilerService() { } NgxDynamicCompilerService.decorators = [ { type: i0.Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ NgxDynamicCompilerService.ctorParameters = function () { return []; }; /** @nocollapse */ NgxDynamicCompilerService.ngInjectableDef = i0.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 i0.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 = i0.Component(metadata)(cmpClass); var RuntimeModule = /** @class */ (function () { function RuntimeModule() { } RuntimeModule.decorators = [ { type: i0.NgModule, args: [{ imports: [common.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: i0.Component, args: [{ selector: 'ngx-dc', template: "\n <div #container>\n\n </div>\n " }] } ]; /** @nocollapse */ NgxDynamicCompilerComponent.ctorParameters = function () { return [ { type: i0.Compiler } ]; }; NgxDynamicCompilerComponent.propDecorators = { container: [{ type: i0.ViewChild, args: ['container', { read: i0.ViewContainerRef },] }], Data: [{ type: i0.Input }], Template: [{ type: i0.Input }], Output: [{ type: i0.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: i0.NgModule, args: [{ declarations: [NgxDynamicCompilerComponent], imports: [], providers: [ { provide: i0.COMPILER_OPTIONS, useValue: ɵ0, multi: true }, { provide: i0.CompilerFactory, useClass: platformBrowserDynamic.JitCompilerFactory, deps: [i0.COMPILER_OPTIONS] }, { provide: i0.Compiler, useFactory: createCompiler, deps: [i0.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 */ exports.NgxDynamicCompilerService = NgxDynamicCompilerService; exports.NgxDynamicCompilerComponent = NgxDynamicCompilerComponent; exports.createCompiler = createCompiler; exports.NgxDCModule = NgxDCModule; Object.defineProperty(exports, '__esModule', { value: true }); }))); //# sourceMappingURL=ngx-dynamic-compiler.umd.js.map