Form layout customization
This is the official documentation of the @forestadmin/agent
Node.js agent.
Form layout
The form layout feature lets you organize your fields in pages or rows, and add separators or html blocks. This is especially useful if you have many fields to display, and you want to break down your action form into more manageable chunks !
Theses form elements are available since the version 1.49.0
of the agent.
Layout items
Name | Nested elements | Description |
---|---|---|
None | Allow to add a horizontal separator between two form elements | |
None | Allow to show HTML content | |
Fields | Allow to put two (and only two) fields (and not layout elements) in a row | |
Fields & layouts elements (but no pages) |
General properties
Some layouts items will have options, but here are the common properties to all the layout elements
Name | Usage | Expected value | Description |
---|---|---|---|
type | required | | |
component | required |
| The layout component |
if | optional |
Separator element
Name | Usage | Expected value | Description |
---|---|---|---|
component | required | "Separator" | To enable this component |
This item doesn't have specific options.
Example:
HTML Block element
Name | Usage | Expected value | Description |
---|---|---|---|
component | required | "HtmlBlock" | To enable this component |
content | required | This is the HTML content to show |
Example:
Row element
⚠️ This element is designed to work with only two inner fields. You can control the display of each field using the if
property. If only one field is displayed, it will occupy the entire line. However, if the conditions defined by the if
properties result in more than two fields being displayed, only the first two will be shown. If there is nothing inside, it will be removed.
Name | Usage | Expected value | Description |
---|---|---|---|
component | required | "Row" | To enable this component |
fields | required |
Example:
Multi pages form
Description
The pages feature is a way to break up your action form into more manageable chunks, by showing only a subset of fields at the same time, and letting the user navigate between the pages.
Limitations
Please note this list of limitations:
You cannot mix fields and pages at the root of your form, or put nest a page in a page
The next (or previous) button is not clickable on the last (or first) page
If you're using if conditions in a page; keep in mind that if all the elements in your page are hidden, the page will automatically be removed. You can avoid this by behavior by adding an unconditional htmlBlock inside your page explaining why is your page empty.
Name | Usage | Expected value | Description |
---|---|---|---|
component | required | "Page" | To enable this component |
elements | required | Array of fields and layout elements | |
nextButtonLabel | optional | String | The label on the |
previousButtonLabel | optional | String | The label on the |
Example:
Last updated