Skip to content

Commit

Permalink
fi: keep tabledata from previous columns
Browse files Browse the repository at this point in the history
  • Loading branch information
Domino987 committed Jun 27, 2021
1 parent 93063db commit e0fa5ee
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 9 deletions.
10 changes: 5 additions & 5 deletions src/material-table.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ export default class MaterialTable extends React.Component {
);
}

setDataManagerFields(props, isInit) {
setDataManagerFields(props, isInit, prevColumns) {
let defaultSortColumnIndex = -1;
let defaultSortDirection = '';
if (props && props.options.sorting !== false) {
Expand All @@ -82,7 +82,7 @@ export default class MaterialTable extends React.Component {
: '';
}

this.dataManager.setColumns(props.columns);
this.dataManager.setColumns(props.columns, prevColumns);
this.dataManager.setDefaultExpanded(props.options.defaultExpanded);
this.dataManager.changeRowEditing();

Expand Down Expand Up @@ -145,7 +145,7 @@ export default class MaterialTable extends React.Component {

if (propsChanged) {
const props = this.getProps(this.props);
this.setDataManagerFields(props);
this.setDataManagerFields(props, false, this.props.columns);
this.setState(this.dataManager.getRenderState());
}

Expand All @@ -164,7 +164,7 @@ export default class MaterialTable extends React.Component {
}
}

getProps(props) {
getProps(props, prevColumns) {
const calculatedProps = { ...(props || this.props) };
calculatedProps.components = {
...MaterialTable.defaultProps.components,
Expand Down Expand Up @@ -1068,7 +1068,7 @@ export default class MaterialTable extends React.Component {
top: 0,
right: 0,
boxShadow: '-2px 0px 15px rgba(125,147,178,.25)',
overflowX: 'hidden',
overflowX: 'clip',
zIndex: 11
}}
>
Expand Down
9 changes: 5 additions & 4 deletions src/utils/data-manager.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ export default class DataManager {
this.filtered = false;
}

setColumns(columns) {
setColumns(columns, prevColumns = []) {
let usedWidth = ['0px'];

this.columns = columns.map((columnDef, index) => {
Expand All @@ -78,7 +78,7 @@ export default class DataManager {
) {
usedWidth.push(width);
}

const prevColumn = prevColumns.find(({ id }) => id === index);
const tableData = {
columnOrder: index,
filterValue: columnDef.defaultFilter,
Expand All @@ -87,11 +87,12 @@ export default class DataManager {
width,
initialWidth: width,
additionalWidth: 0,
...(prevColumn ? prevColumn.tableData : {}),
...columnDef.tableData,
id: index
};

return { ...columnDef, tableData };
columnDef.tableData = tableData;
return columnDef;
});
const undefinedWidthColumns = this.columns.filter((c) => {
if (c.hidden) {
Expand Down

0 comments on commit e0fa5ee

Please sign in to comment.