UNPKG

@w11k/ngx-present

Version:

Angular based Presentation Tool

75 lines 5.55 kB
/** * @fileoverview added by tsickle * Generated from: lib/dynamic/dynamic.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, ComponentFactoryResolver, Injector, Input, ViewContainerRef } from '@angular/core'; export class DynamicComponent { /** * @param {?} viewContainerRef * @param {?} componentFactoryResolver * @param {?} injector */ constructor(viewContainerRef, componentFactoryResolver, injector) { this.viewContainerRef = viewContainerRef; this.componentFactoryResolver = componentFactoryResolver; this.injector = injector; this.component = null; this.providers = null; } /** * @param {?} changes * @return {?} */ ngOnChanges(changes) { // destroy existing component instance on all changes // on component changes and also on providers changes this.viewContainerRef.clear(); if (this.component !== null) { /** @type {?} */ const childInjector = Injector.create({ providers: this.providers || [], parent: this.injector }); /** @type {?} */ const factory = this.componentFactoryResolver.resolveComponentFactory(this.component); this.viewContainerRef.createComponent(factory, undefined, childInjector); } } } DynamicComponent.decorators = [ { type: Component, args: [{ selector: 'ngx-present-dynamic', template: "\n", styles: [":host{width:100vw;height:100vh}"] }] } ]; /** @nocollapse */ DynamicComponent.ctorParameters = () => [ { type: ViewContainerRef }, { type: ComponentFactoryResolver }, { type: Injector } ]; DynamicComponent.propDecorators = { component: [{ type: Input }], providers: [{ type: Input }] }; if (false) { /** @type {?} */ DynamicComponent.prototype.component; /** @type {?} */ DynamicComponent.prototype.providers; /** @type {?} */ DynamicComponent.prototype.viewContainerRef; /** * @type {?} * @private */ DynamicComponent.prototype.componentFactoryResolver; /** * @type {?} * @private */ DynamicComponent.prototype.injector; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdzExay9uZ3gtcHJlc2VudC8iLCJzb3VyY2VzIjpbImxpYi9keW5hbWljL2R5bmFtaWMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsUUFBUSxFQUNSLEtBQUssRUFLTCxnQkFBZ0IsRUFDakIsTUFBTSxlQUFlLENBQUM7QUFPdkIsTUFBTSxPQUFPLGdCQUFnQjs7Ozs7O0lBSzNCLFlBQW1CLGdCQUFrQyxFQUNqQyx3QkFBa0QsRUFDbEQsUUFBa0I7UUFGbkIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELGFBQVEsR0FBUixRQUFRLENBQVU7UUFMN0IsY0FBUyxHQUFxQixJQUFJLENBQUM7UUFDbkMsY0FBUyxHQUE0QixJQUFJLENBQUM7SUFJVCxDQUFDOzs7OztJQUUzQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMscURBQXFEO1FBQ3JELHFEQUFxRDtRQUNyRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFOUIsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksRUFBRTs7a0JBQ3JCLGFBQWEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUNwQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFO2dCQUMvQixNQUFNLEVBQUcsSUFBSSxDQUFDLFFBQVE7YUFDdkIsQ0FBQzs7a0JBRUksT0FBTyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3JGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQztTQUMxRTtJQUNILENBQUM7OztZQTVCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsY0FBdUM7O2FBRXhDOzs7O1lBUEMsZ0JBQWdCO1lBUGhCLHdCQUF3QjtZQUN4QixRQUFROzs7d0JBZ0JQLEtBQUs7d0JBQ0wsS0FBSzs7OztJQUROLHFDQUE0Qzs7SUFDNUMscUNBQW1EOztJQUV2Qyw0Q0FBeUM7Ozs7O0lBQ3pDLG9EQUEwRDs7Ozs7SUFDMUQsb0NBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBTdGF0aWNQcm92aWRlcixcbiAgVHlwZSxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LXByZXNlbnQtZHluYW1pYycsXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpIGNvbXBvbmVudDogVHlwZTxhbnk+IHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIHByb3ZpZGVyczogU3RhdGljUHJvdmlkZXJbXSB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcikgeyB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIC8vIGRlc3Ryb3kgZXhpc3RpbmcgY29tcG9uZW50IGluc3RhbmNlIG9uIGFsbCBjaGFuZ2VzXG4gICAgLy8gb24gY29tcG9uZW50IGNoYW5nZXMgYW5kIGFsc28gb24gcHJvdmlkZXJzIGNoYW5nZXNcbiAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcblxuICAgIGlmICh0aGlzLmNvbXBvbmVudCAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgY2hpbGRJbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgIHByb3ZpZGVyczogdGhpcy5wcm92aWRlcnMgfHwgW10sXG4gICAgICAgIHBhcmVudDogIHRoaXMuaW5qZWN0b3JcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodGhpcy5jb21wb25lbnQpO1xuICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5LCB1bmRlZmluZWQsIGNoaWxkSW5qZWN0b3IpO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=