@ngx-formly/material
Version:
Formly is a dynamic (JSON powered) form library for Angular that bring unmatched maintainability to your application's forms.
77 lines • 8.21 kB
JavaScript
import { Component, ChangeDetectionStrategy } from '@angular/core';
import { FieldType } from '@ngx-formly/material/form-field';
import { MAT_INPUT_VALUE_ACCESSOR } from '@angular/material/input';
import * as i0 from "@angular/core";
import * as i1 from "@angular/material/input";
import * as i2 from "@angular/forms";
import * as i3 from "@angular/cdk/text-field";
import * as i4 from "@ngx-formly/core";
export class FormlyFieldTextArea extends FieldType {
constructor() {
super(...arguments);
this.defaultOptions = {
props: {
cols: 1,
rows: 1,
},
};
}
}
FormlyFieldTextArea.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FormlyFieldTextArea, deps: null, target: i0.ɵɵFactoryTarget.Component });
FormlyFieldTextArea.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FormlyFieldTextArea, selector: "formly-field-mat-textarea", providers: [
// fix for https://github.com/ngx-formly/ngx-formly/issues/1688
// rely on formControl value instead of elementRef which return empty value in Firefox.
{ provide: MAT_INPUT_VALUE_ACCESSOR, useExisting: FormlyFieldTextArea },
], usesInheritance: true, ngImport: i0, template: `
<textarea
matInput
[id]="id"
[name]="field.name"
[readonly]="props.readonly"
[required]="required"
[formControl]="formControl"
[errorStateMatcher]="errorStateMatcher"
[cols]="props.cols"
[rows]="props.rows"
[formlyAttributes]="field"
[placeholder]="props.placeholder"
[tabindex]="props.tabindex"
[cdkTextareaAutosize]="props.autosize"
[cdkAutosizeMinRows]="props.autosizeMinRows"
[cdkAutosizeMaxRows]="props.autosizeMaxRows"
[class.cdk-textarea-autosize]="props.autosize"
></textarea>
`, isInline: true, directives: [{ type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { 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: i3.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FormlyFieldTextArea, decorators: [{
type: Component,
args: [{
selector: 'formly-field-mat-textarea',
template: `
<textarea
matInput
[id]="id"
[name]="field.name"
[readonly]="props.readonly"
[required]="required"
[formControl]="formControl"
[errorStateMatcher]="errorStateMatcher"
[cols]="props.cols"
[rows]="props.rows"
[formlyAttributes]="field"
[placeholder]="props.placeholder"
[tabindex]="props.tabindex"
[cdkTextareaAutosize]="props.autosize"
[cdkAutosizeMinRows]="props.autosizeMinRows"
[cdkAutosizeMaxRows]="props.autosizeMaxRows"
[class.cdk-textarea-autosize]="props.autosize"
></textarea>
`,
providers: [
// fix for https://github.com/ngx-formly/ngx-formly/issues/1688
// rely on formControl value instead of elementRef which return empty value in Firefox.
{ provide: MAT_INPUT_VALUE_ACCESSOR, useExisting: FormlyFieldTextArea },
],
changeDetection: ChangeDetectionStrategy.OnPush,
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy91aS9tYXRlcmlhbC90ZXh0YXJlYS9zcmMvdGV4dGFyZWEudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFRLE1BQU0sZUFBZSxDQUFDO0FBRXpFLE9BQU8sRUFBRSxTQUFTLEVBQW9CLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQXlDbkUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFNBQXlDO0lBN0JsRjs7UUE4QlcsbUJBQWMsR0FBRztZQUN4QixLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLENBQUM7Z0JBQ1AsSUFBSSxFQUFFLENBQUM7YUFDUjtTQUNGLENBQUM7S0FDSDs7aUhBUFksbUJBQW1CO3FHQUFuQixtQkFBbUIsb0RBUG5CO1FBQ1QsK0RBQStEO1FBQy9ELHVGQUF1RjtRQUN2RixFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUU7S0FDeEUsaURBeEJTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJUOzRGQVFVLG1CQUFtQjtrQkE3Qi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJUO29CQUNELFNBQVMsRUFBRTt3QkFDVCwrREFBK0Q7d0JBQy9ELHVGQUF1Rjt3QkFDdkYsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxxQkFBcUIsRUFBRTtxQkFDeEU7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGRUeXBlQ29uZmlnLCBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRmllbGRUeXBlLCBGb3JtbHlGaWVsZFByb3BzIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNQVRfSU5QVVRfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5cbmludGVyZmFjZSBUZXh0QXJlYVByb3BzIGV4dGVuZHMgRm9ybWx5RmllbGRQcm9wcyB7XG4gIGF1dG9zaXplPzogYm9vbGVhbjtcbiAgYXV0b3NpemVNaW5Sb3dzPzogbnVtYmVyO1xuICBhdXRvc2l6ZU1heFJvd3M/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWx5VGV4dEFyZWFGaWVsZENvbmZpZyBleHRlbmRzIEZvcm1seUZpZWxkQ29uZmlnPFRleHRBcmVhUHJvcHM+IHtcbiAgdHlwZTogJ3RleHRhcmVhJyB8IFR5cGU8Rm9ybWx5RmllbGRUZXh0QXJlYT47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Zvcm1seS1maWVsZC1tYXQtdGV4dGFyZWEnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx0ZXh0YXJlYVxuICAgICAgbWF0SW5wdXRcbiAgICAgIFtpZF09XCJpZFwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5uYW1lXCJcbiAgICAgIFtyZWFkb25seV09XCJwcm9wcy5yZWFkb25seVwiXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJlcnJvclN0YXRlTWF0Y2hlclwiXG4gICAgICBbY29sc109XCJwcm9wcy5jb2xzXCJcbiAgICAgIFtyb3dzXT1cInByb3BzLnJvd3NcIlxuICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInByb3BzLnBsYWNlaG9sZGVyXCJcbiAgICAgIFt0YWJpbmRleF09XCJwcm9wcy50YWJpbmRleFwiXG4gICAgICBbY2RrVGV4dGFyZWFBdXRvc2l6ZV09XCJwcm9wcy5hdXRvc2l6ZVwiXG4gICAgICBbY2RrQXV0b3NpemVNaW5Sb3dzXT1cInByb3BzLmF1dG9zaXplTWluUm93c1wiXG4gICAgICBbY2RrQXV0b3NpemVNYXhSb3dzXT1cInByb3BzLmF1dG9zaXplTWF4Um93c1wiXG4gICAgICBbY2xhc3MuY2RrLXRleHRhcmVhLWF1dG9zaXplXT1cInByb3BzLmF1dG9zaXplXCJcbiAgICA+PC90ZXh0YXJlYT5cbiAgYCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgLy8gZml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vbmd4LWZvcm1seS9uZ3gtZm9ybWx5L2lzc3Vlcy8xNjg4XG4gICAgLy8gcmVseSBvbiBmb3JtQ29udHJvbCB2YWx1ZSBpbnN0ZWFkIG9mIGVsZW1lbnRSZWYgd2hpY2ggcmV0dXJuIGVtcHR5IHZhbHVlIGluIEZpcmVmb3guXG4gICAgeyBwcm92aWRlOiBNQVRfSU5QVVRfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBGb3JtbHlGaWVsZFRleHRBcmVhIH0sXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlGaWVsZFRleHRBcmVhIGV4dGVuZHMgRmllbGRUeXBlPEZpZWxkVHlwZUNvbmZpZzxUZXh0QXJlYVByb3BzPj4ge1xuICBvdmVycmlkZSBkZWZhdWx0T3B0aW9ucyA9IHtcbiAgICBwcm9wczoge1xuICAgICAgY29sczogMSxcbiAgICAgIHJvd3M6IDEsXG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==