@ngx-formly/ionic
Version:
Formly is a dynamic (JSON powered) form library for Angular that bring unmatched maintainability to your application's forms.
69 lines • 8.36 kB
JavaScript
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { FieldType } from '@ngx-formly/core';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "@angular/forms";
import * as i3 from "@ionic/angular";
import * as i4 from "@ngx-formly/ionic/form-field";
import * as i5 from "@ngx-formly/core/select";
export class FormlyFieldSelect extends FieldType {
constructor() {
super(...arguments);
this.defaultOptions = {
props: {
compareWith(o1, o2) {
return o1 === o2;
},
},
};
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyFieldSelect, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyFieldSelect, selector: "formly-field-ion-select", usesInheritance: true, ngImport: i0, template: `
<!-- ng-container used as a workaround for https://github.com/ionic-team/ionic/issues/19324 -->
<ng-container *ngIf="props.options | formlySelectOptions: field | async; let selectOptions">
<ion-select
[style.align-self]="props.labelPosition === 'floating' ? 'stretch' : ''"
[style.max-width.%]="props.labelPosition === 'floating' ? 100 : ''"
[formControl]="formControl"
[compareWith]="props.compareWith"
[ionFormlyAttributes]="field"
[multiple]="props.multiple"
[interface]="props.interface"
[okText]="props.okText"
[cancelText]="props.cancelText"
[label]="props.label"
[labelPlacement]="props.labelPosition"
>
<ion-select-option *ngFor="let option of selectOptions" [value]="option.value" [disabled]="option.disabled">
{{ option.label }}
</ion-select-option>
</ion-select>
</ng-container>
`, isInline: true, styles: [":host{display:inherit}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "expandedIcon", "fill", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: i3.IonSelectOption, selector: "ion-select-option", inputs: ["disabled", "value"] }, { kind: "directive", type: i3.SelectValueAccessor, selector: "ion-select, ion-radio-group, ion-segment, ion-datetime" }, { kind: "directive", type: i4.ɵIonFormlyAttributes, selector: "[ionFormlyAttributes]", inputs: ["ionFormlyAttributes"] }, { kind: "pipe", type: i1.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: FormlyFieldSelect, decorators: [{
type: Component,
args: [{ selector: 'formly-field-ion-select', template: `
<!-- ng-container used as a workaround for https://github.com/ionic-team/ionic/issues/19324 -->
<ng-container *ngIf="props.options | formlySelectOptions: field | async; let selectOptions">
<ion-select
[style.align-self]="props.labelPosition === 'floating' ? 'stretch' : ''"
[style.max-width.%]="props.labelPosition === 'floating' ? 100 : ''"
[formControl]="formControl"
[compareWith]="props.compareWith"
[ionFormlyAttributes]="field"
[multiple]="props.multiple"
[interface]="props.interface"
[okText]="props.okText"
[cancelText]="props.cancelText"
[label]="props.label"
[labelPlacement]="props.labelPosition"
>
<ion-select-option *ngFor="let option of selectOptions" [value]="option.value" [disabled]="option.disabled">
{{ option.label }}
</ion-select-option>
</ion-select>
</ng-container>
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:inherit}\n"] }]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdWkvaW9uaWMvc2VsZWN0L3NyYy9zZWxlY3QudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBRXpFLE9BQU8sRUFBRSxTQUFTLEVBQXNDLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7QUEyQ2pGLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxTQUF1QztJQTNCOUU7O1FBNEJXLG1CQUFjLEdBQUc7WUFDeEIsS0FBSyxFQUFFO2dCQUNMLFdBQVcsQ0FBQyxFQUFPLEVBQUUsRUFBTztvQkFDMUIsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO2dCQUNuQixDQUFDO2FBQ0Y7U0FDRixDQUFDO0tBQ0g7K0dBUlksaUJBQWlCO21HQUFqQixpQkFBaUIsc0ZBekJsQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJUOzs0RkFJVSxpQkFBaUI7a0JBM0I3QixTQUFTOytCQUNFLHlCQUF5QixZQUN6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJULG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZpZWxkVHlwZUNvbmZpZywgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZvcm1seUZpZWxkU2VsZWN0UHJvcHMgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlL3NlbGVjdCc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZFByb3BzIH0gZnJvbSAnQG5neC1mb3JtbHkvaW9uaWMvZm9ybS1maWVsZCc7XG5cbmludGVyZmFjZSBTZWxlY3RQcm9wcyBleHRlbmRzIEZvcm1seUZpZWxkUHJvcHMsIEZvcm1seUZpZWxkU2VsZWN0UHJvcHMge1xuICBjb21wYXJlV2l0aD86ICgoY3VycmVudFZhbHVlOiBhbnksIGNvbXBhcmVWYWx1ZTogYW55KSA9PiBib29sZWFuKSB8IG51bGwgfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIG11bHRpcGxlPzogYm9vbGVhbjtcbiAgaW50ZXJmYWNlPzogJ2FjdGlvbi1zaGVldCcgfCAnYWxlcnQnIHwgJ3BvcG92ZXInO1xuICBva1RleHQ/OiBzdHJpbmc7XG4gIGNhbmNlbFRleHQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWx5U2VsZWN0RmllbGRDb25maWcgZXh0ZW5kcyBGb3JtbHlGaWVsZENvbmZpZzxTZWxlY3RQcm9wcz4ge1xuICB0eXBlOiAnc2VsZWN0JyB8IFR5cGU8Rm9ybWx5RmllbGRTZWxlY3Q+O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmb3JtbHktZmllbGQtaW9uLXNlbGVjdCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPCEtLSBuZy1jb250YWluZXIgdXNlZCBhcyBhIHdvcmthcm91bmQgZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS9pb25pYy10ZWFtL2lvbmljL2lzc3Vlcy8xOTMyNCAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJvcHMub3B0aW9ucyB8IGZvcm1seVNlbGVjdE9wdGlvbnM6IGZpZWxkIHwgYXN5bmM7IGxldCBzZWxlY3RPcHRpb25zXCI+XG4gICAgICA8aW9uLXNlbGVjdFxuICAgICAgICBbc3R5bGUuYWxpZ24tc2VsZl09XCJwcm9wcy5sYWJlbFBvc2l0aW9uID09PSAnZmxvYXRpbmcnID8gJ3N0cmV0Y2gnIDogJydcIlxuICAgICAgICBbc3R5bGUubWF4LXdpZHRoLiVdPVwicHJvcHMubGFiZWxQb3NpdGlvbiA9PT0gJ2Zsb2F0aW5nJyA/IDEwMCA6ICcnXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgW2NvbXBhcmVXaXRoXT1cInByb3BzLmNvbXBhcmVXaXRoXCJcbiAgICAgICAgW2lvbkZvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxuICAgICAgICBbbXVsdGlwbGVdPVwicHJvcHMubXVsdGlwbGVcIlxuICAgICAgICBbaW50ZXJmYWNlXT1cInByb3BzLmludGVyZmFjZVwiXG4gICAgICAgIFtva1RleHRdPVwicHJvcHMub2tUZXh0XCJcbiAgICAgICAgW2NhbmNlbFRleHRdPVwicHJvcHMuY2FuY2VsVGV4dFwiXG4gICAgICAgIFtsYWJlbF09XCJwcm9wcy5sYWJlbFwiXG4gICAgICAgIFtsYWJlbFBsYWNlbWVudF09XCJwcm9wcy5sYWJlbFBvc2l0aW9uXCJcbiAgICAgID5cbiAgICAgICAgPGlvbi1zZWxlY3Qtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc2VsZWN0T3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIiBbZGlzYWJsZWRdPVwib3B0aW9uLmRpc2FibGVkXCI+XG4gICAgICAgICAge3sgb3B0aW9uLmxhYmVsIH19XG4gICAgICAgIDwvaW9uLXNlbGVjdC1vcHRpb24+XG4gICAgICA8L2lvbi1zZWxlY3Q+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIGAsXG4gIHN0eWxlczogWyc6aG9zdCB7IGRpc3BsYXk6IGluaGVyaXQ7IH0nXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1seUZpZWxkU2VsZWN0IGV4dGVuZHMgRmllbGRUeXBlPEZpZWxkVHlwZUNvbmZpZzxTZWxlY3RQcm9wcz4+IHtcbiAgb3ZlcnJpZGUgZGVmYXVsdE9wdGlvbnMgPSB7XG4gICAgcHJvcHM6IHtcbiAgICAgIGNvbXBhcmVXaXRoKG8xOiBhbnksIG8yOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIG8xID09PSBvMjtcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==