fix: ctrl + k breaking after page nav
This commit is contained in:
parent
d0f67d9935
commit
4e42d52e16
1 changed files with 9 additions and 5 deletions
|
@ -1,7 +1,7 @@
|
|||
import { Document } from "flexsearch"
|
||||
import { ContentDetails } from "../../plugins/emitters/contentIndex"
|
||||
import { registerEscapeHandler, removeAllChildren } from "./util"
|
||||
import { FullSlug, getFullSlug, resolveRelative, simplifySlug } from "../../util/path"
|
||||
import { FullSlug, resolveRelative } from "../../util/path"
|
||||
|
||||
interface Item {
|
||||
id: number
|
||||
|
@ -58,12 +58,12 @@ function highlight(searchTerm: string, text: string, trim?: boolean) {
|
|||
})
|
||||
.join(" ")
|
||||
|
||||
return `${startIndex === 0 ? "" : "..."}${slice}${
|
||||
endIndex === tokenizedText.length - 1 ? "" : "..."
|
||||
}`
|
||||
return `${startIndex === 0 ? "" : "..."}${slice}${endIndex === tokenizedText.length - 1 ? "" : "..."
|
||||
}`
|
||||
}
|
||||
|
||||
const encoder = (str: string) => str.toLowerCase().split(/([^a-z]|[^\x00-\x7F])/)
|
||||
let prevShortcutHandler: ((e: HTMLElementEventMap["keydown"]) => void) | undefined = undefined
|
||||
document.addEventListener("nav", async (e: unknown) => {
|
||||
const currentSlug = (e as CustomEventMap["nav"]).detail.url
|
||||
|
||||
|
@ -159,8 +159,12 @@ document.addEventListener("nav", async (e: unknown) => {
|
|||
displayResults(finalResults)
|
||||
}
|
||||
|
||||
document.removeEventListener("keydown", shortcutHandler)
|
||||
if (prevShortcutHandler) {
|
||||
document.removeEventListener("keydown", prevShortcutHandler)
|
||||
}
|
||||
|
||||
document.addEventListener("keydown", shortcutHandler)
|
||||
prevShortcutHandler = shortcutHandler
|
||||
searchIcon?.removeEventListener("click", showSearch)
|
||||
searchIcon?.addEventListener("click", showSearch)
|
||||
searchBar?.removeEventListener("input", onType)
|
||||
|
|
Loading…
Reference in a new issue