Skip to content

FormSchema New Performance Architecture

Sébastien Demanou requested to merge feature/new-architecture into dev

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 and novalidate.
    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

Playground

npm run playground

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

Merge request reports

Loading