Releases: myndpm/open-source
Conventional Releases
- Release via GitHub Actions
- Matchers and CSS classes working on the top level component per control
- Examples extended and small bits of documentation completed
Breaking Provisioning
There was no backward compatible way to support the old provisioning of Controls, and a simpler+easier one was inevitable.
Now we can provide our array of custom components directly to DynFormsModule.forFeature({ controls })
and the library will extract the static Ids from the components, no need to bother with a provider object anymore 🎉
A schematic will be released soon to convert all the code with ng update @myndpm/dyn-forms@latest
.
DynTreeNode searchUp and searchDown
- Renamed
DynControlType
toDynControlId
- Renamed
node.query
tonode.searchUp
- Renamed
node.select
tonode.searchDown
- Added
node.search
to search up and down recursively
Fix KeyValue DynOptions
Sync controls not synced with KeyValue options,
and fixed a syntax error in the DynModule schematic.
KeyValue Options
BREAKING CHANGE:
DynOption
is now KeyValuePipe
compliant,
please update your control options configs from { value: T, text: string }
to { key: T, value: string }
This will be useful to have Map<T, string>
passed as options
and looped inside the controls with options | keyValue:sortFn
.
Error handlers and messages
Added support for error messages per control (config.errorMsg) and at form level (config.errorMsgs).
Check this source config to see how the serial
field error-messages were configured.
Inline configuration for handlers
Validators, AsyncValidators, Matchers, Conditions and Control Functions
can be provided with inline functions
inside the configuration, not just by id
.
Schematics!
- Added schematics to create DynModules and DynControls:
ng generate @myndpm/dyn-forms:control --id=SLIDER --name=slider --prefix=dyn-mat
--project=forms --path=libs/forms/ui-material/src/components
ng generate @myndpm/dyn-forms:module --name=DynFormsTaiga --prefix=dyn-tui
--project=forms --path=libs/forms
--controlName=input --id=INPUT