Skip to content

Commit a83084b

Browse files
committed
[IndexTable] Don't trigger onSelectionChange() on edges of disabled checkbox
1 parent 1539f0e commit a83084b

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

.changeset/breezy-ghosts-pay.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@shopify/polaris': patch
3+
---
4+
5+
Fixed edges of disabled `IndexTable.Row` `Checkbox` triggering selection

polaris-react/src/components/IndexTable/components/Row/Row.tsx

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,13 @@ export const Row = memo(function Row({
7171
event.stopPropagation();
7272
let selectionType = SelectionType.Single;
7373

74-
if (('key' in event && event.key !== ' ') || !onSelectionChange) return;
74+
if (
75+
disabled ||
76+
!selectable ||
77+
('key' in event && event.key !== ' ') ||
78+
!onSelectionChange
79+
)
80+
return;
7581

7682
if (event.nativeEvent.shiftKey) {
7783
selectionType = SelectionType.Multi;
@@ -82,7 +88,15 @@ export const Row = memo(function Row({
8288
const selection: string | Range = selectionRange ?? id;
8389
onSelectionChange(selectionType, !selected, selection, position);
8490
},
85-
[id, onSelectionChange, selected, selectionRange, position],
91+
[
92+
id,
93+
onSelectionChange,
94+
selected,
95+
selectionRange,
96+
position,
97+
disabled,
98+
selectable,
99+
],
86100
);
87101

88102
const contextValue = useMemo(

0 commit comments

Comments
 (0)