Skip to content

Commit d0843fa

Browse files
committed
feat: use keyboard mode tracker from core
1 parent 24a1f1c commit d0843fa

File tree

7 files changed

+30
-60
lines changed

7 files changed

+30
-60
lines changed

src/actions/arrow_navigation.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,12 @@
44
* SPDX-License-Identifier: Apache-2.0
55
*/
66

7-
import {ShortcutRegistry, utils as BlocklyUtils, Field} from 'blockly/core';
7+
import {
8+
ShortcutRegistry,
9+
utils as BlocklyUtils,
10+
Field,
11+
keyboardNavigationController,
12+
} from 'blockly/core';
813

914
import type {Toolbox, WorkspaceSvg} from 'blockly/core';
1015

@@ -122,6 +127,7 @@ export class ArrowNavigation {
122127
preconditionFn: (workspace) =>
123128
this.navigation.canCurrentlyNavigate(workspace),
124129
callback: (workspace, e, shortcut) => {
130+
keyboardNavigationController.setIsActive(true);
125131
return workspace.RTL
126132
? navigateOut(workspace, e, shortcut)
127133
: navigateIn(workspace, e, shortcut);
@@ -135,6 +141,7 @@ export class ArrowNavigation {
135141
preconditionFn: (workspace) =>
136142
this.navigation.canCurrentlyNavigate(workspace),
137143
callback: (workspace, e, shortcut) => {
144+
keyboardNavigationController.setIsActive(true);
138145
return workspace.RTL
139146
? navigateIn(workspace, e, shortcut)
140147
: navigateOut(workspace, e, shortcut);
@@ -148,6 +155,7 @@ export class ArrowNavigation {
148155
preconditionFn: (workspace) =>
149156
this.navigation.canCurrentlyNavigate(workspace),
150157
callback: (workspace, e, shortcut) => {
158+
keyboardNavigationController.setIsActive(true);
151159
const toolbox = workspace.getToolbox() as Toolbox;
152160
const flyout = workspace.getFlyout();
153161
let isHandled = false;
@@ -205,6 +213,7 @@ export class ArrowNavigation {
205213
preconditionFn: (workspace) =>
206214
this.navigation.canCurrentlyNavigate(workspace),
207215
callback: (workspace, e, shortcut) => {
216+
keyboardNavigationController.setIsActive(true);
208217
const flyout = workspace.getFlyout();
209218
const toolbox = workspace.getToolbox() as Toolbox;
210219
let isHandled = false;

src/actions/disconnect.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import {
1111
utils as BlocklyUtils,
1212
Connection,
1313
ConnectionType,
14+
keyboardNavigationController,
1415
} from 'blockly';
1516
import * as Constants from '../constants';
1617
import type {WorkspaceSvg} from 'blockly';
@@ -56,6 +57,7 @@ export class DisconnectAction {
5657
preconditionFn: (workspace) =>
5758
this.navigation.canCurrentlyEdit(workspace),
5859
callback: (workspace) => {
60+
keyboardNavigationController.setIsActive(true);
5961
switch (this.navigation.getState(workspace)) {
6062
case Constants.STATE.WORKSPACE:
6163
this.disconnectBlocks(workspace);

src/actions/edit.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,12 @@
44
* SPDX-License-Identifier: Apache-2.0
55
*/
66

7-
import {ContextMenuRegistry, LineCursor, Msg} from 'blockly';
7+
import {
8+
ContextMenuRegistry,
9+
LineCursor,
10+
Msg,
11+
keyboardNavigationController,
12+
} from 'blockly';
813
import {Navigation} from 'src/navigation';
914
import {getShortActionShortcut} from '../shortcut_formatting';
1015
import * as Constants from '../constants';
@@ -67,6 +72,7 @@ export class EditAction {
6772
return cursor.atEndOfLine() ? 'hidden' : 'enabled';
6873
},
6974
callback: (scope: ContextMenuRegistry.Scope) => {
75+
keyboardNavigationController.setIsActive(true);
7076
const workspace = scope.block?.workspace;
7177
if (!workspace) return false;
7278
workspace.getCursor()?.in();

src/actions/move.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import {
1111
ShortcutRegistry,
1212
utils,
1313
WorkspaceSvg,
14+
keyboardNavigationController,
1415
} from 'blockly';
1516
import {Direction} from '../drag_direction';
1617
import {Mover} from './mover';
@@ -40,6 +41,7 @@ export class MoveActions {
4041
return !!startBlock && this.mover.canMove(workspace, startBlock);
4142
},
4243
callback: (workspace) => {
44+
keyboardNavigationController.setIsActive(true);
4345
const startBlock = this.getCurrentBlock(workspace);
4446
return (
4547
!!startBlock && this.mover.startMove(workspace, startBlock, null)

src/actions/ws_movement.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@
44
* SPDX-License-Identifier: Apache-2.0
55
*/
66

7-
import {ShortcutRegistry, utils as BlocklyUtils} from 'blockly';
7+
import {
8+
ShortcutRegistry,
9+
utils as BlocklyUtils,
10+
keyboardNavigationController,
11+
} from 'blockly';
812
import * as Constants from '../constants';
913
import type {WorkspaceSvg} from 'blockly';
1014
import {Navigation} from 'src/navigation';
@@ -66,7 +70,10 @@ export class WorkspaceMovement {
6670
name: Constants.SHORTCUT_NAMES.CREATE_WS_CURSOR,
6771
preconditionFn: (workspace) =>
6872
this.navigation.canCurrentlyEdit(workspace),
69-
callback: (workspace) => this.createWSCursor(workspace),
73+
callback: (workspace) => {
74+
keyboardNavigationController.setIsActive(true);
75+
return this.createWSCursor(workspace);
76+
},
7077
keyCodes: [KeyCodes.W],
7178
},
7279
];

src/index.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import * as Blockly from 'blockly/core';
88
import {NavigationController} from './navigation_controller';
99
import {enableBlocksOnDrag} from './disabled_blocks';
10-
import {InputModeTracker} from './input_mode_tracker';
1110

1211
/** Plugin for keyboard navigation. */
1312
export class KeyboardNavigation {
@@ -20,11 +19,6 @@ export class KeyboardNavigation {
2019
/** Cursor for the main workspace. */
2120
private cursor: Blockly.LineCursor;
2221

23-
/**
24-
* Input mode tracking.
25-
*/
26-
private inputModeTracker: InputModeTracker;
27-
2822
/**
2923
* Focus ring in the workspace.
3024
*/
@@ -54,7 +48,6 @@ export class KeyboardNavigation {
5448
this.navigationController.init();
5549
this.navigationController.addWorkspace(workspace);
5650
this.navigationController.enable(workspace);
57-
this.inputModeTracker = new InputModeTracker(workspace);
5851

5952
this.cursor = new Blockly.LineCursor(workspace);
6053

@@ -124,7 +117,6 @@ export class KeyboardNavigation {
124117
// Remove the event listener that enables blocks on drag
125118
this.workspace.removeChangeListener(enableBlocksOnDrag);
126119
this.navigationController.dispose();
127-
this.inputModeTracker.dispose();
128120
}
129121

130122
/**

src/input_mode_tracker.ts

Lines changed: 0 additions & 48 deletions
This file was deleted.

0 commit comments

Comments
 (0)