Portal Community

Opening the Widget Palette

The Widget Palette is an overlay panel showing all registered widget types. To open it:

Finding a Widget

The palette organizes widgets into categories. Use the search box to filter by name:

CategoryWidgets
Data DisplayDataGrid, Chart, Metric, Timeline, Calendar
InputForm, Button, TextInput, Dropdown, Toggle
ContentText, Image, Divider, Spacer
LayoutContainer, Tabs, Accordion, Card
MapMap
CustomRegistered custom widgets (federation-based)

Placing a Widget

There are two ways to place a widget from the palette:

A

Drag to Canvas

Drag the widget from the palette onto a Pane in the canvas. A highlighted drop zone appears showing where the widget will be placed. Release to drop it.

B

Click to Add to Selected Pane

If a Pane is already selected in the tree or canvas, clicking a widget in the palette adds it to that Pane at the next available grid position.

After Placing — Initial Configuration

When a widget is placed, the Properties Editor immediately opens its Config tab with the widget's required fields highlighted. At minimum, most widgets need a data source or content value before the canvas will render them correctly.

// DataGrid minimum required config
{
  "widgetId": "leads-grid",
  "type": "DataGrid",
  "config": {
    "dataSource": "GetLeads",   // required — AIExtension.Service method name
    "columns": [                // required — at least one column
      { "field": "name", "header": "Lead Name" },
      { "field": "status", "header": "Status" }
    ]
  }
}

Widget Grid Position

In a grid-layout Pane, each widget occupies grid cells defined by:

You can set these numerically in the Layout tab, or drag the widget's resize handles on the canvas to adjust visually.

Widget IDs

Every widget gets an auto-generated ID (e.g., widget-1, datagrid-3). Rename it to something meaningful in the App Tree (double-click). Widget IDs are used in data binding tokens: {{ widget.search-input.value }} — meaningful names make tokens readable.