Class: FormState<T>
Defined in: state/index.ts:18
FormState manages the state of a form including values, validation, history, and subscriptions. It provides methods to get/set values, validate data, manage history for undo/redo functionality, and subscribe to value changes.
Type Parameters
T
T
extends object
The type of the form data object
Constructors
Constructor
new FormState<
T
>(initialValues
,validationSchema?
,historyItems?
,historyItemThrottle?
,filterHistoryKeys?
):FormState
<T
>
Defined in: state/index.ts:42
Creates a new FormState instance.
Parameters
initialValues
T
The initial values for the form
validationSchema?
ObjectSchema
<T
, AnyObject
, any
, ""
>
Optional Yup validation schema
historyItems?
number
= 0
Number of history items to keep for undo/redo (0 to disable)
historyItemThrottle?
number
= 5
Throttle for saving history items (every Nth change)
filterHistoryKeys?
string
[] = []
Array of field paths to exclude from history tracking
Returns
FormState
<T
>
Methods
getValues()
getValues():
T
Defined in: state/index.ts:66
Gets a deep copy of all form values.
Returns
T
A deep copy of the current form values
setErrors()
setErrors(
errors
):void
Defined in: state/index.ts:75
Sets validation errors for the form.
Parameters
errors
Record
<string
, ValidationError
[]>
Validation errors organized by field path
Returns
void
getErrors()
getErrors():
null
|Record
<string
,ValidationError
[]>
Defined in: state/index.ts:84
Gets the current validation errors.
Returns
null
| Record
<string
, ValidationError
[]>
Current validation errors or null if no errors
setValues()
setValues(
values
):void
Defined in: state/index.ts:93
Sets all form values and triggers subscriptions.
Parameters
values
T
New values to set for the form
Returns
void
setValue()
setValue<
V
>(path
,value?
):void
Defined in: state/index.ts:112
Sets a value at a specific path and triggers subscriptions.
Type Parameters
V
V
The type of value being set
Parameters
path
string
Dot notation path to the field (e.g., 'user.name')
value?
V
The value to set at the specified path
Returns
void
subscribeOnChange()
subscribeOnChange<
V
>(cb
,path?
): () =>boolean
Defined in: state/index.ts:139
Subscribes to form value changes.
Type Parameters
V
V
The type of value being subscribed to
Parameters
cb
Callback function to execute when values change
path?
string
Optional path to subscribe to a specific field
Returns
Unsubscribe function to remove the subscription
():
boolean
Returns
boolean
subscribeOnHistoryChange()
subscribeOnHistoryChange(
cb
): () =>boolean
Defined in: state/index.ts:156
Subscribes to form history changes (undo/redo operations).
Parameters
cb
() => void
Callback function to execute when history changes
Returns
Unsubscribe function to remove the subscription
():
boolean
Returns
boolean
getValue()
getValue<
V
>(path?
):V
Defined in: state/index.ts:171
Gets a value at a specific path or all values if no path is provided.
Type Parameters
V
V
The type of value to return
Parameters
path?
string
Optional dot notation path to the field
Returns
V
The value at the specified path or all form values
validate()
validate():
Promise
<void
>
Defined in: state/index.ts:180
Validates the form using the provided validation schema.
Returns
Promise
<void
>
Throws
Throws validation errors if validation fails
prev()
prev():
boolean
Defined in: state/index.ts:225
Moves to the previous state in the form history (undo operation).
Returns
boolean
True if the operation was successful, false if no previous state exists
next()
next():
boolean
Defined in: state/index.ts:239
Moves to the next state in the form history (redo operation).
Returns
boolean
True if the operation was successful, false if no next state exists
canPrev()
canPrev():
boolean
Defined in: state/index.ts:253
Checks if there is a previous state available for undo operation.
Returns
boolean
True if undo operation is possible
canNext()
canNext():
boolean
Defined in: state/index.ts:262
Checks if there is a next state available for redo operation.
Returns
boolean
True if redo operation is possible