@@ -52,36 +52,69 @@ export function useConvertToUnit(str: string | number, unit = 'px'): string {
5252
5353// -------------------------------------------------- Render Cells #
5454/**
55- * Render the cell header
55+ * Render the cell item
56+ */
57+ export function useRenderCellItem (
58+ item : object ,
59+ column : Column ,
60+ index : number
61+ ) : unknown {
62+ const itemValue = item [ column . key ] ;
63+
64+ if ( column . renderItem ) {
65+ return column . renderItem ( itemValue , item , column , index ) ;
66+ }
67+
68+ return itemValue ;
69+ }
70+
71+ /**
72+ * Render the cell
73+ * Used for both header and footer
5674*/
57- export function useRenderCellHeader (
75+ export function useRenderCell (
5876 loadedDrilldown : LoadedDrilldown ,
5977 column : Column ,
6078 index : number
6179) : unknown {
62- if ( column . renderHeader ) {
63- return column . renderHeader ( column [ loadedDrilldown . itemTitle ] , column , index ) ;
80+ const cellData = [ column [ loadedDrilldown . itemTitle ] , column , index ] ;
81+
82+ if ( column . renderer ) {
83+ return column . renderer ( ...cellData ) ;
6484 }
6585
66- return column [ loadedDrilldown . itemTitle ] ;
67- }
86+ if ( column . renderFooter ) {
87+ return column . renderFooter ( ...cellData ) ;
88+ }
6889
90+ if ( column . renderFooter ) {
91+ return column . renderFooter ( ...cellData ) ;
92+ }
93+
94+ if ( column [ loadedDrilldown . itemTitle ] ) {
95+ return column [ loadedDrilldown . itemTitle ] ;
96+ }
6997
98+
99+ return '' ;
100+ }
70101/**
71- * Render the cell item
72- */
73- export function useRenderCellItem (
74- item : object ,
102+ * Render the cell
103+ */
104+ export function useRenderCellFooter (
105+ loadedDrilldown : LoadedDrilldown ,
75106 column : Column ,
76107 index : number
77108) : unknown {
78- const itemValue = item [ column . key ] ;
109+ if ( column . renderFooter ) {
110+ return column . renderFooter ( column [ loadedDrilldown . itemTitle ] , column , index ) ;
111+ }
79112
80- if ( column . renderItem ) {
81- return column . renderItem ( itemValue , item , column , index ) ;
113+ if ( column . columnFooter ) {
114+ return column . columnFooter ;
82115 }
83116
84- return itemValue ;
117+ return '' ;
85118}
86119
87120
0 commit comments