Skip to main content
Version: 2.5

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": "array",
"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


Characteristic attribute tsm-characteristic-item​

tSM Characteristic - used to insert a characteristic.

Widget Or Layout: unknown

Value:

{
"type": "layout",
"widget": {
"type": "tsm-characteristic-item"
},
"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: If omitted, the parent form context is used. An object or expression replaces it; {} passes an empty context. Data is available through $context.

Default: null

Examples​

Curated configurations from libs/framework/fluent-forms/__fixtures__/widgets/tsm-characteristic-item/. Each is a complete validated FluentSchema — copy & adapt for your form.

Independent installation attributes — 01-independent-installation-attributes.json

{
"type": "object",
"title": "Installation details",
"properties": {},
"layout": [
{
"type": "layout",
"widget": {
"type": "tsm-characteristic-item"
},
"config": {
"code": "INSTALLATION",
"attributeName": "address.street"
}
},
{
"type": "layout",
"widget": {
"type": "tsm-characteristic-item"
},
"config": {
"code": "INSTALLATION",
"attributeName": "result"
}
}
]
}

Gen characteristic show disable errors — gen-characteristic-show-disable-errors.json

Demonstrates config.characteristicShowDisableErrors = true on tsm-characteristic-item.

{
"type": "object",
"title": "Characteristic attribute — Disable show errors in characteristic",
"description": "Demonstrates config.characteristicShowDisableErrors = true on tsm-characteristic-item.",
"properties": {},
"layout": [
{
"type": "layout",
"widget": {
"type": "tsm-characteristic-item"
},
"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": "Characteristic attribute — 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-item"
},
"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": "Characteristic attribute — 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-item"
},
"config": {
"context": "${$context}",
"enableLabel": true
}
}
]
}

Notes​

Independently movable views of installation street and result from one characteristic.

Complexity: intermediate

Tags: characteristic, selected-attribute, shared-value

The INSTALLATION characteristic must exist and define address.street and result. Its metadata attributeName identifies the complete value under chars; config.attributeName selects an attribute within its source form. Runtime preprocessing binds each item to that shared characteristic value. Do not replace config.code with a characteristic value path or copy the source fields into the host.


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: ""

Examples​

Curated configurations from libs/framework/fluent-forms/__fixtures__/widgets/dtl-form-input-phone/. Each is a complete validated FluentSchema — copy & adapt for your form.

Paste event — 01-paste-event.json

A pasted event records the exact clipboard text separately from the phone value accepted by the widget.

{
"type": "object",
"title": "Phone — pasted contact number",
"description": "A pasted event records the exact clipboard text separately from the phone value accepted by the widget.",
"properties": {
"contactPhone": {
"type": "string",
"title": "Contact phone",
"widget": {
"type": "phone",
"placeholder": "+420 123 456 789"
}
},
"clipboardPhone": {
"type": "string",
"title": "Clipboard phone text",
"widget": {
"type": "text",
"readonly": true
}
}
},
"layout": [
"contactPhone",
"clipboardPhone"
],
"effects": [
{
"id": "recordPastedPhoneText",
"trigger": {
"type": "widgetEvent",
"objectPointer": "/properties/contactPhone",
"event": "pasted"
},
"do": [
{
"type": "set",
"field": "clipboardPhone",
"value": "${$payload.text}"
}
]
}
]
}

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: If omitted, the parent form context is used. An object or expression replaces it; {} passes an empty context. Data is available through $context.

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

Include subtasks by default

Key: includeSubtasks

Name: Include subtasks by default

Default: false

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

Examples​

Curated configurations from libs/framework/fluent-forms/__fixtures__/widgets/tsm-worklog-estimate/. Each is a complete validated FluentSchema — copy & adapt for your form.

Include subtasks — 01-include-subtasks.json

{
"type": "object",
"properties": {
"estimate": {
"type": "number",
"title": "Work estimate including subtasks",
"widget": {
"type": "tsm-worklog-estimate"
},
"config": {
"ownerType": "Ticket",
"ownerId": "00000000-0000-0000-0000-000000000001",
"includeSubtasks": true,
"showIncludeSubtasks": true,
"showAddButton": false,
"showStartStopwatchButton": false,
"linkTypes": [
{
"code": "Child",
"reversed": true
},
{
"code": "Supertask",
"reversed": false
}
]
}
}
},
"layout": [
"estimate"
]
}

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