From 1c6f2a584bf57562e5846918195a5abd52a832e3 Mon Sep 17 00:00:00 2001 From: Rachel Fenichel Date: Wed, 2 Apr 2025 17:27:52 -0700 Subject: [PATCH] fix: position of block at the start of a drag --- src/actions/clipboard.ts | 1 - src/keyboard_drag_strategy.ts | 10 +++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/actions/clipboard.ts b/src/actions/clipboard.ts index 7280444a..d293e3bb 100644 --- a/src/actions/clipboard.ts +++ b/src/actions/clipboard.ts @@ -5,7 +5,6 @@ */ import { - ASTNode, ContextMenuRegistry, Gesture, ShortcutRegistry, diff --git a/src/keyboard_drag_strategy.ts b/src/keyboard_drag_strategy.ts index efdd4ffc..04a101c6 100644 --- a/src/keyboard_drag_strategy.ts +++ b/src/keyboard_drag_strategy.ts @@ -6,4 +6,12 @@ import {dragging} from 'blockly'; -export class KeyboardDragStrategy extends dragging.BlockDragStrategy {} +export class KeyboardDragStrategy extends dragging.BlockDragStrategy { + override startDrag(e?: PointerEvent) { + super.startDrag(e); + // Set position of the dragging block, so that it doesn't pop + // to the top left of the workspace. + // @ts-expect-error block and startLoc are private. + this.block.moveDuringDrag(this.startLoc); + } +}