adobe / adobe/react-spectrum

Can't reorder rows on first drag in button handle on React Aria Table

Open
#10,423 9 comments 1 reaction 0 assignees View on GitHub
bug
Dominant language
TypeScript
Stars
15.9k
Forks
1.6k
Avg merge
3d 9m
Merged PRs (30d)
59

Description

### Provide a general summary of the issue here

When dragging the button handle in a table row nothing happens. When trying a second time the row is now draggable/reorderable. The `button` element has `pointer-events: none;` added as inline styles.
Dragging the row itself works fine, the bug is only when dragging the handle.

### 🤔 Expected Behavior?

To be able to drag and drop a table row in the first try. That works fine with [GridList and Tree but not Table](https://react-aria.adobe.com/dnd?component=Table)

### 😯 Current Behavior

When dragging the button handle in a table row nothing happens. When trying a second time the row is now draggable/reorderable. The `button` element has `pointer-events: none;` added as inline styles. If I set `pointer-events: auto;` as inline style it works fine.
Dragging the row itself works fine, the bug is only when dragging the handle.

See example [here](https://react-aria.adobe.com/Table#drag-and-drop)

### 💁 Possible Solution

Is the `pointer-events: none;` intended?

### 🔦 Context

Reordering table

### 🖥️ Steps to Reproduce

Drag the button handle. Now drag it again.

### Version

1.20

### What browsers are you seeing the problem on?

Microsoft Edge, Chrome

### If other, please specify.

_No response_

### What operating system are you using?

Windows

### 🧢 Your Company/Team

_No response_

### 🕷 Tracking Issue

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the issue in the linked Table drag-and-drop example with the button handle, then inspect the Table implementation and the inline pointer-events style. Done means the first drag from the handle reorders the row in Chrome and Edge, matching the existing GridList and Tree behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
react, typescript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.