> Documentation index: https://www.gooddata.ai/docs/gooddata-ui/llms.txt lists every page of these docs as Markdown.

# Interactivity

> Handle user interactions with visualizations, from drill events to loading and error states.

These pages cover how a visualization behaves once it's on the page: what happens when someone clicks into a data point, how you find out that an export or a legend finished rendering, and how you swap in your own loading and error UI. Each topic maps to a specific callback or component prop, so pick the one that matches the behavior you need to hook into.

This is a different concern from choosing *what data* a visualization shows in the first place — for attribute, date, measure-value, and ranking filters, see [Filters](https://www.gooddata.ai/docs/gooddata-ui/latest/filters/index.md).

## Pages

- [Drillable items](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/interactivity/drillable-items/index.md): Configure drillableItems with header predicates to make visualization measures or attributes interactive and receive drill event context.
- [Header predicates](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/interactivity/predicates/index.md): Match visualization headers for drilling with custom predicate functions or the HeaderPredicates helpers.
- [onDrill](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/interactivity/on-drill/index.md): Handle drill events with the onDrill callback when users click drillable items in InsightView and the chart components.
- [onExportReady](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/interactivity/on-export-ready/index.md): Capture the export function through onExportReady, configure CSV, XLSX, or PDF output, and call it to obtain the exported file.
- [onLegendReady](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/interactivity/on-legend-ready/index.md): Get the legend items of a chart through the onLegendReady callback so you can render a fully custom legend.
- [Handle errors](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/interactivity/handle-errors/index.md): Tell an empty result from a failure, ignore canceled requests, and react to authentication and size limits by narrowing SDK errors with the is* guards instead of matching on message text.
- [ErrorComponent](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/interactivity/error-component/index.md): Customize or disable the ErrorComponent indicator shown when a GoodData.UI visualization fails to render.
- [LoadingComponent](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/interactivity/loading-component/index.md): Customize or disable the LoadingComponent indicator shown while a GoodData.UI visualization fetches data.
- [Track user interactions](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/interactivity/track-user-interactions/index.md): Track how people use the dashboards, visualizations, and AI Assistant in your GoodData.UI application, and send the events to an external service for further analytics.
