UNPKG

@rc-component/form

Version:
105 lines (104 loc) 3.46 kB
import type { FormInstance, InternalFormInstance, InternalNamePath, StoreValue } from '../interface'; interface UpdateAction { type: 'updateValue'; namePath: InternalNamePath; value: StoreValue; } interface ValidateAction { type: 'validateField'; namePath: InternalNamePath; triggerName: string; } export type ReducerAction = UpdateAction | ValidateAction; export declare class FormStore { private formHooked; private forceRootUpdate; private subscribable; private store; private fieldEntities; private initialValues; private callbacks; private validateMessages; private preserve?; private lastValidatePromise; private watcherCenter; constructor(forceRootUpdate: () => void); getForm: () => InternalFormInstance; private getInternalHooks; private useSubscribe; /** * Record prev Form unmount fieldEntities which config preserve false. * This need to be refill with initialValues instead of store value. */ private prevWithoutPreserves; /** * First time `setInitialValues` should update store with initial value */ private setInitialValues; private destroyForm; private getInitialValue; private setCallbacks; private setValidateMessages; private setPreserve; private registerWatch; private notifyWatch; private timeoutId; private warningUnhooked; private updateStore; /** * Get registered field entities. * @param pure Only return field which has a `name`. Default: false */ private getFieldEntities; /** * Get a map of registered field entities with their name path as the key. * @param pure Only include fields which have a `name`. Default: false * @returns A NameMap containing field entities indexed by their name paths */ private getFieldsMap; /** * Get field entities based on a list of name paths. * @param nameList - Array of name paths to search for. If not provided, returns all field entities with names. * @param includesSubNamePath - Whether to include fields that have the given name path as a prefix. */ private getFieldEntitiesForNamePathList; private getFieldsValue; private getFieldValue; private getFieldsError; private getFieldError; private getFieldWarning; private isFieldsTouched; private isFieldTouched; private isFieldsValidating; private isFieldValidating; /** * Reset Field with field `initialValue` prop. * Can pass `entities` or `namePathList` or just nothing. */ private resetWithFieldInitialValue; private resetFields; private setFields; private getFields; /** * This only trigger when a field is on constructor to avoid we get initialValue too late */ private initEntityValue; private isMergedPreserve; private registerField; private dispatch; private notifyObservers; /** * Notify dependencies children with parent update * We need delay to trigger validate in case Field is under render props */ private triggerDependenciesUpdate; private updateValue; private setFieldsValue; private setFieldValue; private getDependencyChildrenFields; private triggerOnFieldsChange; private validateFields; private submit; } declare function useForm<Values = any>(form?: FormInstance<Values>): [FormInstance<Values>]; export default useForm;