ngx-feedback
Version:
Angular Feedback Library
68 lines • 5.56 kB
JavaScript
/**
* @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=