From 64f372a335670b4a2f953654ef133214d4a93369 Mon Sep 17 00:00:00 2001 From: Kevin_Ramirez Date: Thu, 14 May 2026 12:33:12 -0500 Subject: [PATCH] =?UTF-8?q?fix(goods):=20corregir=20selecci=C3=B3n=20y=20c?= =?UTF-8?q?uadro=20informativo=20en=20Clases=20de=20Activo=20Fijo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Clic en fila hace toggle multi-select; el registro clickeado queda primero en el array para que el cuadro informativo siempre muestre su info - Clic en checkbox mantiene comportamiento independiente para selección múltiple (eliminar) Co-Authored-By: Claude Sonnet 4.6 --- .../dashboard/goods/classes/data-table.svelte | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/frontend/src/lib/components/dashboard/goods/classes/data-table.svelte b/frontend/src/lib/components/dashboard/goods/classes/data-table.svelte index 39481b76..6d7254b9 100644 --- a/frontend/src/lib/components/dashboard/goods/classes/data-table.svelte +++ b/frontend/src/lib/components/dashboard/goods/classes/data-table.svelte @@ -153,10 +153,17 @@ {#each table.getRowModel().rows as row (row.id)} { + onclick={(e) => { + if ((e.target as HTMLElement).closest('input[type="checkbox"]')) return; const rowId = getRowIdValue(row.original); if (rowId !== null) { - toggleSelectedId(rowId); + const isSelected = selectedIds.includes(rowId); + if (isSelected) { + onSelectedIdsChange?.(selectedIds.filter((id) => id !== rowId)); + } else { + // El id clickeado va primero para que el cuadro informativo lo muestre + onSelectedIdsChange?.([rowId, ...selectedIds.filter((id) => id !== rowId)]); + } } }} ondblclick={() => onRowDoubleClick?.(row.original)}