From 54fbb606eb2f3f8de5a4b66b324cda02c79daee4 Mon Sep 17 00:00:00 2001 From: Antonella Sgarlatta Date: Wed, 2 Jun 2021 18:59:43 -0300 Subject: [PATCH] fix: fix focus on previous tag after tag deletion --- app/assets/javascripts/components/NoteTag.tsx | 10 ++-------- .../ui_models/app_state/active_note_state.ts | 5 +++++ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/app/assets/javascripts/components/NoteTag.tsx b/app/assets/javascripts/components/NoteTag.tsx index cf86641a6..09260453d 100644 --- a/app/assets/javascripts/components/NoteTag.tsx +++ b/app/assets/javascripts/components/NoteTag.tsx @@ -28,14 +28,8 @@ export const NoteTag: FunctionalComponent = ({ appState, tag }) => { const [closeOnBlur] = useCloseOnBlur(contextMenuRef, setContextMenuOpen); useCloseOnClickOutside(contextMenuRef, setContextMenuOpen); - const deleteTag = async () => { - await appState.activeNote.removeTagFromActiveNote(tag); - const previousTag = appState.activeNote.getPreviousTag(tag); - - if (previousTag) { - const previousTagElement = appState.activeNote.getTagElement(previousTag); - previousTagElement?.focus(); - } + const deleteTag = () => { + appState.activeNote.removeTagFromActiveNote(tag); }; const onTagClick = () => { diff --git a/app/assets/javascripts/ui_models/app_state/active_note_state.ts b/app/assets/javascripts/ui_models/app_state/active_note_state.ts index c61de8564..5c7223a4f 100644 --- a/app/assets/javascripts/ui_models/app_state/active_note_state.ts +++ b/app/assets/javascripts/ui_models/app_state/active_note_state.ts @@ -203,10 +203,15 @@ export class ActiveNoteState { async removeTagFromActiveNote(tag: SNTag): Promise { const { activeNote } = this; if (activeNote) { + const previousTag = this.getPreviousTag(tag); await this.application.changeItem(tag.uuid, (mutator) => { mutator.removeItemAsRelationship(activeNote); }); this.application.sync(); + if (previousTag) { + const previousTagElement = this.getTagElement(previousTag); + previousTagElement?.focus(); + } this.reloadTags(); } }