currentItemUuid?: string;
currentRoute?: string;
toggleMSToolbar: (isVisible: boolean) => void;
+ setCheckedListOnStore: (checkedList: TCheckedList) => void;
}
type CssRules =
}
componentDidUpdate(prevProps: Readonly<DataTableProps<T>>, prevState: DataTableState) {
- const { items, toggleMSToolbar } = this.props;
+ const { items, toggleMSToolbar, setCheckedListOnStore } = this.props;
const { isSelected, checkedList } = this.state;
if (!arraysAreCongruent(prevProps.items, items)) {
if (isSelected === true) this.setState({ isSelected: false });
if (items.length) this.initializeCheckedList(items);
- toggleMSToolbar(false);
}
if (prevState.checkedList !== checkedList) {
toggleMSToolbar(this.isAnySelected() ? true : false);
- window.localStorage.setItem('selectedRows', JSON.stringify(checkedList));
+ setCheckedListOnStore(checkedList);
}
}
}
}
this.setState({ checkedList: newCheckedList });
- window.localStorage.setItem('selectedRows', JSON.stringify(newCheckedList));
};
isAllSelected = (list: TCheckedList): boolean => {
renderHeadCell = (column: DataColumn<T, any>, index: number) => {
const { name, key, renderHeader, filters, sort } = column;
const { onSortToggle, onFiltersChange, classes } = this.props;
+ const { isSelected, checkedList } = this.state;
return column.name === 'checkBoxColumn' ? (
<TableCell key={key || index} className={classes.checkBoxCell}>
<div className={classes.checkBoxHead}>
<Tooltip title={this.state.isSelected ? 'Deselect All' : 'Select All'}>
- <input type='checkbox' className={classes.checkBox} checked={this.state.isSelected} onChange={this.handleSelectorSelect}></input>
+ <input type='checkbox' className={classes.checkBox} checked={isSelected} onChange={this.handleSelectorSelect}></input>
</Tooltip>
- <DataTableMultiselectPopover
- name={`Options`}
- options={this.multiselectOptions}
- checkedList={this.state.checkedList}
- ></DataTableMultiselectPopover>
+ <DataTableMultiselectPopover name={`Options`} options={this.multiselectOptions} checkedList={checkedList}></DataTableMultiselectPopover>
</div>
</TableCell>
) : (