Commit Graph

44 Commits

Author SHA1 Message Date
Evan Rusackas
0ea89c1c57 refactor: Complete migration to React-based control panels
- Remove all string-based control references
- Delete deprecated controls.jsx file
- Update all control panels to use React component functions
- Fix inline control function signatures (name, overrides)
- Remove JSONForms migration utilities
- Update store.js to work without old controls
- Add RadioButtonControl to InternalControlType
- Fix tests to work with new architecture

This completes the migration away from string-based control references
to fully React-based control panels with proper TypeScript support.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-13 12:48:05 -07:00
Evan Rusackas
26f0556bef chore(controls): Remove all extraneous control panel files
- Delete all controlPanelModern.tsx files (JSONForms format)
- Delete controlPanelReact.tsx and other experimental variants
- Rename Word Cloud controlPanelFixed.ts to controlPanel.ts
- Update imports to use standard controlPanel files
- Verify no string references remain in control panels

All visualizations now use their standard controlPanel.ts/tsx files with
React component functions. The codebase is now consistent with the new
control panel architecture.
2025-08-13 11:02:09 -07:00
Evan Rusackas
06b98c1095 feat(controls): Migrate control panels to JSON Forms format
Major milestone in modernizing the control panel system:

## Changes Made

### Infrastructure
- Created ControlPanelsContainerWrapper to auto-detect JSON Forms vs legacy format
- Updated ExploreViewContainer to use the wrapper for automatic format detection
- Both legacy and JSON Forms control panels now work seamlessly

### Migrated Control Panels (15 total)
- 10 legacy-plugin-chart-* control panels
- 2 BigNumber ECharts control panels
- 1 Deck.gl Arc layer control panel
- 1 Word Cloud control panel (test case)
- 1 Chord diagram (previously attempted, now proper)

### Migration Pattern Established
- JSON Schema for data structure
- UI Schema for layout with collapsible groups
- Preserved all controlOverrides and formDataOverrides
- Full TypeScript support with proper types

### Benefits
- Industry-standard JSON Forms format
- Better separation of data model and UI
- Cleaner, more maintainable code
- Foundation for future enhancements

Next phase: Migrate remaining 40+ control panels and deprecate legacy format.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-08 14:48:15 -07:00
Evan Rusackas
fe0ea69280 feat(controls): Migrate all control panels to React component functions
Major refactor to modernize control panel system:

## Changes Made

### Core Infrastructure
- Created InlineControls.tsx with helper functions for all control types
- Added SharedControlComponents for replacing string control references
- Fixed TypeScript types and imports across all control panels
- Added proper exports and type definitions

### Control Panel Migrations
- Converted 20+ control panel files from inline configurations to React components
- Eliminated all string control references (e.g., ['metric'] → MetricControl())
- Updated all legacy-plugin-chart-* plugins
- Updated all legacy-preset-chart-deckgl layers
- Fixed chord diagram control panel (was prematurely using JSON Forms)

### Type Safety Improvements
- Fixed choice array type mismatches (now supports mixed types)
- Resolved import conflicts by renaming inline control helpers
- Added proper TypeScript types for all control configurations
- Reduced TypeScript errors by 57% (44 → 19)

### Pattern Conversion
Before: { name: 'control', config: { type: 'SelectControl', ... } }
After: SelectControl({ name: 'control', ... })

This sets the foundation for the next phase: migrating to JSON Forms format.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-08 14:14:39 -07:00
Maxime Beauchemin
77f66e7434 fix: build issues on master with 'npm run dev' (#34272) 2025-07-22 15:55:18 -07:00
Mehmet Salih Yavuz
0c5da6cb5d fix(theming): World map tooltip color (#34229) 2025-07-19 01:32:53 +03: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
Kamil Gabryjelski
7e2b7941f3 refactor: Upgrade to React 17 (#31961) 2025-01-28 16:44:42 +01:00
Evan Rusackas
a6e05f4558 build(packages): npm build/publish improvements. Making packages publishable again. (#30196) 2024-12-10 16:54:41 -07:00
Geido
90572be95a fix(Dashboard): Retain colors when color scheme not set (#30646) 2024-11-21 19:58:32 +02:00
Michael S. Molina
fe3ba12801 refactor: Adds the sort_by_metric control to sharedControls (#29325) 2024-06-21 14:10:33 -03:00
Đỗ Trọng Hải
0ca42a8e4d chore: remove React 16.4's obsolete React imports (#28571)
Signed-off-by: hainenber <dotronghai96@gmail.com>
2024-06-05 08:13:24 -03:00
Michael S. Molina
95706d9be2 feat: Adds the Featured Charts dashboard (#28789) 2024-06-04 16:59:10 -03:00
Jamie King
fb919c718d docs: replace broken david badges with libraries.io (#27903) 2024-04-04 23:00:23 -06:00
Kamil Gabryjelski
c3149994ac feat(viz picker): Remove some tags, refactor Recommended section (#27708) 2024-04-03 14:04:42 +02:00
Ville Brofeldt
19f8405bc0 chore: make TS enums strictly PascalCase (#26875) 2024-01-31 17:40:44 -08:00
Michael S. Molina
8a2f7d378a refactor: Removes the deprecated GENERIC_CHART_AXES feature flag (#26372) 2024-01-31 09:45:57 -05:00
Geido
092129201e chore: Reformat changelogs (#26815) 2024-01-26 21:48:17 +01:00
dependabot[bot]
16e574d702 build(deps): bump d3-color from 1.4.1 to 3.1.0 in /superset-frontend/plugins/legacy-plugin-chart-world-map (#26513)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-23 16:33:34 -07:00
dependabot[bot]
14106f7bb2 build(deps): update datamaps requirement from ^0.5.8 to ^0.5.9 in /superset-frontend/plugins/legacy-plugin-chart-world-map (#26500)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-16 14:41:43 -07:00
dependabot[bot]
3ec77597bf build(deps): update prop-types requirement from ^15.6.2 to ^15.8.1 in /superset-frontend/plugins/legacy-plugin-chart-world-map (#26484)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 16:57:49 -07:00
Kamil Gabryjelski
f7e76d02b7 feat: Add currencies controls in control panels (#24718) 2023-08-02 19:22:45 +02:00
Kamil Gabryjelski
d74d7eca23 feat: Implement support for currencies in more charts (#24594) 2023-07-07 19:28:13 +02:00
Nicolas Charpentier
60c2e7013d docs: cleanup references to apache-superset/superset-ui (#23796) 2023-04-25 09:18:27 -06:00
Kamil Gabryjelski
9fbfd1c1d8 feat: Implement context menu for drill by (#23454) 2023-03-29 15:01:51 +02:00
Kamil Gabryjelski
ee1952e488 feat(dashboard): Add cross filter from context menu (#23141) 2023-02-23 17:05:41 +01:00
Kamil Gabryjelski
871cab8cbe feat: Enable cross fitlers in WorldMap and Graph charts (#22886) 2023-02-22 11:42:56 +01:00
Artem Shumeiko
f3696ceef3 chore: Localization of several charts and elements (#22150)
Co-authored-by: ashumeiko <ashumeiko@ashumeiko.com>
2023-01-11 09:42:54 -07:00
Michael S. Molina
824dc7188b fix: Right click on country map with code filter (#22081) 2022-11-14 08:52:31 -05:00
Cody Leff
76e57ec651 feat(dashboard): menu improvements, fallback support for Drill to Detail (#21351) 2022-10-19 18:34:46 -03:00
Michael S. Molina
770f68f5b1 fix: Right-click on misconfigured World Map (#21697) 2022-10-06 08:23:40 -03:00
Michael S. Molina
d41f44fcdf fix: World Map right-click value (#21209) 2022-08-26 15:08:24 -03:00
Michael S. Molina
859b6d2d20 feat: Adds drill to detail context menu to Pivot Table (#21198)
* feat: Adds drill to detail context menu to Pivot Table

* Adds useCallback
2022-08-26 08:23:26 -03:00
Michael S. Molina
4ca4a5c7cb feat: Adds drill to detail context menu to World Map (#21150) 2022-08-23 10:24:55 -03:00
Yongjie Zhao
de524bc59f feat: apply standardized form data to tier 2 charts (#20530) 2022-06-29 16:27:31 +08:00
Yongjie Zhao
c348a095b9 refactor(standardized form data): refine interface and improve code smells (#20518) 2022-06-28 21:09:42 +08:00
Kamil Gabryjelski
354a89950c feat(explore): Denormalize form data in echarts, world map and nvd3 bar and line charts (#20313)
* feat(explore): Apply denormalize form data function to echarts and world map

* Denormalize form data in mixed timeseries

* Add dist bar chart
2022-06-09 11:54:09 +02:00
Stephen Liu
766f737728 feat(world-map): support color by metric or country column (#19881)
* feat(world-map): support color by metric or country column

* fix lint

* Update superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/components/RadioButtonControl.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/plugins/legacy-plugin-chart-world-map/src/controlPanel.ts

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/plugins/legacy-plugin-chart-world-map/src/controlPanel.ts

Co-authored-by: Evan Rusackas <evan@preset.io>

* fix lint

Co-authored-by: Evan Rusackas <evan@preset.io>
2022-06-03 21:31:22 +08:00
Michael S. Molina
b7cff8335b chore: Removes hard-coded colors from the plugins - iteration 1 (#19923)
* chore: Removes hard-coded colors from the plugins - iteration 1

* Fixes lint errors

* Fixes tests
2022-05-09 10:44:13 -03:00
serenajiang
5e468f7a4c fix(world-map): remove categorical color option (#19781) 2022-04-20 09:36:28 -07:00
Michael S. Molina
7594a02d42 chore: Removes hard-coded colors from legacy-plugin-chart-world-map (#19466) 2022-04-01 13:13:33 -03:00
Stephen Liu
dc575080d7 feat: improve color consistency (save all labels) (#19038) 2022-03-21 15:20:04 +08:00
Yongjie Zhao
e91b9a678f refactor: move superset-ui dependencies to peerDependencies (#17965)
* chore: add commit message

* update learn

* update superset-ui-demo

* move superset-ui into peerDeps

* add --no-private argument in lerna version

* fix conflicts

* refresh lock file
2022-01-11 13:53:37 +08:00
Yongjie Zhao
3c41ff68a4 refactor(monorepo): move superset-ui to superset(stage 2) (#17552) 2021-11-30 08:29:57 +08:00