-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Description
Replace react-chart-editor
with Dash All-In-One (AIO) Component
Objective
Migrate from react-chart-editor
to a custom Dash All-In-One (AIO) component that enables interactive editing of one or more Plotly charts via a Dash-based interface. The new component should offer a UI/UX similar to react-chart-editor
and provide both Dash Core Components (dcc
) and Dash Mantine Components (dmc
) (maybe use pydantic-form for its class definition model's) flavors.
Tasks
-
Requirements Analysis
- List all key features and interactions currently provided by
react-chart-editor
(trace editing, transforms, layout updates, etc.). - Determine which features are critical for parity in the Dash AIO component.
- Identify any new features or improvements desired during migration.
- List all key features and interactions currently provided by
-
Design & Architecture
- Define the props, callbacks, and state structure for the AIO component.
- Plan for supporting multiple charts (chart selection, editing context, etc.).
- Outline the approach for
dcc
anddmc
flavors (e.g., via aflavor
prop or separate components). - Create wireframes or sketches for the UI if necessary.
-
Implementation
- Scaffold the new AIO component structure.
- Implement the
dcc
flavor with core editing features. - Implement the
dmc
flavor, ensuring feature parity withdcc
. - Develop the chart selection mechanism to handle multiple charts.
- Ensure all main editing interactions (trace, layout, transforms) are supported.
-
Integration & Migration
- Replace instances of
react-chart-editor
with the new AIO component. - Update all relevant examples and documentation.
- Ensure backward compatibility or provide migration instructions if APIs change.
- Replace instances of
-
Testing & QA
- Write unit and integration tests for the new component.
- Manually test all main features and multi-chart handling.
- Verify compatibility with latest Dash and Plotly versions.
-
Documentation
- Update README and user guides to document the new AIO component and its usage.
- Add code examples for both
dcc
anddmc
flavors.
-
Release & Feedback
- Prepare a release draft with migration notes.
- Solicit feedback from users and address any post-release issues.
Acceptance Criteria
- The Dash AIO component supports all main editing features for Plotly charts.
- Both
dcc
anddmc
flavors are available and functionally equivalent. - Users can select and edit multiple charts within the same interface.
- Documentation and examples are updated.
- All existing tests pass and new tests cover main workflows.
Copilot
Metadata
Metadata
Assignees
Labels
No labels