ngx-dynamic-compiler
Version:
201 lines (192 loc) • 8.13 kB
JavaScript
(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