FormSchema New Performance Architecture
This MR introduces a new API to be able to easily maintain and improve the code base.
Features
- Support of JSON Schema draft-07 (#83 (closed))
- TypeScript (#151 (closed)): prevent unexpected issues on the development phase, improve the code base stability
- Advanced Nested Objects Support
- Array Object Support (#161 (closed))
- Sortable Array Support
- Advanced Native Elements: now each JSON Schema type (string, boolean, array, object...) has its own component for rendering
- New Custom Elements API
- UI Schema Descriptor (#152 (closed))
- Improve Support of Array Elements
- Improve Support of Grouped Checkboxes
- Lighter bundle
- Introduce Playground (replace the demo app)
- Ability to disable form inputs (#154 (closed))
- Custom Validation API (#93 (closed), #128 (closed), #149 (closed))
Changes
- Complete rewrite
- Remove useless FormSchema props:
action
,autocomplete
,enctype
,method
andnovalidate
.
User is still able to defined them by using attributes on FormSchema definition.<FormSchema :schema="schema" method="post"/>
- Prop
schema
is now required - Async Schema Usage updated (see README file)
- Reactive schema: use vue watcher to rerender on change
TODO
-
Demo: Display updated model on Playground view -
Doc: Update README's FormSchema API section -
Doc: Horizontal Layout (#159 (closed)) -
Doc: Custom Validation (#93 (closed), #128 (closed), #149 (closed)) -
i18n: Explain how to translate labels (#160 (closed))
Playground
npm run playground
Once this MR will be merged, closes #83 (closed), #93 (closed), #128 (closed), #141 (closed), #149 (closed), #151 (closed), #152 (closed), #154 (closed), #159 (closed), #160 (closed), #161 (closed) and #163 (closed)
Edited by Sébastien Demanou