Skip to content

Commit 3668c41

Browse files
committed
Revert "fix: move an image doesn't work with drag and drop (#2603)"
This reverts commit fdf605e.
1 parent fdf605e commit 3668c41

File tree

2 files changed

+7
-65
lines changed

2 files changed

+7
-65
lines changed

packages/core/src/extensions/FormattingToolbar/FormattingToolbar.ts

Lines changed: 6 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -61,17 +61,16 @@ export const FormattingToolbarExtension = createExtension(({ editor }) => {
6161
* We want to mimic the Notion behavior of not showing the toolbar while the user is holding down the mouse button (to create a selection)
6262
*/
6363
let preventShowWhileMouseDown = false;
64-
let preventShowWhileDragging = false;
6564

6665
const unsubscribeOnChange = editor.onChange(() => {
67-
if (preventShowWhileMouseDown || preventShowWhileDragging) {
66+
if (preventShowWhileMouseDown) {
6867
return;
6968
}
7069
// re-evaluate whether the toolbar should be shown
7170
store.setState(shouldShow());
7271
});
7372
const unsubscribeOnSelectionChange = editor.onSelectionChange(() => {
74-
if (preventShowWhileMouseDown || preventShowWhileDragging) {
73+
if (preventShowWhileMouseDown) {
7574
return;
7675
}
7776
// re-evaluate whether the toolbar should be shown
@@ -92,7 +91,6 @@ export const FormattingToolbarExtension = createExtension(({ editor }) => {
9291
"pointerup",
9392
() => {
9493
preventShowWhileMouseDown = false;
95-
9694
// We only want to re-show the toolbar if the mouse made the selection
9795
if (editor.isFocused()) {
9896
store.setState(shouldShow());
@@ -104,27 +102,12 @@ export const FormattingToolbarExtension = createExtension(({ editor }) => {
104102
dom.addEventListener(
105103
"pointercancel",
106104
() => {
107-
preventShowWhileMouseDown = true;
108-
},
109-
{ signal,
110-
capture: true },
111-
);
112-
113-
editor.prosemirrorView.root.addEventListener(
114-
"dragstart",
115-
() => {
116-
preventShowWhileDragging = true;
117-
store.setState(false);
105+
preventShowWhileMouseDown = false;
118106
},
119-
{ signal },
120-
);
121-
122-
editor.prosemirrorView.root.addEventListener(
123-
"dragend",
124-
() => {
125-
preventShowWhileDragging = false;
107+
{
108+
signal,
109+
capture: true,
126110
},
127-
{ signal },
128111
);
129112

130113
signal.addEventListener("abort", () => {

tests/src/end-to-end/images/images.test.ts

Lines changed: 1 addition & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,12 @@ import { FileChooser, expect } from "@playwright/test";
22
import { test } from "../../setup/setupScript.js";
33
import {
44
BASE_URL,
5-
DRAG_HANDLE_SELECTOR,
65
H_ONE_BLOCK_SELECTOR,
76
IMAGE_SELECTOR,
87
} from "../../utils/const.js";
98
import { insertHeading } from "../../utils/copypaste.js";
109
import { compareDocToSnapshot, focusOnEditor } from "../../utils/editor.js";
11-
import { dragAndDropBlock, moveMouseOverElement } from "../../utils/mouse.js";
10+
import { dragAndDropBlock } from "../../utils/mouse.js";
1211
import { executeSlashCommand } from "../../utils/slashmenu.js";
1312

1413
const IMAGE_UPLOAD_PATH = "src/end-to-end/images/placeholder.png";
@@ -129,44 +128,4 @@ test.describe("Check Image Block and Toolbar functionality", () => {
129128

130129
await compareDocToSnapshot(page, "dragImage");
131130
});
132-
test("Formatting toolbar should not appear when dragging image block", async ({
133-
page,
134-
}) => {
135-
await focusOnEditor(page);
136-
await executeSlashCommand(page, "image");
137-
await insertHeading(page, 1);
138-
139-
// move mouse over image to reveal drag handle
140-
const dragTarget = page.locator(IMAGE_SELECTOR);
141-
await moveMouseOverElement(page, dragTarget);
142-
await page.waitForTimeout(100);
143-
144-
await page.waitForSelector(DRAG_HANDLE_SELECTOR);
145-
const dragHandle = page.locator(DRAG_HANDLE_SELECTOR);
146-
const dragHandleBox = (await dragHandle.boundingBox())!;
147-
148-
// start drag from the drag handle
149-
await page.mouse.move(
150-
dragHandleBox.x + dragHandleBox.width / 2,
151-
dragHandleBox.y + dragHandleBox.height / 2,
152-
{ steps: 5 },
153-
);
154-
await page.mouse.down();
155-
await page.waitForTimeout(100);
156-
157-
// move mid-drag to the heading block
158-
const dropTarget = page.locator(H_ONE_BLOCK_SELECTOR);
159-
const dropTargetBox = (await dropTarget.boundingBox())!;
160-
await page.mouse.move(
161-
dropTargetBox.x + dropTargetBox.width / 2,
162-
dropTargetBox.y + dropTargetBox.height / 2,
163-
{ steps: 5 },
164-
);
165-
166-
// assert formatting toolbar is not visible during drag
167-
const toolbar = page.locator(".bn-formatting-toolbar");
168-
await expect(toolbar).not.toBeVisible();
169-
170-
await page.mouse.up();
171-
});
172131
});

0 commit comments

Comments
 (0)