@@ -22,6 +22,7 @@ ModuleRegistry.registerModules([
22
22
ClientSideRowModelModule ,
23
23
] ) ;
24
24
25
+
25
26
const SkeletonCellRenderer = ( props : { value ?: ReactNode } ) => {
26
27
if ( ! props . value ) {
27
28
return (
@@ -35,10 +36,14 @@ const SkeletonCellRenderer = (props: { value?: ReactNode }) => {
35
36
return < div className = { styles . defaultCellContainer } > { props . value } </ div > ;
36
37
} ;
37
38
39
+ const DEFAULT_COL_DEF = {
40
+ cellRenderer : SkeletonCellRenderer ,
41
+ flex : 1 ,
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 ;
@@ -83,9 +81,10 @@ export const TableGrid = <TData extends Record<string, unknown>>({
83
81
const tableGrid = (
84
82
< AgGridReact < TData >
85
83
className = { styles . tableGrid }
84
+
86
85
// @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 }
86
+ rowData = { loading ? [ [ ] ] : rowData }
87
+ defaultColDef = { DEFAULT_COL_DEF }
89
88
columnDefs = { mappedColDefs }
90
89
theme = { themeQuartz }
91
90
domLayout = "autoHeight"
0 commit comments