ObjectStackObjectStack

Report

Report protocol schemas

Report Type Enum

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

TypeScript Usage

import { Report, ReportChart, ReportColumn, ReportGrouping, ReportType } from '@objectstack/spec/ui';
import type { Report, ReportChart, ReportColumn, ReportGrouping, ReportType } from '@objectstack/spec/ui';

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

Report

Properties

PropertyTypeRequiredDescription
namestringReport unique name
labelstring | ObjectReport label
descriptionstring | ObjectoptionalDisplay label: plain string or i18n translation object
objectNamestringPrimary object
typeEnum<'tabular' | 'summary' | 'matrix' | 'joined'>Report format type
columnsObject[]Columns to display
groupingsDownObject[]optionalRow groupings
groupingsAcrossObject[]optionalColumn groupings (Matrix only)
filter[__schema0](./__schema0)optionalFilter criteria
chartObjectoptionalEmbedded chart configuration
ariaObjectoptionalARIA accessibility attributes
performanceObjectoptionalPerformance optimization settings

ReportChart

Properties

PropertyTypeRequiredDescription
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'>
titlestring | ObjectoptionalChart title
subtitlestring | ObjectoptionalChart subtitle
descriptionstring | ObjectoptionalAccessibility description
xAxisstringGrouping field for X-Axis
yAxisstringSummary field for Y-Axis
seriesObject[]optionalDefined series configuration
colorsstring[]optionalColor palette
heightnumberoptionalFixed height in pixels
showLegendbooleanDisplay legend
showDataLabelsbooleanDisplay data labels
annotationsObject[]optional
interactionObjectoptional
ariaObjectoptionalARIA accessibility attributes
groupBystringoptionalAdditional grouping field

ReportColumn

Properties

PropertyTypeRequiredDescription
fieldstringField name
labelstring | ObjectoptionalOverride label
aggregateEnum<'sum' | 'avg' | 'max' | 'min' | 'count' | 'unique'>optionalAggregation function
responsiveObjectoptionalResponsive visibility for this column

ReportGrouping

Properties

PropertyTypeRequiredDescription
fieldstringField to group by
sortOrderEnum<'asc' | 'desc'>
dateGranularityEnum<'day' | 'week' | 'month' | 'quarter' | 'year'>optionalFor date fields

ReportType

Allowed Values

  • tabular
  • summary
  • matrix
  • joined

On this page