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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi9zcmMvcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUE0QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQU03QyxNQUFNLE9BQU8sYUFBYyxTQUFRLFdBQXNCO0lBSTdDLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDa0IsY0FBYztRQUMvQixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRTtZQUNsRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3hFO0lBQ0gsQ0FBQztJQUNELGVBQWU7O1FBQ2IsTUFBQSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sMENBQUUsZUFBZSxDQUFDLE1BQUEsSUFBSSxDQUFDLGdCQUFnQiwwQ0FBRSxhQUFhLENBQUMsQ0FBQztJQUMzRSxDQUFDOzsyR0FkVSxhQUFhOytGQUFiLGFBQWEsb01BRzJCLFVBQVUsb0RDWC9ELG80QkFlYzs0RkRQRCxhQUFhO2tCQUx6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFdBQVcsRUFBRSx1QkFBdUI7b0JBQ3BDLFNBQVMsRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUNoQzs4QkFFVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUMyRCxnQkFBZ0I7c0JBQWhGLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUGFnZU1vZGVsLCBTdXJ2ZXlNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi9iYXNlLWFuZ3VsYXJcIjtcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJwYWdlLCBzdi1uZy1wYWdlXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vcGFnZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vaGlkZS1ob3N0LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgUGFnZUNvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPFBhZ2VNb2RlbD4ge1xuICBASW5wdXQoKSBtb2RlbCE6IFBhZ2VNb2RlbDtcbiAgQElucHV0KCkgc3VydmV5PzogU3VydmV5TW9kZWw7XG4gIEBWaWV3Q2hpbGQoXCJwYWdlQ29udGFpbmVyXCIsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogRWxlbWVudFJlZiB9KSBwYWdlQ29udGFpbmVyUmVmITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBQYWdlTW9kZWwge1xuICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICB9XG4gIHByb3RlY3RlZCBvdmVycmlkZSBvbk1vZGVsQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICBpZiAoISF0aGlzLnBhZ2VDb250YWluZXJSZWYgJiYgdGhpcy5wYWdlQ29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMubW9kZWwuc3VydmV5LmFmdGVyUmVuZGVyUGFnZSh0aGlzLnBhZ2VDb250YWluZXJSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGVsLnN1cnZleT8uYWZ0ZXJSZW5kZXJQYWdlKHRoaXMucGFnZUNvbnRhaW5lclJlZj8ubmF0aXZlRWxlbWVudCk7XG4gIH1cbn0iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiISF0aGlzLnN1cnZleSAmJiAhIXRoaXMubW9kZWwgJiYgdGhpcy5tb2RlbC5pc1Zpc2libGUgJiYgISF0aGlzLm1vZGVsLnN1cnZleVwiPlxuICAgIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc1Jvb3RcIiAjcGFnZUNvbnRhaW5lcj5cbiAgICAgIDxzdi1uZy1lbGVtZW50LXRpdGxlIFtlbGVtZW50XT1cIm1vZGVsXCI+PC9zdi1uZy1lbGVtZW50LXRpdGxlPlxuICAgICAgPGRpdiAqbmdJZj1cIm1vZGVsLl9zaG93RGVzY3JpcHRpb25cIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5wYWdlLmRlc2NyaXB0aW9uXCI+XG4gICAgICAgIDxzdi1uZy1zdHJpbmcgW21vZGVsXT1cIm1vZGVsLmxvY0Rlc2NyaXB0aW9uXCI+PC9zdi1uZy1zdHJpbmc+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJtb2RlbC5oYXNWaXNpYmxlRXJyb3JzXCIgW2VsZW1lbnRdPVwibW9kZWxcIiBzdi1uZy1lcnJvcnM+PC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByb3cgb2YgbW9kZWwudmlzaWJsZVJvd3NcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiAkYW55KG1vZGVsLnN1cnZleSkuZ2V0Um93V3JhcHBlckNvbXBvbmVudE5hbWUocm93KSwgZGF0YTogeyBjb21wb25lbnREYXRhOiAkYW55KG1vZGVsLnN1cnZleSkuZ2V0Um93V3JhcHBlckNvbXBvbmVudERhdGEocm93KSB9IH1cIj5cbiAgICAgICAgICA8c3Ytbmctcm93IFtyb3ddPVwicm93XCI+PC9zdi1uZy1yb3c+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+ICBcbjwvbmctdGVtcGxhdGU+Il19