Features
- add support for arrays of form controls (19d4e49)
- add support for asynchronous validation (see the documentation for more details) (f208e61)
- add value converter for object to JSON conversion (2ba37ee) (thanks @tbroadley)
- add support for error composition by extending
validate
update function to take a single validation function or an array of validation functions (ba976c5) - add
setErrors
update function (ee25ca8) - add
reset
update function (d380e67) - add
updateRecursive
update function (see the documentation for a usage example) (31f9d5d) - add common set of validation functions (40308d4)
- add support for user defined properties on form controls and groups (d9778d2)
- introduce concept of
FormViewAdapter
and rewrite all control value accessors from scratch as view adapters (see the documentation for more details) - extend example application to contain multiple examples
- added overloads for many update functions that make casting the state unnecessary in certain situations
- added lots of inline comments to the API making it easier to understand what certain functions do right in your IDE
Breaking Changes
- remove support for last keydown code tracking on form controls (this feature has been superseded by user defined properties which allow associating any kind of metadata with a control)
- rename
groupUpdateReducer
tocreateFormGroupReducerWithUpdate
in order to make it clearer that the function itself is not a reducer - remove erroneously exposed function
createChildState
from public API - change
option
elementvalue
bindings to work correctly for all primitive data types thereby removing the need forngValue
bindings - trying to set an error with a key prefixed with
$
will now throw an error since the$
prefix is used to mark async errors - applying the
ngrxFormControlState
directive to a form element will now set the element'sid
attribute to the ID of the state (thereby overriding any already presentid
) - the
isDirty
property for form controls is now not set automatically the first time the state's value changes, but instead it is set manually from theNgrxFormControlDirective
the first time the underlyingFormViewAdapter
orControlValueAccessor
reports a new value; this means if you were e.g. using thesetValue
update function in your reducer before this will now not mark the state asdirty
anymore - rename
addControl
update function toaddGroupControl
- rename
AddControlAction
toAddGroupControlAction
(also renaming itstype
fromngrx/forms/ADD_CONTROL
tongrx/forms/ADD_GROUP_CONTROL
) - rename
removeControl
update function toremoveGroupControl
- rename
RemoveControlAction
toRemoveGroupControlAction
(also renaming itstype
fromngrx/forms/REMOVE_CONTROL
tongrx/forms/REMOVE_GROUP_CONTROL
)
Bugfixes
- fix issue that caused bundled library to be larger than required due to external dependencies being included in the bundle (drastically reducing its size)