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