I have some questions regarding the React version of JsonForms.
The first question is about explicitly requesting a renderer within the UI schema. If for example I had a form with two string properties in the payload, and I wanted to explicitly use a specific renderer for the second string field, what options exist in the current UISchema to basically say “Use X renderer”. Do I need to set a specific property in the “Schema” called “useRenderer” with a value of the renderer I want to use and then write a tester that looks for this property and value? Is there a better way to handle this type of thing?
I also have a question about how to pass “props” or specific data down to a control renderer. Lets say for example I have a bunch of data I want to pass down into a control renderer from the schema, where is the proper place to put this data within the schema? Is it correct to put it inside the “options” object in the uiSchema or directly inside the “Schema” for the field itself as we see done with the “price” property on the example here: Custom Renderers | JSON Forms. It seems a little counter intuitive to pass props that are directly coupled to a renderer in through the Schema which can be applied to different renderers.
It looks like Jsonforms calculates its own UISchema based off the form schema automatically when none is passed, can I get a little more information on how exactly this works? Does it just shallow loop through the object and pass each property to a renderer? Are type: “objects” with nested properties passed to their own “Layout” renderer which knows how to call other renderers? It is a little unclear exactly how the Schema is being sliced up and passed to renderers, when I look at the example here: Generate UI schema | JSON Forms it appears the object personalData is passed to its own “object” renderer which knows how to call other renderers for each property? Is this a correct assumption?
My last question is when looking at the first example on this page: https://jsonforms.io/examples/layouts why is the “personalData.height” not in the data but “personalData.age” is?
[original thread by Chad Johnson]