Commit Graph

23 Commits

Author SHA1 Message Date
Maxime Beauchemin
bce6ca1ae0 refactor: eliminate all static theme dependencies and enable true dynamic theming
This comprehensive architectural transformation removes all static theme imports
(supersetTheme, themeObject) across the entire codebase, replacing them with
proper dynamic theme access patterns that support real-time theme switching.

## What Changed

**Static Exports Eliminated:**
- Removed `supersetTheme` and `themeObject` exports from core theme module
- Eliminated static theme dependencies across 47 files
- Updated ESLint rules to reflect removed exports

**Dynamic Theme Architecture:**
- Functional components: Use `useTheme()` hook for reactive theme access
- Class components: Use `withTheme()` HOC for theme injection
- Transform functions: Access `theme` from chartProps parameter
- Test infrastructure: Use `Theme.fromConfig()` for isolated testing
- Singleton pattern: `DEFAULT_THEME` for efficient fallbacks

**Test Architecture Cleanup:**
- Removed unnecessary theme setup from 30+ test files
- Eliminated legacy `dynamicTheme` cruft from logic tests
- Simplified theme assertions to focus on behavior vs implementation details
- Maintained theme testing only where legitimately needed

**Core Infrastructure:**
- ThemeController uses dynamic theme creation instead of static imports
- ChartProps uses singleton DEFAULT_THEME for efficient fallbacks
- Theme providers only at app root and isolated contexts (tests, storybook)

## Why This Was Needed

The previous architecture had static theme imports that:
- Always returned light theme values regardless of current theme mode
- Broke dark mode compatibility in visualizations (fixed in previous commit)
- Created performance overhead with redundant theme instance creation
- Prevented real-time theme switching across components
- Led to inconsistent theme access patterns

## Benefits

-  Perfect dark mode support - no static dependencies to break theming
-  True dynamic theming - all components react to theme changes
-  Clean architecture - minimal providers, consistent patterns
-  Better performance - singleton pattern eliminates waste
-  Future-proof - ready for theme customization and user preferences
-  Developer experience - clear patterns for every context

This transformation enables the next generation of Superset theming with
complete dynamic theme support and perfect dark mode compatibility.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 10:57:36 -07:00
SBIN2010
5a3182ce21 fix: mixed timeseries chart add legend margin (#35036) 2025-09-05 14:44:14 -07:00
SBIN2010
9424538bb1 feat: add sort legend to legend section (#34911) 2025-09-04 16:41:47 -07:00
SBIN2010
031fb4b5a8 fix: display legend mixed timeseries chart (#35005) 2025-09-04 16:39:57 -07:00
yousoph
70394e79ef feat: Add configurable query identifiers for Mixed Timeseries charts (#34406)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-31 12:16:12 -07:00
Maxime Beauchemin
1be2287b3a feat(timeseries): enhance 'Series Limit' to support grouping the long tail (#34308) 2025-07-25 16:26:32 -07:00
Maxime Beauchemin
dd129fa403 feat(theming): land Ant Design v5 overhaul — dynamic themes, real dark mode + massive styling refactor (#31590)
Co-authored-by: Enzo Martellucci <52219496+EnxDev@users.noreply.github.com>
Co-authored-by: Diego Pucci <diegopucci.me@gmail.com>
Co-authored-by: Mehmet Salih Yavuz <salih.yavuz@proton.me>
Co-authored-by: Geido <60598000+geido@users.noreply.github.com>
Co-authored-by: Alexandru Soare <37236580+alexandrusoare@users.noreply.github.com>
Co-authored-by: Damian Pendrak <dpendrak@gmail.com>
Co-authored-by: Pius Iniobong <67148161+payose@users.noreply.github.com>
Co-authored-by: Enzo Martellucci <enzomartellucci@gmail.com>
Co-authored-by: Kamil Gabryjelski <kamil.gabryjelski@gmail.com>
2025-06-20 13:38:58 -07:00
Fardin Mustaque
e20a08cb14 fix: add query identifier to legend items in mixed time series charts (#33519) 2025-05-29 14:42:48 +02:00
Michael S. Molina
93ba8e16c3 refactor: Creates the VizType enum (#31193) 2024-11-29 10:05:02 -03:00
Kamil Gabryjelski
68fd189586 fix(mixed-timeseries-plugin): Second query stacks stacked on top of first query series (#29119) 2024-06-10 12:22:35 +02:00
Michael S. Molina
8a2f7d378a refactor: Removes the deprecated GENERIC_CHART_AXES feature flag (#26372) 2024-01-31 09:45:57 -05:00
Antonio Rivero
7536dd12cd fix(charts): Time grain is None when dataset uses Jinja (#25842) 2023-11-06 09:51:28 -08:00
Josh Soref
78ede590ee chore(frontend): Spelling (#19676)
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
2023-02-02 11:23:11 -07:00
Kamil Gabryjelski
ed7b3533bc fix(explore): Time comparison in Mixed Chart in GENERIC_CHART_AXES not working (#22945) 2023-02-02 14:06:30 +01:00
Geido
9ed2326a20 feat: Move cross filters to Dashboard (#22785) 2023-01-25 18:01:06 +01:00
Ville Brofeldt
b1f8fd4f64 chore(superset-ui): remove deprecated fields from QueryObject (#22272) 2022-11-30 15:54:11 +02:00
Yongjie Zhao
4d12e3709e feat: generate consistent QueryObject whether GenericAxis is enabled or disabled (#21519) 2022-09-21 09:41:21 +08:00
AAfghahi
0ce0c6e1eb chore: removing Druid from front- and back- end (#20338)
* first pass at removing native Druid nosql

* removing having_druid

* addressing comments, linting

* fixed all tests

* addressing comments

* redirected to ui-core TimeGranularity type

* query form metric linting

* fixed broken chart type

* implementing feedback
2022-07-08 17:57:03 +02:00
Yongjie Zhao
59491f5396 chore: rename drop missing columns to show empty columns (#20602) 2022-07-05 16:09:16 +08:00
Yongjie Zhao
b870a21eaa refactor: remove unused flatten function (#20582) 2022-07-01 19:17:55 +08:00
Yongjie Zhao
7c252d7524 feat: adding truncate metric control on timeseries charts (#20373) 2022-06-15 20:55:10 +08:00
Ville Brofeldt
d5c5e58583 feat(plugin-chart-echarts): add support for generic axis to mixed chart (#20097)
* feat(plugin-chart-echarts): add support for generic axis to mixed chart

* fix tests + add new tests

* address review comments

* simplify control panel

* fix types and tests
2022-05-19 13:51:52 +03:00
Yongjie Zhao
f5e9f0eb3b feat: add Advanced Analytics into mixed time series chart (#19851) 2022-04-27 23:36:19 +08:00