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.
49 lines • 8.39 kB
JavaScript
import { Component, Input } from "@angular/core";
import { BaseAngular } from "../base-angular";
import * as i0 from "@angular/core";
import * as i1 from "../survey-string.component";
import * as i2 from "./text.component";
import * as i3 from "../errors.component";
import * as i4 from "@angular/common";
export class MultipleTextItemComponent extends BaseAngular {
getModel() {
if (!this.model.isErrorsCell) {
return this.model.item.editor;
}
return null;
}
get item() {
return this.model.item;
}
get editor() {
return this.model.item.editor;
}
ngDoCheck() {
super.ngDoCheck();
if (this.model.isErrorsCell) {
this.editor.registerFunctionOnPropertyValueChanged("errors", () => {
this.update();
}, "__ngSubscription");
}
}
ngOnDestroy() {
super.ngOnDestroy();
if (this.model.isErrorsCell) {
this.editor.unRegisterFunctionOnPropertyValueChanged("errors", "__ngSubscription");
}
}
}
MultipleTextItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MultipleTextItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
MultipleTextItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MultipleTextItemComponent, selector: "'[sv-ng-multipletext-item]'", inputs: { question: "question", model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!model.isErrorsCell\">\n <label [class]=\"question.getItemLabelCss(item)\">\n <span [class]=\"question.getItemTitleCss()\" [style]=\"{ minWidth: question.itemTitleWidth, width: question.itemTitleWidth }\">\n <span *ngIf=\" item.editor.isRequireTextBeforeTitle || item.editor.isRequireTextOnStart\"\n [class]=\"question.cssClasses.requiredMark\">{{ item.editor.requiredMark }}</span>\n <sv-ng-string [model]=\"item.locTitle\"></sv-ng-string>\n <span *ngIf=\"item.editor.isRequireTextAfterTitle\"> </span>\n <span *ngIf=\"item.editor.isRequireTextAfterTitle\" [class]=\"question.cssClasses.requiredMark\" aria-hidden=\"true\">{{\n item.editor.requiredMark }}</span>\n </span>\n <div [class]=\"question.getItemCss()\" (focusin)=\"item.focusIn()\">\n <sv-ng-text-question [model]=\"item.editor\"></sv-ng-text-question>\n </div>\n </label>\n</ng-container>\n<ng-container *ngIf=\"model.isErrorsCell\">\n <div *ngIf=\"item.editor.hasVisibleErrors\" [element]=\"item.editor\" sv-ng-errors></div>\n</ng-container>", components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i2.TextQuestionComponent, selector: "sv-ng-text-question" }, { type: i3.ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MultipleTextItemComponent, decorators: [{
type: Component,
args: [{
selector: "'[sv-ng-multipletext-item]'",
templateUrl: "./mutlipletextitem.component.html"
}]
}], propDecorators: { question: [{
type: Input
}], model: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGV0ZXh0aXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcXVlc3Rpb25zL211bHRpcGxldGV4dGl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vc3JjL3F1ZXN0aW9ucy9tdXRsaXBsZXRleHRpdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQVcsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBTTlDLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxXQUE4QjtJQUdqRSxRQUFRO1FBQ2hCLElBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRTtZQUMzQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUMvQjtRQUNELE9BQU8sSUFBVyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0lBQ1EsU0FBUztRQUNoQixLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbEIsSUFBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRTtZQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7Z0JBQ2hFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixDQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtTQUN2QjtJQUNILENBQUM7SUFDUSxXQUFXO1FBQ2xCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFO1lBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsd0NBQXdDLENBQUMsUUFBUSxFQUFFLGtCQUFrQixDQUFDLENBQUE7U0FDbkY7SUFDSCxDQUFDOzt1SEE1QlUseUJBQXlCOzJHQUF6Qix5QkFBeUIsNElDUnRDLGdrQ0FpQmU7NEZEVEYseUJBQXlCO2tCQUpyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFdBQVcsRUFBRSxtQ0FBbUM7aUJBQ2pEOzhCQUVVLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTXVsdGlwbGVUZXh0Q2VsbCwgTXVsdGlwbGVUZXh0SXRlbU1vZGVsLCBRdWVzdGlvbk11bHRpcGxlVGV4dE1vZGVsLCBRdWVzdGlvblRleHRNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBEb0NoZWNrLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4uL2Jhc2UtYW5ndWxhclwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiJ1tzdi1uZy1tdWx0aXBsZXRleHQtaXRlbV0nXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vbXV0bGlwbGV0ZXh0aXRlbS5jb21wb25lbnQuaHRtbFwiXG59KVxuZXhwb3J0IGNsYXNzIE11bHRpcGxlVGV4dEl0ZW1Db21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxRdWVzdGlvblRleHRNb2RlbD4gaW1wbGVtZW50cyBEb0NoZWNrLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBxdWVzdGlvbiE6IFF1ZXN0aW9uTXVsdGlwbGVUZXh0TW9kZWw7XG4gIEBJbnB1dCgpIG1vZGVsITogTXVsdGlwbGVUZXh0Q2VsbDtcbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IFF1ZXN0aW9uVGV4dE1vZGVsIHtcbiAgICBpZighdGhpcy5tb2RlbC5pc0Vycm9yc0NlbGwpIHtcbiAgICAgIHJldHVybiB0aGlzLm1vZGVsLml0ZW0uZWRpdG9yO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbCBhcyBhbnk7XG4gIH1cbiAgcHVibGljIGdldCBpdGVtKCk6IE11bHRpcGxlVGV4dEl0ZW1Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwuaXRlbTtcbiAgfVxuICBwdWJsaWMgZ2V0IGVkaXRvcigpOiBRdWVzdGlvblRleHRNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwuaXRlbS5lZGl0b3I7XG4gIH1cbiAgb3ZlcnJpZGUgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLm5nRG9DaGVjaygpO1xuICAgIGlmKHRoaXMubW9kZWwuaXNFcnJvcnNDZWxsKSB7XG4gICAgICB0aGlzLmVkaXRvci5yZWdpc3RlckZ1bmN0aW9uT25Qcm9wZXJ0eVZhbHVlQ2hhbmdlZChcImVycm9yc1wiLCAoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgICB9LCBcIl9fbmdTdWJzY3JpcHRpb25cIilcbiAgICB9XG4gIH1cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICBpZih0aGlzLm1vZGVsLmlzRXJyb3JzQ2VsbCkge1xuICAgICAgdGhpcy5lZGl0b3IudW5SZWdpc3RlckZ1bmN0aW9uT25Qcm9wZXJ0eVZhbHVlQ2hhbmdlZChcImVycm9yc1wiLCBcIl9fbmdTdWJzY3JpcHRpb25cIikgICAgXG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIW1vZGVsLmlzRXJyb3JzQ2VsbFwiPlxuICA8bGFiZWwgW2NsYXNzXT1cInF1ZXN0aW9uLmdldEl0ZW1MYWJlbENzcyhpdGVtKVwiPlxuICAgIDxzcGFuIFtjbGFzc109XCJxdWVzdGlvbi5nZXRJdGVtVGl0bGVDc3MoKVwiIFtzdHlsZV09XCJ7IG1pbldpZHRoOiBxdWVzdGlvbi5pdGVtVGl0bGVXaWR0aCwgd2lkdGg6IHF1ZXN0aW9uLml0ZW1UaXRsZVdpZHRoIH1cIj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiIGl0ZW0uZWRpdG9yLmlzUmVxdWlyZVRleHRCZWZvcmVUaXRsZSB8fCBpdGVtLmVkaXRvci5pc1JlcXVpcmVUZXh0T25TdGFydFwiXG4gICAgICAgIFtjbGFzc109XCJxdWVzdGlvbi5jc3NDbGFzc2VzLnJlcXVpcmVkTWFya1wiPnt7IGl0ZW0uZWRpdG9yLnJlcXVpcmVkTWFyayB9fTwvc3Bhbj5cbiAgICAgIDxzdi1uZy1zdHJpbmcgW21vZGVsXT1cIml0ZW0ubG9jVGl0bGVcIj48L3N2LW5nLXN0cmluZz5cbiAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5lZGl0b3IuaXNSZXF1aXJlVGV4dEFmdGVyVGl0bGVcIj4mbmJzcDs8L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uZWRpdG9yLmlzUmVxdWlyZVRleHRBZnRlclRpdGxlXCIgW2NsYXNzXT1cInF1ZXN0aW9uLmNzc0NsYXNzZXMucmVxdWlyZWRNYXJrXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+e3tcbiAgICAgICAgaXRlbS5lZGl0b3IucmVxdWlyZWRNYXJrIH19PC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgICA8ZGl2IFtjbGFzc109XCJxdWVzdGlvbi5nZXRJdGVtQ3NzKClcIiAoZm9jdXNpbik9XCJpdGVtLmZvY3VzSW4oKVwiPlxuICAgICAgPHN2LW5nLXRleHQtcXVlc3Rpb24gW21vZGVsXT1cIml0ZW0uZWRpdG9yXCI+PC9zdi1uZy10ZXh0LXF1ZXN0aW9uPlxuICAgIDwvZGl2PlxuICA8L2xhYmVsPlxuPC9uZy1jb250YWluZXI+XG48bmctY29udGFpbmVyICpuZ0lmPVwibW9kZWwuaXNFcnJvcnNDZWxsXCI+XG4gIDxkaXYgKm5nSWY9XCJpdGVtLmVkaXRvci5oYXNWaXNpYmxlRXJyb3JzXCIgW2VsZW1lbnRdPVwiaXRlbS5lZGl0b3JcIiBzdi1uZy1lcnJvcnM+PC9kaXY+XG48L25nLWNvbnRhaW5lcj4iXX0=