ObjectStackObjectStack

Dashboard

Dashboard protocol schemas

Color variant for dashboard widgets (e.g., KPI cards).

Source: packages/spec/src/ui/dashboard.zod.ts

TypeScript Usage

import { Dashboard, DashboardHeader, DashboardHeaderAction, DashboardWidget, GlobalFilter, GlobalFilterOptionsFrom, WidgetActionType, WidgetColorVariant, WidgetMeasure } from '@objectstack/spec/ui';
import type { Dashboard, DashboardHeader, DashboardHeaderAction, DashboardWidget, GlobalFilter, GlobalFilterOptionsFrom, WidgetActionType, WidgetColorVariant, WidgetMeasure } from '@objectstack/spec/ui';

// Validate data
const result = Dashboard.parse(data);

Dashboard

Properties

PropertyTypeRequiredDescription
namestringDashboard unique name
labelstring | ObjectDashboard label
descriptionstring | ObjectoptionalDashboard description
headerObjectoptionalDashboard header configuration
widgetsObject[]Widgets to display
refreshIntervalnumberoptionalAuto-refresh interval in seconds
dateRangeObjectoptionalGlobal dashboard date range filter configuration
globalFiltersObject[]optionalGlobal filters that apply to all widgets in the dashboard
ariaObjectoptionalARIA accessibility attributes
performanceObjectoptionalPerformance optimization settings

DashboardHeader

Dashboard header configuration

Properties

PropertyTypeRequiredDescription
showTitlebooleanShow dashboard title in header
showDescriptionbooleanShow dashboard description in header
actionsObject[]optionalHeader action buttons

DashboardHeaderAction

Dashboard header action

Properties

PropertyTypeRequiredDescription
labelstring | ObjectAction button label
actionUrlstringURL or target for the action
actionTypeEnum<'script' | 'url' | 'modal' | 'flow' | 'api'>optionalType of action
iconstringoptionalIcon identifier for the action button

DashboardWidget

Properties

PropertyTypeRequiredDescription
idstringUnique widget identifier (snake_case)
titlestring | ObjectoptionalWidget title
descriptionstring | ObjectoptionalWidget description text below the header
typeEnum<'bar' | 'horizontal-bar' | 'column' | 'grouped-bar' | 'stacked-bar' | 'bi-polar-bar' | 'line' | 'area' | 'stacked-area' | 'step-line' | 'spline' | 'pie' | 'donut' | 'funnel' | 'pyramid' | 'scatter' | 'bubble' | 'treemap' | 'sunburst' | 'sankey' | 'word-cloud' | 'gauge' | 'solid-gauge' | 'metric' | 'kpi' | 'bullet' | 'choropleth' | 'bubble-map' | 'gl-map' | 'heatmap' | 'radar' | 'waterfall' | 'box-plot' | 'violin' | 'candlestick' | 'stock' | 'table' | 'pivot'>Visualization type
chartConfigObjectoptionalChart visualization configuration
colorVariantEnum<'default' | 'blue' | 'teal' | 'orange' | 'purple' | 'success' | 'warning' | 'danger'>optionalWidget color variant for theming
actionUrlstringoptionalURL or target for the widget action button
actionTypeEnum<'script' | 'url' | 'modal' | 'flow' | 'api'>optionalType of action for the widget action button
actionIconstringoptionalIcon identifier for the widget action button
objectstringoptionalData source object name
filter[__schema0](./__schema0)optionalData filter criteria
categoryFieldstringoptionalField for grouping (X-Axis)
valueFieldstringoptionalField for values (Y-Axis)
aggregateEnum<'count' | 'sum' | 'avg' | 'min' | 'max'>Aggregate function
measuresObject[]optionalMultiple measures for pivot/matrix analysis
layoutObjectGrid layout position
optionsanyoptionalWidget specific configuration
responsiveObjectoptionalResponsive layout configuration
ariaObjectoptionalARIA accessibility attributes

GlobalFilter

Properties

PropertyTypeRequiredDescription
fieldstringField name to filter on
labelstring | ObjectoptionalDisplay label for the filter
typeEnum<'text' | 'select' | 'date' | 'number' | 'lookup'>optionalFilter input type
optionsObject[]optionalStatic filter options
optionsFromObjectoptionalDynamic filter options from object
defaultValuestring | number | booleanoptionalDefault filter value
scopeEnum<'dashboard' | 'widget'>Filter application scope
targetWidgetsstring[]optionalWidget IDs to apply this filter to

GlobalFilterOptionsFrom

Dynamic filter options from object

Properties

PropertyTypeRequiredDescription
objectstringSource object name
valueFieldstringField to use as option value
labelFieldstringField to use as option label
filter[__schema0](./__schema0)optionalFilter to apply to source object

WidgetActionType

Widget action type

Allowed Values

  • script
  • url
  • modal
  • flow
  • api

WidgetColorVariant

Widget color variant

Allowed Values

  • default
  • blue
  • teal
  • orange
  • purple
  • success
  • warning
  • danger

WidgetMeasure

Widget measure definition

Properties

PropertyTypeRequiredDescription
valueFieldstringField to aggregate
aggregateEnum<'count' | 'sum' | 'avg' | 'min' | 'max'>Aggregate function
labelstring | ObjectoptionalMeasure display label
formatstringoptionalNumber format string

On this page