UNPKG

@ngx-formly/material

Version:

Formly is a dynamic (JSON powered) form library for Angular that bring unmatched maintainability to your application's forms.

85 lines 7.96 kB
import { Component, ChangeDetectionStrategy } from '@angular/core'; import { FieldType } from '@ngx-formly/material/form-field'; import * as i0 from "@angular/core"; import * as i1 from "@angular/forms"; import * as i2 from "@angular/material/input"; import * as i3 from "@ngx-formly/core"; import * as i4 from "@angular/common"; import * as i5 from "@ngx-formly/core/select"; export class FormlyFieldNativeSelect extends FieldType { static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyFieldNativeSelect, deps: null, target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FormlyFieldNativeSelect, selector: "formly-field-mat-native-select", usesInheritance: true, ngImport: i0, template: ` <select matNativeControl [id]="id" [name]="field.name" [readonly]="props.readonly" [required]="required" [errorStateMatcher]="errorStateMatcher" [formControl]="formControl" [formlyAttributes]="field" > @if (props.placeholder) { <option [ngValue]="undefined">{{ props.placeholder }}</option> } @if (props.options | formlySelectOptions: field | async; as opts) { @for (opt of opts; track $index) { @if (!opt.group) { <option [ngValue]="opt.value" [disabled]="opt.disabled"> {{ opt.label }} </option> } @else { <optgroup [label]="opt.label"> @for (child of opt.group; track $index) { <option [ngValue]="child.value" [disabled]="child.disabled"> {{ child.label }} </option> } </optgroup> } } } </select> `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.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"] }, { kind: "directive", type: i3.LegacyFormlyAttributes, selector: "[formlyAttributes]" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.LegacyFormlySelectOptionsPipe, name: "formlySelectOptions" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyFieldNativeSelect, decorators: [{ type: Component, args: [{ selector: 'formly-field-mat-native-select', template: ` <select matNativeControl [id]="id" [name]="field.name" [readonly]="props.readonly" [required]="required" [errorStateMatcher]="errorStateMatcher" [formControl]="formControl" [formlyAttributes]="field" > @if (props.placeholder) { <option [ngValue]="undefined">{{ props.placeholder }}</option> } @if (props.options | formlySelectOptions: field | async; as opts) { @for (opt of opts; track $index) { @if (!opt.group) { <option [ngValue]="opt.value" [disabled]="opt.disabled"> {{ opt.label }} </option> } @else { <optgroup [label]="opt.label"> @for (child of opt.group; track $index) { <option [ngValue]="child.value" [disabled]="child.disabled"> {{ child.label }} </option> } </optgroup> } } } </select> `, changeDetection: ChangeDetectionStrategy.OnPush, }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLXNlbGVjdC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3VpL21hdGVyaWFsL25hdGl2ZS1zZWxlY3Qvc3JjL25hdGl2ZS1zZWxlY3QudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFRLE1BQU0sZUFBZSxDQUFDO0FBR3pFLE9BQU8sRUFBRSxTQUFTLEVBQW9CLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7QUE2QzlFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxTQUE2QzsrR0FBN0UsdUJBQXVCO21HQUF2Qix1QkFBdUIsNkZBbkN4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQ1Q7OzRGQUdVLHVCQUF1QjtrQkFyQ25DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdDQUFnQztvQkFDMUMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdDVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGVDb25maWcsIEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZFNlbGVjdFByb3BzIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZS9zZWxlY3QnO1xuaW1wb3J0IHsgRmllbGRUeXBlLCBGb3JtbHlGaWVsZFByb3BzIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5cbmludGVyZmFjZSBOYXRpdmVTZWxlY3RQcm9wcyBleHRlbmRzIEZvcm1seUZpZWxkUHJvcHMsIEZvcm1seUZpZWxkU2VsZWN0UHJvcHMge31cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtbHlOYXRpdmVTZWxlY3RGaWVsZENvbmZpZyBleHRlbmRzIEZvcm1seUZpZWxkQ29uZmlnPE5hdGl2ZVNlbGVjdFByb3BzPiB7XG4gIHR5cGU6ICduYXRpdmUtc2VsZWN0JyB8IFR5cGU8Rm9ybWx5RmllbGROYXRpdmVTZWxlY3Q+O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmb3JtbHktZmllbGQtbWF0LW5hdGl2ZS1zZWxlY3QnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxzZWxlY3RcbiAgICAgIG1hdE5hdGl2ZUNvbnRyb2xcbiAgICAgIFtpZF09XCJpZFwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5uYW1lXCJcbiAgICAgIFtyZWFkb25seV09XCJwcm9wcy5yZWFkb25seVwiXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgW2Vycm9yU3RhdGVNYXRjaGVyXT1cImVycm9yU3RhdGVNYXRjaGVyXCJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICBbZm9ybWx5QXR0cmlidXRlc109XCJmaWVsZFwiXG4gICAgPlxuICAgICAgQGlmIChwcm9wcy5wbGFjZWhvbGRlcikge1xuICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cInVuZGVmaW5lZFwiPnt7IHByb3BzLnBsYWNlaG9sZGVyIH19PC9vcHRpb24+XG4gICAgICB9XG4gICAgICBAaWYgKHByb3BzLm9wdGlvbnMgfCBmb3JtbHlTZWxlY3RPcHRpb25zOiBmaWVsZCB8IGFzeW5jOyBhcyBvcHRzKSB7XG4gICAgICAgIEBmb3IgKG9wdCBvZiBvcHRzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICBAaWYgKCFvcHQuZ3JvdXApIHtcbiAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwib3B0LnZhbHVlXCIgW2Rpc2FibGVkXT1cIm9wdC5kaXNhYmxlZFwiPlxuICAgICAgICAgICAgICB7eyBvcHQubGFiZWwgfX1cbiAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPG9wdGdyb3VwIFtsYWJlbF09XCJvcHQubGFiZWxcIj5cbiAgICAgICAgICAgICAgQGZvciAoY2hpbGQgb2Ygb3B0Lmdyb3VwOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cImNoaWxkLnZhbHVlXCIgW2Rpc2FibGVkXT1cImNoaWxkLmRpc2FibGVkXCI+XG4gICAgICAgICAgICAgICAgICB7eyBjaGlsZC5sYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L29wdGdyb3VwPlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvc2VsZWN0PlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5RmllbGROYXRpdmVTZWxlY3QgZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPE5hdGl2ZVNlbGVjdFByb3BzPj4ge31cbiJdfQ==