Dashboard & plugins
Find components and hooks for embedding dashboards, building plugins, dispatching commands and events, reading widget data, and managing automations.
Embed GoodData dashboards in your application with the Dashboard component, and extend them with plugins: custom widgets, replaced renderers, drill handlers, and automation dialogs. The hooks in this section let plugin code read dashboard state, dispatch commands, and read widget data.
Start with Dashboard plugins for the concepts, then develop your first plugin.
Dashboard component
Embed a saved dashboard with Dashboard, read its state through selectors, dispatch commands, handle events, configure behavior, and access its store externally.
Dashboard plugins
Understand the dashboard plugin contract, lifecycle, bundling, runtime behavior, and maintenance requirements.
Develop your first plugin
Scaffold a dashboard plugin, run it against a live dashboard, then build, host, register, and link it.
Dashboard plugin API
Implement the dashboard plugin lifecycle, customize visualizations, widgets, layouts, filters, and exports, and register dashboard event handlers.
Handle dashboard events
Register typed handlers for Dashboard component events, read state and dispatch commands from a handler, and match commands to events.
Embed a dashboard with plugins
Render a dashboard in your React application with its plugins, bundled with your app, linked in the workspace, or both.
Customize widgets and visualizations
Choose which layer of a dashboard widget to replace (the widget, the visualization, or its body) and how drills flow through custom renderers.
Customize dashboard export
Trigger a whole-dashboard export to PDF, PPTX, or tabular format, make custom widgets export-ready, and customize how a dashboard decomposes into export slides.
Customize automation dialogs
Replace, slot, decorate, or compose the alert and scheduled email dialogs that the Dashboard component opens, and replace the management dialogs that list them.
Improve dashboard performance
Configure backend response caching with withCaching, including execution result expiration, cache limits, and the recommended defaults.
Upgrade dashboard plugins
Upgrade a dashboard plugin by rebuilding it from the latest toolkit template or updating its dependencies and configuration before testing and deployment.
useDashboardDispatch
Get the dispatch function of the dashboard store with the alpha useDashboardDispatch hook, or use the public useDispatchDashboardCommand.
useDashboardEventDispatch
Dispatch built-in or custom dashboard events from a plugin component with the alpha useDashboardEventDispatch hook.
useDashboardSelector
Read Dashboard component state with useDashboardSelector and the select* selectors, from components, event handlers, and outside code.
useWidgetFilters
Resolve the effective filters of a dashboard widget and visualization, ready to apply with insightSetFilters before execution.
Custom widget data view hooks
Load execution or visualization data inside a custom dashboard widget with the dashboard filters applied automatically.