21128: checkboxes dont preserve through URL changes anymore Arvados-DCO-1.1-Signed...
[arvados-workbench2.git] / src / components / data-table / data-table.tsx
index 59e154138a29389d617ff31310bb4671e562d49a..84d377bba13fb74ab89701a259f3615bf08d127b 100644 (file)
@@ -155,6 +155,13 @@ export const DataTable = withStyles(styles)(
                 if (items.length) this.initializeCheckedList(items);
                 else setCheckedListOnStore({});
             }
+            if (prevProps.currentRoute !== this.props.currentRoute) {
+                this.initializeCheckedList([])
+            }
+        }
+
+        componentWillUnmount(): void {
+            this.initializeCheckedList([])
         }
 
         checkBoxColumn: DataColumn<any, any> = {
@@ -169,7 +176,7 @@ export const DataTable = withStyles(styles)(
                         type="checkbox"
                         name={uuid}
                         className={classes.checkBox}
-                        checked={checkedList ? checkedList[uuid] : false}
+                        checked={checkedList && checkedList[uuid] ? checkedList[uuid] : false}
                         onChange={() => this.handleSelectOne(uuid)}
                         onDoubleClick={ev => ev.stopPropagation()}></input>
                 );