From 9e1612c4c30b015090f8461c27a8cb6163cc0c9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=BB=D1=8C=D1=8F=D1=81=20=D0=A1=D1=83=D0=BB=D1=82?= =?UTF-8?q?=D0=B0=D0=BD=D0=BE=D0=B2?= Date: Tue, 21 Jul 2026 15:00:17 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=BE=D1=82=D0=BE=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D0=B6=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5?= =?UTF-8?q?=D0=B4=D0=BD=D0=B5=D0=B3=D0=BE=20=D0=B7=D0=B0=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D0=BD=D0=B5=D0=BD=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=B7=D0=BD=D0=B0?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B2=20=D0=B4=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=B2=D0=B5=20=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BE=D1=87?= =?UTF-8?q?=D0=BD=D0=B8=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../directories/DirectoryColumnTree.tsx | 15 +++++++++++---- client/src/pages/TableEditor.tsx | 12 ++++++++---- server/routes/data-tables.routes.ts | 15 +++++++++++---- 3 files changed, 30 insertions(+), 12 deletions(-) diff --git a/client/src/components/directories/DirectoryColumnTree.tsx b/client/src/components/directories/DirectoryColumnTree.tsx index 7f88eaa..bfd8706 100644 --- a/client/src/components/directories/DirectoryColumnTree.tsx +++ b/client/src/components/directories/DirectoryColumnTree.tsx @@ -27,10 +27,17 @@ interface TreeGroup { function getRowLabel(row: DataTableRow, displayColumns: number[]): string { const values = Array.isArray(row.values) ? row.values : []; - const parts = displayColumns - .map((ci) => String(values[ci] ?? '').trim()) - .filter(Boolean); - return parts.length > 0 ? parts.join(' ') : '(без названия)'; + // Последнее заполненное значение из displayColumns + for (let i = displayColumns.length - 1; i >= 0; i--) { + const val = String(values[displayColumns[i]] ?? '').trim(); + if (val) return val; + } + // Fallback: первая заполненная колонка + for (const val of values) { + const str = String(val ?? '').trim(); + if (str) return str; + } + return '(без названия)'; } function buildTree( diff --git a/client/src/pages/TableEditor.tsx b/client/src/pages/TableEditor.tsx index ee494cb..3446fb3 100644 --- a/client/src/pages/TableEditor.tsx +++ b/client/src/pages/TableEditor.tsx @@ -1832,10 +1832,14 @@ export default function TableEditor() { ) : ( displayRows.map((row) => { const displayCols = treeDisplayColumns.length > 0 ? treeDisplayColumns : [0]; - const label = displayCols - .map((ci) => String(row.values[ci] ?? '').trim()) - .filter(Boolean) - .join(' ') || `Строка ${row.id}`; + let label = ''; + for (let i = displayCols.length - 1; i >= 0; i--) { + const val = String(row.values[displayCols[i]] ?? '').trim(); + if (val) { label = val; break; } + } + if (!label) { + label = row.values.find((v) => String(v ?? '').trim()) || `Строка ${row.id}`; + } return (