Skip to content

Add frame/dataframe controls, tab drag hints, and closable alerts#17

Open
afffe18 wants to merge 1 commit intocodex/2026-04-20_22-45-14-rewrite-backend-with-fastapifrom
codex/2026-04-22_07-36-05-create-dummy-toggle-for-dataframe
Open

Add frame/dataframe controls, tab drag hints, and closable alerts#17
afffe18 wants to merge 1 commit intocodex/2026-04-20_22-45-14-rewrite-backend-with-fastapifrom
codex/2026-04-22_07-36-05-create-dummy-toggle-for-dataframe

Conversation

@afffe18
Copy link
Copy Markdown
Collaborator

@afffe18 afffe18 commented Apr 22, 2026

Motivation

  • Improve editor UX by adding frame/dataframe management (duplicate, move) and a simple toggle for a dummy flag in the dataframe config.
  • Make tab drag-and-drop more intuitive by rendering a visible placeholder at the prospective drop position.
  • Fix material color editing and make notifications dismissible.
  • Make backend xlsx column extraction align with the reference import code and document how to run the backend and reuse the reference plotter.

Description

  • Added duplication and move operations: duplicateDataframe, duplicateFrame, and moveFrameToDataframe, plus UI controls (tab buttons and a Select + Move frame button) to trigger them; active frame/dataframe selection is updated after moves. (src/App.tsx)
  • Improved drag-and-drop feedback by tracking dataframeDropIndex / frameDropIndex and rendering a dashed placeholder element at the hover position while dragging. (src/App.tsx)
  • Added a dataframe-level dummy toggle that flips dataframes[i]._extensions.dummyValue from the UI via toggleDummyValue. (src/App.tsx)
  • Fixed material colors UI: material keys are editable, each row has a remove button, and Add material color now uses getUniqueMaterialKey to generate unique keys (e.g. new_material, new_material_1). (src/App.tsx)
  • Made alerts closable and updated the Alert component to accept children safely; added an inline to dismiss notifications. (src/components/ui/alert.tsx, src/App.tsx)
  • Backend: replaced low-level openpyxl first-row parsing with pandas.read_excel(..., sheet_name=None) to extract sheet columns as dataframe column names, and added pandas to backend/requirements.txt. (backend/app.py, backend/requirements.txt)
  • Documentation: clarified backend startup with uvicorn backend.app:app ... and documented how to call the reference plotter via reference/src/plot_ashby.py by calling main(dataframe_config, interactive=False). (README.md)
  • Minor lint fix to remove an unused temporary variable and related small UI/behavior wiring. (src/App.tsx)

Testing

  • Built the frontend with npm run build (Vite/TS build) and the build completed successfully.
  • Ran linting with npm run lint (ESLint) and it completed with no errors after the fix.

Codex Task

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant