mirror of
https://github.com/google/blockly.git
synced 2026-04-29 16:40:13 +02:00
da1db45dd2
* refactor!: Update dragging APIs. * fix: Fix bug that caused drags to always result in deletion * refactor: Clean up block drag handling with new API * chore: Format files * feat: Add an `isBoundedElement` type predicate * feat: Make `Bubble` implement `IBoundedElement` * fix: Fix jumping/scrolling when moving blocks * feat: Add a `KeyboardMover` * feat: Update the `BlockDragStrategy` to support constrained movement * feat: Register keyboard shortcuts to drive movement * feat: Display a move indicator on items that are being moved * fix: Reenable move hints * fix: Fix bugs that caused elements to be mispositioned by keyboard moves at non-default zoom levels * fix: Fix a bug that caused certain connections to be visited out of order * fix: Fix a bug that caused blocks to become disconnected during constrained moves * test: Add tests for keyboard-driven movement * chore: Add exports * chore: Run formatter * chore: Make the linter happy * chore: Update closure compiler * fix: Fix test suite on non-macOS * fix: Don't scroll in response to arrow keys while moving items * fix: Fix positioning of move indicator in RTL * refactor: Clarify return types of drag-start related methods * refactor: Make the `KeyboardMover` a singleton * fix: Fix import path * refactor: Remove `WorkspaceSvg.keyboardMoveInProgress` * fix: Fix tests * chore: Remove unused import * chore: Clean up comments and names * refactor: Make `IDraggable` extend `IBoundedElement` and `ISelectable` * chore: Rename test blocks file for move mode * refactor: Make block connection offset a constant * refactor: Export `KeyboardMover` class with a static instance * fix: Use Command and Control as modifiers for unconstrained move mode * fix: Fix test failures in CI * feat: Support allowlisting keyboard shortcuts for mid-move use