
| Token | Description |
|---|---|
| displayName | Display name shown in the structure panel |
| layout | Arrangement of form elements (horizontal or vertical) |
| paddingClass | Spacing around the form using CSS classes |
| gapClass | Spacing between form elements with row and column gaps |
| alignItemsClass | Vertical alignment of form elements |
| justifyContentClass | Horizontal alignment of form elements |
| canGrow | Allows the form to expand vertically |
| canShrink | Allows the form to contract vertically |
| defaultHeight | Initial height of the form component |
| dataFormat | Format for submitting form data (json or formdata) |
| additionalFormFields | Extra non-visual fields included in form data |
| dataSourceId | Data source ID for submitting form data |
| dataSourceHttpRequestParametersMap | HTTP parameters mapping for form submission |
| staticValues | Constant values included with each submission |
| getEntityDataSourceId | Data source ID for retrieving entity data |
| getEntityHttpRequestParametersMap | HTTP parameters mapping for retrieving entity data |
| events | Configurable form events |
| ON_VALUES_CHANGE (Events) | Event triggered when form values change |
| ON_INIT (Events) | Event triggered when the form is initialized |
| ON_DESTROY (Events) | Event triggered when the form is removed from the DOM |
| ON_FORM_SUBMIT (Events) | Event triggered when the form is submitted |
(Configured in General Properties)
"Customer Registration Form" allows for easy identification of the form's purpose in the component structure. (Configured in Datasource)
"api/customers/create" connects the form to the customer creation endpoint. {"source": "web", "version": "1.2"} adds these fixed values to all submissions. "api/customers/{id}" defines the endpoint for fetching customer data to populate the form. (Configured in Non-Visual Properties)
"json" or "formdata". For example, selecting "json" sends data as a JSON object, while "formdata" uses FormData format for file uploads. ["createdBy", "timestamp"] adds these fields to form submissions. 
(Configured in Visual Properties)
"horizontal" or "vertical". For example, setting "horizontal" arranges controls side by side while "vertical" stacks them. (Configured in Visual Properties)
"p-4" adds medium padding on all sides of the form container. {"row": "gap-3", "column": "gap-2"} creates consistent spacing between form fields. "align-items-center" vertically centers all elements within their containers. "justify-content-between" evenly spaces elements across the form width. "500px" creates a form with a fixed starting height that may adjust based on canGrow/canShrink settings. 
(Configured in Events)


dataSourceId, map payload with dataSourceHttpRequestParametersMap, and choose dataFormat ("json" or "formdata"). displayName. layout ("vertical" for sequential flows; "horizontal" for short parallel groups).
paddingClass and intra-field rhythm with gapClass (use both row and column gaps). alignItemsClass (vertical) and justifyContentClass (horizontal). defaultHeight with canGrow/canShrink so the form adapts to content without overflow.
dataSourceHttpRequestParametersMap; add staticValues and additionalFormFields for always-on metadata. getEntityHttpRequestParametersMap and getEntityDataSourceId. dataFormat="formdata" for file uploads; prefer "json" for purely textual/numeric payloads.| Do | Don’t | Article setting(s) |
|---|---|---|
Choose dataFormat to match the endpoint (use "formdata" for uploads). |
Mix uploads into a "json" payload the API won’t accept. |
dataFormat |
| Fetch the record on init so fields open pre-filled. | Wait until first edit to request entity data. | events.ON_INIT, getEntityDataSourceId, getEntityHttpRequestParametersMap |
| Map every required parameter explicitly. | Assume backend defaults will infer missing keys. | dataSourceHttpRequestParametersMap, dataSourceId |
| Keep long forms readable with a vertical flow. | Cram many fields side-by-side. | layout: "vertical" |
| Space and align consistently using classes. | Insert spacer elements or rely on random defaults. | paddingClass, gapClass, alignItemsClass, justifyContentClass |
| Let the form adapt to content growth. | Fix the height and allow content to overflow. | defaultHeight, canGrow, canShrink |
| Block submit when client checks fail. | Submit and rely only on server errors. | events.ON_FORM_SUBMIT |
| Add constant metadata in one place. | Scatter hidden fields across child controls. | staticValues, additionalFormFields |
layout, with consistent spacing using gapClass and paddingClass. defaultHeight with canGrow/canShrink. getEntityDataSourceId, getEntityHttpRequestParametersMap, dataSourceId, dataSourceHttpRequestParametersMap. events.ON_VALUES_CHANGE) and block final submission when needed (events.ON_FORM_SUBMIT).alignItemsClass and justifyContentClass.