- Изменена логика rowSelectionChanged: теперь используется параметр data вместо rows
- Параметр data содержит ВСЕ выделенные строки, а rows - только измененные
- При клике на header checkbox параметр rows пустой, поэтому selectedRowsData не обновлялся
- Добавлена правильная синхронизация выделенных строк между Tabulator и selectedRowsData
- Упрощена логика: полная пересинхронизация при каждом изменении выделения
- Упрощен обработчик rowSelectionChanged (используется только параметр rows)
- Добавлена отладочная информация для диагностики проблем
- Исправлена логика синхронизации selectedRowsData
- Добавлен console.log для отслеживания процесса выделения
- Проверка работы getRowKey для корректной идентификации строк
- В сообщениях об ошибках теперь отображается содержимое проблемной строки
- Добавлена специальная обработка ошибки Data truncated (обрезание данных)
- Показывается конкретное значение поля, вызвавшего ошибку
- Добавлена информация о типе и размере столбца при truncation
- Улучшено форматирование вывода ошибок (JSON для больших данных)
- Номер строки теперь соответствует номеру в исходном CSV файле (+2 для учета заголовка)
- Удалена кнопка "Выделить страницу" (дублирует функционал чекбокса в заголовке)
- Исправлен обработчик rowSelectionChanged - теперь корректно обрабатывает выделение через header checkbox
- Изменен подход: при каждом изменении выделения обновляется вся коллекция selectedRowsData
- Добавлена синхронизация выделенных строк между страницами
- Исправлена ошибка "строки не выбраны" при удалении после выделения через header checkbox
- Добавлена функция createProgressModal в правильное место в app.js
- Упрощен код удаления до одного варианта (без излишней сложности)
- Функция определена до использования
- Проверена работоспособность batch delete
- Добавлен batch delete метод на бэкенде (удаление множества строк за один запрос)
- Использование WHERE IN для удаления нескольких строк одним SQL запросом
- Добавлен прогресс-бар при удалении большого количества строк
- Удаление 1000 строк теперь занимает секунды вместо минут
- Добавлена поддержка транзакций для атомарности операций
- Оптимизирован размер батчей для баланса производительности и надежности
- Добавлена кнопка "Выделить все на странице" - выделяет записи текущей страницы
- Добавлена кнопка "Выделить все" - выделяет все записи с учетом фильтров (все страницы)
- Добавлена кнопка "Снять выделение" - убирает выделение со всех строк
- Добавлен счетчик выделенных строк в toolbar
- Добавлено предупреждение при выделении большого количества записей
- Оптимизировано удаление выделенных строк (batch delete)
- Удалено детальное логирование каждой строки импорта в PHP (error_log в циклах)
- Убраны console.log при парсинге и обработке CSV на фронтенде
- Оставлено только логирование начала/конца импорта и ошибок
- Значительно улучшена производительность при импорте больших файлов (тысячи строк)