Skip to content

Commit 48bb81d

Browse files
Mystypixclaude
andcommitted
fix: update docs to match actual RJSF implementation
- Remove `format: "select"` from formats table (not a distinct format) - Add `options.documentation` to supported options (link icon with tooltip) - Note that `options.tooltip` supports Markdown - Fix `enumSource`/`watch` — NOT deprecated, still supported (moved to Legacy) - Mark `links` as deprecated (not supported in RJSF), suggest `options.documentation` - Add examples for tooltips and documentation links - Add `options.documentation` migration example in Links section Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 83cd32d commit 48bb81d

2 files changed

Lines changed: 66 additions & 5 deletions

File tree

extend/component/ui-options/configuration-schema.md

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ The following `format` values are supported in property definitions:
3939
| `date` | string | Date picker input |
4040
| `checkbox` | boolean | Checkbox toggle |
4141
| `radio` | string | Radio button group (requires `enum`) |
42-
| `select` | array | Multi-select dropdown (with `uniqueItems: true`) |
4342
| `trim` | string | Standard text input with automatic whitespace trimming |
4443
| `grid` / `grid-strict` | object | Responsive grid layout for grouped fields |
4544
| `tabs` / `tabs-top` / `categories` | object | Tabbed layout for grouped fields |
@@ -59,7 +58,8 @@ The following `options` keys can be used in property definitions:
5958
| `options.dependencies` | Conditional field visibility based on other field values. See [Dynamic Options](/extend/component/ui-options/configuration-schema/examples/#changing-set-of-options-dynamically-based-on-selection). |
6059
| `options.tags` | Enable tag-style input for multi-select arrays |
6160
| `options.creatable` | Allow user-created values in select dropdowns |
62-
| `options.tooltip` | Help text displayed as a tooltip |
61+
| `options.tooltip` | Help text displayed as a tooltip icon next to the field label. Supports Markdown syntax. |
62+
| `options.documentation` | Documentation link rendered as a book icon next to the field label. Value: `{ "link": "https://...", "tooltip": "optional hover text" }` |
6363
| `options.enum_titles` | Display labels for `enum` values |
6464
| `options.hidden` | Hide the field from the UI |
6565
| `options.collapsed` | Start object sections in collapsed state |
@@ -143,8 +143,30 @@ The form above can be created using this JSON Schema:
143143
{% endhighlight %}
144144

145145
### Links Example
146-
If you want to provide links to external resources, keep in mind that the configuration schema does not support markdown,
147-
but it has a `links` feature. The above example can be modified so that the links are clickable:
146+
147+
***Note:** The `links` feature is deprecated. Use `options.documentation` instead (see [Supported Options](#supported-options)).*
148+
149+
If you want to provide links to external resources, use `options.documentation` to add a clickable documentation icon next to the field label:
150+
151+
{% highlight json %}
152+
{
153+
"dateFrom": {
154+
"title": "Date from",
155+
"type": "string",
156+
"description": "Any date accepted by the strtotime function",
157+
"options": {
158+
"documentation": {
159+
"link": "https://www.php.net/manual/en/function.strtotime.php",
160+
"tooltip": "strtotime Documentation"
161+
}
162+
}
163+
}
164+
}
165+
{% endhighlight %}
166+
167+
#### Legacy links feature (deprecated)
168+
169+
The old `links` property is **no longer supported**. If you have existing schemas using it, migrate to `options.documentation`:
148170

149171
{% highlight json %}
150172
{
@@ -209,8 +231,14 @@ Which renders like this:
209231
{: .image-popup}
210232
![Configuration Schema with links](/extend/component/ui-options/configuration-schema-2.png)
211233

234+
### Legacy Features
235+
236+
The following features are still supported for backwards compatibility but have preferred alternatives:
237+
238+
- **`enumSource` / `watch`** — Dynamic enum population based on other field values. For new schemas, prefer `options.async` with sync actions instead. See [Sync Action Examples](/extend/component/ui-options/configuration-schema/sync-action-examples/#autoload).
239+
212240
### Deprecated Features
213241

214242
The following features from the legacy JSON Editor library are **no longer supported**:
215243

216-
- **`enumSource` / `watch`**Dynamic enum population based on other field values. Use `options.async` with `autoload` instead for cascading dropdowns. See [Sync Action Examples](/extend/component/ui-options/configuration-schema/sync-action-examples/#autoload).
244+
- **`links`**Clickable links on field descriptions. Use `options.documentation` with `link` and optional `tooltip` instead.

extend/component/ui-options/ui-examples/configuration-schema-examples.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -477,6 +477,39 @@ You can also reference nested fields using dot notation with a `root.` prefix:
477477
This shows the field only when the `#api_token` field inside the `credentials` object is empty.
478478

479479

480+
### Tooltips and Documentation Links
481+
482+
Use `options.tooltip` to add a help icon next to the field label. The tooltip content supports **Markdown** syntax:
483+
484+
```json
485+
{
486+
"api_key": {
487+
"type": "string",
488+
"title": "API Key",
489+
"options": {
490+
"tooltip": "Your API key from the [dashboard](https://example.com/dashboard).\n\n**Note:** Keep this value secret."
491+
}
492+
}
493+
}
494+
```
495+
496+
Use `options.documentation` to add a clickable documentation link icon:
497+
498+
```json
499+
{
500+
"query": {
501+
"type": "string",
502+
"title": "SQL Query",
503+
"options": {
504+
"documentation": {
505+
"link": "https://docs.example.com/sql-reference",
506+
"tooltip": "Open SQL reference"
507+
}
508+
}
509+
}
510+
}
511+
```
512+
480513
### Radio Buttons
481514

482515
Use `format: "radio"` with an `enum` to render radio buttons instead of a dropdown:

0 commit comments

Comments
 (0)