List page components
Overview
List page data components, or components, are used to render a view for each child page from the list page component.
These components cannot be used elsewhere, such as flat pages. The list page data components render a view for each child page from the list page component sourceExpression
property.
Abstract List Page Data Component
The Abstract List Page Data Component is like a blueprint for all the child components mentioned below it in the UI definition. Any properties defined in this abstract component will be inherited and usable for all the components beneath it.
Title and caption component
List item components can be seen as units or items that display in a tabular manner. Each tile, or “cell” in the table, can have a title and caption.
Property | Description |
---|---|
type |
"titleAndCaption" |
title |
The title of the cell row. Renders as the first line of the child cell.Localized expression string |
caption |
The caption of the cell row. Renders as the second line of the child cell.Localized expression string |
Example:
"itemLayout": {
"type": "titleAndCaption",
"title": "LineItemsListPage.ItemTitle",
"caption": "LineItemsListPage.ItemCaption",
...
}
Property | Description |
---|---|
useAttachment |
Defines if the cell row is able to show attachments. |
tags | The tags used for an item in the list view. |
useAttachments
The useAttachments
property in the ui_def.json
file is used to display an image or images in a cell row on a List Page.
Note
To use theuseAttachments
property, the object of the item context must be defined as hasAttachments
in the form metadata. See Metadata for Skedulo Plus extensions for more information.
Property | Description |
---|---|
categoryName /undefined |
The category of the attachments belong to the item context that is being rendered. If this is undefined, all images from that item context will be displayed. |
style |
singleBig / singleSmall . The image display style. |
The following example shows how to use the useAttachments
property to display images in a cell row on a List Page:
"itemLayout": {
"type": "titleAndCaption",
"title": "LineItemsListPage.ItemTitle",
"caption": "LineItemsListPage.ItemCaption",
"useAttachments": {
"style": "singleSmall"
},
The metadata.json
file for this extension also includes the following property, which tells the extension engine which object in the item context has attachments:
"hasAttachments": ["ReplacementTicketLineItem"],
singleBig
style
The cell fetches the latest image and displays it in the cell row. If there are multiple images, the first image will be displayed.
singleSmall
style
The cell fetches the latest image and displays it in the cell row as a small image alongside other list page data. If there are multiple images, the first image will be displayed.
Tags
The tags
property is used to display one or more tags in a cell row on a List Page.
Property | Description |
---|---|
items |
An array of tags to be displayed in the cell row. |
items[].themeValueExpression |
The expression that returns the value of the tag. Values are success ,primary , ordefault Also supports [branching logic]. |
The following example shows how to use tags to define the status of tickets that need to be approved and submitted:
"itemLayout": {
"type": "titleAndCaption",
"title": "LineItemsListPage.ItemTitle",
"caption": "LineItemsListPage.ItemCaption",
"useAttachments": {
"style": "singleSmall"
},
"tags": {
"type": "fixed",
"items": [
{
"text": "LineItemsListPage.ItemStatus",
"themeValueExpression": [
{
"condition": "item.Status == 'Ticket Approved'",
"value": "success"
},
{
"condition": "item.Status == 'Submitted'",
"value": "primary"
},
{
"value": "default"
}
]
}
]
}
}
ThethemeValueExpression
deviates from the conventional string expression format, as it assumes the form of an array object. This array object includes the subsequent properties:
-
condition
: This property represents the condition to check. It should be a data expression that ultimately results in a boolean value. -
value
: Thevalue
property corresponds to the data expression value. If the condition is met, this value will be returned.
In the example provided, themeValueExpression
behaves in the following way when asked to return a value:
- If the condition
item.Status == 'Ticket Approved'
is met, the valuesuccess
is returned. - If the condition
item.Status == 'Submitted'
is met, the valueprimary
is returned. - Otherwise, the value
default
is returned.
However, if you don’t require this branching logic, you can simplify the themeValueExpression
in the following way:
"themeValueExpression": "success"
With this configuration, the themeValueExpression
will always return the success
vale, regardless of the condition.
Feedback
Was this page helpful?