UNPKG

ngx-feedback

Version:

Angular Feedback Library

68 lines 5.56 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable, ComponentFactoryResolver, ApplicationRef, Injector } from '@angular/core'; import * as i0 from "@angular/core"; /** * @template T */ var ComponentLoaderService = /** @class */ (function () { function ComponentLoaderService(componentFactoryResolver, appRef, injector) { this.componentFactoryResolver = componentFactoryResolver; this.appRef = appRef; this.injector = injector; } /** * @param {?} componentType * @return {?} */ ComponentLoaderService.prototype.load = /** * @param {?} componentType * @return {?} */ function (componentType) { // 1. Create a component reference from the component /** @type {?} */ var ref = this.componentFactoryResolver.resolveComponentFactory(componentType).create(this.injector); // 2. Attach component to the appRef so that it's inside the ng component tree this.appRef.attachView(ref.hostView); // 3. Get DOM element from component /** @type {?} */ var domElem = (/** @type {?} */ (((/** @type {?} */ (ref.hostView))).rootNodes[0])); // 4. Append DOM element to the body document.body.appendChild(domElem); ref.changeDetectorRef.detectChanges(); return ref; }; ComponentLoaderService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ ComponentLoaderService.ctorParameters = function () { return [ { type: ComponentFactoryResolver }, { type: ApplicationRef }, { type: Injector } ]; }; /** @nocollapse */ ComponentLoaderService.ngInjectableDef = i0.defineInjectable({ factory: function ComponentLoaderService_Factory() { return new ComponentLoaderService(i0.inject(i0.ComponentFactoryResolver), i0.inject(i0.ApplicationRef), i0.inject(i0.INJECTOR)); }, token: ComponentLoaderService, providedIn: "root" }); return ComponentLoaderService; }()); export { ComponentLoaderService }; if (false) { /** * @type {?} * @private */ ComponentLoaderService.prototype.componentFactoryResolver; /** * @type {?} * @private */ ComponentLoaderService.prototype.appRef; /** * @type {?} * @private */ ComponentLoaderService.prototype.injector; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWZlZWRiYWNrLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2NvbXBvbmVudC1sb2FkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNILFVBQVUsRUFHVix3QkFBd0IsRUFDeEIsY0FBYyxFQUNkLFFBQVEsRUFFWCxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFFdkI7SUFFSSxnQ0FDcUIsd0JBQWtELEVBQzNELE1BQXNCLEVBQ3RCLFFBQWtCO1FBRlQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUMzRCxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQzNCLENBQUM7Ozs7O0lBQ0oscUNBQUk7Ozs7SUFBSixVQUFLLGFBQXNCOzs7WUFFakIsR0FBRyxHQUFvQixJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFdkgsOEVBQThFO1FBQzlFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQzs7O1lBRy9CLE9BQU8sR0FBRyxtQkFBQSxDQUFDLG1CQUFBLEdBQUcsQ0FBQyxRQUFRLEVBQXdCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQWU7UUFFbEYsb0NBQW9DO1FBQ3BDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUV0QyxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7O2dCQXRCSixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7O2dCQU45Qix3QkFBd0I7Z0JBQ3hCLGNBQWM7Z0JBQ2QsUUFBUTs7O2lDQU5aO0NBaUNDLEFBdkJELElBdUJDO1NBdEJZLHNCQUFzQjs7Ozs7O0lBRTNCLDBEQUFtRTs7Ozs7SUFDbkUsd0NBQThCOzs7OztJQUM5QiwwQ0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgSW5qZWN0YWJsZSxcclxuICAgIFR5cGUsXHJcbiAgICBDb21wb25lbnRSZWYsXHJcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBBcHBsaWNhdGlvblJlZixcclxuICAgIEluamVjdG9yLFxyXG4gICAgRW1iZWRkZWRWaWV3UmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50TG9hZGVyU2VydmljZTxUPiB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcclxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxyXG4gICAgKSB7fVxyXG4gICAgbG9hZChjb21wb25lbnRUeXBlOiBUeXBlPFQ+KTogQ29tcG9uZW50UmVmPFQ+IHtcclxuICAgICAgICAvLyAxLiBDcmVhdGUgYSBjb21wb25lbnQgcmVmZXJlbmNlIGZyb20gdGhlIGNvbXBvbmVudFxyXG4gICAgICAgIGNvbnN0IHJlZjogQ29tcG9uZW50UmVmPFQ+ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50VHlwZSkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xyXG5cclxuICAgICAgICAvLyAyLiBBdHRhY2ggY29tcG9uZW50IHRvIHRoZSBhcHBSZWYgc28gdGhhdCBpdCdzIGluc2lkZSB0aGUgbmcgY29tcG9uZW50IHRyZWVcclxuICAgICAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KHJlZi5ob3N0Vmlldyk7XHJcblxyXG4gICAgICAgIC8vIDMuIEdldCBET00gZWxlbWVudCBmcm9tIGNvbXBvbmVudFxyXG4gICAgICAgIGNvbnN0IGRvbUVsZW0gPSAocmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgICAgIC8vIDQuIEFwcGVuZCBET00gZWxlbWVudCB0byB0aGUgYm9keVxyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9tRWxlbSk7XHJcbiAgICAgICAgcmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHJlZjtcclxuICAgIH1cclxufVxyXG4iXX0=