diff options
| author | Bob Zeleznik <zzzman@gmail.com> | 2019-07-12 22:19:05 -0400 |
|---|---|---|
| committer | Bob Zeleznik <zzzman@gmail.com> | 2019-07-12 22:19:05 -0400 |
| commit | f9c833cafb9c0268435aef4eafe240c3403d7472 (patch) | |
| tree | eb9a0859c6a4c9be5e72434e8a8fca394baa58df /src/client/views/GlobalKeyHandler.ts | |
| parent | 4db507d08249ccddf664798ab59c3b729c3d1065 (diff) | |
| parent | 59d32987f4f220c97a3b3cd4886ba47f3e8c4341 (diff) | |
Merge branch 'master' of https://github.com/browngraphicslab/Dash-Web
Diffstat (limited to 'src/client/views/GlobalKeyHandler.ts')
| -rw-r--r-- | src/client/views/GlobalKeyHandler.ts | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/client/views/GlobalKeyHandler.ts b/src/client/views/GlobalKeyHandler.ts index 280b13599..d3c689571 100644 --- a/src/client/views/GlobalKeyHandler.ts +++ b/src/client/views/GlobalKeyHandler.ts @@ -6,7 +6,7 @@ import { DragManager } from "../util/DragManager"; import { action } from "mobx"; const modifiers = ["control", "meta", "shift", "alt"]; -type KeyHandler = (keycode: string) => KeyControlInfo; +type KeyHandler = (keycode: string, e: KeyboardEvent) => KeyControlInfo; type KeyControlInfo = { preventDefault: boolean, stopPropagation: boolean @@ -42,7 +42,7 @@ export default class KeyManager { return; } - let control = handleConstrained(keyname); + let control = handleConstrained(keyname, e); control.stopPropagation && e.stopPropagation(); control.preventDefault && e.preventDefault(); @@ -53,7 +53,7 @@ export default class KeyManager { } }); - private unmodified = action((keyname: string) => { + private unmodified = action((keyname: string, e: KeyboardEvent) => { switch (keyname) { case "escape": if (MainView.Instance.isPointerDown) { @@ -69,6 +69,11 @@ export default class KeyManager { break; case "delete": case "backspace": + if (document.activeElement) { + if (document.activeElement.tagName === "INPUT" || document.activeElement.tagName === "TEXTAREA") { + return { stopPropagation: false, preventDefault: false }; + } + } UndoManager.RunInBatch(() => { SelectionManager.SelectedDocuments().map(docView => { let doc = docView.props.Document; |
