(this page was created automatically. In case of formatting issues, please visit the official Wiki Page)
Dynamic List User Manual
The Dynamic List component displays a scrollable or paginated list of items, supporting dynamic data loading, virtualization for performance, and flexible layout. It is ideal for rendering large datasets efficiently and can be customized with various data source and visual options.
Properties
Visual Properties
itemSize
Sets the height (in pixels) of each list item. Adjusting this value changes the vertical space each item occupies.
Example:
itemSize: 80will render each list item with a height of 80px.autoHeight
When enabled, the list automatically adjusts its height based on the number of visible elements. Useful for embedding lists in flexible layouts.
Example:
autoHeight: truewill make the list shrink or grow to fit its content.numberOfVisibleListElements
Specifies how many list items should be visible when autoHeight is enabled. The component height will be calculated asitemSize * numberOfVisibleListElements.
Example:
numberOfVisibleListElements: 5withitemSize: 100will set the list height to 500px.
Data Source Properties
dataSourceId
Specifies the ID of the data source from which the list fetches its data. This should match a configured data source in your system.
Example:
dataSourceId: "usersDataSource"dataSourcePath
Defines a JSON path expression to extract the list data from the API response. This is useful when the data is nested within the response object.
Example:
dataSourcePath: "content.items"will extract the array fromresponse.content.items.getEntityCollectionHttpRequestParametersMap
Configures HTTP request parameters for fetching data from the data source. Allows mapping of query, path, or body parameters as needed by the backend API.
Example:
{
"QUERY": { "active": true },
"PATH": {},
"BODY": {}
}
keyExpression
Defines the field used as a unique key for each list item. This improves rendering performance and ensures correct item tracking.
Example:
keyExpression: "userId"will use theuserIdfield as the unique identifier for each item.enablePagination
Enables server-side pagination for large datasets. When true, the list loads data in pages rather than all at once.
Example:
enablePagination: truewill fetch data page by page as the user scrolls.pageSize
Sets the number of items to load per page when pagination is enabled.
Example:
pageSize: 25will load 25 items per page.
Elements
- elements
Contains child dynamic elements to be rendered for each list item. This allows for flexible layouts and embedding of other dynamic components within each list entry.
Example:
[
{ "type": "DynamicTextComponent", "props": { "text": "{{name}}" } }
]
General Properties (Inherited)
displayName
Sets the display name of the component, shown in the structure panel.
Example:
displayName: "User List"id
Specifies a unique identifier for the component.
Example:
id: "userList1"
Data Example
The list expects an array of objects, each representing a list item. If using pagination, the response should be a paginable object with a content array.
Example data:
[
{ "userId": 1, "name": "Alice" },
{ "userId": 2, "name": "Bob" }
]
Or, with pagination:
{
"content": [
{ "userId": 1, "name": "Alice" },
{ "userId": 2, "name": "Bob" }
],
"totalElements": 100,
"totalPages": 10,
"number": 0,
"size": 10
}
Property Sections
Visual
- itemSize
- autoHeight
- numberOfVisibleListElements
Data Source
- dataSourceId
- dataSourcePath
- getEntityCollectionHttpRequestParametersMap
- keyExpression
- enablePagination
- pageSize
Elements
- elements
General
- displayName
- id
This manual provides a structured overview of the Dynamic List component, with each property explained, categorized, and accompanied by usage examples.