3.0.0-rc.1
Pre-releaseThis release is focused mostly on revamping the form model and providing a complete implementation for observable collections, along side observable sets and observable maps.
After using the library in more complex ways, I have managed to distill the form definitions and provide a better implementation that allows for just about any level of complexity without having to know about all features.
Using forms is as simple as it needs to be depending on the use case. If you have a simple form and need a bunch of fields, then all you would do is define the form and initialize the fields.
Validation has been revamped as well, making it easier to add and remove validators along side triggers which have been extended to include collection changed triggers (all observable collections are supported) as well as collection item changes in case there is need to validate for uniqueness of a field value or check if individual amounts in a list of items sum up to the total.
Documentation is now being generated using typedoc, check the wiki, a lot has been added especially to the Form class.
Breaking Changes
- Everything related to forms has breaking changes, please take a migration effort into consideration when switching to this version
- Collections no longer use spread operator when initializing with items, an iterable is being used as an optional parameter.
- A number of hooks have been updated or removed.
- The
input
component has been removed. - Event handler type definitions have been updated to include type-safety using generics.
Summary
- New form model.
- New validation model (including triggers).
- Improved observable collection, see Splice for All (React MVVM Version 3 Proposal) for more information.
- ObservableMap and ObservableSet have joined the collections.
- Improved event and event handler interfaces, see More Type-Safety (React MVVM Version 3 Proposal) for more information.
- A dependency resolver implementation has been added, see IDependencyContainer and Dependency Resolver (React MVVM Version 3 Proposal) for more information.