aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/GlobalKeyHandler.ts
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2021-02-23 01:53:52 -0500
committerbobzel <zzzman@gmail.com>2021-02-23 01:53:52 -0500
commit7035e2e6bdcb3efbfa3a4eca887b41eba87e6d6e (patch)
tree1ac91247a1276e54c10f836ae826d4393b34315d /src/client/views/GlobalKeyHandler.ts
parentf22163e9e4118df3faf06afc28045b84615fba0d (diff)
fixed backspace to delete text items in treeViews. simplified UndoRunInTempBatch. fixed clicking on sort line for treeView to only recognize actual clicks. fixed stayInCollection with DocDecorations to not create a giant gray square. prevent server crash when db has bad data somehow.
Diffstat (limited to 'src/client/views/GlobalKeyHandler.ts')
-rw-r--r--src/client/views/GlobalKeyHandler.ts13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/client/views/GlobalKeyHandler.ts b/src/client/views/GlobalKeyHandler.ts
index 3ebcda219..14c0a18a3 100644
--- a/src/client/views/GlobalKeyHandler.ts
+++ b/src/client/views/GlobalKeyHandler.ts
@@ -142,13 +142,14 @@ export class KeyManager {
break;
case "delete":
case "backspace":
- if (document.activeElement?.tagName === "INPUT" || document.activeElement?.tagName === "TEXTAREA") {
- return { stopPropagation: false, preventDefault: false };
+ if (document.activeElement?.tagName !== "INPUT" && document.activeElement?.tagName !== "TEXTAREA") {
+ const selected = SelectionManager.Views().slice();
+ UndoManager.RunInBatch(() => {
+ SelectionManager.DeselectAll();
+ selected.map(dv => !dv.props.Document._stayInCollection && dv.props.removeDocument?.(dv.props.Document));
+ }, "delete");
+ return { stopPropagation: true, preventDefault: true };
}
-
- const selected = SelectionManager.Views().slice();
- UndoManager.RunInBatch(() => selected.map(dv => !dv.props.Document._stayInCollection && dv.props.removeDocument?.(dv.props.Document)), "delete");
- SelectionManager.DeselectAll();
break;
case "arrowleft": UndoManager.RunInBatch(() => SelectionManager.Views().map(dv => dv.props.CollectionFreeFormDocumentView?.().nudge(-1, 0)), "nudge left"); break;
case "arrowright": UndoManager.RunInBatch(() => SelectionManager.Views().map(dv => dv.props.CollectionFreeFormDocumentView?.().nudge?.(1, 0)), "nudge right"); break;