Output components are used to display data to users in form responses. The framework provides various output types optimized for different data presentation scenarios.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/UNOPS/UiMetadataFramework/llms.txt
Use this file to discover all available pages before exploring further.
Component Overview
All output components are defined in theUiMetadataFramework.Basic.Output namespace. Each component has a corresponding C# type that you use in your form response classes.
Text
Text
Number
Number
Purpose
Displays numeric values as read-only output.C# Types
Supports multiple numeric types:intdecimaldoubleshortlongbyte
Component Type
numberUsage Example
Implementation
Defined inNumberOutputComponentBinding.cs:- Server types:
int,decimal,double,short,long,byte - Component type:
"number" - Category: Output
DateTime
DateTime
ActionList
ActionList
Purpose
Displays a list of actions (links to forms) that the user can perform.C# Type
Component Type
action-listUsage Example
Properties
Actions(IList<FormLink>): List of form links
Constructor
Implementation
Defined inActionList.cs:See Also
- FormLink - Individual action configuration
- FormLinkActions - Available action types
Table
Table
Purpose
Displays collections of data as a table with automatic column generation.C# Types
Supports:IEnumerable<T>IList<T>Array
Component Type
tableUsage Example
Table Configuration
The table automatically generates columns based on the properties of the item type. Properties decorated with[OutputField] become table columns.Column Generation:- Uses
OutputFieldattributes from the item class - Supports nested output components
- Automatically determines appropriate component for each property type
Implementation
Defined inTableOutputComponentBinding.cs:TableMetadataFactory
The factory automatically extracts column metadata from the item type:Notes
- Tables have no label by default
- Columns are automatically configured from the item type’s output fields
- Supports custom output components within table cells
PaginatedData
PaginatedData
Purpose
Displays large datasets with pagination, sorting, and navigation controls.C# Type
Component Type
paginated-dataUsage Example
Properties
Results(IEnumerable<T>?): Items for the current pageTotalCount(int): Total number of items across all pages
PaginatedDataAttribute
Configures which paginator controls this paginated data.paginator: Name of the input field of typePaginatorthat controls pagination
Paginator
The companion input component that controls pagination. See Paginator in Input Components.Properties:PageIndex(int?): Current page number (0-based)PageSize(int?): Number of items per pageOrderBy(string?): Property name to sort byAscending(bool?): Sort direction
Implementation
Defined inPaginatedData.cs:Notes
- No label by default
- Automatically handles pagination UI on the client
- Works in conjunction with
Paginatorinput component - Supports sorting by any property of the item type
FormLink
FormLink
Purpose
Creates a link to another form, optionally passing input values and controlling how the form is opened.C# Type
Component Type
formlinkUsage Example
Properties
Form(string): Name of the form to link to (required)Label(string?): Display text for the linkAction(string?): How to open the form (see FormLinkActions below)InputFieldValues(IDictionary<string, object?>?): Pre-populate input fields
FormLinkActions
Defines how the linked form should be opened when the user clicks the link.Run - Executes the form immediately:- Form runs immediately on click
- User cannot modify input values
- Useful for action buttons
OpenModal - Opens form in a modal dialog:- Opens form in a modal window
- User can review and modify inputs before submitting
- Default behavior if Action is not specified
Redirect - Navigates to the form:- Behaves like a regular navigation link
- Leaves current page and goes to the linked form
Implementation
Defined inFormLink.cs:InlineForm
InlineForm
Purpose
Embeds another form directly within the current form’s response. Useful for composing complex UIs.C# Type
Component Type
inline-formUsage Example
Properties
Form(string): Name of the form to render inline (required)InputFieldValues(IDictionary<string, object?>?): Pre-populate input fields of the embedded form
Implementation
Defined inInlineForm.cs:Use Cases
- Dashboards: Compose multiple forms into a single view
- Wizards: Embed sub-forms within a larger workflow
- Contextual Actions: Show related forms based on current data
Notes
- The embedded form is fully functional and can be submitted independently
- Input values can be pre-populated from the parent form’s context
- The embedded form maintains its own metadata and validation rules
See Also
- Input Components - Learn about input components
- Output Attributes - Configure output behavior with attributes
- Forms - Understanding forms in UI Metadata Framework