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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BvcHVwL3BvcHVwLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wb3B1cC9wb3B1cC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7O0FBUWpELE1BQU0sT0FBTywyQkFBK0UsU0FBUSxXQUFjO0lBR2hILFlBQVksaUJBQW9DO1FBQzlDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBQ1MsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBbUMsQ0FBQztRQUNqRSxJQUFHLENBQUMsZUFBZTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRWpDLE9BQU8sZUFBZSxDQUFDLGVBQWUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsS0FBSztRQUNILE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFtQyxDQUFDO1FBQ2pFLElBQUcsQ0FBQyxlQUFlO1lBQUUsT0FBTztRQUU1QixlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVrQix5QkFBeUI7UUFDMUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFa0IsK0JBQStCO1FBQ2hELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVrQixjQUFjO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRWtCLFdBQVcsQ0FBQyxTQUFrQixLQUFLO1FBQ3BELEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUIsSUFBRyxDQUFDLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRTtnQkFDckQsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQzthQUM5QjtTQUNGO0lBQ0gsQ0FBQztJQUNNLFdBQVcsQ0FBQyxLQUFVO1FBQzNCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDOzt5SEEvQ1UsMkJBQTJCOzZHQUEzQiwyQkFBMkIsMklDVHhDLDhyQ0FpQk07NEZEUk8sMkJBQTJCO2tCQUx2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrREFBa0Q7b0JBQzVELFdBQVcsRUFBRSxrQ0FBa0M7aUJBQzlDO3dHQUdRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4uLy4uL2Jhc2UtYW5ndWxhclwiO1xuaW1wb3J0IHsgUG9wdXBCYXNlVmlld01vZGVsLCBQb3B1cE1vZGFsVmlld01vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1wb3B1cC1jb250YWluZXIsICdbc3YtbmctcG9wdXAtY29udGFpbmVyXSdcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9wb3B1cC1jb250YWluZXIuY29tcG9uZW50Lmh0bWxcIlxuICB9KVxuXG5leHBvcnQgY2xhc3MgUG9wdXBCYXNlQ29udGFpbmVyQ29tcG9uZW50PFQgZXh0ZW5kcyBQb3B1cEJhc2VWaWV3TW9kZWwgPSBQb3B1cEJhc2VWaWV3TW9kZWw+IGV4dGVuZHMgQmFzZUFuZ3VsYXI8VD4ge1xuICBASW5wdXQoKSBtb2RlbCE6IFQ7XG5cbiAgY29uc3RydWN0b3IoY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0YWNoKCk7XG4gIH1cbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IFQge1xuICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICB9XG5cbiAgZ2V0IGFwcGx5QnV0dG9uVGV4dCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBwb3B1cE1vZGFsTW9kZWwgPSB0aGlzLm1vZGVsIGFzIGFueSBhcyBQb3B1cE1vZGFsVmlld01vZGVsO1xuICAgIGlmKCFwb3B1cE1vZGFsTW9kZWwpIHJldHVybiBudWxsO1xuXG4gICAgcmV0dXJuIHBvcHVwTW9kYWxNb2RlbC5hcHBseUJ1dHRvblRleHQ7XG4gIH1cblxuICBhcHBseSgpOiB2b2lkIHtcbiAgICBjb25zdCBwb3B1cE1vZGFsTW9kZWwgPSB0aGlzLm1vZGVsIGFzIGFueSBhcyBQb3B1cE1vZGFsVmlld01vZGVsO1xuICAgIGlmKCFwb3B1cE1vZGFsTW9kZWwpIHJldHVybjtcblxuICAgIHBvcHVwTW9kYWxNb2RlbC5hcHBseSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGdldFByb3BlcnRpZXNUb1VwZGF0ZVN5bmMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbXCJoZWlnaHRcIl07XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0U2hvdWxkUmVhdHRhY2hDaGFuZ2VEZXRlY3RvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25Nb2RlbENoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYWZ0ZXJVcGRhdGUoaXNTeW5jOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICBzdXBlci5hZnRlclVwZGF0ZShpc1N5bmMpO1xuICAgIGlmKCFpc1N5bmMpIHtcbiAgICAgIGlmICghdGhpcy5tb2RlbC5pc1Bvc2l0aW9uU2V0ICYmIHRoaXMubW9kZWwuaXNWaXNpYmxlKSB7XG4gICAgICAgIHRoaXMubW9kZWwudXBkYXRlT25TaG93aW5nKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHB1YmxpYyBjbGlja0luc2lkZShldmVudDogYW55KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cbn0iLCI8ZGl2IGNsYXNzPVwic3YtcG9wdXBcIiB0YWJpbmRleD1cIi0xXCIgW2NsYXNzXT1cIm1vZGVsLnN0eWxlQ2xhc3NcIiBbdmlzaWJsZV09XCJtb2RlbC5pc1Zpc2libGVcIiAoY2xpY2spPVwibW9kZWwuY2xpY2tPdXRzaWRlKCRldmVudClcIiAoa2V5ZG93bik9XCJtb2RlbC5vbktleURvd24oJGV2ZW50KVwiPlxuICAgIDxkaXYgY2xhc3M9XCJzdi1wb3B1cF9fY29udGFpbmVyXCIgW3N0eWxlXT1cInsgbGVmdDogbW9kZWwubGVmdCwgdG9wOiBtb2RlbC50b3AsIGhlaWdodDogbW9kZWwuaGVpZ2h0LCBtaW5XaWR0aDogbW9kZWwubWluV2lkdGgsIHdpZHRoOiBtb2RlbC53aWR0aCB9XCIgKGNsaWNrKT1cImNsaWNrSW5zaWRlKCRldmVudClcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGVsLnNob3dIZWFkZXJcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogbW9kZWwucG9wdXBIZWFkZXJUZW1wbGF0ZSwgZGF0YTogeyBtb2RlbDogbW9kZWwgfSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdi1wb3B1cF9fYm9keS1jb250ZW50XCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibW9kZWwudGl0bGVcIiBjbGFzcz1cInN2LXBvcHVwX19ib2R5LWhlYWRlclwiPnt7IG1vZGVsLnRpdGxlIH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3YtcG9wdXBfX3Njcm9sbGluZy1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN2LXBvcHVwX19jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogbW9kZWwuY29udGVudENvbXBvbmVudE5hbWUsIGRhdGE6IG1vZGVsLmNvbnRlbnRDb21wb25lbnREYXRhIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibW9kZWwuc2hvd0Zvb3RlclwiIGNsYXNzPVwic3YtcG9wdXBfX2JvZHktZm9vdGVyXCI+XG4gICAgICAgICAgICAgICAgPHN2LW5nLWFjdGlvbi1iYXIgW21vZGVsXT1cIm1vZGVsLmZvb3RlclRvb2xiYXJcIj48L3N2LW5nLWFjdGlvbi1iYXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=