@@ -35,10 +35,15 @@ const SkeletonCellRenderer = (props: { value?: ReactNode }) => {
35
35
return < div className = { styles . defaultCellContainer } > { props . value } </ div > ;
36
36
} ;
37
37
38
+ const DEFAULT_COL_DEF = {
39
+ cellRenderer : SkeletonCellRenderer ,
40
+ flex : 1 ,
41
+ } ;
42
+
38
43
export const TableGrid = < TData extends Record < string , unknown > > ( {
39
44
rowData,
40
- colDefs ,
41
- isLoading ,
45
+ columnDefs ,
46
+ loading ,
42
47
cardProps,
43
48
pagination,
44
49
...props
@@ -48,25 +53,18 @@ export const TableGrid = <TData extends Record<string, unknown>>({
48
53
const [ currentPage , setCurrentPage ] = useState ( 1 ) ;
49
54
const [ totalPages , setTotalPages ] = useState ( 1 ) ;
50
55
51
- const defaultColDef = useMemo ( ( ) => {
52
- return {
53
- cellRenderer : SkeletonCellRenderer ,
54
- flex : 1 ,
55
- } ;
56
- } , [ ] ) ;
57
-
58
56
const mappedColDefs = useMemo ( ( ) => {
59
- return colDefs . map ( ( colDef ) => {
57
+ return columnDefs . map ( ( colDef ) => {
60
58
return {
61
59
...colDef ,
62
60
// the types in ag-grid are `any` for the cellRenderers which is throwing an error here
63
61
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
64
- cellRenderer : isLoading
62
+ cellRenderer : loading
65
63
? ( colDef . loadingCellRenderer ?? SkeletonCellRenderer )
66
64
: colDef . cellRenderer ,
67
65
} ;
68
66
} ) ;
69
- } , [ colDefs , isLoading ] ) ;
67
+ } , [ columnDefs , loading ] ) ;
70
68
71
69
const onPaginationChanged = useCallback ( ( ) => {
72
70
const api = gridRef . current ?. api ;
@@ -84,8 +82,8 @@ export const TableGrid = <TData extends Record<string, unknown>>({
84
82
< AgGridReact < TData >
85
83
className = { styles . tableGrid }
86
84
// @ts -expect-error empty row data, which is throwing an error here btu required to display 1 row in the loading state
87
- rowData = { isLoading ? [ [ ] ] : rowData }
88
- defaultColDef = { defaultColDef }
85
+ rowData = { loading ? [ [ ] ] : rowData }
86
+ defaultColDef = { DEFAULT_COL_DEF }
89
87
columnDefs = { mappedColDefs }
90
88
theme = { themeQuartz }
91
89
domLayout = "autoHeight"
0 commit comments