json-schema-form icon indicating copy to clipboard operation
json-schema-form copied to clipboard

Allow choicesUrl to include parts of the current JSON object

Open aeberhart opened this issue 3 years ago • 0 comments

In forms, the choices of one input field often depend on another field. For instance, choosing a country (e.g. US) would restrict the state choices to AL, AR, AK, ....

We could achieve this in two ways / syntaxes:

  1. JavaScript template literal (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals): choicesUrl = /get/states/$ {country}. This is more readable but raises the question what kind of expressions are allowed. For instance, Can we use a more complex expression like $ {address[1].state}?

  2. Allowing choicesUrl to be computed using a JSONata expression, similar to this "compute" example: https://dashjoin.github.io/#/example/compute. Less readable, since the expression requires JSONata string concat and escaped quotes. We have the full flexibility though.

aeberhart avatar Apr 06 '22 07:04 aeberhart