UNPKG

@mobx-ecosystem/mobx-form

Version:

provides the ability to use forms with validation in MobX stores

52 lines (51 loc) 1.78 kB
import { FieldEvents, FieldOptionsType, IField, MethodOptions, ResetType, ValueType } from './types'; import { Emitter } from 'mitt'; type FieldProps<T> = { value: T; onChange: (_: any, value: ValueType<T>) => void; onBlur: (_: any) => void; error?: string; disabled?: boolean; }; export declare class FieldService<T, P extends FieldProps<T> = FieldProps<T>> implements IField { events?: Emitter<FieldEvents<T>>; private _emptyValueType; validate?: () => Promise<unknown>; _serviceType: string; private _initValue; private _value; private _error?; private _disabled; private _isBlurred; options: FieldOptionsType<T>; constructor(initValue: ValueType<T>, options?: FieldOptionsType<T>); private emit; get initValue(): ValueType<T>; set initValue(initValue: ValueType<T>); get value(): ValueType<T>; set value(value: ValueType<T>); get error(): string | undefined; set error(error: string | undefined); get disabled(): boolean; set disabled(disabled: boolean); get isValid(): boolean; get isInit(): boolean; get isBlurred(): boolean; set isBlurred(isBlurred: boolean); get isTouched(): boolean; setDisabledFn: (disabledFn: FieldOptionsType<T>['disabledFn']) => void; setOptions: (options: FieldOptionsType<T>) => void; setInitValue: (initValue: ValueType<T>, { validate }?: MethodOptions) => void; setValue: (value: ValueType<T>, { validate }?: MethodOptions) => void; private onChange; onBlur: (_: any) => void; reset: (params?: ResetType) => void; clear: () => void; setAsInit: () => void; touch: () => void; disable: () => void; enable: () => void; get props(): P; dispose: () => void; } export {};