Description
Dotabase Dashboard Widgets turn collection data into a configurable analytical canvas. A Dashboard saved view can contain stat, line, bar, donut, gauge, heatmap, distribution, sparkline, burst, and table treatments backed by schema-aware aggregations. Users add widgets, choose measures and grouping, merge the view’s filter, tune appearance, resize and position cards, and edit titles and display details.
The canvas batches aggregate reads, measures available geometry, and commits layout changes through explicit interactions. Each widget owns a screen-reader data mirror and complete loading, empty, error, and ready presentation. Shared widget-card primitives keep visual and accessibility behavior aligned while individual renderers handle degenerate data such as empty, sparse, or all-zero series.
Selling Points
- Turns operational records into live insight without exporting data to a separate business-intelligence tool.
- Lets each team build the small analytical cockpit its workflow needs from the same trusted Dotabase rows.
- Supports multiple visual forms, making counts, trends, composition, and detailed records readable in the right shape.
- Preserves dashboard layout and appearance as saved configuration, so recurring reviews open consistently.
- Includes accessible data mirrors and honest empty/error handling rather than making charts the only way to understand results.
User Story
An operations lead adds a status distribution, weekly line trend, overdue count, and owner table to a project Dotabase Dashboard. They resize the widgets, apply the active view filter, and save the arrangement. At the weekly review, the team reads both the visual summaries and underlying accessible table information.
Extension Surface
The feature is configurable through widget records and editor controls. apps/web/src/modules/dotabases/views/dashboard/DashboardWidgetEditor.tsx captures aggregation, grouping, title, and appearance settings, while apps/web/src/modules/dotabases/views/dashboard/DashboardGrid.tsx persists layout changes. The widget roster is product-defined; users cannot register arbitrary JavaScript renderers.
Capabilities & Limits
- Creates, edits, removes, positions, resizes, and renders multiple analytical widget types.
- Batches aggregates and combines widget queries with the active view filter.
- Provides accessible data equivalents and resilient states for every widget.
- Limit: widgets operate on supported Dotabase aggregations and types; cross-Dotabase joins and user-supplied chart code are not part of this surface.
Implementation Map
apps/web/src/modules/dotabases/views/dashboard/DashboardView.tsxapps/web/src/modules/dotabases/views/dashboard/DashboardGrid.tsxapps/web/src/modules/dotabases/views/dashboard/DashboardWidgetEditor.tsxapps/web/src/modules/dotabases/views/dashboard/widget-body.tsx