From aa45dc0a8376c8534e92e4c35b0085539faef3b6 Mon Sep 17 00:00:00 2001 From: Gasim Gasimzada Date: Thu, 9 Jan 2020 01:31:47 +0400 Subject: [PATCH] Extract keys and key related utils into their own module --- src/App.tsx | 25 +------------------------ src/element/textWysiwyg.tsx | 2 +- src/keys.ts | 23 +++++++++++++++++++++++ 3 files changed, 25 insertions(+), 25 deletions(-) create mode 100644 src/keys.ts diff --git a/src/App.tsx b/src/App.tsx index bdd07f28f..04140e95f 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -35,6 +35,7 @@ import { AppState } from "./types"; import { ExcalidrawElement, ExcalidrawTextElement } from "./element/types"; import { getDateTime, isInputLike, measureText } from "./utils"; +import { KEYS, META_KEY, isArrowKey } from "./keys"; import { ButtonSelect } from "./components/ButtonSelect"; import { findShapeByKey, shapesShortcutKeys } from "./shapes"; @@ -57,32 +58,8 @@ const DEFAULT_PROJECT_NAME = `excalidraw-${getDateTime()}`; const CANVAS_WINDOW_OFFSET_LEFT = 250; const CANVAS_WINDOW_OFFSET_TOP = 0; -export const KEYS = { - ARROW_LEFT: "ArrowLeft", - ARROW_RIGHT: "ArrowRight", - ARROW_DOWN: "ArrowDown", - ARROW_UP: "ArrowUp", - ENTER: "Enter", - ESCAPE: "Escape", - DELETE: "Delete", - BACKSPACE: "Backspace" -}; - -const META_KEY = /Mac|iPod|iPhone|iPad/.test(window.navigator.platform) - ? "metaKey" - : "ctrlKey"; - let copiedStyles: string = "{}"; -function isArrowKey(keyCode: string) { - return ( - keyCode === KEYS.ARROW_LEFT || - keyCode === KEYS.ARROW_RIGHT || - keyCode === KEYS.ARROW_DOWN || - keyCode === KEYS.ARROW_UP - ); -} - function resetCursor() { document.documentElement.style.cursor = ""; } diff --git a/src/element/textWysiwyg.tsx b/src/element/textWysiwyg.tsx index 99a2d0495..1046e375c 100644 --- a/src/element/textWysiwyg.tsx +++ b/src/element/textWysiwyg.tsx @@ -1,4 +1,4 @@ -import { KEYS } from "../App"; +import { KEYS } from "../keys"; type TextWysiwygParams = { initText: string; diff --git a/src/keys.ts b/src/keys.ts new file mode 100644 index 000000000..8147b56b2 --- /dev/null +++ b/src/keys.ts @@ -0,0 +1,23 @@ +export const KEYS = { + ARROW_LEFT: "ArrowLeft", + ARROW_RIGHT: "ArrowRight", + ARROW_DOWN: "ArrowDown", + ARROW_UP: "ArrowUp", + ENTER: "Enter", + ESCAPE: "Escape", + DELETE: "Delete", + BACKSPACE: "Backspace" +}; + +export const META_KEY = /Mac|iPod|iPhone|iPad/.test(window.navigator.platform) + ? "metaKey" + : "ctrlKey"; + +export function isArrowKey(keyCode: string) { + return ( + keyCode === KEYS.ARROW_LEFT || + keyCode === KEYS.ARROW_RIGHT || + keyCode === KEYS.ARROW_DOWN || + keyCode === KEYS.ARROW_UP + ); +}