From f780207b82ef70f0b7b4e018034b90e29dd444e2 Mon Sep 17 00:00:00 2001 From: Chaim Lev-Ari Date: Wed, 16 Aug 2023 16:41:03 +0300 Subject: [PATCH] feat(ui/datatables): support meta for expandable table --- .../datatables/ExpandableDatatable.tsx | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/app/react/components/datatables/ExpandableDatatable.tsx b/app/react/components/datatables/ExpandableDatatable.tsx index 56ab2e394..5ada05fff 100644 --- a/app/react/components/datatables/ExpandableDatatable.tsx +++ b/app/react/components/datatables/ExpandableDatatable.tsx @@ -1,4 +1,4 @@ -import { Row } from '@tanstack/react-table'; +import { Row, TableMeta } from '@tanstack/react-table'; import { ReactNode } from 'react'; import { ExpandableDatatableTableRow } from './ExpandableDatatableRow'; @@ -9,20 +9,25 @@ import { } from './Datatable'; import { DefaultType } from './types'; -interface Props - extends Omit, 'renderRow' | 'expandable'> { +interface Props< + D extends DefaultType, + TMeta extends TableMeta = TableMeta +> extends Omit, 'renderRow' | 'expandable'> { renderSubRow(row: Row): ReactNode; expandOnRowClick?: boolean; } -export function ExpandableDatatable({ +export function ExpandableDatatable< + D extends DefaultType, + TMeta extends TableMeta = TableMeta +>({ renderSubRow, getRowCanExpand = () => true, expandOnRowClick, ...props -}: Props & PaginationProps) { +}: Props & PaginationProps) { return ( - + // eslint-disable-next-line react/jsx-props-no-spreading {...props} getRowCanExpand={getRowCanExpand}