From a19349bdae0e7e961810500d1e3669b2e831cd95 Mon Sep 17 00:00:00 2001 From: Harsh Singh Date: Sun, 24 Nov 2024 22:29:49 +0530 Subject: [PATCH] fix: table deselect doesn't work with few selected records (#8692) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes: #8665 [Screencast from 2024-11-23 00-33-14.webm](https://github.com/user-attachments/assets/e3b86955-4e12-4d10-9c13-ee60d7695cb3) Co-authored-by: Félix Malfait --- .../components/RecordTableHeaderCheckboxColumn.tsx | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/twenty-front/src/modules/object-record/record-table/record-table-header/components/RecordTableHeaderCheckboxColumn.tsx b/packages/twenty-front/src/modules/object-record/record-table/record-table-header/components/RecordTableHeaderCheckboxColumn.tsx index 4dd54f6b4..970e511c3 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/record-table-header/components/RecordTableHeaderCheckboxColumn.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/record-table-header/components/RecordTableHeaderCheckboxColumn.tsx @@ -26,16 +26,17 @@ export const RecordTableHeaderCheckboxColumn = () => { ); const { selectAllRows, resetTableRowSelection, setHasUserSelectedAllRows } = useRecordTable(); - const checked = allRowsSelectedStatus === 'all'; + const checked = + allRowsSelectedStatus === 'all' || allRowsSelectedStatus === 'some'; const indeterminate = allRowsSelectedStatus === 'some'; - const onChange = (e: React.ChangeEvent) => { - if (e.target.checked) { - setHasUserSelectedAllRows(true); - selectAllRows(); - } else { + const onChange = () => { + if (checked) { setHasUserSelectedAllRows(false); resetTableRowSelection(); + } else { + setHasUserSelectedAllRows(true); + selectAllRows(); } };