diff options
author | Sam Wilkins <samwilkins333@gmail.com> | 2019-06-29 19:25:50 -0400 |
---|---|---|
committer | Sam Wilkins <samwilkins333@gmail.com> | 2019-06-29 19:25:50 -0400 |
commit | 14156b86235765d5c5d018fea638910e02e70f68 (patch) | |
tree | 693f23e307da67e03b461fd39dcdc2b97e122295 /src | |
parent | 9f37f932586dc213e0640e1186e5d43d9d73d734 (diff) |
keyhandler static changes
Diffstat (limited to 'src')
-rw-r--r-- | src/client/views/GlobalKeyHandler.ts | 18 | ||||
-rw-r--r-- | src/client/views/MainView.tsx | 19 |
2 files changed, 16 insertions, 21 deletions
diff --git a/src/client/views/GlobalKeyHandler.ts b/src/client/views/GlobalKeyHandler.ts index ac1c33c71..e467d7c61 100644 --- a/src/client/views/GlobalKeyHandler.ts +++ b/src/client/views/GlobalKeyHandler.ts @@ -13,17 +13,13 @@ type KeyControlInfo = { }; export default class KeyManager { - public static Handler: KeyManager; - private mainView: MainView; + public static Handler: KeyManager = new KeyManager(); private router = new Map<string, KeyHandler>(); - constructor(mainView: MainView) { - this.mainView = mainView; - + constructor() { let isMac = navigator.platform.toLowerCase().indexOf("mac") >= 0; // SHIFT CONTROL ALT META - this.router.set("0000", this.unmodified); this.router.set(isMac ? "0001" : "0100", this.ctrl); this.router.set(isMac ? "0100" : "0010", this.alt); @@ -60,7 +56,7 @@ export default class KeyManager { private unmodified = action((keyname: string) => { switch (keyname) { case "escape": - if (this.mainView.isPointerDown) { + if (MainView.Instance.isPointerDown) { DragManager.AbortDrag(); } else { if (CollectionDockingView.Instance.HasFullScreen()) { @@ -84,7 +80,7 @@ export default class KeyManager { switch (keyname) { case "n": - let toggle = this.mainView.addMenuToggle.current!; + let toggle = MainView.Instance.addMenuToggle.current!; toggle.checked = !toggle.checked; break; } @@ -101,13 +97,13 @@ export default class KeyManager { switch (keyname) { case "arrowright": - this.mainView.mainFreeform && CollectionDockingView.Instance.AddRightSplit(this.mainView.mainFreeform, undefined); + MainView.Instance.mainFreeform && CollectionDockingView.Instance.AddRightSplit(MainView.Instance.mainFreeform, undefined); break; case "arrowleft": - this.mainView.mainFreeform && CollectionDockingView.Instance.CloseRightSplit(this.mainView.mainFreeform); + MainView.Instance.mainFreeform && CollectionDockingView.Instance.CloseRightSplit(MainView.Instance.mainFreeform); break; case "f": - this.mainView.isSearchVisible = !this.mainView.isSearchVisible; + MainView.Instance.isSearchVisible = !MainView.Instance.isSearchVisible; break; case "o": let target = SelectionManager.SelectedDocuments()[0]; diff --git a/src/client/views/MainView.tsx b/src/client/views/MainView.tsx index fe3ff2392..fb88c284f 100644 --- a/src/client/views/MainView.tsx +++ b/src/client/views/MainView.tsx @@ -64,24 +64,23 @@ export class MainView extends React.Component { } componentWillMount() { - KeyManager.Handler = new KeyManager(this); - document.removeEventListener("keydown", KeyManager.Handler.handle); - document.addEventListener("keydown", KeyManager.Handler.handle); + window.removeEventListener("keydown", KeyManager.Handler.handle); + window.addEventListener("keydown", KeyManager.Handler.handle); - document.removeEventListener("pointerdown", this.pointerDown); - document.addEventListener("pointerdown", this.pointerDown); + window.removeEventListener("pointerdown", this.pointerDown); + window.addEventListener("pointerdown", this.pointerDown); - document.removeEventListener("pointerup", this.pointerUp); - document.addEventListener("pointerup", this.pointerUp); + window.removeEventListener("pointerup", this.pointerUp); + window.addEventListener("pointerup", this.pointerUp); } pointerDown = (e: PointerEvent) => this.isPointerDown = true; pointerUp = (e: PointerEvent) => this.isPointerDown = false; componentWillUnMount() { - document.removeEventListener("keydown", KeyManager.Handler.handle); - document.removeEventListener("pointerdown", this.pointerDown); - document.removeEventListener("pointerup", this.pointerUp); + window.removeEventListener("keydown", KeyManager.Handler.handle); + window.removeEventListener("pointerdown", this.pointerDown); + window.removeEventListener("pointerup", this.pointerUp); } constructor(props: Readonly<{}>) { |