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
JavaScript
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