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) => {
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;
}
@ -438,6 +442,9 @@ export class App extends React.Component<any, AppState> {
if (!isHoldingSpace) {
setCursorForShape(shape);
}
if (document.activeElement instanceof HTMLElement) {
document.activeElement.blur();
}
elements = clearSelection(elements);
this.setState({ elementType: shape });
// Undo action