Form Builder
📄️ tSM Form Designer
Introduction
📄️ Components overview
This documentation provides an overview of the different types of components available in the tSM Form Designer, focusing on Data Components and Layout Components. Data Components are responsible for capturing and storing user input, which is serialized into JSON format, while Layout Components handle the structure and presentation of the form without storing any data. Additionally, tSM Widgets are specialized components that integrate seamlessly with various modules in the tSM platform (e.g., CRM, Billing, Ticketing, DMS), offering dynamic and contextual interactions within forms.
📄️ Components configuration
Every component in the tSM Form Designer—whether it is a data component or a layout component—can be configured using the right sidebar. This configuration includes:
📄️ Basic components
The Basic Components section in the tSM Form Designer provides a variety of form elements that can be used to collect user input, display data, or interact with the form. These components are foundational to any form-building process and can be easily configured to suit specific needs.
📄️ Advanced components
The Form Designer module provides a comprehensive set of components to build dynamic forms. The components are categorized into Layout Components, Data Components, and Other.
📄️ Layout components
Layout components are used to define the structure and visual organization of the form. Unlike data components, layout components do not store any data within the application. However, they can still access form data and context through scripting, such as hiding a section based on a field’s value. These components play a vital role in determining how the form is displayed to the user and how the various elements are arranged on the screen.
📄️ All widget components
---
🗃️ Modules components
10 items
🗃️ Complex components
1 item
📄️ JSON Schema Reference
The tSM Form Designer uses JSON Schema as a foundation to define the data model and validation rules of a form. However, it also introduces additional layout, widget, and config fields that govern UI structure, conditional rendering, styling, and interactivity.