Skip to content

Conversation

@gonfunko
Copy link
Contributor

@gonfunko gonfunko commented Jul 1, 2025

The basics

The details

Resolves

Fixes RaspberryPiFoundation/blockly-keyboard-experimentation#220

Proposed Changes

This PR improves the handling of focus when undoing or redoing block deletes/adds and moves. In certain cases, focus could become lost, because setting the parent of a block shuffles its SVG's position in the DOM, and appendChild() does not preserve focus state. Now, the focused element is saved and restored after DOM manipulation is complete. Additionally, I added a heuristic to infer the parent block to focus when a block is being deleted in cases where a block was programmatically detached from its parent prior to being deleted.

@gonfunko gonfunko requested a review from a team as a code owner July 1, 2025 16:16
@gonfunko gonfunko requested a review from maribethb July 1, 2025 16:16
@github-actions github-actions bot added the PR: fix Fixes a bug label Jul 1, 2025
@gonfunko gonfunko merged commit fd3a756 into RaspberryPiFoundation:develop Jul 1, 2025
13 checks passed
@gonfunko gonfunko deleted the undo-redo-focus branch July 1, 2025 18:05
@gonfunko gonfunko mentioned this pull request Jul 7, 2025
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR: fix Fixes a bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cursor position after undo/redo

2 participants