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.
41 lines • 7.64 kB
JavaScript
import { Component, ElementRef, Input, ViewChild } from "@angular/core";
import { BaseAngular } from "./base-angular";
import * as i0 from "@angular/core";
import * as i1 from "./components/element-title/element-title.component";
import * as i2 from "./survey-string.component";
import * as i3 from "./errors.component";
import * as i4 from "./row.component";
import * as i5 from "@angular/common";
import * as i6 from "./utils/dynamic.directive";
export class PageComponent extends BaseAngular {
getModel() {
return this.model;
}
onModelChanged() {
if (!!this.pageContainerRef && this.pageContainerRef.nativeElement) {
this.model.survey.afterRenderPage(this.pageContainerRef.nativeElement);
}
}
ngAfterViewInit() {
var _a, _b;
(_a = this.model.survey) === null || _a === void 0 ? void 0 : _a.afterRenderPage((_b = this.pageContainerRef) === null || _b === void 0 ? void 0 : _b.nativeElement);
}
}
PageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
PageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PageComponent, selector: "page, sv-ng-page", inputs: { model: "model", survey: "survey" }, viewQueries: [{ propertyName: "pageContainerRef", first: true, predicate: ["pageContainer"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <ng-container *ngIf=\"!!this.survey && !!this.model && this.model.isVisible && !!this.model.survey\">\n <div [class]=\"model.cssRoot\" #pageContainer>\n <sv-ng-element-title [element]=\"model\"></sv-ng-element-title>\n <div *ngIf=\"model._showDescription\" [class]=\"model.cssClasses.page.description\">\n <sv-ng-string [model]=\"model.locDescription\"></sv-ng-string>\n </div>\n <div *ngIf=\"model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <ng-container *ngFor=\"let row of model.visibleRows\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n </div>\n </ng-container> \n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.ElementTitleComponent, selector: "sv-ng-element-title", inputs: ["element"] }, { type: i2.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i3.ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: i4.RowComponent, selector: "sv-ng-row", inputs: ["row"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PageComponent, decorators: [{
type: Component,
args: [{
selector: "page, sv-ng-page",
templateUrl: "./page.component.html",
styleUrls: ["./hide-host.scss"]
}]
}], propDecorators: { model: [{
type: Input
}], survey: [{
type: Input
}], pageContainerRef: [{
type: ViewChild,
args: ["pageContainer", { static: false, read: ElementRef }]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi9zcmMvcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUE0QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQU03QyxNQUFNLE9BQU8sYUFBYyxTQUFRLFdBQXNCO0lBSTdDLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDa0IsY0FBYztRQUMvQixJQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRTtZQUNqRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3hFO0lBQ0gsQ0FBQztJQUNELGVBQWU7O1FBQ2IsTUFBQSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sMENBQUUsZUFBZSxDQUFDLE1BQUEsSUFBSSxDQUFDLGdCQUFnQiwwQ0FBRSxhQUFhLENBQUMsQ0FBQztJQUMzRSxDQUFDOzsyR0FkVSxhQUFhOytGQUFiLGFBQWEsb01BRzJCLFVBQVUsb0RDWC9ELG80QkFlYzs0RkRQRCxhQUFhO2tCQUx6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFdBQVcsRUFBRSx1QkFBdUI7b0JBQ3BDLFNBQVMsRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUM5Qjs4QkFFUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUMyRCxnQkFBZ0I7c0JBQWhGLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUGFnZU1vZGVsLCBTdXJ2ZXlNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi9iYXNlLWFuZ3VsYXJcIjtcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJwYWdlLCBzdi1uZy1wYWdlXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vcGFnZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vaGlkZS1ob3N0LnNjc3NcIl1cbiAgfSlcbmV4cG9ydCBjbGFzcyBQYWdlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXI8UGFnZU1vZGVsPiB7XG4gIEBJbnB1dCgpIG1vZGVsITogUGFnZU1vZGVsO1xuICBASW5wdXQoKSBzdXJ2ZXk/OiBTdXJ2ZXlNb2RlbDtcbiAgQFZpZXdDaGlsZChcInBhZ2VDb250YWluZXJcIiwgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBFbGVtZW50UmVmIH0pIHBhZ2VDb250YWluZXJSZWYhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IFBhZ2VNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gIH1cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uTW9kZWxDaGFuZ2VkKCk6IHZvaWQge1xuICAgIGlmKCEhdGhpcy5wYWdlQ29udGFpbmVyUmVmICYmIHRoaXMucGFnZUNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLm1vZGVsLnN1cnZleS5hZnRlclJlbmRlclBhZ2UodGhpcy5wYWdlQ29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RlbC5zdXJ2ZXk/LmFmdGVyUmVuZGVyUGFnZSh0aGlzLnBhZ2VDb250YWluZXJSZWY/Lm5hdGl2ZUVsZW1lbnQpO1xuICB9XG59IiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEhdGhpcy5zdXJ2ZXkgJiYgISF0aGlzLm1vZGVsICYmIHRoaXMubW9kZWwuaXNWaXNpYmxlICYmICEhdGhpcy5tb2RlbC5zdXJ2ZXlcIj5cbiAgICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NSb290XCIgI3BhZ2VDb250YWluZXI+XG4gICAgICA8c3YtbmctZWxlbWVudC10aXRsZSBbZWxlbWVudF09XCJtb2RlbFwiPjwvc3YtbmctZWxlbWVudC10aXRsZT5cbiAgICAgIDxkaXYgKm5nSWY9XCJtb2RlbC5fc2hvd0Rlc2NyaXB0aW9uXCIgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMucGFnZS5kZXNjcmlwdGlvblwiPlxuICAgICAgICA8c3Ytbmctc3RyaW5nIFttb2RlbF09XCJtb2RlbC5sb2NEZXNjcmlwdGlvblwiPjwvc3Ytbmctc3RyaW5nPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwibW9kZWwuaGFzVmlzaWJsZUVycm9yc1wiIFtlbGVtZW50XT1cIm1vZGVsXCIgc3YtbmctZXJyb3JzPjwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcm93IG9mIG1vZGVsLnZpc2libGVSb3dzXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogJGFueShtb2RlbC5zdXJ2ZXkpLmdldFJvd1dyYXBwZXJDb21wb25lbnROYW1lKHJvdyksIGRhdGE6IHsgY29tcG9uZW50RGF0YTogJGFueShtb2RlbC5zdXJ2ZXkpLmdldFJvd1dyYXBwZXJDb21wb25lbnREYXRhKHJvdykgfSB9XCI+XG4gICAgICAgICAgPHN2LW5nLXJvdyBbcm93XT1cInJvd1wiPjwvc3Ytbmctcm93PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPiAgXG48L25nLXRlbXBsYXRlPiJdfQ==