Skip to content

Replace react-chart-editor with Dash AIO Component #70

@BSd3v

Description

@BSd3v

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

  1. 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.
  2. 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 and dmc flavors (e.g., via a flavor prop or separate components).
    • Create wireframes or sketches for the UI if necessary.
  3. Implementation

    • Scaffold the new AIO component structure.
    • Implement the dcc flavor with core editing features.
    • Implement the dmc flavor, ensuring feature parity with dcc.
    • Develop the chart selection mechanism to handle multiple charts.
    • Ensure all main editing interactions (trace, layout, transforms) are supported.
  4. 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.
  5. 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.
  6. Documentation

    • Update README and user guides to document the new AIO component and its usage.
    • Add code examples for both dcc and dmc flavors.
  7. 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 and dmc 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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions