diff --git a/core/comments/delete_comment_bar_button.ts b/core/comments/delete_comment_bar_button.ts index ccdd02539..0b7dcd0ea 100644 --- a/core/comments/delete_comment_bar_button.ts +++ b/core/comments/delete_comment_bar_button.ts @@ -5,6 +5,7 @@ */ import * as browserEvents from '../browser_events.js'; +import {getFocusManager} from '../focus_manager.js'; import * as touch from '../touch.js'; import * as dom from '../utils/dom.js'; import {Svg} from '../utils/svg.js'; @@ -98,5 +99,6 @@ export class DeleteCommentBarButton extends CommentBarButton { this.getParentComment().dispose(); e?.stopPropagation(); + getFocusManager().focusNode(this.workspace); } } diff --git a/tests/mocha/workspace_comment_test.js b/tests/mocha/workspace_comment_test.js index 6e3fa9607..3ce276e85 100644 --- a/tests/mocha/workspace_comment_test.js +++ b/tests/mocha/workspace_comment_test.js @@ -4,6 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ +import {assert} from '../../node_modules/chai/chai.js'; import { assertEventFired, createChangeListenerSpy, @@ -167,5 +168,15 @@ suite('Workspace comment', function () { this.workspace.id, ); }); + + test('focuses the workspace when deleted', function () { + const comment = new Blockly.comments.RenderedWorkspaceComment( + this.workspace, + ); + Blockly.getFocusManager().focusNode(comment); + assert.equal(Blockly.getFocusManager().getFocusedNode(), comment); + comment.view.getCommentBarButtons()[1].performAction(); + assert.equal(Blockly.getFocusManager().getFocusedNode(), this.workspace); + }); }); });