UNPKG

survey-angular-ui

Version:

survey.js is a JavaScript Survey Library. It is a modern way to add a survey to your website. It uses JSON for survey metadata and results.

34 lines 5.53 kB
import { Injectable, VERSION } from "@angular/core"; import { ComponentPortal, DomPortalOutlet } from "@angular/cdk/portal"; import { PopupBaseContainerComponent } from "./popup-container.component"; import * as i0 from "@angular/core"; export class PopupService { constructor(injector, applicationRef, componentFactoryResolver) { this.injector = injector; this.applicationRef = applicationRef; this.componentFactoryResolver = componentFactoryResolver; } createComponent(popupViewModel) { let portalHost; if (Number.parseInt(VERSION.major) > 18) { // eslint-disable-next-line @typescript-eslint/ban-ts-comment //@ts-ignore portalHost = new DomPortalOutlet(popupViewModel.container, this.applicationRef, this.injector); } else { portalHost = new DomPortalOutlet(popupViewModel.container, this.componentFactoryResolver, 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 }, { token: i0.ComponentFactoryResolver }], 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 }, { type: i0.ComponentFactoryResolver }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BvcHVwL3BvcHVwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0QyxVQUFVLEVBQVksT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBRzFFLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQW9CLFFBQWtCLEVBQ2xCLGNBQThCLEVBQzlCLHdCQUFrRDtRQUZsRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO0lBQUcsQ0FBQztJQUUxRSxlQUFlLENBQUMsY0FBa0M7UUFDaEQsSUFBSSxVQUEyQixDQUFDO1FBQ2hDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3ZDLDZEQUE2RDtZQUM3RCxZQUFZO1lBQ1osVUFBVSxHQUFHLElBQUksZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDaEc7YUFBTTtZQUNMLFVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMvSDtRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDaEUsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxjQUFjLENBQUMsbUJBQW1CLENBQWMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RixZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUM7UUFDN0MsWUFBWSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQy9DLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7OzBHQXBCVSxZQUFZOzhHQUFaLFlBQVk7NEZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uUmVmLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEluamVjdGFibGUsIEluamVjdG9yLCBWRVJTSU9OIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgRG9tUG9ydGFsT3V0bGV0IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7IFBvcHVwQmFzZVZpZXdNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgUG9wdXBCYXNlQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSBcIi4vcG9wdXAtY29udGFpbmVyLmNvbXBvbmVudFwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUG9wdXBTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgICAgICAgIHByaXZhdGUgYXBwbGljYXRpb25SZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgICAgICAgICAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSB7fVxuXG4gIGNyZWF0ZUNvbXBvbmVudChwb3B1cFZpZXdNb2RlbDogUG9wdXBCYXNlVmlld01vZGVsKTogRG9tUG9ydGFsT3V0bGV0IHtcbiAgICBsZXQgcG9ydGFsSG9zdDogRG9tUG9ydGFsT3V0bGV0O1xuICAgIGlmIChOdW1iZXIucGFyc2VJbnQoVkVSU0lPTi5tYWpvcikgPiAxOCkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgLy9AdHMtaWdub3JlXG4gICAgICBwb3J0YWxIb3N0ID0gbmV3IERvbVBvcnRhbE91dGxldChwb3B1cFZpZXdNb2RlbC5jb250YWluZXIsIHRoaXMuYXBwbGljYXRpb25SZWYsIHRoaXMuaW5qZWN0b3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwb3J0YWxIb3N0ID0gbmV3IERvbVBvcnRhbE91dGxldChwb3B1cFZpZXdNb2RlbC5jb250YWluZXIsIHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCB0aGlzLmFwcGxpY2F0aW9uUmVmLCB0aGlzLmluamVjdG9yKTtcbiAgICB9XG4gICAgY29uc3QgcG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChQb3B1cEJhc2VDb250YWluZXJDb21wb25lbnQpO1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHBvcnRhbEhvc3QuYXR0YWNoKHBvcnRhbCk7XG4gICAgcG9wdXBWaWV3TW9kZWwuc2V0Q29tcG9uZW50RWxlbWVudCg8SFRNTEVsZW1lbnQ+cG9wdXBWaWV3TW9kZWwuY29udGFpbmVyLmNoaWxkcmVuWzBdKTtcbiAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UubW9kZWwgPSBwb3B1cFZpZXdNb2RlbDtcbiAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHJldHVybiBwb3J0YWxIb3N0O1xuICB9XG59Il19