@w11k/ngx-present
Version:
Angular based Presentation Tool
76 lines • 5.75 kB
JavaScript
/**
* @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';
var DynamicComponent = /** @class */ (function () {
function DynamicComponent(viewContainerRef, componentFactoryResolver, injector) {
this.viewContainerRef = viewContainerRef;
this.componentFactoryResolver = componentFactoryResolver;
this.injector = injector;
this.component = null;
this.providers = null;
}
/**
* @param {?} changes
* @return {?}
*/
DynamicComponent.prototype.ngOnChanges = /**
* @param {?} changes
* @return {?}
*/
function (changes) {
// destroy existing component instance on all changes
// on component changes and also on providers changes
this.viewContainerRef.clear();
if (this.component !== null) {
/** @type {?} */
var childInjector = Injector.create({
providers: this.providers || [],
parent: this.injector
});
/** @type {?} */
var 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 = function () { return [
{ type: ViewContainerRef },
{ type: ComponentFactoryResolver },
{ type: Injector }
]; };
DynamicComponent.propDecorators = {
component: [{ type: Input }],
providers: [{ type: Input }]
};
return DynamicComponent;
}());
export { DynamicComponent };
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdzExay9uZ3gtcHJlc2VudC8iLCJzb3VyY2VzIjpbImxpYi9keW5hbWljL2R5bmFtaWMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsUUFBUSxFQUNSLEtBQUssRUFLTCxnQkFBZ0IsRUFDakIsTUFBTSxlQUFlLENBQUM7QUFFdkI7SUFVRSwwQkFBbUIsZ0JBQWtDLEVBQ2pDLHdCQUFrRCxFQUNsRCxRQUFrQjtRQUZuQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2pDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUw3QixjQUFTLEdBQXFCLElBQUksQ0FBQztRQUNuQyxjQUFTLEdBQTRCLElBQUksQ0FBQztJQUlULENBQUM7Ozs7O0lBRTNDLHNDQUFXOzs7O0lBQVgsVUFBWSxPQUFzQjtRQUNoQyxxREFBcUQ7UUFDckQscURBQXFEO1FBQ3JELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUU5QixJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxFQUFFOztnQkFDckIsYUFBYSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQ3BDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUU7Z0JBQy9CLE1BQU0sRUFBRyxJQUFJLENBQUMsUUFBUTthQUN2QixDQUFDOztnQkFFSSxPQUFPLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDckYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1NBQzFFO0lBQ0gsQ0FBQzs7Z0JBNUJGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixjQUF1Qzs7aUJBRXhDOzs7O2dCQVBDLGdCQUFnQjtnQkFQaEIsd0JBQXdCO2dCQUN4QixRQUFROzs7NEJBZ0JQLEtBQUs7NEJBQ0wsS0FBSzs7SUFzQlIsdUJBQUM7Q0FBQSxBQTlCRCxJQThCQztTQXpCWSxnQkFBZ0I7OztJQUUzQixxQ0FBNEM7O0lBQzVDLHFDQUFtRDs7SUFFdkMsNENBQXlDOzs7OztJQUN6QyxvREFBMEQ7Ozs7O0lBQzFELG9DQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgU3RhdGljUHJvdmlkZXIsXG4gIFR5cGUsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1wcmVzZW50LWR5bmFtaWMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKSBjb21wb25lbnQ6IFR5cGU8YW55PiB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBwcm92aWRlcnM6IFN0YXRpY1Byb3ZpZGVyW10gfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHsgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAvLyBkZXN0cm95IGV4aXN0aW5nIGNvbXBvbmVudCBpbnN0YW5jZSBvbiBhbGwgY2hhbmdlc1xuICAgIC8vIG9uIGNvbXBvbmVudCBjaGFuZ2VzIGFuZCBhbHNvIG9uIHByb3ZpZGVycyBjaGFuZ2VzXG4gICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG5cbiAgICBpZiAodGhpcy5jb21wb25lbnQgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGNoaWxkSW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICBwcm92aWRlcnM6IHRoaXMucHJvdmlkZXJzIHx8IFtdLFxuICAgICAgICBwYXJlbnQ6ICB0aGlzLmluamVjdG9yXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHRoaXMuY29tcG9uZW50KTtcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSwgdW5kZWZpbmVkLCBjaGlsZEluamVjdG9yKTtcbiAgICB9XG4gIH1cblxufVxuIl19