in static/src/javascripts/projects/common/modules/crosswords/crossword.js [123:161]
onKeyDown(event) {
const cell = this.state.cellInFocus;
if (event.keyCode === keycodes.tab) {
event.preventDefault();
if (event.shiftKey) {
this.focusPreviousClue();
} else {
this.focusNextClue();
}
} else if (!event.metaKey && !event.ctrlKey && !event.altKey) {
if (
event.keyCode === keycodes.backspace ||
event.keyCode === keycodes.delete
) {
event.preventDefault();
if (cell) {
if (this.cellIsEmpty(cell.x, cell.y)) {
this.focusPrevious();
} else {
this.setCellValue(cell.x, cell.y, '');
this.save();
}
}
} else if (event.keyCode === keycodes.left) {
event.preventDefault();
this.moveFocus(-1, 0);
} else if (event.keyCode === keycodes.up) {
event.preventDefault();
this.moveFocus(0, -1);
} else if (event.keyCode === keycodes.right) {
event.preventDefault();
this.moveFocus(1, 0);
} else if (event.keyCode === keycodes.down) {
event.preventDefault();
this.moveFocus(0, 1);
}
}
}