Dashboards
A dashboarding library for building interactive data visualizations with configurable charts, tables, and filters. Built on RechartsÂ
Source: UiPath/apollo-dashboardingÂ
Features
- Chart types: Bar, line, multi-line, distribution, table, and KPI
- Custom layouts: Flexible grid system with configurable rows, columns, and containers
- Filters: List and time-range filters with runtime state management
- Data adapters: Pluggable data layer — use the built-in standalone/Data Fabric adapters or implement your own
- Editors: Visual dashboard editor and JSON configuration editor
Installation
npm install @uipath/apollo-dashboardingUsage
import { Dashboard, type DashboardConfiguration, type DashboardState, type DataAdapter } from '@uipath/apollo-dashboarding';
const config: DashboardConfiguration = {
id: 'my-dashboard',
layout: {
type: 'custom',
layout: {
columnCount: 30,
rowCount: 30,
containers: [
{ id: 'c1', columnStart: 1, columnEnd: 15, rowStart: 1, rowEnd: 15 },
{ id: 'c2', columnStart: 15, columnEnd: 30, rowStart: 1, rowEnd: 15 },
{ id: 'c3', columnStart: 1, columnEnd: 15, rowStart: 15, rowEnd: 30 },
{ id: 'c4', columnStart: 15, columnEnd: 30, rowStart: 15, rowEnd: 30 },
],
},
},
tables: [
{
id: 'SALES',
display: 'Sales',
fields: [
{ id: 'SALES.REGION', display: 'Region', type: 'string' },
{ id: 'SALES.REVENUE', display: 'Revenue', type: 'numeric' },
{ id: 'SALES.DATE', display: 'Date', type: 'datetime' },
],
},
],
metrics: [
{
id: 'total-revenue',
display: 'Total Revenue',
expression: { type: 'aggregate', aggregation: 'SUM', argument: 'SALES.REVENUE' },
},
],
charts: [
[{ id: 'bar-1', name: 'Revenue by Region', type: 'bar', dimensions: ['SALES.REGION'], metrics: ['total-revenue'] }],
[{ id: 'line-1', name: 'Revenue Over Time', type: 'line', dimensions: ['SALES.DATE'], metrics: ['total-revenue'] }],
[{ id: 'bar-2', name: 'Top Regions', type: 'bar', dimensions: ['SALES.REGION'], metrics: ['total-revenue'] }],
[{ id: 'line-2', name: 'Trend', type: 'line', dimensions: ['SALES.DATE'], metrics: ['total-revenue'] }],
],
};
<Dashboard
dashboard={config}
dataModel={dataModel}
dataAdapter={dataAdapter}
locale="en-US"
state={state}
onStateChange={setState}
filters={[]}
isShowingFilters={false}
isRecharts
/>Examples
For full working examples, see the apollo-dashboarding repository .