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.

60 lines 9.81 kB
import { Component, Input } from "@angular/core"; import { BaseAngular } from "../../base-angular"; import * as i0 from "@angular/core"; import * as i1 from "../action-bar/action-bar.component"; import * as i2 from "../../utils/ng-show.directive"; import * as i3 from "@angular/common"; import * as i4 from "../../utils/dynamic.directive"; export class PopupBaseContainerComponent extends BaseAngular { constructor(changeDetectorRef) { super(changeDetectorRef); this.changeDetectorRef.detach(); } getModel() { return this.model; } get applyButtonText() { const popupModalModel = this.model; if (!popupModalModel) return null; return popupModalModel.applyButtonText; } apply() { const popupModalModel = this.model; if (!popupModalModel) return; popupModalModel.apply(); } getPropertiesToUpdateSync() { return ["height"]; } getShouldReattachChangeDetector() { return false; } onModelChanged() { this.changeDetectorRef.detectChanges(); } afterUpdate(isSync = false) { super.afterUpdate(isSync); if (!isSync) { if (!this.model.isPositionSet && this.model.isVisible) { this.model.updateOnShowing(); } } } clickInside(event) { event.stopPropagation(); } } PopupBaseContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopupBaseContainerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); PopupBaseContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PopupBaseContainerComponent, selector: "sv-ng-popup-container, '[sv-ng-popup-container]'", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<div class=\"sv-popup\" tabindex=\"-1\" [class]=\"model.styleClass\" [visible]=\"model.isVisible\" (click)=\"model.clickOutside($event)\" (keydown)=\"model.onKeyDown($event)\">\n <div class=\"sv-popup__container\" [style]=\"{ left: model.left, top: model.top, height: model.height, minWidth: model.minWidth, width: model.width }\" (click)=\"clickInside($event)\">\n <ng-container *ngIf=\"model.showHeader\">\n <ng-template [component]=\"{ name: model.popupHeaderTemplate, data: { model: model } }\"></ng-template>\n </ng-container>\n <div class=\"sv-popup__body-content\">\n <div *ngIf=\"model.title\" class=\"sv-popup__body-header\">{{ model.title }}</div>\n <div class=\"sv-popup__scrolling-content\">\n <div class=\"sv-popup__content\">\n <ng-template [component]=\"{ name: model.contentComponentName, data: model.contentComponentData }\"></ng-template>\n </div>\n </div>\n <div *ngIf=\"model.showFooter\" class=\"sv-popup__body-footer\">\n <sv-ng-action-bar [model]=\"model.footerToolbar\"></sv-ng-action-bar>\n </div>\n </div>\n </div>\n</div>", components: [{ type: i1.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopupBaseContainerComponent, decorators: [{ type: Component, args: [{ selector: "sv-ng-popup-container, '[sv-ng-popup-container]'", templateUrl: "./popup-container.component.html" }] }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { model: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BvcHVwL3BvcHVwLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wb3B1cC9wb3B1cC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7O0FBUWpELE1BQU0sT0FBTywyQkFBK0UsU0FBUSxXQUFjO0lBR2hILFlBQVksaUJBQW9DO1FBQzlDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBQ1MsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBbUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsZUFBZTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRWxDLE9BQU8sZUFBZSxDQUFDLGVBQWUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsS0FBSztRQUNILE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFtQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxlQUFlO1lBQUUsT0FBTztRQUU3QixlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVrQix5QkFBeUI7UUFDMUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFa0IsK0JBQStCO1FBQ2hELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVrQixjQUFjO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRWtCLFdBQVcsQ0FBQyxTQUFrQixLQUFLO1FBQ3BELEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRTtnQkFDckQsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQzthQUM5QjtTQUNGO0lBQ0gsQ0FBQztJQUNNLFdBQVcsQ0FBQyxLQUFVO1FBQzNCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDOzt5SEEvQ1UsMkJBQTJCOzZHQUEzQiwyQkFBMkIsMklDVHhDLDhyQ0FpQk07NEZEUk8sMkJBQTJCO2tCQUx2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrREFBa0Q7b0JBQzVELFdBQVcsRUFBRSxrQ0FBa0M7aUJBQ2hEO3dHQUdVLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4uLy4uL2Jhc2UtYW5ndWxhclwiO1xuaW1wb3J0IHsgUG9wdXBCYXNlVmlld01vZGVsLCBQb3B1cE1vZGFsVmlld01vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1wb3B1cC1jb250YWluZXIsICdbc3YtbmctcG9wdXAtY29udGFpbmVyXSdcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9wb3B1cC1jb250YWluZXIuY29tcG9uZW50Lmh0bWxcIlxufSlcblxuZXhwb3J0IGNsYXNzIFBvcHVwQmFzZUNvbnRhaW5lckNvbXBvbmVudDxUIGV4dGVuZHMgUG9wdXBCYXNlVmlld01vZGVsID0gUG9wdXBCYXNlVmlld01vZGVsPiBleHRlbmRzIEJhc2VBbmd1bGFyPFQ+IHtcbiAgQElucHV0KCkgbW9kZWwhOiBUO1xuXG4gIGNvbnN0cnVjdG9yKGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGFjaCgpO1xuICB9XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuXG4gIGdldCBhcHBseUJ1dHRvblRleHQoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgcG9wdXBNb2RhbE1vZGVsID0gdGhpcy5tb2RlbCBhcyBhbnkgYXMgUG9wdXBNb2RhbFZpZXdNb2RlbDtcbiAgICBpZiAoIXBvcHVwTW9kYWxNb2RlbCkgcmV0dXJuIG51bGw7XG5cbiAgICByZXR1cm4gcG9wdXBNb2RhbE1vZGVsLmFwcGx5QnV0dG9uVGV4dDtcbiAgfVxuXG4gIGFwcGx5KCk6IHZvaWQge1xuICAgIGNvbnN0IHBvcHVwTW9kYWxNb2RlbCA9IHRoaXMubW9kZWwgYXMgYW55IGFzIFBvcHVwTW9kYWxWaWV3TW9kZWw7XG4gICAgaWYgKCFwb3B1cE1vZGFsTW9kZWwpIHJldHVybjtcblxuICAgIHBvcHVwTW9kYWxNb2RlbC5hcHBseSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGdldFByb3BlcnRpZXNUb1VwZGF0ZVN5bmMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbXCJoZWlnaHRcIl07XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0U2hvdWxkUmVhdHRhY2hDaGFuZ2VEZXRlY3RvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25Nb2RlbENoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYWZ0ZXJVcGRhdGUoaXNTeW5jOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICBzdXBlci5hZnRlclVwZGF0ZShpc1N5bmMpO1xuICAgIGlmICghaXNTeW5jKSB7XG4gICAgICBpZiAoIXRoaXMubW9kZWwuaXNQb3NpdGlvblNldCAmJiB0aGlzLm1vZGVsLmlzVmlzaWJsZSkge1xuICAgICAgICB0aGlzLm1vZGVsLnVwZGF0ZU9uU2hvd2luZygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBwdWJsaWMgY2xpY2tJbnNpZGUoZXZlbnQ6IGFueSkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG59IiwiPGRpdiBjbGFzcz1cInN2LXBvcHVwXCIgdGFiaW5kZXg9XCItMVwiIFtjbGFzc109XCJtb2RlbC5zdHlsZUNsYXNzXCIgW3Zpc2libGVdPVwibW9kZWwuaXNWaXNpYmxlXCIgKGNsaWNrKT1cIm1vZGVsLmNsaWNrT3V0c2lkZSgkZXZlbnQpXCIgKGtleWRvd24pPVwibW9kZWwub25LZXlEb3duKCRldmVudClcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3YtcG9wdXBfX2NvbnRhaW5lclwiIFtzdHlsZV09XCJ7IGxlZnQ6IG1vZGVsLmxlZnQsIHRvcDogbW9kZWwudG9wLCBoZWlnaHQ6IG1vZGVsLmhlaWdodCwgbWluV2lkdGg6IG1vZGVsLm1pbldpZHRoLCB3aWR0aDogbW9kZWwud2lkdGggfVwiIChjbGljayk9XCJjbGlja0luc2lkZSgkZXZlbnQpXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlbC5zaG93SGVhZGVyXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IG1vZGVsLnBvcHVwSGVhZGVyVGVtcGxhdGUsIGRhdGE6IHsgbW9kZWw6IG1vZGVsIH0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3YtcG9wdXBfX2JvZHktY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1vZGVsLnRpdGxlXCIgY2xhc3M9XCJzdi1wb3B1cF9fYm9keS1oZWFkZXJcIj57eyBtb2RlbC50aXRsZSB9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN2LXBvcHVwX19zY3JvbGxpbmctY29udGVudFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdi1wb3B1cF9fY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IG1vZGVsLmNvbnRlbnRDb21wb25lbnROYW1lLCBkYXRhOiBtb2RlbC5jb250ZW50Q29tcG9uZW50RGF0YSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1vZGVsLnNob3dGb290ZXJcIiBjbGFzcz1cInN2LXBvcHVwX19ib2R5LWZvb3RlclwiPlxuICAgICAgICAgICAgICAgIDxzdi1uZy1hY3Rpb24tYmFyIFttb2RlbF09XCJtb2RlbC5mb290ZXJUb29sYmFyXCI+PC9zdi1uZy1hY3Rpb24tYmFyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+Il19