Renderer for directory/file browser

I am looking for a native renderer to allow users to browse to a directory or a file on disk.
I see this in other components like (react-jsonschema-form playground), using the “format”: “data-url”, but don’t see this in the JSONForms examples.

Any help would be appreciated.

Hi @dcjarvisvt,

We don’t offer such a renderer out of the box. Note that react-jsonschema-form is another library and while it’s also a JSON Schema based form renderer it is a completely different solution and behaves differently.

In JSON Forms you need to add a custom renderer for this use case.

Thanks @sdirix. Do you know if some of these extra renderers are on the roadmap so custom renderers don’t have to be implemented separately?

Is there a full list of renderers? I found this page, but there are many items like “password” and “email” that are used in the format/options, but not listed anywhere.

The linked renderer sets overview is currently the best one we have besides looking directly into the code. To check our planned tickets you can inspect the milestones on Github.

Note that in general we don’t support all possible use cases out of the box as there are so many different interpretations that we can never satisfy all of them. For example such a file renderer can be implemented in many different ways, e.g. storing a path in the data, storing the file encoded in base64 in the data, uploading the file to a 3rd party service and presenting progress bar and/or id and state in the data etc. etc.

JSON Forms is designed to be easily extendable so implementing a custom renderer is not meant to be an escape hatch for the exceptional case, it’s rather a fundamental feature more or less intended to be used by most developers for their use cases.

What we want to cover with the off-the-shelf renderer sets are the basic use cases. Ideally providing a solution for all JSON Schema features which are commonly in use. In practice we cover all use cases which we need to solve in our own projects and/or are contributed by the community.