feat(dashboard): chart customization/dynamic group by in dashboards#33831
Conversation
|
Based on your review schedule, I'll hold off on reviewing this PR until it's marked as ready for review. If you'd like me to take a look now, comment
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #33831 +/- ##
===========================================
+ Coverage 0 72.01% +72.01%
===========================================
Files 0 592 +592
Lines 0 43900 +43900
Branches 0 4719 +4719
===========================================
+ Hits 0 31613 +31613
- Misses 0 11048 +11048
- Partials 0 1239 +1239
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Curious whether we have designs upfront for this or whether we can get screenshots. Seems dashboard "Filters" might need to become "Interactivity" or "Filters & Interactive Controls" or something broader than just filters. Curious on how we restructure the Filter-focussed elements ... Also thinking forward about integrating a similar "Metric-picker" interactive component that broadcast metric selection to multiple charts. Let's make sure the abstractions here will nicely support the metric picker and other future dashboard interactivity controls. |
cc @kasiazjc |
|
@geido Processing your ephemeral environment request here. Action: up. More information on how to use or configure ephemeral environments |
|
Oh I see the modal title is "Chart customization in dashboard". Not sure if it's the best name. @kasiazjc @yousoph what do you think of "Dashboard interactivity controls" (?) or "Dashboard Filters and interactive controls". We need new naming / titles that include things beyond filters, but I'm guessing that 99%+ of the time it'll be used for dashboard filters so it may be good to keep "filter" in the naming. |
|
@geido Processing your ephemeral environment request here. Action: up. More information on how to use or configure ephemeral environments |
|
🎪 Showtime deployed environment on GHA for e051fca • Environment: http://35.88.172.118:8080 (admin/admin) |
|
🎪 Showtime deployed environment on GHA for e051fca • Environment: http://35.92.151.100:8080 (admin/admin) |
kgabryje
left a comment
There was a problem hiding this comment.
I left a few non blocking comments, stamping as code owner


feat(dashboard): chart customization/dynamic group by in dashboards
SUMMARY
This PR introduces dashboard-level group by customization, allowing dashboard viewers to dynamically change how charts group data (e.g., by country, region, funder, etc.) directly from the dashboard, without editing the chart itself.
Key functionality:
Adds a Group By customization modal, similar to the existing native filters modal, where authors can configure one or more "group by" controls.
Supports selecting a dataset to group charts by.
Includes toggles for default values, required selection, and multi-select mode.
When configured, the selected group by values are injected into the chart’s form data, replacing the original groupby field.
Group by selections are broadcast to charts with matching datasets/columns, enabling dynamic drill-down or slice-and-dice capabilities.
Group By controls appear in the filter bar alongside native filters and behave similarly with filter cards and popovers.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
2025-07-29.16-07-52.mp4
TESTING INSTRUCTIONS
Open any dashboard and click the "Chart customization" option in the filter bar settings icon.
In the Chart Customization modal, fill in name:
Select a dataset.
you can save at this point
Optionally toggle:
Default value – pick a value that will be pre-applied.
Required – ensures a value must be selected to render charts.
ADDITIONAL INFORMATION
FEATURE_AG_GRID_TABLE_ENABLED=true
FEATURE_CHART_PLUGINS_EXPERIMENTAL=true