- Единый диалог с вкладками: CSV таблицы и Бэкап БД
- Удалена отдельная кнопка Бэкап
- Удалён дублирующий код showExportModal
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
shell_exec некорректно работает с бинарными данными.
Теперь mysqldump пишет во временный файл, который потом стримится клиенту.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Кнопка "Бэкап" в toolbar открывает диалог выбора БД
- Можно скачать дамп одной БД или всех сразу
- Дамп создаётся через mysqldump и сразу стримится пользователю (gzip)
- Без сохранения на сервере
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Строка теперь окрашивается в жёлтый только при реальном изменении значения,
а не при клике на ячейку для редактирования.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Унифицировано сравнение через normalizeValue() для всех типов ячеек
- Intl.NumberFormat с сохранением исходного количества знаков после запятой
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Числовые колонки теперь отображаются в русской локализации:
- Пробел как разделитель тысяч (90217 → 90 217)
- Запятая для дробной части (90217.4 → 90 217,4)
Fixes#5
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Добавлена проверка для случая, когда oldValue - число, а newValue - строка
(например, 90217.4 vs "90217.4"), что вызывало ложное срабатывание сохранения.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Добавлена проверка изменения значения в cellEdited (oldValue vs newValue)
- Добавлен обработчик cellEditCancelled для сброса подсветки при отмене
- Устранена отправка запросов в БД без реальных изменений
Fixes#4
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Чекбоксы теперь работают только при клике на сам чекбокс (не на строку)
- Повторный клик на чекбокс снимает выделение
- Множественное выделение строк работает корректно
- Исправлен выбор количества записей на странице (сервер читает параметр 'size')
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Бэкенд:
- Добавлен try-catch для insert, update, delete, delete-batch
- Ошибки возвращаются как JSON с полем message
Фронтенд:
- Улучшена функция api() для парсинга JSON ошибок
- Извлечение понятного сообщения из ответа сервера
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Tabulator отправляет sort как массив [{"field":..., "dir":...}],
а код ожидал объект {"field":..., "dir":...}. Добавлена конвертация.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Добавлен headerSort: true для каждой колонки
- Добавлен sorter на основе типа данных (string/number/datetime)
- Добавлены обработчики событий dataSorting/dataSorted для отладки
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1. Добавлена кнопка "Изменить" в toolbar
2. Модальное окно редактирования:
- Для одной записи: все поля доступны для редактирования
- Для нескольких записей: галочки для выбора изменяемых полей
- Поля с одинаковыми значениями показывают текущее значение
- Поля с разными значениями отображаются пустыми с пометкой
3. Исправлена сортировка: добавлен headerSort: true в columnDefaults
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Исправлен ajaxParams: использование this вместо глобальной переменной
- Добавлен headerFilterFunc для всех колонок для серверной фильтрации
- Исправлены параметры headerFilter для FK колонок
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1. Исправлена сортировка по дате - заменён ajaxParams на ajaxRequestFunc
для корректной передачи параметров сортировки на сервер
2. Добавлен dropdown фильтр для FK колонок - теперь в заголовке таблицы
для колонок с внешними ключами отображается выпадающий список
со всеми допустимыми значениями
3. Добавлено модальное окно экспорта CSV с опциями:
- Экспорт всех строк / только выделенных / шаблона (только заголовки)
- Выбор отдельных столбцов для экспорта
- Кнопки "Выбрать все" / "Снять все" для столбцов
4. Исправлено множественное выделение строк:
- Включён selectableRows: true
- Добавлен selectableRowsRangeMode: "click" для выбора нескольких строк
- Убран конфликтующий cellClick обработчик
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>