In-file search ok
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<script lang="ts">
|
||||
import { debounce } from "obsidian";
|
||||
import { debounce } from "obsidian"
|
||||
import { createEventDispatcher, onMount, tick } from "svelte"
|
||||
import { searchQuery, selectedNote } from "./stores"
|
||||
import { searchQuery } from "./stores"
|
||||
|
||||
let elInput: HTMLInputElement
|
||||
let inputValue: string
|
||||
@@ -14,50 +14,36 @@ onMount(async () => {
|
||||
elInput.select()
|
||||
})
|
||||
|
||||
const debouncedOnInput = debounce(() => $searchQuery = inputValue, 100)
|
||||
const debouncedOnInput = debounce(() => ($searchQuery = inputValue), 100)
|
||||
|
||||
function moveNoteSelection(ev: KeyboardEvent): void {
|
||||
switch (ev.key) {
|
||||
case "ArrowDown":
|
||||
ev.preventDefault()
|
||||
selectedNote.next()
|
||||
dispatch("arrow-down")
|
||||
break
|
||||
case "ArrowUp":
|
||||
ev.preventDefault()
|
||||
selectedNote.previous()
|
||||
dispatch("arrow-up")
|
||||
break
|
||||
// case "ArrowLeft":
|
||||
// ev.preventDefault()
|
||||
// break
|
||||
// case "ArrowRight":
|
||||
// ev.preventDefault()
|
||||
// break
|
||||
|
||||
case "Enter":
|
||||
ev.preventDefault()
|
||||
if (ev.ctrlKey || ev.metaKey) {
|
||||
// Open in a new pane
|
||||
dispatch("ctrl-enter", $selectedNote)
|
||||
dispatch("ctrl-enter")
|
||||
} else if (ev.shiftKey) {
|
||||
// Create a new note
|
||||
dispatch("shift-enter", $selectedNote)
|
||||
dispatch("shift-enter")
|
||||
} else if (ev.altKey) {
|
||||
// Create a new note
|
||||
dispatch("alt-enter", $selectedNote)
|
||||
dispatch("alt-enter")
|
||||
} else {
|
||||
// Open in current pane
|
||||
dispatch("enter", $selectedNote)
|
||||
dispatch("enter")
|
||||
}
|
||||
break
|
||||
}
|
||||
|
||||
// Scroll selected note into view when selecting with keyboard
|
||||
if ($selectedNote) {
|
||||
const elem = document.querySelector(
|
||||
`[data-note-id="${$selectedNote.path}"]`
|
||||
)
|
||||
elem?.scrollIntoView({ behavior: "auto", block: "nearest" })
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user