import { DataTablaRowActionFunction, DataTableRowActions, DataTableRowDragHandleCell, } from "@/components"; import { Checkbox } from "@/ui"; import { ColumnDef, Row, Table } from "@tanstack/react-table"; import { useMemo } from "react"; // eslint-disable-next-line @typescript-eslint/no-unused-vars export function useDetailColumns( columns: ColumnDef[], options: { enableDragHandleColumn?: boolean; enableSelectionColumn?: boolean; enableActionsColumn?: boolean; rowActionFn?: DataTablaRowActionFunction; } = {} ): ColumnDef[] { const { enableDragHandleColumn = false, enableSelectionColumn = false, enableActionsColumn = false, rowActionFn = undefined, } = options; // const lastSelectedId = ""; return useMemo(() => { if (enableSelectionColumn) { columns.unshift({ id: "select", /*header: ({ table }) => ( table.toggleAllPageRowsSelected(!!value)} aria-label='Seleccionar todo' className='translate-y-[0px]' /> ),*/ header: () => null, // eslint-disable-next-line @typescript-eslint/no-unused-vars cell: ({ row, table }: { row: Row; table: Table }) => ( ), enableSorting: false, enableHiding: false, size: 2, minSize: 2, maxSize: 2, }); } if (enableDragHandleColumn) { columns.unshift({ id: "row_drag_handle", /*header: () => ( ),*/ header: () => null, cell: (info) => , size: 2, minSize: 2, maxSize: 2, enableSorting: false, enableHiding: false, }); } if (enableActionsColumn) { columns.push({ id: "row_actions", /*header: () => ( ),*/ cell: (props) => { return (
); }, size: 4, minSize: 4, maxSize: 4, enableSorting: false, enableHiding: false, }); } return columns; }, []); }