Skip to content

Commit e913762

Browse files
Changing header render into cell render so it can be reused for footer
1 parent ac5c671 commit e913762

File tree

1 file changed

+47
-14
lines changed

1 file changed

+47
-14
lines changed

src/plugin/composables/helpers.ts

Lines changed: 47 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)