Skip to content

Commit 3637da2

Browse files
show/hide summary row's column based on dynamic columns settings in table comp
1 parent 7339ba1 commit 3637da2

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

client/packages/lowcoder/src/comps/comps/tableComp/tableCompView.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1039,6 +1039,8 @@ export const TableCompView = React.memo((props: {
10391039
summaryRows={parseInt(summaryRows)}
10401040
columns={columns}
10411041
summaryRowStyle={summaryRowStyle}
1042+
dynamicColumn={dynamicColumn}
1043+
dynamicColumnConfig={dynamicColumnConfig}
10421044
/>
10431045
);
10441046
}

client/packages/lowcoder/src/comps/comps/tableComp/tableSummaryComp.tsx

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,8 @@ export const TableSummary = memo(function TableSummary(props: {
186186
columns: ColumnComp[];
187187
summaryRowStyle: TableSummaryRowStyleType;
188188
istoolbarPositionBelow: boolean;
189+
dynamicColumn: boolean;
190+
dynamicColumnConfig: string[];
189191
}) {
190192
const {
191193
columns,
@@ -195,18 +197,26 @@ export const TableSummary = memo(function TableSummary(props: {
195197
expandableRows,
196198
multiSelectEnabled,
197199
istoolbarPositionBelow,
200+
dynamicColumn,
201+
dynamicColumnConfig,
198202
} = props;
199203

200204
const visibleColumns = useMemo(() => {
201205
let cols = columns.filter(col => !col.getView().hide);
206+
if (dynamicColumn) {
207+
cols = cols.filter(col => {
208+
const colView = col.getView();
209+
return dynamicColumnConfig.includes(colView.isCustom ? colView.title : colView.dataIndex)
210+
})
211+
}
202212
if (expandableRows) {
203213
cols.unshift(new ColumnComp({}));
204214
}
205215
if (multiSelectEnabled) {
206216
cols.unshift(new ColumnComp({}));
207217
}
208218
return cols;
209-
}, [columns, expandableRows, multiSelectEnabled]);
219+
}, [columns, expandableRows, multiSelectEnabled, dynamicColumn, dynamicColumnConfig]);
210220

211221
const renderSummaryCell = useCallback((column: ColumnComp, rowIndex: number, index: number) => {
212222
const summaryColumn = column.children.summaryColumns.getView()[rowIndex].getView();

0 commit comments

Comments
 (0)