From 5f52a3ad8eb0defaa10935f11c96b86033d1c640 Mon Sep 17 00:00:00 2001 From: Michael Chus Date: Wed, 21 Jan 2026 22:12:34 +0300 Subject: [PATCH] another column size fix atempt --- public/app.js | 26 ++++++++++++++++++++++++-- public/index.html | 30 +++++++++++++++++++++++------- 2 files changed, 47 insertions(+), 9 deletions(-) diff --git a/public/app.js b/public/app.js index 6e0dda5..0f3f2fa 100644 --- a/public/app.js +++ b/public/app.js @@ -634,16 +634,38 @@ async function selectTable(schema, tableName) { }); if (checkboxColumn) { - // Принудительно устанавливаем ширину + // Принудительно устанавливаем ширину для столбца const element = checkboxColumn.getElement(); if (element) { element.style.width = '40px'; element.style.minWidth = '40px'; element.style.maxWidth = '40px'; element.style.flex = '0 0 40px'; + element.style.boxSizing = 'border-box'; + element.style.padding = '4px'; } - console.log('✅ Ширина столбца чекбоксов зафиксирована'); + // ✅ Также устанавливаем ширину для ячейки заголовка + setTimeout(() => { + const headerCell = element?.querySelector('.tabulator-cell'); + if (headerCell) { + headerCell.style.width = '40px'; + headerCell.style.minWidth = '40px'; + headerCell.style.maxWidth = '40px'; + headerCell.style.padding = '4px'; + headerCell.style.boxSizing = 'border-box'; + headerCell.style.display = 'flex'; + headerCell.style.alignItems = 'center'; + headerCell.style.justifyContent = 'center'; + } + + // ✅ Принудительно обновляем макет + if (table.redraw) { + table.redraw(true); + } + }, 10); + + console.log('✅ Ширина столбца чекбоксов зафиксирована (столбец и заголовок)'); } }); diff --git a/public/index.html b/public/index.html index 6e5c491..d5b5b5e 100644 --- a/public/index.html +++ b/public/index.html @@ -247,19 +247,15 @@ } /* ✅ ИСКЛЮЧЕНИЕ: столбец с чекбоксами - фиксированная ширина */ - .tabulator-col.tabulator-row-handle { - width: 40px !important; - min-width: 40px !important; - max-width: 40px !important; - } - + /* Таргетируем все возможные варианты селектора для rowSelection */ + .tabulator-col.tabulator-row-handle, .tabulator-col[tabulator-field=""] { width: 40px !important; min-width: 40px !important; max-width: 40px !important; } - /* ✅ Заголовок столбца с чекбоксами */ + /* ✅ Заголовок столбца с чекбоксами - более специфичные селекторы */ .tabulator-header .tabulator-col.tabulator-row-handle, .tabulator-header .tabulator-col[tabulator-field=""] { width: 40px !important; @@ -267,6 +263,9 @@ max-width: 40px !important; flex: 0 0 40px !important; padding: 4px !important; + box-sizing: border-box !important; + height: auto !important; + line-height: normal !important; } /* ✅ Ячейки заголовка столбца с чекбоксами */ @@ -277,6 +276,18 @@ max-width: 40px !important; padding: 4px !important; box-sizing: border-box !important; + height: auto !important; + line-height: normal !important; + display: flex !important; + align-items: center !important; + justify-content: center !important; + } + + /* ✅ Контент внутри ячейки заголовка (чекбокс) */ + .tabulator-header .tabulator-cell.tabulator-row-handle > *, + .tabulator-header .tabulator-cell[tabulator-field=""] > * { + margin: 0 !important; + padding: 0 !important; } /* ✅ Ячейки столбца с чекбоксами */ @@ -287,6 +298,11 @@ max-width: 40px !important; padding: 4px !important; box-sizing: border-box !important; + height: auto !important; + line-height: normal !important; + display: flex !important; + align-items: center !important; + justify-content: center !important; } /* ✅ Чекбокс внутри ячейки */