json-schema-form-element / jsfe

A Custom Element that auto-generates forms, declaratively. Works with Lit, Solid, Vue, Svelte, React, Astro, vanilla…
https://jsfe.js.org
ISC License
123 stars 11 forks source link

Specify how references are used in conjunction with the uiSchema #11

Open Splizard opened 2 months ago

Splizard commented 2 months ago

jsonschema defines $defs as a place to store reusable definitions, it's not clear how the uiSchema for a possibly recursive structure should be specified when each property for an object is specified in the $defs section.

Would it be better to use an extension field instead of a seperate object for the uiSchema?

JulianCataldo commented 2 months ago

Hi,

https://github.com/json-schema-form-element/jsfe?tab=readme-ov-file#acknowledgements

There is a lot of API types with this kind of form generator. It's a pandora box to support every UI stuff via schema I think.

JSFE is inspired by the RJSFE (react) API, but it's a much older and experienced lib. Reading their source code, you'll see they do some quite heavy work at runtime and typings-wise. Sadly I don't have time, or support for this project for more exhaustive UI schemas stuff.

I think the most flexible is to use custom widgets, and maybe inject Lit Contexts, leveraging data attributes, CSS wizardry…

Feel free to make API design propositions :)

bye