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.

54 lines 6.8 kB
import { Component, Input, ViewChild } from "@angular/core"; import { BaseAngular } from "../../base-angular"; import { createPopupViewModel } from "survey-core"; import * as i0 from "@angular/core"; import * as i1 from "./popup-container.component"; export class PopupComponent extends BaseAngular { constructor(viewContainerRef, changeDetectorRef) { super(changeDetectorRef, viewContainerRef); } getModel() { return this.popupModel; } onModelChanged() { if (this.model) { this.model.resetComponentElement(); this.model.dispose(); } this.model = createPopupViewModel(this.popupModel); this.setContainerElement(); } setContainerElement() { var _a; if (!!((_a = this.containerRef) === null || _a === void 0 ? void 0 : _a.nativeElement)) { const container = this.containerRef.nativeElement; this.model.setComponentElement(container.parentElement); } } ngAfterViewInit() { this.setContainerElement(); } ngOnInit() { this.onModelChanged(); } ngOnDestroy() { this.model.resetComponentElement(); this.model.dispose(); super.ngOnDestroy(); } } PopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopupComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); PopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: { popupModel: "popupModel" }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["containerRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #containerRef><sv-ng-popup-container [model]='model' ></sv-ng-popup-container></div>", isInline: true, components: [{ type: i1.PopupBaseContainerComponent, selector: "sv-ng-popup-container, '[sv-ng-popup-container]'", inputs: ["model"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopupComponent, decorators: [{ type: Component, args: [{ selector: "sv-ng-popup, '[sv-ng-popup]'", template: "<div #containerRef><sv-ng-popup-container [model]='model' ></sv-ng-popup-container></div>" }] }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { popupModel: [{ type: Input }], containerRef: [{ type: ViewChild, args: ["containerRef"] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcG9wdXAvcG9wdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQWtDLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUFPbkYsTUFBTSxPQUFPLGNBQWUsU0FBUSxXQUF1QjtJQVV6RCxZQUFZLGdCQUFrQyxFQUFFLGlCQUFvQztRQUNsRixLQUFLLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBTlMsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUtrQixjQUFjO1FBQy9CLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3RCO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLG1CQUFtQjs7UUFDekIsSUFBSSxDQUFDLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxZQUFZLDBDQUFFLGFBQWEsQ0FBQSxFQUFFO1lBQ3RDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBNEIsQ0FBQztZQUNqRSxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxhQUE0QixDQUFDLENBQUM7U0FDeEU7SUFDSCxDQUFDO0lBQ0QsZUFBZTtRQUNiLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFDUSxRQUFRO1FBQ2YsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFDUSxXQUFXO1FBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3JCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0QixDQUFDOzs0R0F0Q1UsY0FBYztnR0FBZCxjQUFjLCtPQUhmLDJGQUEyRjs0RkFHMUYsY0FBYztrQkFMMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxRQUFRLEVBQUUsMkZBQTJGO2lCQUN0Rzt1SUFHVSxVQUFVO3NCQUFsQixLQUFLO2dCQUNxQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4uLy4uL2Jhc2UtYW5ndWxhclwiO1xuaW1wb3J0IHsgUG9wdXBCYXNlVmlld01vZGVsLCBQb3B1cE1vZGVsLCBjcmVhdGVQb3B1cFZpZXdNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctcG9wdXAsICdbc3YtbmctcG9wdXBdJ1wiLFxuICB0ZW1wbGF0ZTogXCI8ZGl2ICNjb250YWluZXJSZWY+PHN2LW5nLXBvcHVwLWNvbnRhaW5lciBbbW9kZWxdPSdtb2RlbCcgPjwvc3YtbmctcG9wdXAtY29udGFpbmVyPjwvZGl2PlwiXG59KVxuXG5leHBvcnQgY2xhc3MgUG9wdXBDb21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxQb3B1cE1vZGVsPiB7XG4gIEBJbnB1dCgpIHBvcHVwTW9kZWwhOiBQb3B1cE1vZGVsO1xuICBAVmlld0NoaWxkKFwiY29udGFpbmVyUmVmXCIpIGNvbnRhaW5lclJlZiE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIHB1YmxpYyBtb2RlbCE6IFBvcHVwQmFzZVZpZXdNb2RlbDtcblxuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogUG9wdXBNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMucG9wdXBNb2RlbDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKGNoYW5nZURldGVjdG9yUmVmLCB2aWV3Q29udGFpbmVyUmVmKTtcbiAgfVxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25Nb2RlbENoYW5nZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubW9kZWwpIHtcbiAgICAgIHRoaXMubW9kZWwucmVzZXRDb21wb25lbnRFbGVtZW50KCk7XG4gICAgICB0aGlzLm1vZGVsLmRpc3Bvc2UoKTtcbiAgICB9XG4gICAgdGhpcy5tb2RlbCA9IGNyZWF0ZVBvcHVwVmlld01vZGVsKHRoaXMucG9wdXBNb2RlbCk7XG4gICAgdGhpcy5zZXRDb250YWluZXJFbGVtZW50KCk7XG4gIH1cblxuICBwcml2YXRlIHNldENvbnRhaW5lckVsZW1lbnQoKTogdm9pZCB7XG4gICAgaWYgKCEhdGhpcy5jb250YWluZXJSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICB0aGlzLm1vZGVsLnNldENvbXBvbmVudEVsZW1lbnQoY29udGFpbmVyLnBhcmVudEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xuICAgIH1cbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRDb250YWluZXJFbGVtZW50KCk7XG4gIH1cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5vbk1vZGVsQ2hhbmdlZCgpO1xuICB9XG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubW9kZWwucmVzZXRDb21wb25lbnRFbGVtZW50KCk7XG4gICAgdGhpcy5tb2RlbC5kaXNwb3NlKCk7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgfVxufSJdfQ==