You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
enhancement(ui): add universal data export (CSV, JSON, Markdown, SQL dump) to ResultsTab #326
Таблица вывода результатов выполнения запросов ResultsTab (lib/features/main_screen/results_tab.dart) используется всеми драйверами (PostgreSQL, MySQL, SQLite, MongoDB, Redis, а также внешними расширениями через ExtensionTableView / ExtensionSqlWorkspace).
Для обеспечения полноценного опыта работы с данными (согласно Единому UI-стандарту) необходимо добавить в ResultsTab универсальные инструменты экспорта данных из текущей выборки в буфер обмена или в файл на диске.
Зачем
Аналитики и разработчики часто копируют выборки из базы в Excel, Google Sheets, документацию (Markdown) или в тестовые скрипты (INSERT INTO ...).
Стандартизация экспорта на уровне единого компонента ResultsTab мгновенно даёт эту возможность всем базам данных без дублирования кода в каждом драйвере.
Предлагаемое UX
Контекстное меню (по правому клику на строки таблицы) и/или Иконка экспорта (download_rounded) в шапке/футере ResultsTab:
Copy as CSV / Export to .csv file (с настраиваемым разделителем — запятая или точка с запятой).
Copy as JSON / Export to .json file (массив объектов [{"col1": "val1", ...}]).
Copy as Markdown Table (форматированная таблица | col1 | col2 |\n|---|---| для вставки в Obsidian / GitHub PR).
Copy as SQL INSERT Dump (генерация выражений INSERT INTO table_name (c1, c2) VALUES ('v1', 'v2');).
При копировании более 10 000 строк показывать фоновый прогресс или предупреждение.
Технические требования
Добавить утилитарный класс/сервис DataExportService в lib/core/ или lib/shared/ с чистыми функциями форматирования (CSV, JSON, Markdown, SQL Dump).
Интегрировать меню экспорта в ResultsTab (lib/features/main_screen/results_tab.dart).
Подключить file_selector (saveFile) для сохранения на диск и Clipboard.setData() для буфера обмена.
Написать юнит-тесты на корректное экранирование спецсимволов (", \n, ') при форматировании в CSV и SQL.
Activity
ZhuchkaTriplesix commentedon Jul 19, 2026
Implemented: universal CSV/JSON/Markdown/SQL export in ResultsTab.
Merged in PR #328.