Skip to content

refactor(workspace): unify table browsers into GenericTableView #1033

Description

@ZhuchkaTriplesix

Summary

Объединить логику табличных браузеров (PostgresTableView, MysqlTableView, SqliteTableView, ExtensionTableView) в единый компонент GenericTableView.

Context

В 4 браузерах таблиц дублируется более 2000 строк кода:

  • Интеграция фильтр-бара (DataGridFilterBar) и AST-предикатов.
  • Панель агрегации (DataGridCalcBar) и группировки (DataGridGroupingsView).
  • Буфер изменений (DataGridStagingBuffer) и предпросмотр DML (DmlPreviewDialog).
  • Пагинация, экспорт данных (DataExportService) и тулбар.

Implementation Details

  1. Создать TableDataMutationDelegate для генерации диалект-специфичного DML (INSERT, UPDATE, DELETE).
  2. Вынести GenericTableView в lib/features/workspace/generic_table_view.dart.
  3. Заменить специфичные реализации на делегаты.

Acceptance Criteria

  • Табличные браузеры PostgreSQL, MySQL, SQLite и Extensions работают через GenericTableView.
  • Полное сохранение функционала In-Place редактирования и DML Staging.
  • Прохождение всех существующих тестов.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium priority / Parity & RefactoringcoreCore library logic and servicesdata-gridInteractive data grid, cell editor, filtering, groupingsenhancementNew feature or requestuiUser interface components and widgets

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions