tomerkl65 opened a new pull request, #40449: URL: https://github.com/apache/superset/pull/40449
### SUMMARY Adds hierarchical drill-down support to ECharts-based chart plugins. Users can define a drill-down hierarchy by adding multiple columns to the X-Axis control. The first column is displayed initially; clicking a data point drills into the next level, scoped to the clicked value. A breadcrumb above the chart allows navigating back up. **How it works:** - X-Axis control is changed from single to multi-select (`multi: true` in `xAxisMixin`) - `getXAxisColumn` and `isXAxisSet` are updated to handle array x_axis (using the first entry for the query) - A new `DrillDownHost` wrapper component manages the drill state and re-fetches data for each level - Click handlers in ECharts plugins (`EchartsTimeseries`, `allEventHandlers`) detect the hierarchy and call `onDrillDown` instead of emitting a cross-filter - Cross-filter is also emitted alongside drill-down so other charts in the dashboard filter accordingly - A `DrillDownBreadcrumb` component renders above the chart showing the navigation path **Supported charts:** Bar, Pie, Funnel, Gauge, Radar, BoxPlot, Treemap, Sunburst (all charts declaring `Behavior.DrillBy`) ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF **Before:** X-Axis accepts a single column. No drill-down on click. **After:** X-Axis accepts multiple columns. Clicking a bar drills to the next level with a breadcrumb for navigation. ### TESTING INSTRUCTIONS 1. Create or edit a Bar Chart 2. In the X-Axis control, add 2+ columns (e.g. `country`, `region`) 3. Save and view in a dashboard 4. Click on a bar → chart drills to the next level showing values filtered to the clicked item 5. Breadcrumb appears above the chart (e.g. `country › USA`) 6. Click breadcrumb to navigate back up 7. Verify cross-filter is emitted (other charts in dashboard filter accordingly) 8. Verify that charts with a single X-Axis column continue to work normally ### ADDITIONAL INFORMATION - [ ] Has associated issue: - [ ] Required feature flags: - [x] Changes UI - [ ] Includes DB Migration - [x] Introduces new feature or API - [ ] Removes existing feature or API <img width="1776" height="994" alt="image" src="https://github.com/user-attachments/assets/b0983fa5-010e-4899-bbf5-c0711c29e5c2" /> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
