Update the keyboard nav demo (#3512)

This commit is contained in:
alschmiedt
2019-12-18 09:37:02 -08:00
committed by GitHub
parent 3d66eab311
commit 9347348f46
3 changed files with 242 additions and 220 deletions

View File

@@ -227,7 +227,11 @@
Blockly.navigation.ACTION_MARK,
Blockly.navigation.ACTION_DISCONNECT,
Blockly.navigation.ACTION_TOOLBOX,
Blockly.navigation.ACTION_EXIT
Blockly.navigation.ACTION_EXIT,
Blockly.navigation.ACTION_MOVE_WS_CURSOR_UP,
Blockly.navigation.ACTION_MOVE_WS_CURSOR_LEFT,
Blockly.navigation.ACTION_MOVE_WS_CURSOR_DOWN,
Blockly.navigation.ACTION_MOVE_WS_CURSOR_RIGHT
];
createKeyMappingList(actions);
@@ -237,8 +241,9 @@
*/
function demo() {
var doNext = function() {
var node = Blockly.getMainWorkspace().getCursor().next();
if (node) {
var markerManager = Blockly.getMainWorkspace().getMarkerManager();
var nextNode = markerManager.getCursor().next();
if (nextNode) {
timeout = setTimeout(doNext, 1000);
}
}
@@ -288,20 +293,20 @@
Blockly.navigation.enableKeyboardAccessibility();
document.getElementById('accessibilityModeCheck').checked = true;
document.getElementById('cursorChanger').value = cursorType;
var oldCurNode = Blockly.getMainWorkspace().getCursor().getCurNode();
var markerManager = Blockly.getMainWorkspace().getMarkerManager();
var oldCurNode = markerManager.getCursor().getCurNode();
if (cursorType === "basic") {
Blockly.ASTNode.NAVIGATE_ALL_FIELDS = false;
Blockly.getMainWorkspace().setCursor(new Blockly.BasicCursor());
markerManager.setCursor(new Blockly.BasicCursor());
} else if (cursorType === "line") {
Blockly.ASTNode.NAVIGATE_ALL_FIELDS = true;
Blockly.getMainWorkspace().setCursor(new Blockly.LineCursor());
markerManager.setCursor(new Blockly.LineCursor());
} else {
Blockly.ASTNode.NAVIGATE_ALL_FIELDS = false;
Blockly.getMainWorkspace().setCursor(new Blockly.Cursor());
markerManager.setCursor(new Blockly.Cursor());
}
if (oldCurNode) {
Blockly.getMainWorkspace().getCursor().setCurNode(oldCurNode);
markerManager.getCursor().setCurNode(oldCurNode);
}
document.activeElement.blur();
}