From 672331faaae53cf7b30522135d3d57948afccc92 Mon Sep 17 00:00:00 2001 From: Antonella Sgarlatta Date: Wed, 2 Jun 2021 20:18:59 -0300 Subject: [PATCH] feat: navigate tags with arrow keys --- app/assets/javascripts/components/NoteTag.tsx | 27 +++++++++++++++---- .../ui_models/app_state/active_note_state.ts | 25 ++++++++++++----- 2 files changed, 40 insertions(+), 12 deletions(-) diff --git a/app/assets/javascripts/components/NoteTag.tsx b/app/assets/javascripts/components/NoteTag.tsx index d3c7a937d..ef304ce0a 100644 --- a/app/assets/javascripts/components/NoteTag.tsx +++ b/app/assets/javascripts/components/NoteTag.tsx @@ -36,6 +36,27 @@ export const NoteTag: FunctionalComponent = ({ appState, tag }) => { } }; + const onKeyUp = (event: KeyboardEvent) => { + let previousTagElement; + let nextTagElement; + + switch (event.key) { + case "Backspace": + deleteTag(); + break; + case "ArrowLeft": + previousTagElement = appState.activeNote.getPreviousTagElement(tag); + previousTagElement?.focus(); + break; + case "ArrowRight": + nextTagElement = appState.activeNote.getNextTagElement(tag); + nextTagElement?.focus(); + break; + default: + return; + } + }; + return (