fix hotkeys not working when non-writable input focused (#717)

This commit is contained in:
David Luzar 2020-02-05 19:07:53 +01:00 committed by GitHub
parent 82eb97462b
commit 972d69da6c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -387,7 +387,11 @@ export class App extends React.Component<any, AppState> {
}; };
private onKeyDown = (event: KeyboardEvent) => { private onKeyDown = (event: KeyboardEvent) => {
if (isInputLike(event.target) && event.key !== KEYS.ESCAPE) { if (
(isWritableElement(event.target) && event.key !== KEYS.ESCAPE) ||
// case: using arrows to move between buttons
(isArrowKey(event.key) && isInputLike(event.target))
) {
return; return;
} }
@ -438,6 +442,9 @@ export class App extends React.Component<any, AppState> {
if (!isHoldingSpace) { if (!isHoldingSpace) {
setCursorForShape(shape); setCursorForShape(shape);
} }
if (document.activeElement instanceof HTMLElement) {
document.activeElement.blur();
}
elements = clearSelection(elements); elements = clearSelection(elements);
this.setState({ elementType: shape }); this.setState({ elementType: shape });
// Undo action // Undo action