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.

82 lines 9.96 kB
import { Component, ElementRef, Input, ViewChild } from "@angular/core"; import { BaseAngular } from "./base-angular"; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "./utils/dynamic.directive"; export class ElementComponent extends BaseAngular { getModel() { return this.model; } get elementComponentName() { return this.model.isPanel ? "panel" : "question"; } onModelChanged() { var _a; super.onModelChanged(); if (this.previousModel) { this.previousModel.setWrapperElement(undefined); } if (this.model && ((_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement)) { this.model.setWrapperElement(this.container.nativeElement); } } get componentName() { const survey = this.surveyModel; if (!!survey) { const name = survey.getElementWrapperComponentName(this.model); if (!!name) { return name; } } return this.elementComponentName; } get rootStyle() { //use this if to check if cssClassses are calculated and allowRootStyle flag was set if (!!this.model.cssClasses) { return this.model.rootStyle; } else { return {}; } } get componentData() { const survey = this.surveyModel; let data; if (!!survey) { data = survey.getElementWrapperComponentData(this.model); } return { componentName: this.elementComponentName, componentData: { model: this.model, data: data } }; } ngAfterViewInit() { var _a; if (this.model && ((_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement)) { this.model.setWrapperElement(this.container.nativeElement); } } ngOnDestroy() { super.ngOnDestroy(); this.model.setWrapperElement(undefined); } } ElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ElementComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); ElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ElementComponent, selector: "sv-ng-element", inputs: { model: "model" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"!!model\" [class]=\"model.cssClasses.questionWrapper\" [style]=\"rootStyle\" (focusin)=\"model.focusIn()\" #container>\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ElementComponent, decorators: [{ type: Component, args: [{ selector: "sv-ng-element", templateUrl: "./element.component.html", styleUrls: ["./hide-host.scss"] }] }], propDecorators: { model: [{ type: Input }], container: [{ type: ViewChild, args: ["container", { static: false, read: ElementRef }] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZWxlbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi9zcmMvZWxlbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFPN0MsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFdBQWtDO0lBRzVELFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFjLG9CQUFvQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUNuRCxDQUFDO0lBRWtCLGNBQWM7O1FBQy9CLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNqRDtRQUNELElBQUksSUFBSSxDQUFDLEtBQUssS0FBSSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLGFBQWEsQ0FBQSxFQUFFO1lBQy9DLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUM1RDtJQUNILENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQTBCLENBQUM7UUFDL0MsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ1osTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUU7Z0JBQ1YsT0FBTyxJQUFJLENBQUM7YUFDYjtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUNELElBQVcsU0FBUztRQUNsQixvRkFBb0Y7UUFDcEYsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFDM0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztTQUM3QjthQUFNO1lBQ0wsT0FBTyxFQUFFLENBQUM7U0FDWDtJQUNILENBQUM7SUFDRCxJQUFXLGFBQWE7UUFDdEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQTBCLENBQUM7UUFDL0MsSUFBSSxJQUFTLENBQUM7UUFDZCxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDWixJQUFJLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMxRDtRQUNELE9BQU87WUFDTCxhQUFhLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtZQUN4QyxhQUFhLEVBQUU7Z0JBQ2IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixJQUFJLEVBQUUsSUFBSTthQUNYO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFDTSxlQUFlOztRQUNwQixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUksTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxhQUFhLENBQUEsRUFBRTtZQUMvQyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDNUQ7SUFDSCxDQUFDO0lBQ2UsV0FBVztRQUN6QixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQyxDQUFDOzs4R0E1RFUsZ0JBQWdCO2tHQUFoQixnQkFBZ0Isb0tBRW9CLFVBQVUsb0RDWDNELGdTQUljOzRGREtELGdCQUFnQjtrQkFMNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsV0FBVyxFQUFFLDBCQUEwQjtvQkFDdkMsU0FBUyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQ2hDOzhCQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDdUQsU0FBUztzQkFBckUsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBQYW5lbE1vZGVsLCBRdWVzdGlvbiwgU3VydmV5TW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4vYmFzZS1hbmd1bGFyXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1lbGVtZW50XCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZWxlbWVudC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vaGlkZS1ob3N0LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgRWxlbWVudENvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPFBhbmVsTW9kZWwgfCBRdWVzdGlvbj4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgbW9kZWwhOiBQYW5lbE1vZGVsIHwgUXVlc3Rpb247XG4gIEBWaWV3Q2hpbGQoXCJjb250YWluZXJcIiwgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBFbGVtZW50UmVmIH0pIGNvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogUGFuZWxNb2RlbCB8IFF1ZXN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBwcm90ZWN0ZWQgZ2V0IGVsZW1lbnRDb21wb25lbnROYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwuaXNQYW5lbCA/IFwicGFuZWxcIiA6IFwicXVlc3Rpb25cIjtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBvbk1vZGVsQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICBzdXBlci5vbk1vZGVsQ2hhbmdlZCgpO1xuICAgIGlmICh0aGlzLnByZXZpb3VzTW9kZWwpIHtcbiAgICAgIHRoaXMucHJldmlvdXNNb2RlbC5zZXRXcmFwcGVyRWxlbWVudCh1bmRlZmluZWQpO1xuICAgIH1cbiAgICBpZiAodGhpcy5tb2RlbCAmJiB0aGlzLmNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgdGhpcy5tb2RlbC5zZXRXcmFwcGVyRWxlbWVudCh0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbXBvbmVudE5hbWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdXJ2ZXkgPSB0aGlzLnN1cnZleU1vZGVsIGFzIFN1cnZleU1vZGVsO1xuICAgIGlmICghIXN1cnZleSkge1xuICAgICAgY29uc3QgbmFtZSA9IHN1cnZleS5nZXRFbGVtZW50V3JhcHBlckNvbXBvbmVudE5hbWUodGhpcy5tb2RlbCk7XG4gICAgICBpZiAoISFuYW1lKSB7XG4gICAgICAgIHJldHVybiBuYW1lO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5lbGVtZW50Q29tcG9uZW50TmFtZTtcbiAgfVxuICBwdWJsaWMgZ2V0IHJvb3RTdHlsZSgpIHtcbiAgICAvL3VzZSB0aGlzIGlmIHRvIGNoZWNrIGlmIGNzc0NsYXNzc2VzIGFyZSBjYWxjdWxhdGVkIGFuZCBhbGxvd1Jvb3RTdHlsZSBmbGFnIHdhcyBzZXRcbiAgICBpZiAoISF0aGlzLm1vZGVsLmNzc0NsYXNzZXMpIHtcbiAgICAgIHJldHVybiB0aGlzLm1vZGVsLnJvb3RTdHlsZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IGNvbXBvbmVudERhdGEoKTogYW55IHtcbiAgICBjb25zdCBzdXJ2ZXkgPSB0aGlzLnN1cnZleU1vZGVsIGFzIFN1cnZleU1vZGVsO1xuICAgIGxldCBkYXRhOiBhbnk7XG4gICAgaWYgKCEhc3VydmV5KSB7XG4gICAgICBkYXRhID0gc3VydmV5LmdldEVsZW1lbnRXcmFwcGVyQ29tcG9uZW50RGF0YSh0aGlzLm1vZGVsKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbXBvbmVudE5hbWU6IHRoaXMuZWxlbWVudENvbXBvbmVudE5hbWUsXG4gICAgICBjb21wb25lbnREYXRhOiB7XG4gICAgICAgIG1vZGVsOiB0aGlzLm1vZGVsLFxuICAgICAgICBkYXRhOiBkYXRhXG4gICAgICB9XG4gICAgfTtcbiAgfVxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1vZGVsICYmIHRoaXMuY29udGFpbmVyPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLm1vZGVsLnNldFdyYXBwZXJFbGVtZW50KHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLm1vZGVsLnNldFdyYXBwZXJFbGVtZW50KHVuZGVmaW5lZCk7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gICAgPGRpdiAqbmdJZj1cIiEhbW9kZWxcIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5xdWVzdGlvbldyYXBwZXJcIiBbc3R5bGVdPVwicm9vdFN0eWxlXCIgKGZvY3VzaW4pPVwibW9kZWwuZm9jdXNJbigpXCIgI2NvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiBjb21wb25lbnROYW1lLCBkYXRhOiBjb21wb25lbnREYXRhIH1cIj48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=