Layout Widgets
Accordions dtl-fluent-accordion
The accordion is a UI component used to display and organize content in a collapsible manner, allowing users to expand or collapse sections of content as needed. It consists of multiple sections or panels, with a title for each section and its associated content displayed in the body of the panel. When a user clicks on the title of a panel, the content of that panel is expanded, upon clicking again, it is collapsed.
Widget Or Layout: layout
Value:
{
"type": "layout",
"widget": {
"type": "dtl-fluent-accordion"
},
"items": [],
"config": {
"accordions": [
{
"header": "Accordion",
"content": []
}
]
}
}
Anchor dtl-fluent-anchor
The widget inserts an HTML <div> with a specified ID into the DOM and automatically scrolls to it when the page loads. This is useful for directing users to a specific section of a webpage upon loading.
Widget Or Layout: layout
Value:
{
"type": "layout",
"widget": {
"type": "dtl-fluent-anchor"
},
"items": [],
"config": {}
}
Inputs
ID
Key: scrollId
Name: ID
Description: On an anchor with the selected ID, it will be automatically scrolled down in the form after it is opened, if the URL used to open the form contains this ID as a parameter.
Example: .../dashboard/9134d5eb-944c-4d09-ba62-b9be6458208e#SCROLL_TARGET_1
Back button tsm-button-back
The back button element is used for returning to the previous page upon clicking.
Widget Or Layout: layout
Value:
{
"type": "layout",
"widget": {
"type": "tsm-button-back"
}
}
Inputs
Label
Key: label
Name: Label
Router link within the application
Key: routerLink
Name: Router link within the application
Description: The router link where the user will be navigated to upon clicking the button. For example "/ordering/order-type". If you wish to only redirect the user to the previous page, leave this option empty.
Button bar dtl-fluent-bar
The button bar component creates a section which you can open by clicking on it. Inside the section you can put additional content such as a Text item, Password field or a Checkbox. These items are only visible when the section is opened. You can add a custom text in the button bar label - for example "More", or "Click to view". There are other customizable options such as a tooltip or a CSS class.
Widget Or Layout: layout
Value:
{
"type": "layout",
"widget": {
"type": "dtl-fluent-bar"
},
"items": []
}
Inputs
Icon position
Key: iconPos
Name: Icon position
Label
Key: label
Name: Label
Card dtl-fluent-card
The card component presents information in a compact, organized manner, and is commonly used to display information such as product detail or profiles.
Widget Or Layout: layout
Value:
{
"type": "layout",
"widget": {
"type": "dtl-fluent-card"
},
"items": []
}
Inputs
Card Title
Key: header
Name: Card Title
Card title URL link
Key: headerLink
Name: Card title URL link
External link
Key: headerTarget
Name: External link
Description: Opens external link in a new tab
Icon
Key: headerIconClass
Name: Icon
Color highlight
Key: cardType
Name: Color highlight
Remove card styling
Key: disableCard
Name: Remove card styling
Control buttons
Key: buttonsOnHover
Name: Control buttons
Enable action button
Key: activeButton
Name: Enable action button
Disable maximize button
Key: disableMaximize
Name: Disable maximize button
Disable minimize button
Key: disableMinimize
Name: Disable minimize button
Minimized by default
Key: minimizedByDefault
Name: Minimized by default
Clone dtl-fluent-clone
The special component to allow duplication of a form section to a different place. Use "Clone key" attribute of an object to mark the object with custom key (for example "productDetail") and then use the key in this component configuration. This is intended to position parts of the form in different sections based on the form usage. Typically this is the case of Detail form within listings or on a seperate page.
Widget Or Layout: layout
Value:
{
"type": "layout",
"widget": {
"type": "dtl-fluent-clone"
},
"items": []
}
Inputs
Clone key
Key: cloneKey
Name: Clone key
Description: The key for copying of content into the clone component
Content dtl-fluent-content
The content component is used to embed text created with the Editor component(see Editor description).
Widget Or Layout: layout
Value:
{
"type": "layout",
"widget": {
"type": "dtl-fluent-content"
},
"config": {
"html": ""
}
}
Inputs
Content
Key: html
Name: Content
Description: The content which will be displayed in the component. It is inputted using the editor.
External content dtl-fluent-iframe
External content(iframe) is to embed external content into the current page. This makes it possible to view content from another source without leaving the current page. For example, an iframe can be used to display a map or a video from another website. The content can be interacted with within the iframe just as if it was being viewed on its own page.
Widget Or Layout: layout
Value:
{
"type": "layout",
"widget": {
"type": "dtl-fluent-iframe"
},
"items": []
}
Inputs
Title
Key: title
Name: Title
Source URL
Key: src
Name: Source URL
Hide title
Key: notitle
Name: Hide title
Height (px)
Key: height
Name: Height (px)
Width (px)
Key: width
Name: Width (px)
Fieldset dtl-fluent-fieldset
The fieldset component is used to group related form controls or content into a single visually identifiable unit. It can be used to provide context and improve the overall organization of a form.
Widget Or Layout: layout
Value:
{
"type": "layout",
"items": [],
"widget": {
"type": "dtl-fluent-fieldset"
}
}
Inputs
Legend (title)
Key: legend
Name: Legend (title)
Disable legend
Key: disableLegendForEmptyAndReadonly
Name: Disable legend
Description: Tick the checkbox if you wish to turn off the legend if readonly mode is enabled and the component does not contain any data.
Html dtl-fluent-html
The Html component is used to embed plain html in a section which is then rendered.
Widget Or Layout: layout
Value:
{
"type": "layout",
"widget": {
"type": "dtl-fluent-html"
}
}
Inplace dtl-fluent-inplace
The form inplace component is a UI element that allows for in-place editing of data within a form. At first the data is in read-only mode intended for viewing, but edit mode can be entered by clicking on the edit icon. Afterwards changes can be made to the data and modifications saved or discarded by buttons.
Widget Or Layout: layout
Value:
{
"type": "layout",
"widget": {
"type": "dtl-fluent-inplace"
},
"items": []
}
Inputs
Clone key
Key: cloneKey
Name: Clone key
Description: The key for copying of content into the clone component
Disable autofocus
Key: disableAutofocus
Name: Disable autofocus
Description: Disable autofocus on the first input in the form
Save on click outside
Key: saveOnClickOutside
Name: Save on click outside
Description: By default the form is reset, by enabling this the form is saved instead.
Display field borders even in readonly mode
Key: alwaysShowBorders
Name: Display field borders even in readonly mode
Description: Displays field borders even in readonly mode. Fields will look editable but remain non-editable (readonly). This setting applies only in readonly mode; in edit mode, no changes are applied.
Script
Key: scriptCode
Name: Script
Layout dtl-fluent-columns
The 12-column layout is a popular layout design pattern that is used to divide a user interface into 12 equal-width columns. The 12-column layout is a flexible design pattern that can be used to create a wide range of layouts, from simple one-column designs to more complex multi-column layouts. It provides a simple and effective way to divide a user interface into manageable sections, and helps to ensure that the layout is consistent and scalable across different screen sizes and devices. The number 12 is the most easily divisible among reasonably small numbers; it's possible to have 12, 6, 4, 3, 2 or 1 evenly spaced columns. This gives designers tremendous flexibility over a layout.
Widget Or Layout: layout
Value:
{
"type": "layout",
"items": [],
"config": {
"columns": [
{
"width": 6
},
{
"width": 6
}
]
},
"widget": {
"type": "dtl-fluent-columns"
}
}
Inputs
Enable sticky header
Key: enableStickyHeader
Name: Enable sticky header
Description: Used only for page forms. If enabled, the header will be sticky. It will be visible even when the user scrolls down the page.
Border
Key: bordered
Name: Border
Description: Tick the checkbox if you wish the component wrapper to have a border.
Background
Key: colored
Name: Background
Description: Tick the checkbox if you wish the wrapper of the component to have a background color. Afterwards select the color
Page layout
Key: config.pageLayout
Name: Page layout
Description: A special layout option. Required if you use the layout as the main layout of the page.
Enable internal paddings
Key: config.innerPageLayout
Name: Enable internal paddings
Description: Enable internal paddings.
grid CSS class
Key: gridStyle
Name: grid CSS class
grid CSS class
Key: config.gridStyle
Name: grid CSS class
Description: The CSS class used to change or modification of the grid layout.
Panel dtl-fluent-panel
The panel component is a container component that can be used to group and organize other components within a section that has it's own header. It can be manually or programatically collapsed and it's properties can be changed such as the header.
Widget Or Layout: layout
Value:
{
"type": "layout",
"widget": {
"type": "dtl-fluent-panel"
},
"items": []
}
Inputs
Panel title
Key: title
Name: Panel title
Panel Implicit state
Key: collapsed
Name: Panel Implicit state
Section dtl-fluent-section
The section component is similiar to the panel component(see it's description) with the main difference that it does not have a header.
Widget Or Layout: layout
Value:
{
"type": "layout",
"items": [],
"widget": {
"type": "dtl-fluent-section"
},
"config": {
"legend": "Legend"
}
}
Inputs
Show bottom border of inputs
Key: inputBordersShowing
Name: Show bottom border of inputs
Description: Show bottom border of inputs even if form is in read-only state (only works for inputs with the title position set to "Top")
Compact Mode
Key: compactMode
Name: Compact Mode
Description: Compact Mode
Splitter dtl-fluent-panel-splitter
The splitter element is used to visually separate and organize form fields into distinct sections or columns. It is represented by a horizontal or vertical line that can be resized by dragging its handle to adjust the amount of space allocated to each section. It is commonly used in forms with multiple columns or sections to provide users with a clear visual separation between different parts of the form, improving its readability and usability. It can also be customized with different styles and colors using CSS classes to match the overall design of the form.
Widget Or Layout: layout
Value:
{
"type": "layout",
"widget": {
"type": "dtl-fluent-panel-splitter"
},
"items": [],
"config": {
"first": [],
"second": []
}
}
Inputs
Layout
Key: layout
Name: Layout
Description: The direction of the layout. Can either be horizontal or vertical.
SVG dtl-fluent-svg
A SVG component is used for displaying scalable vector graphics. It allows for the creation of vector-based graphics that can be scaled up or down without losing quality or clarity. The SVG component is particularly useful for creating interactive and dynamic visualizations, such as charts and graphs, which can be customized and animated based on user interaction or data changes.
Widget Or Layout: layout
Value:
{
"type": "layout",
"widget": {
"type": "dtl-fluent-svg"
},
"items": []
}
Tabs dtl-fluent-tab
The tabs component allows for organizing content into separate tabs or pages. Each tab typically has a label or title, and when a user clicks on a tab, the content associated with that tab is displayed. The tab component is useful for breaking up large amounts of content into smaller, more manageable chunks, and it provides a way for users to easily navigate between different sections of the content.
Widget Or Layout: layout
Value:
{
"type": "layout",
"widget": {
"type": "dtl-fluent-tab"
},
"items": [],
"config": {
"tabs": [
{
"header": "Tab 1",
"content": []
},
{
"header": "Tab 2",
"content": []
}
]
}
}
Inputs
Key for tabs remembering cache
Key: storedTabsActiveIndex
Name: Key for tabs remembering cache
Description: A unique identifier that the application uses to store and retrieve the cached tab data.
Text hint tsm-text-hint
The Text hint component is used to embed text inside a form using an Rich text editor serving as a hint or documentation to the user. An icon can be placed infront of the text symbolizing the type of the hint - ex. informational or warning.
Widget Or Layout: layout
Value:
{
"type": "layout",
"widget": {
"type": "tsm-text-hint"
},
"items": []
}
Inputs
Content
Key: content
Name: Content
Description: The content which will be displayed in the component. It is inputted using the editor.
Severity
Key: severity
Name: Severity
Description: Severity defines the color of the text and places the corresponding icon infront of the text unless an Optional icon in specified, in which case that one is used
Optional icon
Key: customIconCssClass
Name: Optional icon
Description: This is the full icon class string to show the icon. Example: p-icon-check
Additional CSS class
Key: customTextCssClass
Name: Additional CSS class
Description: You can use an additional CSS class to customize the appearance of the component. Examples: text-2xl bg-red-500 flex w-full gap-2 flex-column p-4
Toolbar dtl-fluent-toolbar
Toolbar
Widget Or Layout: layout
Value:
{
"type": "layout",
"widget": {
"type": "dtl-fluent-toolbar"
},
"items": []
}
Tsm Control tsm-control
Tsm Control - used for positioning static form-field components.
Widget Or Layout: layout
Value:
{
"type": "tsm-control",
"id": "",
"widget": {
"type": "tsm-control"
}
}
Inputs
ID
Key: id
Name: ID
Description: The unique identification of this component.
Preview selector
Key: previewSelector
Name: Preview selector
Description: Selector of the component that will be displayed if the ID core attribute is not found.
Wizard dtl-fluent-steps
The steps component functions as a versatile wizard that guides users through a multi-step process. It organizes the steps with clear labels, allowing users to easily navigate through the process. With its intuitive interface, users can track their progress, move forward or backward, and complete complex tasks in a manageable manner. The component adjusts dynamically to accommodate varying numbers of steps, ensuring a seamless user experience.
Widget Or Layout: layout
Value:
{
"type": "layout",
"widget": {
"type": "dtl-fluent-steps"
},
"items": [],
"config": {
"steps": [
{
"header": "Step 1",
"content": []
},
{
"header": "Step 2",
"content": []
}
]
}
}
Inputs
Button "Back"
Key: backButton
Name: Button "Back"
Description: Button "Back"
Button "Next"
Key: nextButton
Name: Button "Next"
Description: Button "Next"
Hide wizard step numbers
Key: stepsNumberHidden
Name: Hide wizard step numbers
Description: Hide wizard step numbers
Disable step validations
Key: disableStepValidations
Name: Disable step validations
Description: Disable step validations
Next steps disabled (all steps after the next one are not accessible)
Key: disableNextSteps
Name: Next steps disabled (all steps after the next one are not accessible)
Description: Next steps disabled (all steps after the next one are not accessible)
Default step
Key: activeIndex
Name: Default step
Description: Default step