UNPKG

survey-angular-ui

Version:

A free MIT-licensed Angular UI component that renders dynamic, interactive JSON-based forms and surveys. You can use it to collect responses from users and send them to your own database.

35 lines 5.58 kB
import { Injectable, VERSION } from "@angular/core"; import { ComponentPortal, DomPortalOutlet } from "@angular/cdk/portal"; import { PopupBaseContainerComponent } from "./popup-container.component"; import { NgModuleRef } from "@angular/core"; import * as i0 from "@angular/core"; export class PopupService { constructor(injector, applicationRef) { this.injector = injector; this.applicationRef = applicationRef; } createComponent(popupViewModel) { let portalHost; if (Number.parseInt(VERSION.major) > 19) { // eslint-disable-next-line @typescript-eslint/ban-ts-comment //@ts-ignore portalHost = new DomPortalOutlet(popupViewModel.container, this.applicationRef, this.injector); } else { const resolver = this.injector.get(NgModuleRef).componentFactoryResolver; portalHost = new DomPortalOutlet(popupViewModel.container, resolver, this.applicationRef, this.injector); } const portal = new ComponentPortal(PopupBaseContainerComponent); const componentRef = portalHost.attach(portal); popupViewModel.setComponentElement(popupViewModel.container.children[0]); componentRef.instance.model = popupViewModel; componentRef.changeDetectorRef.detectChanges(); return portalHost; } } PopupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopupService, deps: [{ token: i0.Injector }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable }); PopupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopupService }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopupService, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ApplicationRef }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BvcHVwL3BvcHVwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixVQUFVLEVBQVksT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHNUMsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsUUFBa0IsRUFDbEIsY0FBOEI7UUFEOUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBRyxDQUFDO0lBRXRELGVBQWUsQ0FBQyxjQUFrQztRQUNoRCxJQUFJLFVBQTJCLENBQUM7UUFDaEMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDdkMsNkRBQTZEO1lBQzdELFlBQVk7WUFDWixVQUFVLEdBQUcsSUFBSSxlQUFlLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNoRzthQUFNO1lBQ0wsTUFBTSxRQUFRLEdBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFTLENBQUMsd0JBQXdCLENBQUM7WUFDbEYsVUFBVSxHQUFHLElBQUksZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzFHO1FBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUNoRSxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBYyxjQUFjLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQztRQUM3QyxZQUFZLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDL0MsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzs7MEdBcEJVLFlBQVk7OEdBQVosWUFBWTs0RkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGljYXRpb25SZWYsIEluamVjdGFibGUsIEluamVjdG9yLCBWRVJTSU9OIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgRG9tUG9ydGFsT3V0bGV0IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7IFBvcHVwQmFzZVZpZXdNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgUG9wdXBCYXNlQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSBcIi4vcG9wdXAtY29udGFpbmVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTmdNb2R1bGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUG9wdXBTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgICAgICAgIHByaXZhdGUgYXBwbGljYXRpb25SZWY6IEFwcGxpY2F0aW9uUmVmKSB7fVxuXG4gIGNyZWF0ZUNvbXBvbmVudChwb3B1cFZpZXdNb2RlbDogUG9wdXBCYXNlVmlld01vZGVsKTogRG9tUG9ydGFsT3V0bGV0IHtcbiAgICBsZXQgcG9ydGFsSG9zdDogRG9tUG9ydGFsT3V0bGV0O1xuICAgIGlmIChOdW1iZXIucGFyc2VJbnQoVkVSU0lPTi5tYWpvcikgPiAxOSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgLy9AdHMtaWdub3JlXG4gICAgICBwb3J0YWxIb3N0ID0gbmV3IERvbVBvcnRhbE91dGxldChwb3B1cFZpZXdNb2RlbC5jb250YWluZXIsIHRoaXMuYXBwbGljYXRpb25SZWYsIHRoaXMuaW5qZWN0b3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZXNvbHZlciA9ICh0aGlzLmluamVjdG9yLmdldChOZ01vZHVsZVJlZikgYXMgYW55KS5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI7XG4gICAgICBwb3J0YWxIb3N0ID0gbmV3IERvbVBvcnRhbE91dGxldChwb3B1cFZpZXdNb2RlbC5jb250YWluZXIsIHJlc29sdmVyLCB0aGlzLmFwcGxpY2F0aW9uUmVmLCB0aGlzLmluamVjdG9yKTtcbiAgICB9XG4gICAgY29uc3QgcG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChQb3B1cEJhc2VDb250YWluZXJDb21wb25lbnQpO1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHBvcnRhbEhvc3QuYXR0YWNoKHBvcnRhbCk7XG4gICAgcG9wdXBWaWV3TW9kZWwuc2V0Q29tcG9uZW50RWxlbWVudCg8SFRNTEVsZW1lbnQ+cG9wdXBWaWV3TW9kZWwuY29udGFpbmVyLmNoaWxkcmVuWzBdKTtcbiAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UubW9kZWwgPSBwb3B1cFZpZXdNb2RlbDtcbiAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHJldHVybiBwb3J0YWxIb3N0O1xuICB9XG59Il19