survey-creator-angular
Version:
Use SurveyJS Creator to create or edit JSON for SurveyJS Form Library.
34 lines • 6.57 kB
JavaScript
import { Component, Input, ViewChild } from "@angular/core";
import { AngularComponentFactory, BaseAngular } from "survey-angular-ui";
import * as i0 from "@angular/core";
import * as i1 from "survey-angular-ui";
import * as i2 from "@angular/forms";
export class TextareaJsonEditorComponent extends BaseAngular {
getModel() {
return this.model;
}
ngOnInit() {
this.model.canShowErrors = false;
super.ngOnInit();
}
ngAfterViewInit() {
this.model.textElement = this.inputEl.nativeElement;
}
}
TextareaJsonEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TextareaJsonEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
TextareaJsonEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TextareaJsonEditorComponent, selector: "svc-tab-json-editor-textarea", inputs: { model: "model" }, viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["inputEl"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-creator-tab__content\">\n <div class=\"svc-json-editor-tab__content\">\n <textarea class=\"svc-json-editor-tab__content-area\" [attr.aria-label]=\"model.ariaLabel\"\n [disabled]=\"model.readOnly\" [(ngModel)]=\"model.text\" (keydown)=\"model.checkKey(model, $event)\" #inputEl>\n </textarea>\n <div class=\"svc-json-editor-tab__errros_list\" [visible]=\"model.hasErrors\">\n <sv-ng-list [model]=\"model.errorList\"></sv-ng-list>\n </div>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.ListComponent, selector: "sv-ng-list, '[sv-ng-list]'", inputs: ["model"] }], directives: [{ type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TextareaJsonEditorComponent, decorators: [{
type: Component,
args: [{
selector: "svc-tab-json-editor-textarea",
templateUrl: "./json-editor-textarea.component.html",
styles: [":host { display: none; }"]
}]
}], propDecorators: { model: [{
type: Input
}], inputEl: [{
type: ViewChild,
args: ["inputEl"]
}] } });
AngularComponentFactory.Instance.registerComponent("svc-tab-json-editor-textarea", TextareaJsonEditorComponent);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1lZGl0b3ItdGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RhYnMvanNvbi9qc29uLWVkaXRvci10ZXh0YXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvdGFicy9qc29uL2pzb24tZWRpdG9yLXRleHRhcmVhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFPekUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLFdBQW9DO0lBR3pFLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDZSxRQUFRO1FBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUNqQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUNNLGVBQWU7UUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7SUFDdEQsQ0FBQzs7eUhBWlUsMkJBQTJCOzZHQUEzQiwyQkFBMkIsMk5DVHhDLDhpQkFXYzs0RkRGRCwyQkFBMkI7a0JBTHZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDhCQUE4QjtvQkFDeEMsV0FBVyxFQUFFLHVDQUF1QztvQkFDcEQsTUFBTSxFQUFFLENBQUMsMEJBQTBCLENBQUM7aUJBQ3JDOzhCQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDZ0IsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTOztBQVl0Qix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsOEJBQThCLEVBQUUsMkJBQTJCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYkpzb25FZGl0b3JUZXh0YXJlYVBsdWdpbiwgVGV4dGFyZWFKc29uRWRpdG9yTW9kZWwgfSBmcm9tIFwic3VydmV5LWNyZWF0b3ItY29yZVwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnksIEJhc2VBbmd1bGFyIH0gZnJvbSBcInN1cnZleS1hbmd1bGFyLXVpXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdmMtdGFiLWpzb24tZWRpdG9yLXRleHRhcmVhXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vanNvbi1lZGl0b3ItdGV4dGFyZWEuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVzOiBbXCI6aG9zdCB7IGRpc3BsYXk6IG5vbmU7IH1cIl1cbn0pXG5leHBvcnQgY2xhc3MgVGV4dGFyZWFKc29uRWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXI8VGV4dGFyZWFKc29uRWRpdG9yTW9kZWw+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbW9kZWwhOiBUZXh0YXJlYUpzb25FZGl0b3JNb2RlbDtcbiAgQFZpZXdDaGlsZChcImlucHV0RWxcIikgaW5wdXRFbCE6IEVsZW1lbnRSZWY8SFRNTFRleHRBcmVhRWxlbWVudD47XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBUZXh0YXJlYUpzb25FZGl0b3JNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubW9kZWwuY2FuU2hvd0Vycm9ycyA9IGZhbHNlO1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gIH1cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLm1vZGVsLnRleHRFbGVtZW50ID0gdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwic3ZjLXRhYi1qc29uLWVkaXRvci10ZXh0YXJlYVwiLCBUZXh0YXJlYUpzb25FZGl0b3JDb21wb25lbnQpOyIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJzdmMtY3JlYXRvci10YWJfX2NvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3ZjLWpzb24tZWRpdG9yLXRhYl9fY29udGVudFwiPlxuICAgICAgPHRleHRhcmVhIGNsYXNzPVwic3ZjLWpzb24tZWRpdG9yLXRhYl9fY29udGVudC1hcmVhXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJtb2RlbC5hcmlhTGFiZWxcIlxuICAgICAgICBbZGlzYWJsZWRdPVwibW9kZWwucmVhZE9ubHlcIiBbKG5nTW9kZWwpXT1cIm1vZGVsLnRleHRcIiAoa2V5ZG93bik9XCJtb2RlbC5jaGVja0tleShtb2RlbCwgJGV2ZW50KVwiICNpbnB1dEVsPlxuICAgICAgPC90ZXh0YXJlYT5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdmMtanNvbi1lZGl0b3ItdGFiX19lcnJyb3NfbGlzdFwiIFt2aXNpYmxlXT1cIm1vZGVsLmhhc0Vycm9yc1wiPlxuICAgICAgICA8c3YtbmctbGlzdCBbbW9kZWxdPVwibW9kZWwuZXJyb3JMaXN0XCI+PC9zdi1uZy1saXN0PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=