From a7543497b09141082887359c7adbd6f37f6ae304 Mon Sep 17 00:00:00 2001 From: david Date: Thu, 6 Aug 2026 13:39:20 +0200 Subject: [PATCH] Nombres de las columnas para mostrar/ocultar --- .../src/common/locales/es.json | 7 +++--- .../use-proforma-grid-columns.tsx | 25 +++++++++++++++---- .../datatable/data-table-view-options.tsx | 9 +++---- 3 files changed, 28 insertions(+), 13 deletions(-) diff --git a/modules/customer-invoices/src/common/locales/es.json b/modules/customer-invoices/src/common/locales/es.json index c3ff060c..9d88a325 100644 --- a/modules/customer-invoices/src/common/locales/es.json +++ b/modules/customer-invoices/src/common/locales/es.json @@ -418,7 +418,7 @@ "columns": { "proforma_reference": "Num.", "series": "Serie", - "reference": "Reference", + "reference": "Referencia", "status": "Estado", "proforma_date": "Fecha", "operation_date": "Fecha de operación", @@ -431,9 +431,10 @@ "recipient_postal_code": "Código postal", "recipient_country": "País", "subtotal_amount": "Subtotal", - "discount_amount": "Descuentos", + "discount_amount": "Dtos.", + "taxable_amount": "Base imp.", "taxes_amount": "Impuestos", - "total_amount": "Importe total" + "total_amount": "Total" } }, "archived": { diff --git a/modules/customer-invoices/src/web/proformas/list/ui/blocks/proformas-grid/use-proforma-grid-columns.tsx b/modules/customer-invoices/src/web/proformas/list/ui/blocks/proformas-grid/use-proforma-grid-columns.tsx index e1e7f7c5..6981c936 100644 --- a/modules/customer-invoices/src/web/proformas/list/ui/blocks/proformas-grid/use-proforma-grid-columns.tsx +++ b/modules/customer-invoices/src/web/proformas/list/ui/blocks/proformas-grid/use-proforma-grid-columns.tsx @@ -132,6 +132,7 @@ export function useProformasGridColumns( /> ), meta: { + title: t("pages.proformas.list.columns.proforma_reference"), cellClassName: "font-mono text-sm font-medium", }, }, @@ -149,6 +150,7 @@ export function useProformasGridColumns( ), cell: ({ row }) => DateHelper.format(row.original.proformaDate), meta: { + title: t("pages.proformas.list.columns.proforma_date"), cellClassName: "text-muted-foreground", }, }, @@ -170,6 +172,9 @@ export function useProformasGridColumns( ); }, + meta: { + title: t("pages.proformas.list.columns.status"), + }, }, // Cliente @@ -194,16 +199,20 @@ export function useProformasGridColumns( ); }, meta: { + title: t("pages.proformas.list.columns.recipient"), cellClassName: "max-w-128", }, }, { id: "series", accessorKey: "series", - header: "Serie", + header: t("pages.proformas.list.columns.series"), enableHiding: true, enableSorting: false, cell: ({ row }) => row.original.series || , + meta: { + title: t("pages.proformas.list.columns.series"), + }, }, { id: "reference", @@ -223,6 +232,7 @@ export function useProformasGridColumns( ), meta: { + title: t("pages.proformas.list.columns.reference"), cellClassName: "hidden lg:table-cell max-w-16 text-muted-foreground", headerClassName: "hidden lg:table-cell", }, @@ -240,6 +250,7 @@ export function useProformasGridColumns( /> ), meta: { + title: t("pages.proformas.list.columns.subtotal_amount"), cellClassName: "hidden 2xl:table-cell text-right tabular-nums font-medium", headerClassName: "hidden 2xl:table-cell text-right", }, @@ -247,9 +258,10 @@ export function useProformasGridColumns( { id: "totalDiscountAmountFmt", accessorKey: "totalDiscountAmountFmt", - header: "Dtos", + header: t("pages.proformas.list.columns.discount_amount"), enableSorting: false, meta: { + title: t("pages.proformas.list.columns.discount_amount"), cellClassName: "hidden 2xl:table-cell text-right tabular-nums font-medium text-muted-foreground", headerClassName: "hidden 2xl:table-cell text-right", @@ -258,9 +270,10 @@ export function useProformasGridColumns( { id: "taxableAmountFmt", accessorKey: "taxableAmountFmt", - header: "Base Imp.", + header: t("pages.proformas.list.columns.taxable_amount"), enableSorting: false, meta: { + title: t("pages.proformas.list.columns.taxable_amount"), cellClassName: "hidden 2xl:table-cell text-right tabular-nums font-medium", headerClassName: "hidden 2xl:table-cell text-right", }, @@ -268,9 +281,10 @@ export function useProformasGridColumns( { id: "taxesAmountFmt", accessorKey: "taxesAmountFmt", - header: "Impuestos", + header: t("pages.proformas.list.columns.taxes_amount"), enableSorting: false, meta: { + title: t("pages.proformas.list.columns.taxes_amount"), cellClassName: "hidden 2xl:table-cell text-right tabular-nums font-medium", headerClassName: "hidden 2xl:table-cell text-right", }, @@ -278,9 +292,10 @@ export function useProformasGridColumns( { id: "totalAmountFmt", accessorKey: "totalAmountFmt", - header: "Total", + header: t("pages.proformas.list.columns.total_amount"), enableSorting: false, meta: { + title: t("pages.proformas.list.columns.total_amount"), cellClassName: "hidden xl:table-cell text-right tabular-nums font-semibold", headerClassName: "hidden xl:table-cell text-right", }, diff --git a/packages/rdx-ui/src/components/datatable/data-table-view-options.tsx b/packages/rdx-ui/src/components/datatable/data-table-view-options.tsx index 55c3a13b..a0091c40 100644 --- a/packages/rdx-ui/src/components/datatable/data-table-view-options.tsx +++ b/packages/rdx-ui/src/components/datatable/data-table-view-options.tsx @@ -60,16 +60,15 @@ export function DataTableViewOptions({ table }: { table: Table }) } const getColumnLabel = (column: Column): string => { - let label = String(column.id); + const meta = column.columnDef.meta as { title?: string } | undefined; + let label = meta?.title ?? String(column.id); const h = column.columnDef.header; // header como string literal - if (typeof h === "string") label = h; + if (typeof h === "string") label = meta?.title ?? h; - // header función → intentar obtener title si lo usas en tus componentes + // Para cabeceras dinámicas, usamos un título explícito para no exponer ids técnicos. if (typeof h === "function") { - // tu DataTableColumnHeader recibe `title` como prop → está en column.columnDef.meta - const meta = column.columnDef.meta as { title?: string } | undefined; label = meta?.title ?? column.id; } return label;