From 1cf35de8ef4993f4eac06ae411c28c67da1b73cd Mon Sep 17 00:00:00 2001 From: Greg Fodor <gfodor@gmail.com> Date: Wed, 9 May 2018 11:45:32 -0700 Subject: [PATCH] Added keyboard input --- src/react-components/link-root.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/react-components/link-root.js b/src/react-components/link-root.js index 92126c32b..9cd126016 100644 --- a/src/react-components/link-root.js +++ b/src/react-components/link-root.js @@ -23,6 +23,25 @@ class LinkRoot extends Component { failedAtLeastOnce: false }; + componentWillMount = () => { + document.addEventListener("keydown", this.handleKeyDown); + }; + + componentWillUnmount = () => { + document.removeEventListener("keydown", this.handleKeyDown); + }; + + handleKeyDown = e => { + if (e.keyCode < 48 || e.keyCode > 57) { + return; + } + + e.preventDefault(); + e.stopPropagation(); + + this.addDigit(e.keyCode - 48); + }; + addDigit = digit => { if (this.state.enteredDigits.length >= MAX_DIGITS) return; const newDigits = [...this.state.enteredDigits, digit]; -- GitLab