From 6ba79b035e0acffd772ffc3a3688215f79408a7d Mon Sep 17 00:00:00 2001 From: JSReds Date: Wed, 8 Feb 2023 17:55:33 +0100 Subject: [PATCH] Fix onCheck checked state Change-type: patch Signed-off-by: Andrea Rosci --- .../Renderer/__snapshots__/spec.tsx.snap | 6 +++--- src/components/Table/TableBase.tsx | 19 ++++++++++--------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/components/Renderer/__snapshots__/spec.tsx.snap b/src/components/Renderer/__snapshots__/spec.tsx.snap index 8a0edc88e..225057bb4 100644 --- a/src/components/Renderer/__snapshots__/spec.tsx.snap +++ b/src/components/Renderer/__snapshots__/spec.tsx.snap @@ -1605,11 +1605,11 @@ exports[`Renderer component A drop-down button widget 1`] = ` data-prefix="fas" focusable="false" role="img" - viewBox="0 0 512 512" + viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg" > @@ -4058,7 +4058,7 @@ exports[`Renderer component An invalid value 1`] = ` xmlns="http://www.w3.org/2000/svg" > diff --git a/src/components/Table/TableBase.tsx b/src/components/Table/TableBase.tsx index 795a5fd43..67276e4ac 100644 --- a/src/components/Table/TableBase.tsx +++ b/src/components/Table/TableBase.tsx @@ -413,17 +413,18 @@ export class TableBase extends React.Component< ? data.filter((r) => !disabledRowsSet.has(r[rowKey])) : data.slice(); } - if (onCheck) { - onCheck(checkedItems, this.state.checkedState); - } - this.setState(({ checkedState }) => ({ - lastSelected: null, - checkedState: pagination?.serverSide + this.setState(({ checkedState }) => { + const newCheckedState = pagination?.serverSide ? this.toggleCheckedState(checkedState) - : this.howManyRowsChecked(checkedItems!), - checkedItems, - })); + : this.howManyRowsChecked(checkedItems!); + onCheck?.(checkedItems, newCheckedState); + return { + lastSelected: null, + checkedState: newCheckedState, + checkedItems, + }; + }); }; public toggleChecked = (e: React.ChangeEvent) => {