Skip to content

Commit dc36d84

Browse files
committed
Hiding columns in Table does not work #374
1 parent f151d32 commit dc36d84

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

src/chart/table/TableChart.tsx

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from 'react';
2-
import { DataGrid } from '@mui/x-data-grid';
2+
import { DataGrid, GridColumnVisibilityModel } from '@mui/x-data-grid';
33
import { ChartProps } from '../Chart';
44
import {
55
evaluateRulesOnDict,
@@ -26,7 +26,6 @@ import { extensionEnabled } from '../../utils/ReportUtils';
2626
const TABLE_HEADER_HEIGHT = 32;
2727
const TABLE_FOOTER_HEIGHT = 62;
2828
const TABLE_ROW_HEIGHT = 52;
29-
const HIDDEN_COLUMN_PREFIX = '__';
3029

3130
const theme = createTheme({
3231
typography: {
@@ -160,10 +159,6 @@ export const NeoTableChart = (props: ChartProps) => {
160159
actionableFields.includes(key)
161160
);
162161
});
163-
const hiddenColumns = Object.assign(
164-
{},
165-
...columns.filter((x) => x.field.startsWith(HIDDEN_COLUMN_PREFIX)).map((x) => ({ [x.field]: false }))
166-
);
167162

168163
const getTransposedRows = (records) => {
169164
// Skip first key
@@ -205,6 +200,9 @@ export const NeoTableChart = (props: ChartProps) => {
205200

206201
const pageNames = getPageNumbersAndNamesList();
207202

203+
const [columnVisibilityModel, setColumnVisibilityModel] =
204+
React.useState<GridColumnVisibilityModel>({});
205+
208206
return (
209207
<ThemeProvider theme={theme}>
210208
<div className={classes.root} style={{ height: '100%', width: '100%', position: 'relative' }}>
@@ -255,7 +253,10 @@ export const NeoTableChart = (props: ChartProps) => {
255253
rowHeight={tableRowHeight}
256254
rows={rows}
257255
columns={columns}
258-
columnVisibilityModel={hiddenColumns}
256+
columnVisibilityModel={columnVisibilityModel}
257+
onColumnVisibilityModelChange={(newModel) =>
258+
setColumnVisibilityModel(newModel)
259+
}
259260
onCellClick={(e) =>
260261
performActionOnElement(e, actionsRules, { ...props, pageNames: pageNames }, 'Click', 'Table')
261262
}

0 commit comments

Comments
 (0)