Skip to content

Localized label editing, dataset-aware import handling, and remove controls#15

Open
afffe18 wants to merge 1 commit intocodex/2026-04-18_12-16-05-task-titlefrom
codex/2026-04-19_13-59-44-split-annotation-and-colored-areas-into-fields
Open

Localized label editing, dataset-aware import handling, and remove controls#15
afffe18 wants to merge 1 commit intocodex/2026-04-18_12-16-05-task-titlefrom
codex/2026-04-19_13-59-44-split-annotation-and-colored-areas-into-fields

Conversation

@afffe18
Copy link
Copy Markdown
Collaborator

@afffe18 afffe18 commented Apr 19, 2026

Motivation

  • Make title, legend title and axis label editing follow the currently selected frame language so UI fields update when plot languages change.
  • Provide clear feedback on database imports (.xlsx or Teable) and validate/align UI field selections to the imported schema.
  • Rename JSON path hints in the UI to match the reference config_explanation.jsonc names and reduce invalid selections after import.
  • Allow removing created items (axes, layers, guidelines, annotations, colored areas) from each card with a clear remove control.

Description

  • Update src/App.tsx to use the active frame language for language-sensitive fields by setting activePlotLanguage to activeFrame.language and ensuring frames fall back to a valid language when plot languages change.
  • Improve database import in src/App.tsx by parsing returned columns via parseColumnsFromImportResult, deriving axis bases with getAxisBasesFromColumns, constraining axis columns to bases that have " low", " high" and " unit" suffixes, and restricting layer name choices to non-suffix columns; invalid selections are cleared via a patchActiveDataframe call after import.
  • Improve import feedback messaging to distinguish Teable vs Excel imports and append backend message when present in the response.
  • Add UI helpers parseNumberList / toCommaList and convert colored-area x/y editing from JSON arrays to comma-separated numeric inputs, plus split annotations into granular fields (marker_size, font_size, text.rel_pos[0/1], marker.marker_symbol, marker.color) instead of JSON blobs.
  • Introduce a reusable RemoveIconButton component and replace inline remove buttons for axes, layers, guidelines, annotations and colored areas with it.
  • Align several jsonPath labels in the data source section to the reference naming (import_sheet, API_Key, teable_url, import_file_name).

Testing

  • Ran npm run build to compile the frontend and produce the production bundle and it completed successfully.
  • Ran python -m py_compile backend/app.py to validate Python syntax in the backend and it completed successfully.

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