Technical Preview Widgets
Instance Conf. List tsm-entity-instance-configuration-list-widget
List of instance configurations in a tabular view with filtering and editing options.
Widget Or Layout: unknown
Value:
{
"title": "Instance Configuration List",
"widget": {
"type": "tsm-entity-instance-configuration-list-widget"
},
"type": "layout",
"config": {
"pageSize": "20"
}
}
Inputs
exportPriv
Key: exportPriv
Name: exportPriv
Default: null
showConfig
Key: showConfig
Name: showConfig
entityInstanceType
Key: entityInstanceType
Name: entityInstanceType
Default: null
Page Size
Key: pageSize
Name: Page Size
Description: Number of rows displayed on one page.
Table Height
Key: scrollHeight
Name: Table Height
Description: The custom height is applied only when the Table / TreeTable is in scrollable mode, contains more than 6 records, and the total height of all rows on the page exceeds the custom height value.
If the custom height is larger than the total height of the rows on the page, the Table / TreeTable automatically reduces its height to avoid empty space.
In Full Screen mode, the custom height setting is ignored. The Table / TreeTable uses a flex configuration which automatically manages the final height.
The height can be specified in these units: px, em, rem, vh.
Sample: 500px
Table Data View Mode
Key: dataViewMode
Name: Table Data View Mode
Description: "Table with scroll" keeps original column widths and a horizontal scrollbar. "FullScreen table" adjusts column widths to the window size.
Additional Context Data
Key: externalData
Name: Additional Context Data
Description: Specifies additional contextual data in the form of a JSON object for creating a new record in this listing, which is passed to the form context.
Listing Type
Key: listingType
Name: Listing Type
Description: Specifies which listing type is used for display.
Listing Profile
Key: profileId
Name: Listing Profile
Description: Specifies the listing profile, which defines columns, order, and other display settings.
Listing Profile Category
Key: profileCategory
Name: Listing Profile Category
Description: Name of the category from which profiles can be selected.
Output Context Key
Key: outputContextKey
Name: Output Context Key
Description: Key under which this table's selection is exposed in the form context as $outputContext.<key> (e.g. ticket, order, task). Contains selectedEntity (the selected row) and selectedIds (IDs across all pages). Empty = legacy behavior (the selected row is written directly to $outputContext).
Expose selected entities (selectedEntities)
Key: exposeSelectedEntities
Name: Expose selected entities (selectedEntities)
Description: In addition to selectedIds, also expose selectedEntities — the full rows, but for the CURRENT page only. Off by default: heavier payload than an array of IDs. Use selectedIds to work with the cross-page selection.
Hide Export Button
Key: showExport
Name: Hide Export Button
Description: Hides the export button.
Hide Filter
Key: showFilters
Name: Hide Filter
Description: Hides the listing filters.
Hide Refresh Button
Key: showRefresh
Name: Hide Refresh Button
Description: Hides the refresh button.
Hide Paginator
Key: showPaginator
Name: Hide Paginator
Description: Hides the listing pagination.
Hide Columns Manager
Key: showManagerColumns
Name: Hide Columns Manager
Description: Hides the columns manager.
Hide Profiles
Key: showProfiles
Name: Hide Profiles
Description: Hides the listing profiles.
Hide Sort Manager
Key: showManagerSort
Name: Hide Sort Manager
Description: Hides the sort manager.
Hide Color Manager
Key: showManagerColor
Name: Hide Color Manager
Description: Hides the color manager.
Hide Listing Config
Key: showListingConfig
Name: Hide Listing Config
Description: Hides the listing configuration.
Hide Data View Mode
Key: hiddenDataViewMode
Name: Hide Data View Mode
Description: Hides the option to switch between table and kanban view.
Hide Button Section
Key: hideButtonGroup
Name: Hide Button Section
Description: Hides the button section.
Mobile: tap selects the record
Key: mobileClickSelection
Name: Mobile: tap selects the record
Description: On mobile, tapping a card selects the record instead of opening its detail. Has no effect on desktop.
Disable Sticky Header
Key: scrollable
Name: Disable Sticky Header
Description: Disables the fixed table header while scrolling.
TQL WHERE Extension
Key: extendTqlWhere
Name: TQL WHERE Extension
Description: Adds a WHERE condition in TQL. Format: COLUMN_NAME OPERATOR VALUE.
TQL Sorting
Key: externalTqlSort
Name: TQL Sorting
Description: Modifies the default sorting in TQL. Format: COLUMN_NAME ASC/DESC.
TQL Sorting for Nested Tables
Key: externalTqlSortForNested
Name: TQL Sorting for Nested Tables
Description: Modifies the default sorting for nested tables in TQL. Format: COLUMN_NAME ASC/DESC.
TQL Query Params
Key: tqlQueryParams
Name: TQL Query Params
Description: Adds query parameters to the TQL request.
Filters
Key: filters
Name: Filters
Description: Allows defining filters for the data displayed in the list.
Instance Conf. Bookmark tsm-entity-instance-configuration-list-panel
Simple list of instance configurations in a tabular view.
Widget Or Layout: unknown
Value:
{
"type": "layout",
"title": "Instance Configuration Bookmark",
"widget": {
"type": "tsm-entity-instance-configuration-list-panel"
}
}
Inputs
Entity instance ID
Key: entityInstanceId
Name: Entity instance ID
Description: Entity instance ID
Default: null
Output Context Key
Key: outputContextKey
Name: Output Context Key
Description: Key under which this table's selection is exposed in the form context as $outputContext.<key>.
Default: null
Expose selected entities (selectedEntities)
Key: exposeSelectedEntities
Name: Expose selected entities (selectedEntities)
Description: Also expose selectedEntities (current page only) in addition to selectedIds.
Default: false
Examples
Curated configurations from libs/framework/fluent-forms/__fixtures__/widgets/tsm-entity-instance-configuration-list-panel/.
Each is a complete validated FluentSchema — copy & adapt for your form.
Gen expose selected entities — gen-expose-selected-entities.json
Expose selected entities (selectedEntities): Also expose selectedEntities (current page only) in addition to selectedIds.
{
"type": "object",
"title": "Instance Conf. Bookmark — Expose selected entities (selectedEntities)",
"description": "Expose selected entities (selectedEntities): Also expose selectedEntities (current page only) in addition to selectedIds.",
"properties": {},
"layout": [
{
"type": "layout",
"widget": {
"type": "tsm-entity-instance-configuration-list-panel"
},
"config": {
"exposeSelectedEntities": true
}
}
]
}
New Dependent Instance Button tsm-entity-instance-create-dependent
Button to create a dependent instance.
Widget Or Layout: unknown
Value:
{
"type": "layout",
"title": "New Dependent Entity Instance Button",
"widget": {
"type": "tsm-entity-instance-create-dependent"
}
}
Inputs
Inventory
Key: entityInstanceConfiguration
Name: Inventory
Description: Inventory
Default: null
Default type
Key: defaultType
Name: Default type
Description: Default type
Default: null
Icon
Key: icon
Name: Icon
Default: null
Redirect to detail
Key: redirectToDetail
Name: Redirect to detail
Default: true
Examples
Curated configurations from libs/framework/fluent-forms/__fixtures__/widgets/tsm-entity-instance-create-dependent/.
Each is a complete validated FluentSchema — copy & adapt for your form.
Gen redirect to detail — gen-redirect-to-detail.json
Demonstrates config.redirectToDetail = false on tsm-entity-instance-create-dependent.
{
"type": "object",
"title": "New Dependent Instance Button — Redirect to detail",
"description": "Demonstrates config.redirectToDetail = false on tsm-entity-instance-create-dependent.",
"properties": {},
"layout": [
{
"type": "layout",
"widget": {
"type": "tsm-entity-instance-create-dependent"
},
"config": {
"redirectToDetail": false
}
}
]
}
Ticket Category Registry Select tsm-ticket-category-registry-lov
Selection of a ticket category registry from a dropdown list.
Widget Or Layout: unknown
Value:
{
"title": "Select a Ticket Category Registry",
"widget": {
"type": "tsm-ticket-category-registry-lov"
},
"type": "string",
"config": {
"module": "ChangeManagement",
"selectProperty": "id"
}
}
Inputs
Disable link
Key: disableLink
Name: Disable link
Default: false
Allowed values
Key: allowedValues
Name: Allowed values
Default: null
Default value
Key: default
Name: Default value
Default: ""
Filters
Key: defaultFilters
Name: Filters
Default: null
Keyboard on mobile
Key: keyboardOnMobile
Name: Keyboard on mobile
Description: When enabled, a system keyboard is shown on mobile devices to filter the list during selection.
Default: true
Show clear
Key: showClear
Name: Show clear
Description: When enabled, a clear icon is shown next to the selector so the user can clear the selected value.
Default: true
Show none text
Key: showNoneText
Name: Show none text
Description: When enabled, a "No value" item appears in the dropdown and can be selected to clear the field.
Default: true
Select first value
Key: selectFirstValue
Name: Select first value
Description: When only one record is available, it will be auto-selected. When multiple records exist, nothing happens.
Default: false
Selection using a listing (one or more values)
Key: multiselect
Name: Selection using a listing (one or more values)
Default: false
Selection mode
Key: selectionMode
Name: Selection mode
Default: "multiple"
Multiple value storage mode
Key: returnType
Name: Multiple value storage mode
Default: "array"
Tree display
Key: treeMode
Name: Tree display
Description: Enable tree display of items. Items must have a field referencing the parent record ID.
Default: false
Parent reference field
Key: treeParentField
Name: Parent reference field
Description: Name of the field on each record that contains the parent record ID (e.g. parentId).
Default: null
Value
Key: selectProperty
Name: Value
Default: "all"
Display
Key: displayField
Name: Display
Description: It is possible to add multiple values using autocomplete or with source code ["key", "name"]
Default: "name"
Examples
Curated configurations from libs/framework/fluent-forms/__fixtures__/widgets/tsm-ticket-category-registry-lov/.
Each is a complete validated FluentSchema — copy & adapt for your form.
Gen disable link — gen-disable-link.json
Demonstrates config.disableLink = true on tsm-ticket-category-registry-lov.
{
"type": "object",
"title": "Ticket Category Registry Select — Disable link",
"description": "Demonstrates config.disableLink = true on tsm-ticket-category-registry-lov.",
"properties": {
"field": {
"widget": {
"type": "tsm-ticket-category-registry-lov"
},
"type": "string",
"config": {
"module": "ChangeManagement",
"selectProperty": "id",
"disableLink": true
},
"title": "Field"
}
},
"layout": [
"field"
]
}
Gen keyboard on mobile — gen-keyboard-on-mobile.json
Keyboard on mobile: When enabled, a system keyboard is shown on mobile devices to filter the list during selection.
{
"type": "object",
"title": "Ticket Category Registry Select — Keyboard on mobile",
"description": "Keyboard on mobile: When enabled, a system keyboard is shown on mobile devices to filter the list during selection.",
"properties": {
"field": {
"widget": {
"type": "tsm-ticket-category-registry-lov"
},
"type": "string",
"config": {
"module": "ChangeManagement",
"selectProperty": "id",
"keyboardOnMobile": false
},
"title": "Field"
}
},
"layout": [
"field"
]
}
Gen multiselect — gen-multiselect.json
Demonstrates config.multiselect = true on tsm-ticket-category-registry-lov.
{
"type": "object",
"title": "Ticket Category Registry Select — Selection using a listing (one or more values)",
"description": "Demonstrates config.multiselect = true on tsm-ticket-category-registry-lov.",
"properties": {
"field": {
"widget": {
"type": "tsm-ticket-category-registry-lov"
},
"type": "string",
"config": {
"module": "ChangeManagement",
"selectProperty": "id",
"multiselect": true
},
"title": "Field"
}
},
"layout": [
"field"
]
}
Gen select first value — gen-select-first-value.json
Select first value: When only one record is available, it will be auto-selected. When multiple records exist, nothing happens.
{
"type": "object",
"title": "Ticket Category Registry Select — Select first value",
"description": "Select first value: When only one record is available, it will be auto-selected. When multiple records exist, nothing happens.",
"properties": {
"field": {
"widget": {
"type": "tsm-ticket-category-registry-lov"
},
"type": "string",
"config": {
"module": "ChangeManagement",
"selectProperty": "id",
"selectFirstValue": true
},
"title": "Field"
}
},
"layout": [
"field"
]
}
Gen show clear — gen-show-clear.json
Show clear: When enabled, a clear icon is shown next to the selector so the user can clear the selected value.
{
"type": "object",
"title": "Ticket Category Registry Select — Show clear",
"description": "Show clear: When enabled, a clear icon is shown next to the selector so the user can clear the selected value.",
"properties": {
"field": {
"widget": {
"type": "tsm-ticket-category-registry-lov"
},
"type": "string",
"config": {
"module": "ChangeManagement",
"selectProperty": "id",
"showClear": false
},
"title": "Field"
}
},
"layout": [
"field"
]
}
Gen show none text — gen-show-none-text.json
Show none text: When enabled, a "No value" item appears in the dropdown and can be selected to clear the field.
{
"type": "object",
"title": "Ticket Category Registry Select — Show none text",
"description": "Show none text: When enabled, a \"No value\" item appears in the dropdown and can be selected to clear the field.",
"properties": {
"field": {
"widget": {
"type": "tsm-ticket-category-registry-lov"
},
"type": "string",
"config": {
"module": "ChangeManagement",
"selectProperty": "id",
"showNoneText": false
},
"title": "Field"
}
},
"layout": [
"field"
]
}
Release Button tsm-ticket-release-button
Ticketing - Ticket Release Button
Widget Or Layout: unknown
Value:
{
"title": "Ticketing - Ticket Release Button",
"widget": {
"type": "tsm-ticket-release-button"
},
"type": "string",
"config": {
"module": "ChangeManagement",
"selectProperty": "id"
}
}
Inputs
Title
Key: label
Name: Title
Default: ""
Target
Key: target
Name: Target
Default: ""
Calendar event list tsm-calendar-event
Calendar event list
Widget Or Layout: unknown
Value:
{
"title": "Calendar event list",
"widget": {
"type": "tsm-calendar-event"
},
"type": "layout",
"config": {
"pageSize": 10
}
}
Inputs
Show selected
Key: showSelected
Name: Show selected
Default: null
User
Key: userId
Name: User
Description: User
Default: null
Parent privilege
Key: parentPriv
Name: Parent privilege
Default: null
Customer - report tsm-customer-report-form
Customer - report
Widget Or Layout: unknown
Value:
{
"type": "object",
"title": "Customer - report",
"widget": {
"type": "tsm-customer-report-form"
}
}
Inputs
Customer
Key: customerId
Name: Customer
Description: Customer
Default: null
Diagram dtl-fluent-diagram
A general-purpose diagram for displaying a versioned graph of nodes and edges. The graph is configured in the form designer and does not become part of the form value.
Widget Or Layout: unknown
Value:
{
"type": "layout",
"widget": {
"type": "dtl-fluent-diagram"
}
}
Inputs
Height (px)
Key: height
Name: Height (px)
Default: 480
Background
Key: background
Name: Background
Default: "dots"
Edge routing
Key: routing
Name: Edge routing
Default: "orthogonal"
Auto-layout direction
Key: layoutDirection
Name: Auto-layout direction
Default: "left-to-right"
Fit graph on initialization
Key: fitOnInit
Name: Fit graph on initialization
Default: true
Show minimap
Key: showMinimap
Name: Show minimap
Default: false
Show viewport controls
Key: showControls
Name: Show viewport controls
Default: true
Examples
Curated configurations from libs/framework/fluent-forms/__fixtures__/widgets/dtl-fluent-diagram/.
Each is a complete validated FluentSchema — copy & adapt for your form.
Basic — 01-basic.json
{
"type": "object",
"title": "Diagram — basic flow",
"properties": {},
"layout": [
{
"type": "layout",
"widget": {
"type": "dtl-fluent-diagram"
},
"config": {
"graph": {
"version": 1,
"nodes": [
{
"id": "start",
"position": {
"x": 80,
"y": 120
},
"data": {
"label": "Start"
}
},
{
"id": "finish",
"position": {
"x": 360,
"y": 120
},
"data": {
"label": "Finish"
}
}
],
"edges": [
{
"id": "start-finish",
"source": "start",
"target": "finish",
"label": "Continue"
}
]
}
}
}
]
}
Branched — 02-branched.json
{
"type": "object",
"title": "Diagram — branched decision",
"properties": {},
"layout": [
{
"type": "layout",
"widget": {
"type": "dtl-fluent-diagram"
},
"config": {
"height": 560,
"background": "dots",
"routing": "orthogonal",
"layoutDirection": "left-to-right",
"graph": {
"version": 1,
"nodes": [
{
"id": "request",
"position": {
"x": 60,
"y": 190
},
"kind": "start-end",
"tone": "info",
"icon": "user",
"data": {
"label": "Request"
}
},
{
"id": "decision",
"position": {
"x": 320,
"y": 190
},
"kind": "decision",
"tone": "warning",
"icon": "question-circle",
"data": {
"label": "Approved?"
}
},
{
"id": "approved",
"position": {
"x": 600,
"y": 80
},
"tone": "success",
"icon": "check",
"data": {
"label": "Provision service"
}
},
{
"id": "rejected",
"position": {
"x": 600,
"y": 300
},
"kind": "note",
"tone": "danger",
"icon": "exclamation-triangle",
"data": {
"label": "Return request"
}
}
],
"edges": [
{
"id": "request-decision",
"source": "request",
"target": "decision",
"tone": "info"
},
{
"id": "decision-approved",
"source": "decision",
"target": "approved",
"sourcePort": "top",
"targetPort": "left",
"label": "Yes",
"tone": "success"
},
{
"id": "decision-rejected",
"source": "decision",
"target": "rejected",
"sourcePort": "bottom",
"targetPort": "left",
"label": "No",
"lineStyle": "dashed",
"tone": "danger"
}
]
}
}
}
]
}
Minimap — 03-minimap.json
{
"type": "object",
"title": "Diagram — overview with minimap",
"properties": {},
"layout": [
{
"type": "layout",
"widget": {
"type": "dtl-fluent-diagram"
},
"config": {
"height": 620,
"background": "grid",
"routing": "bezier",
"fitOnInit": true,
"showMinimap": true,
"showControls": true,
"graph": {
"version": 1,
"nodes": [
{
"id": "catalog",
"position": {
"x": 40,
"y": 70
},
"data": {
"label": "Product catalog"
}
},
{
"id": "order",
"position": {
"x": 330,
"y": 70
},
"data": {
"label": "Order"
}
},
{
"id": "inventory",
"position": {
"x": 620,
"y": 70
},
"data": {
"label": "Inventory"
}
},
{
"id": "activation",
"position": {
"x": 910,
"y": 70
},
"data": {
"label": "Activation"
}
},
{
"id": "billing",
"position": {
"x": 1200,
"y": 70
},
"data": {
"label": "Billing"
}
}
],
"edges": [
{
"id": "catalog-order",
"source": "catalog",
"target": "order"
},
{
"id": "order-inventory",
"source": "order",
"target": "inventory"
},
{
"id": "inventory-activation",
"source": "inventory",
"target": "activation"
},
{
"id": "activation-billing",
"source": "activation",
"target": "billing"
}
]
}
}
}
]
}
Gen background — gen-background.json
Demonstrates config.background = "grid" on dtl-fluent-diagram.
{
"type": "object",
"title": "Diagram — Background",
"description": "Demonstrates config.background = \"grid\" on dtl-fluent-diagram.",
"properties": {},
"layout": [
{
"type": "layout",
"widget": {
"type": "dtl-fluent-diagram"
},
"config": {
"background": "grid"
}
}
]
}
Gen fit on init — gen-fit-on-init.json
Demonstrates config.fitOnInit = false on dtl-fluent-diagram.
{
"type": "object",
"title": "Diagram — Fit graph on initialization",
"description": "Demonstrates config.fitOnInit = false on dtl-fluent-diagram.",
"properties": {},
"layout": [
{
"type": "layout",
"widget": {
"type": "dtl-fluent-diagram"
},
"config": {
"fitOnInit": false
}
}
]
}
Gen height — gen-height.json
Demonstrates config.height = 960 on dtl-fluent-diagram.
{
"type": "object",
"title": "Diagram — Height (px)",
"description": "Demonstrates config.height = 960 on dtl-fluent-diagram.",
"properties": {},
"layout": [
{
"type": "layout",
"widget": {
"type": "dtl-fluent-diagram"
},
"config": {
"height": 960
}
}
]
}
Gen layout direction — gen-layout-direction.json
Demonstrates config.layoutDirection = "top-to-bottom" on dtl-fluent-diagram.
{
"type": "object",
"title": "Diagram — Auto-layout direction",
"description": "Demonstrates config.layoutDirection = \"top-to-bottom\" on dtl-fluent-diagram.",
"properties": {},
"layout": [
{
"type": "layout",
"widget": {
"type": "dtl-fluent-diagram"
},
"config": {
"layoutDirection": "top-to-bottom"
}
}
]
}
Gen routing — gen-routing.json
Demonstrates config.routing = "bezier" on dtl-fluent-diagram.
{
"type": "object",
"title": "Diagram — Edge routing",
"description": "Demonstrates config.routing = \"bezier\" on dtl-fluent-diagram.",
"properties": {},
"layout": [
{
"type": "layout",
"widget": {
"type": "dtl-fluent-diagram"
},
"config": {
"routing": "bezier"
}
}
]
}
Gen show minimap — gen-show-minimap.json
Demonstrates config.showMinimap = true on dtl-fluent-diagram.
{
"type": "object",
"title": "Diagram — Show minimap",
"description": "Demonstrates config.showMinimap = true on dtl-fluent-diagram.",
"properties": {},
"layout": [
{
"type": "layout",
"widget": {
"type": "dtl-fluent-diagram"
},
"config": {
"showMinimap": true
}
}
]
}
Notes
General-purpose, schema-owned diagram for static graph topology with runtime pan, zoom and selection.
Complexity: intermediate
Tags: diagram, graph, layout, visualization
Authoring tips:
- The widget is a pure layout leaf: it does not create a FormControl and never writes into form values.
- Store the graph in config.graph as {version: 1, nodes: [{id, position: {x, y}, data: {label, ...}, kind?, tone?, icon?}], edges: [{id, source, target, sourcePort?, targetPort?, label?, routing?, lineStyle?, arrow?, tone?}] }.
- Author only the versioned config.graph contract; do not copy ng-diagram runtime properties such as selected, measuredPorts or computedZIndex.
- Node data may contain arbitrary JSON fields, but the standard renderer displays data.label. Put controlled presentation in the node fields kind (default, start-end, decision, note), tone (default, info, success, warning, danger) and icon instead of inventing values inside data.
- Use the visual editor or finite numeric positions. Edge anchors are logical values: auto, top, right, bottom or left.
- Edge lineStyle is solid, dashed or dotted; arrow is none, end or both; tone uses the same semantic tone presets as nodes.
- Allowed backgrounds are none, dots and grid. Allowed routing values are orthogonal, polyline and bezier. layoutDirection controls editor auto-layout and is left-to-right or top-to-bottom.
Dms - Participant (sharing-ref) tsm-sharing-ref-lov
Dms - Participant (sharing-ref)
Widget Or Layout: unknown
Value:
{
"type": "object",
"title": "Dms - Participant (sharing-ref)",
"widget": {
"type": "tsm-sharing-ref-lov"
},
"config": {
"validatorRequired": true
}
}
Inputs
Filters
Key: refTypeFilter
Name: Filters
Default: null
Value
Key: selectProperty
Name: Value
Default: "all"
Layout - Chart dtl-fluent-chart
The Charts component provides a set of customizable charting options that can be used to display data in a visually appealing way. It supports a variety of chart types, such as line, bar, pie, doughnut, radar, polar area, and scatter charts.
Widget Or Layout: unknown
Value:
{
"type": "layout",
"widget": {
"type": "dtl-fluent-chart"
},
"items": []
}
Inputs
Listing type
Key: listingTypeCode
Name: Listing type
Default: null
Chart type
Key: chartType
Name: Chart type
Default: null
Aggregations
Key: aggs
Name: Aggregations
Default: null
Datasets
Key: datasets
Name: Datasets
Default: null
Options
Key: options
Name: Options
Default: null
Label column
Key: labelColumn
Name: Label column
Default: null
Label converter
Key: labelConverter
Name: Label converter
Default: null
Label converter params
Key: labelConverterParams
Name: Label converter params
Default: null
Filters
Key: filters
Name: Filters
Default: null
Location 1 tsm-entity-instance-location-lov
Location 1
Widget Or Layout: unknown
Value:
{
"type": "object",
"widget": {
"type": "tsm-entity-instance-location-lov"
}
}
Inputs
Default value
Key: default
Name: Default value
Default: null
Customer
Key: customerId
Name: Customer
Default: null
Examples
Curated configurations from libs/framework/fluent-forms/__fixtures__/widgets/tsm-entity-instance-location-lov/.
Each is a complete validated FluentSchema — copy & adapt for your form.
Crm address — 01-crm-address.json
{
"type": "object",
"title": "Entity instance — required CRM address",
"properties": {
"location1": {
"type": "object",
"title": "Location 1",
"default": {
"requiredType": "crmAddress",
"id": "01a06ccd-0a36-7ee4-975d-910f7973b9c8",
"customerId": "0198d9ad-51da-75fb-8812-f5d32d3e33d5"
},
"widget": {
"type": "tsm-entity-instance-location-lov",
"readonly": true
}
}
},
"layout": [
"location1"
]
}
Ordering - Order line hardware tsm-order-line-hardware
Ordering - Order line hardware
Widget Or Layout: unknown
Value:
{
"type": "layout",
"widget": {
"type": "tsm-order-line-hardware"
}
}
Inputs
Order
Key: orderId
Name: Order
Default: null
Phone dtl-form-input-phone
Phone
Widget Or Layout: unknown
Value:
{
"type": "string",
"title": "Phone",
"widget": {
"type": "phone"
}
}
Inputs
Default value
Key: default
Name: Default value
Default: ""
Scripting - Open detail type tsm-open-console-button
Scripting - Open detail type
Widget Or Layout: unknown
Value:
{
"type": "layout",
"widget": {
"type": "tsm-open-console-button"
}
}
Inputs
Context
Key: context
Name: Context
Default: null
Slacard tsm-sla-card
Slacard
Widget Or Layout: unknown
Value:
{
"type": "layout",
"title": "Slacard",
"widget": {
"type": "tsm-sla-card"
}
}
Inputs
Ticket
Key: ticket
Name: Ticket
Default: ""
Spreadsheet tsm-sheet-widget
The Spreadsheet component provides a clean, table-based workflow for data: inline cell editing, validation, sorting, and bulk updates for fast data entry.
Widget Or Layout: unknown
Value:
{
"type": "layout",
"widget": {
"type": "tsm-sheet-widget"
}
}
Inputs
Default value
Key: default
Name: Default value
Default: {}
Data
Key: data
Name: Data
Description: This value replaces the initial/default data and represents the current state of the component.
Default: {}
Enable import in "readonly mode"
Key: enableImportOnReadonly
Name: Enable import in "readonly mode"
Default: false
Default rows count
Key: rows
Name: Default rows count
Default: 30
Default cols count
Key: cols
Name: Default cols count
Default: 30
Max height
Key: maxHeight
Name: Max height
Description: e.g.500px,50%,100vh
Default: null
Výchozí název prvního sheetu
Key: defaultFirstSheetName
Name: Výchozí název prvního sheetu
Default: ""
Tasks tsm-process-instance-diagrams
Tasks
Widget Or Layout: unknown
Value:
{
"type": "string",
"title": "Tasks",
"widget": {
"type": "tsm-process-instance-diagrams"
}
}
tSM Characteristic tsm-characteristic
tSM Characteristic - used to insert a characteristic.
Widget Or Layout: unknown
Value:
{
"type": "layout",
"widget": {
"type": "tsm-characteristic"
},
"config": {
"context": "${$context}"
}
}
Inputs
Characteristic
Key: code
Name: Characteristic
Description: When the field is switched to an expression, the JEXL expression must return the characteristic code.
Default: null
Attribute
Key: attributeName
Name: Attribute
Description: Optionally select a specific characteristic attribute.
Default: null
Show title
Key: enableLabel
Name: Show title
Description: Tick the checkbox if you wish the title to be visible. It can also be controlled with an expression using the expression editor.
Default: false
Title position
Key: labelPosition
Name: Title position
Description: The position in which the name will be displayed.
Default: "left"
Disable count is single child
Key: disableCountIsSingleChild
Name: Disable count is single child
Description: If checked, editing fields in the characteristic in the fluent-inplace component will never autosave.
Default: false
Disable show errors in characteristic
Key: characteristicShowDisableErrors
Name: Disable show errors in characteristic
Default: false
Context
Key: context
Name: Context
Description: Enter a value that will be dynamically inserted as context. Use the $value placeholder, which will automatically be replaced with the current value during runtime. This enables flexible data transfer between components or modules.
Default: null
Examples
Curated configurations from libs/framework/fluent-forms/__fixtures__/widgets/tsm-characteristic/.
Each is a complete validated FluentSchema — copy & adapt for your form.
Gen characteristic show disable errors — gen-characteristic-show-disable-errors.json
Demonstrates config.characteristicShowDisableErrors = true on tsm-characteristic.
{
"type": "object",
"title": "tSM Characteristic — Disable show errors in characteristic",
"description": "Demonstrates config.characteristicShowDisableErrors = true on tsm-characteristic.",
"properties": {},
"layout": [
{
"type": "layout",
"widget": {
"type": "tsm-characteristic"
},
"config": {
"context": "${$context}",
"characteristicShowDisableErrors": true
}
}
]
}
Gen disable count is single child — gen-disable-count-is-single-child.json
Disable count is single child: If checked, editing fields in the characteristic in the fluent-inplace component will never autosave.
{
"type": "object",
"title": "tSM Characteristic — Disable count is single child",
"description": "Disable count is single child: If checked, editing fields in the characteristic in the fluent-inplace component will never autosave.",
"properties": {},
"layout": [
{
"type": "layout",
"widget": {
"type": "tsm-characteristic"
},
"config": {
"context": "${$context}",
"disableCountIsSingleChild": true
}
}
]
}
Gen enable label — gen-enable-label.json
Show title: Tick the checkbox if you wish the title to be visible. It can also be controlled with an expression using the expression editor.
{
"type": "object",
"title": "tSM Characteristic — Show title",
"description": "Show title: Tick the checkbox if you wish the title to be visible. It can also be controlled with an expression using the expression editor.",
"properties": {},
"layout": [
{
"type": "layout",
"widget": {
"type": "tsm-characteristic"
},
"config": {
"context": "${$context}",
"enableLabel": true
}
}
]
}
User management - User Group Selection tsm-user-group-list-widget
User management - User Group Selection
Widget Or Layout: unknown
Value:
{
"title": "User management - User Group Selection",
"widget": {
"type": "tsm-user-group-list-widget"
},
"type": "layout",
"config": {
"pageSize": 10
}
}
Inputs
Title
Key: title
Name: Title
Default: null
Page Size
Key: pageSize
Name: Page Size
Description: Number of rows displayed on one page.
Table Height
Key: scrollHeight
Name: Table Height
Description: The custom height is applied only when the Table / TreeTable is in scrollable mode, contains more than 6 records, and the total height of all rows on the page exceeds the custom height value.
If the custom height is larger than the total height of the rows on the page, the Table / TreeTable automatically reduces its height to avoid empty space.
In Full Screen mode, the custom height setting is ignored. The Table / TreeTable uses a flex configuration which automatically manages the final height.
The height can be specified in these units: px, em, rem, vh.
Sample: 500px
Table Data View Mode
Key: dataViewMode
Name: Table Data View Mode
Description: "Table with scroll" keeps original column widths and a horizontal scrollbar. "FullScreen table" adjusts column widths to the window size.
Additional Context Data
Key: externalData
Name: Additional Context Data
Description: Specifies additional contextual data in the form of a JSON object for creating a new record in this listing, which is passed to the form context.
Listing Type
Key: listingType
Name: Listing Type
Description: Specifies which listing type is used for display.
Listing Profile
Key: profileId
Name: Listing Profile
Description: Specifies the listing profile, which defines columns, order, and other display settings.
Listing Profile Category
Key: profileCategory
Name: Listing Profile Category
Description: Name of the category from which profiles can be selected.
Output Context Key
Key: outputContextKey
Name: Output Context Key
Description: Key under which this table's selection is exposed in the form context as $outputContext.<key> (e.g. ticket, order, task). Contains selectedEntity (the selected row) and selectedIds (IDs across all pages). Empty = legacy behavior (the selected row is written directly to $outputContext).
Expose selected entities (selectedEntities)
Key: exposeSelectedEntities
Name: Expose selected entities (selectedEntities)
Description: In addition to selectedIds, also expose selectedEntities — the full rows, but for the CURRENT page only. Off by default: heavier payload than an array of IDs. Use selectedIds to work with the cross-page selection.
Hide Export Button
Key: showExport
Name: Hide Export Button
Description: Hides the export button.
Hide Filter
Key: showFilters
Name: Hide Filter
Description: Hides the listing filters.
Hide Refresh Button
Key: showRefresh
Name: Hide Refresh Button
Description: Hides the refresh button.
Hide Paginator
Key: showPaginator
Name: Hide Paginator
Description: Hides the listing pagination.
Hide Columns Manager
Key: showManagerColumns
Name: Hide Columns Manager
Description: Hides the columns manager.
Hide Profiles
Key: showProfiles
Name: Hide Profiles
Description: Hides the listing profiles.
Hide Sort Manager
Key: showManagerSort
Name: Hide Sort Manager
Description: Hides the sort manager.
Hide Color Manager
Key: showManagerColor
Name: Hide Color Manager
Description: Hides the color manager.
Hide Listing Config
Key: showListingConfig
Name: Hide Listing Config
Description: Hides the listing configuration.
Hide Data View Mode
Key: hiddenDataViewMode
Name: Hide Data View Mode
Description: Hides the option to switch between table and kanban view.
Hide Button Section
Key: hideButtonGroup
Name: Hide Button Section
Description: Hides the button section.
Mobile: tap selects the record
Key: mobileClickSelection
Name: Mobile: tap selects the record
Description: On mobile, tapping a card selects the record instead of opening its detail. Has no effect on desktop.
Disable Sticky Header
Key: scrollable
Name: Disable Sticky Header
Description: Disables the fixed table header while scrolling.
TQL WHERE Extension
Key: extendTqlWhere
Name: TQL WHERE Extension
Description: Adds a WHERE condition in TQL. Format: COLUMN_NAME OPERATOR VALUE.
TQL Sorting
Key: externalTqlSort
Name: TQL Sorting
Description: Modifies the default sorting in TQL. Format: COLUMN_NAME ASC/DESC.
TQL Sorting for Nested Tables
Key: externalTqlSortForNested
Name: TQL Sorting for Nested Tables
Description: Modifies the default sorting for nested tables in TQL. Format: COLUMN_NAME ASC/DESC.
TQL Query Params
Key: tqlQueryParams
Name: TQL Query Params
Description: Adds query parameters to the TQL request.
Filters
Key: filters
Name: Filters
Description: Allows defining filters for the data displayed in the list.
Work estimate tsm-worklog-estimate
Work estimate
Widget Or Layout: unknown
Value:
{
"type": "layout",
"title": "Worklog",
"widget": {
"type": "tsm-worklog-estimate"
},
"config": {
"showIncludeSubtasks": false,
"linkType": "null",
"showAddButton": false
}
}
Inputs
Owner type
Key: ownerType
Name: Owner type
Default: null
Owner Id
Key: ownerId
Name: Owner Id
Default: null
Create privilege
Key: addPrivilege
Name: Create privilege
Default: null
Show "Include subtasks" checkbox
Key: showIncludeSubtasks
Name: Show "Include subtasks" checkbox
Default: true
Show add button
Key: showAddButton
Name: Show add button
Default: true
Show start stopwatch button
Key: showStartStopwatchButton
Name: Show start stopwatch button
Default: true
Link type
Key: linkTypes
Name: Link type
Default: null
Worklog duration input tsm-worklog-duration
Widget Or Layout: unknown
Value:
{
"type": "layout",
"title": "Worklog duration",
"widget": {
"type": "tsm-worklog-duration"
}
}
Inputs
returnType
Key: returnType
Name: returnType
Default: "minutes"
Worklog stopwatch start button tsm-worklog-stopwatch-start-button
Worklog stopwatch start button
Widget Or Layout: unknown
Value:
{
"title": "Worklog stopwatch start button",
"widget": {
"type": "tsm-worklog-stopwatch-start-button"
},
"type": "layout",
"config": {
"ownerId": "",
"ownerType": ""
}
}
Inputs
Owner type
Key: ownerType
Name: Owner type
Default: null
Owner Id
Key: ownerId
Name: Owner Id
Default: null