Widgets
Widgets are self-contained modules that visualize specific data, added to pages like Sites or the workspace Home page — a count of non-working servers, a chart of data distribution, a list of objects matching a filter.
Managing widgets
Widgets use a StarQL query to find and narrow the data they show.
- Create — open a page's Configure menu (top right) to enter edit mode, press + Add widget, choose a type, and configure it. Changes persist automatically.
- Place — drag a widget to reposition it; moving one doesn't displace others.
- Resize — drag a corner (some widgets have a minimum grid size).
- Configure — in edit mode, click a widget's cogwheel icon.
- Refresh — widgets refresh automatically on page entry; a manual refresh button (hover to see the last refresh time) is available for data-dependent widgets in both edit and read mode.
- Clone — in edit mode, click a widget's clone icon; the copy opens its configuration immediately.
- Delete — in edit mode, click a widget's delete icon.
Every widget has appearance settings (text, background color/image, border color/style/width/ radius) that take priority over the page's own settings.
Available widgets
| Widget | What it shows |
|---|---|
| Object Count | The count of objects in scope. |
| Numbers Sum | The sum of a numeric attribute (Integer, Decimal) across objects in scope. |
| Chart | A pie/bar/bubble chart of an attribute's distribution (excludes Media and Date Range). |
| Object List | A configurable list of objects; opens object details, with a further StarQL input for the viewer to filter. Can be limited to objects created by the current user. |
| Board View | Objects grouped into columns by a Workflow attribute, same idea as the Board view. |
| Recently Updated | Recently updated objects across the whole workspace, not scoped to one type. |
| Related to Me | Objects where the current user appears in any User-type attribute. |
| Starhive Introduction | Welcome content and links to docs/examples. |
| Rich Text | Free-form formatted text. |
| Object Form | A form for creating objects, with default values, hidden fields, read-only fields, and conditional attributes (show/hide fields based on other field values via IF/THEN rules, combinable with AND). |
| Depreciation Value Graph | Book value over time for a Depreciation attribute, over a chosen date range. |
| Depreciation Value Sum | Aggregated (accumulated or future) book value across objects with a Depreciation attribute. |
| Nova Chat | An embedded chat with a Nova agent. |
| Object Percentage | Two StarQL filters on the same type — a base count and a total count — shown as base / total, as a percentage (e.g. "% of tickets that are closed"). |
| Web Link Button | A labeled button that opens a fixed URL, in the same tab, a new tab, or a new window. |
Every widget besides Recently Updated, Related to Me, Starhive Introduction, Rich Text, and Web Link Button takes a Type and an optional StarQL filter as configuration, alongside its own type-specific fields.
WidgetTypeCode (services/app-service) also defines Two Dimensional, Timeline, and
App (EXTENSION_WIDGET — an installed app's own widget module in a sandboxed iframe), all
marked available = true on the backend. None of the three appear in the frontend's
InterfaceWidgetTypeCode union or in WidgetMapper's render switch (apps/platform-ui/src/api/ types/index.ts, features/apps/components/WidgetMapper.tsx) — picking one today would fall
through to "Unknown widget type." They exist for Nova's AI site-builder tooling to configure ahead
of the UI catching up, not as something a person can add from the widget picker yet. Removed from
the table above until the frontend ships them.
Confirmed against WidgetTypeCode (services/app-service) and each widget's own configuration
class: Object Percentage takes baseCountFilter/totalCountFilter (two StarQL filters on one
type, not one) — NumbersPercentageWidgetConfiguration.kt; the frontend's Numbers.tsx runs both
as count queries and computes the percentage client-side. Web Link Button takes label, url, and
a target of same tab/new tab/new window — WebLinkButtonWidgetConfiguration.kt, rendered by
WebLinkButtonWidget.tsx.