From 2ef38bdf26821a72f00fa553b6a15a76bf609f2a Mon Sep 17 00:00:00 2001 From: Simon Cambier Date: Fri, 5 Jan 2024 20:59:38 +0100 Subject: [PATCH] Fixed the scrollIntoView() position --- src/components/ModalInFile.svelte | 5 ++++- src/components/ModalVault.svelte | 2 +- src/tools/notes.ts | 5 +---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/components/ModalInFile.svelte b/src/components/ModalInFile.svelte index 8e63034..4308063 100644 --- a/src/components/ModalInFile.svelte +++ b/src/components/ModalInFile.svelte @@ -19,6 +19,7 @@ import { Query } from 'src/search/query' import { openNote } from 'src/tools/notes' import { searchEngine } from 'src/search/omnisearch' + import { stringsToRegex } from 'src/tools/text-processing' export let modal: OmnisearchInFileModal export let parent: OmnisearchVaultModal | null = null @@ -121,7 +122,9 @@ if (parent) parent.close() // Open (or switch focus to) the note - await openNote(note, newTab) + const reg = stringsToRegex(note.foundWords) + reg.exec(note.content) + await openNote(note, reg.lastIndex, newTab) // Move cursor to the match const view = app.workspace.getActiveViewOfType(MarkdownView) diff --git a/src/components/ModalVault.svelte b/src/components/ModalVault.svelte index 750f6f7..01dcd90 100644 --- a/src/components/ModalVault.svelte +++ b/src/components/ModalVault.svelte @@ -186,7 +186,7 @@ function openSearchResult(note: ResultNote, newPane = false) { saveCurrentQuery() - openNote(note, newPane) + openNote(note, note.matches[0].offset, newPane) } async function onClickCreateNote(_e: MouseEvent) { diff --git a/src/tools/notes.ts b/src/tools/notes.ts index 4edca68..d040c4e 100644 --- a/src/tools/notes.ts +++ b/src/tools/notes.ts @@ -4,12 +4,9 @@ import { stringsToRegex } from './text-processing' export async function openNote( item: ResultNote, + offset = 0, newPane = false ): Promise { - const reg = stringsToRegex(item.foundWords) - reg.exec(item.content) - const offset = reg.lastIndex - // Check if the note is already open, // to avoid opening it twice if the first one is pinned let alreadyOpenAndPinned = false