From 510439570e5fcb9f8e94f2e869be4ecc91e10231 Mon Sep 17 00:00:00 2001 From: Qstick Date: Sat, 10 Nov 2018 23:52:44 -0500 Subject: [PATCH] Fixed: Select all selecting hidden items Co-Authored-By: Mark McDowall --- frontend/src/Components/Table/Cells/TableSelectCell.js | 9 +++++++++ frontend/src/Utilities/Table/toggleSelected.js | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/frontend/src/Components/Table/Cells/TableSelectCell.js b/frontend/src/Components/Table/Cells/TableSelectCell.js index 51e3e2a1c..d516c43fd 100644 --- a/frontend/src/Components/Table/Cells/TableSelectCell.js +++ b/frontend/src/Components/Table/Cells/TableSelectCell.js @@ -20,6 +20,15 @@ class TableSelectCell extends Component { onSelectedChange({ id, value: isSelected }); } + componentWillUnmount() { + const { + id, + onSelectedChange + } = this.props; + + onSelectedChange({ id, value: null }); + } + // // Listeners diff --git a/frontend/src/Utilities/Table/toggleSelected.js b/frontend/src/Utilities/Table/toggleSelected.js index 8b263120d..ab6ffc3ba 100644 --- a/frontend/src/Utilities/Table/toggleSelected.js +++ b/frontend/src/Utilities/Table/toggleSelected.js @@ -9,6 +9,10 @@ function toggleSelected(state, items, id, selected, shiftKey) { [id]: selected }; + if (selected == null) { + delete selectedState[id]; + } + if (shiftKey && lastToggled) { const { lower, upper } = getToggledRange(items, id, lastToggled);