Skip to content

refactor(grid): decompose result_grid_view.dart into focused modules - #1083

Merged
ZhuchkaTriplesix merged 3 commits into
mainfrom
issue/1035-decompose-result-grid-view
Oct 7, 2026
Merged

ZhuchkaTriplesix merged 3 commits into
mainfrom
issue/1035-decompose-result-grid-view

Conversation

@ZhuchkaTriplesix

Copy link
Copy Markdown
Member

Summary

  • result_grid_view.dart shrinks from 3180 to ~255 lines.
  • New lib/features/workspace/grid/: grid_column_sizer, grid_selection_manager (selection model + TSV/CSV/JSON export), grid_sorting as exported libraries; grid_keyboard_navigation, grid_pointer_selection, grid_clipboard_service, grid_cell_editing, grid_cell_actions, grid_view_layout, grid_view_builder as extensions on the state in part files; grid_header_renderer, grid_row_renderer, grid_cell_renderer as part files.
  • Public API is unchanged (new libraries are re-exported from result_grid_view.dart); logic is moved verbatim, so rendering and scroll behavior are unchanged.

Closes #1035

…1035)

Move column sizing, selection model and sorting into libraries and the
state logic (editing, layout, pointer selection, clipboard, cell actions,
keyboard navigation, build) plus row/cell renderers into part files.
result_grid_view.dart keeps the widget, state fields and lifecycle.
@github-actions github-actions Bot added enhancement New feature or request performance Theme parser epic label: performance ui User interface components and widgets data-grid Interactive data grid, cell editor, filtering, groupings P2 Medium priority / Parity & Refactoring labels Oct 7, 2026
@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit b114f34 into main Oct 7, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

data-grid Interactive data grid, cell editor, filtering, groupings enhancement New feature or request P2 Medium priority / Parity & Refactoring performance Theme parser epic label: performance ui User interface components and widgets

Projects

None yet

Development

Successfully merging this pull request may close these issues.

refactor(grid): decompose 3100-line result_grid_view.dart into focused modules

1 participant