Summary
Объединить логику табличных браузеров (PostgresTableView, MysqlTableView, SqliteTableView, ExtensionTableView) в единый компонент GenericTableView.
Context
В 4 браузерах таблиц дублируется более 2000 строк кода:
- Интеграция фильтр-бара (
DataGridFilterBar) и AST-предикатов.
- Панель агрегации (
DataGridCalcBar) и группировки (DataGridGroupingsView).
- Буфер изменений (
DataGridStagingBuffer) и предпросмотр DML (DmlPreviewDialog).
- Пагинация, экспорт данных (
DataExportService) и тулбар.
Implementation Details
- Создать
TableDataMutationDelegate для генерации диалект-специфичного DML (INSERT, UPDATE, DELETE).
- Вынести
GenericTableView в lib/features/workspace/generic_table_view.dart.
- Заменить специфичные реализации на делегаты.
Acceptance Criteria
Summary
Объединить логику табличных браузеров (
PostgresTableView,MysqlTableView,SqliteTableView,ExtensionTableView) в единый компонентGenericTableView.Context
В 4 браузерах таблиц дублируется более 2000 строк кода:
DataGridFilterBar) и AST-предикатов.DataGridCalcBar) и группировки (DataGridGroupingsView).DataGridStagingBuffer) и предпросмотр DML (DmlPreviewDialog).DataExportService) и тулбар.Implementation Details
TableDataMutationDelegateдля генерации диалект-специфичного DML (INSERT,UPDATE,DELETE).GenericTableViewвlib/features/workspace/generic_table_view.dart.Acceptance Criteria
GenericTableView.