componentDidMount(): void {
this.initializeCheckedList([]);
+ // If table is initialized loaded but empty
+ // isLoaded won't be set true by componentDidUpdate later
+ // So we set it to true here
+ if (!this.props.working) {
+ this.setState({ isLoaded: true });
+ }
}
componentDidUpdate(prevProps: Readonly<DataTableProps<T>>, prevState: DataTableState) {
else setCheckedListOnStore({});
}
if (prevProps.currentRoute !== this.props.currentRoute) {
- this.initializeCheckedList([])
+ this.initializeCheckedList([]);
}
if (singleSelected && singleSelected !== isExactlyOneSelected(prevProps.checkedList)) {
this.props.setSelectedUuid(singleSelected);
}
componentWillUnmount(): void {
- this.initializeCheckedList([])
+ this.initializeCheckedList([]);
}
checkBoxColumn: DataColumn<any, any> = {
render() {
const { items, classes, columns, isNotFound } = this.props;
const { isLoaded } = this.state;
- if (columns[0].name === this.checkBoxColumn.name) columns.shift();
+ if (columns.length && columns[0].name === this.checkBoxColumn.name) columns.shift();
columns.unshift(this.checkBoxColumn);
return (
<div className={classes.root}>
const dirty = columns.some(column => getTreeDirty("")(column.filters));
if (isNotFound && isLoaded) {
return (
- <DataTableDefaultView
- icon={this.props.defaultViewIcon}
- messages={["No items found"]}
+ <DataTableDefaultView
+ icon={this.props.defaultViewIcon}
+ messages={["No items found"]}
/>
);
- } else
+ } else
if (isLoaded === false || working === true) {
return (
- <DataTableDefaultView
- icon={PendingIcon}
- messages={["Loading data, please wait"]}
+ <DataTableDefaultView
+ icon={PendingIcon}
+ messages={["Loading data, please wait"]}
/>
);
} else {