Skip to main content

Widget Types

The platform supports three types of widgets, each serving a different purpose. A widget's type is set by the widgetType field in widget-config.json and determines where it can appear and which entry points it must expose.

Dashboard Widgets (Type 1)

Dashboard widgets are the most common type. They're displayed on dashboards and make up the main part of business applications. Each dashboard widget is a single-page application (SPA) that can:

  • Display data and visualizations
  • Interact with APIs
  • Share state with other widgets on the dashboard
  • Use the platform's theming system
  • Be configured through widget settings

Examples: KPI Tracker, chart widgets, data tables, analytics widgets.

Most vendor widgets are Dashboard widgets.

Platform Widgets (Type 0)

Platform widgets are structural components outside the dashboard space that manage core platform functionality. They can:

  • Manage navigation within the platform (side navigation, main menu)
  • Handle authentication flows (login screens)
  • Provide system-level UI components (notifications, error screens)
  • Control access to features (role-based access wrappers)
  • Manage platform initialization (user info, theme settings)

Platform widgets are identified by domain and placement properties and are typically created by platform developers rather than widget vendors.

Examples: side navigation, login screen, notification system, error pages.

Learn more: Platform Widgets.

Universal Widgets (Type 2)

Universal widgets can function as both Dashboard and Platform widgets. They're less common and used for special cases where a widget needs to serve both purposes.

Setting the widget type

The type is set with the top-level widgetType field in widget-config.json:

{
"id": 452,
"port": 5452,
"name": "KpiTracker",
"widgetType": 1
}
widgetTypeType
0Platform widget
1Dashboard widget (most common)
2Universal widget

For the complete widgetType enum, see Widget Store Migrations. The widgetType also determines which entry points the widget must expose to the host — see Dashboard Integration, and Widget Configuration for the rest of widget-config.json.