Nombres de las columnas para mostrar/ocultar

This commit is contained in:
David Arranz 2026-08-06 13:39:20 +02:00
parent e8f40b1495
commit a7543497b0
3 changed files with 28 additions and 13 deletions

View File

@ -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": {

View File

@ -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(
</div>
);
},
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 || <EmptyCellValue />,
meta: {
title: t("pages.proformas.list.columns.series"),
},
},
{
id: "reference",
@ -223,6 +232,7 @@ export function useProformasGridColumns(
<EmptyCellValue />
),
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",
},

View File

@ -60,16 +60,15 @@ export function DataTableViewOptions<TData>({ table }: { table: Table<TData> })
}
const getColumnLabel = <TData, TValue>(column: Column<TData, TValue>): 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;