Skip to content

Commit

Permalink
fix: Pressing Escape during component dragging makes the canvas unsel…
Browse files Browse the repository at this point in the history
…ectable. (#4571)

## Description

1. What is this PR about (link the issue and add a short description)

## Steps for reproduction

1. click button
2. expect xyz

## Code Review

- [ ] hi @kof, I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)
  - test it on preview

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
0000)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file
  • Loading branch information
istarkov authored Dec 12, 2024
1 parent 5de42b2 commit 8cd3dc3
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions packages/design-system/src/components/primitives/dnd/use-drag.ts
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,17 @@ export const useDrag = <DragItemData>(
};
}, []);

useEffect(
() => () => {
// A component can be disposed of during dragging
// (e.g., by pressing Escape or closing the components panel while dragging).
if (state.current.status === "dragging") {
end(true);
}
},
[end]
);

useEffect(() => {
if (rootElement !== null) {
rootElement.addEventListener("pointerdown", handlePointerDown);
Expand Down

0 comments on commit 8cd3dc3

Please sign in to comment.