Исправление сортировки: явное включение headerSort и sorter
- Добавлен headerSort: true для каждой колонки - Добавлен sorter на основе типа данных (string/number/datetime) - Добавлены обработчики событий dataSorting/dataSorted для отладки Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -430,9 +430,19 @@ async function selectTable(schema, tableName) {
|
||||
// ✅ Убран cellClick - Tabulator сам обрабатывает клики на rowSelection
|
||||
},
|
||||
...currentMeta.columns.map(col => {
|
||||
// Определяем тип сортировщика на основе типа данных
|
||||
let sorterType = "string";
|
||||
if (col.DATA_TYPE && (col.DATA_TYPE.includes('int') || col.DATA_TYPE.includes('decimal') || col.DATA_TYPE.includes('float'))) {
|
||||
sorterType = "number";
|
||||
} else if (col.DATA_TYPE && (col.DATA_TYPE.includes('date') || col.DATA_TYPE.includes('time'))) {
|
||||
sorterType = "datetime";
|
||||
}
|
||||
|
||||
const colDef = {
|
||||
title: col.COLUMN_NAME,
|
||||
field: col.COLUMN_NAME,
|
||||
headerSort: true, // ✅ Явно включаем сортировку
|
||||
sorter: sorterType, // ✅ Тип сортировщика для отображения стрелок
|
||||
// ✅ Добавляем тултип для заголовка
|
||||
headerTooltip: function(e, column) {
|
||||
const comment = col.COLUMN_COMMENT;
|
||||
@@ -709,6 +719,15 @@ async function selectTable(schema, tableName) {
|
||||
|
||||
console.log('✅ Tabulator создан, подключаем события...');
|
||||
|
||||
// ✅ Обработчик сортировки - принудительная перезагрузка данных
|
||||
table.on("dataSorting", function(sorters) {
|
||||
console.log('🔄 Сортировка начата:', sorters);
|
||||
});
|
||||
|
||||
table.on("dataSorted", function(sorters, rows) {
|
||||
console.log('✅ Сортировка завершена:', sorters);
|
||||
});
|
||||
|
||||
// ✅ Применяем сохранённую видимость столбцов
|
||||
const savedVisibility = loadColumnVisibility();
|
||||
if (savedVisibility) {
|
||||
|
||||
Reference in New Issue
Block a user