From f7ff2efaf88921692bee3a3f547de659b2e2061d Mon Sep 17 00:00:00 2001 From: Vanessa Date: Thu, 21 Sep 2023 11:30:49 +0800 Subject: [PATCH] :bug: fix https://github.com/siyuan-note/siyuan/issues/9243 --- app/src/assets/scss/util/_function.scss | 4 ++++ app/src/search/util.ts | 20 +++++++++++++------- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/app/src/assets/scss/util/_function.scss b/app/src/assets/scss/util/_function.scss index d9e60eabe..29f33aa2d 100644 --- a/app/src/assets/scss/util/_function.scss +++ b/app/src/assets/scss/util/_function.scss @@ -172,4 +172,8 @@ &__secondary { color: var(--b3-theme-secondary); } + + &__selectnone { + user-select: none; + } } diff --git a/app/src/search/util.ts b/app/src/search/util.ts index b2821efe4..1653d106d 100644 --- a/app/src/search/util.ts +++ b/app/src/search/util.ts @@ -205,7 +205,7 @@ export const genSearch = (app: App, config: ISearchOption, element: Element, clo - + @@ -378,16 +378,20 @@ export const genSearch = (app: App, config: ISearchOption, element: Element, clo break; } else if (type === "next") { if (!target.getAttribute("disabled")) { - config.page++; - inputTimeout = inputEvent(element, config, inputTimeout, edit); + if (config.page < parseInt(target.parentElement.querySelector("#searchResult").getAttribute("data-pagecount"))) { + config.page++; + inputTimeout = inputEvent(element, config, inputTimeout, edit); + } } event.stopPropagation(); event.preventDefault(); break; } else if (type === "previous") { if (!target.getAttribute("disabled")) { - config.page--; - inputTimeout = inputEvent(element, config, inputTimeout, edit); + if (config.page > 1) { + config.page--; + inputTimeout = inputEvent(element, config, inputTimeout, edit); + } } event.stopPropagation(); event.preventDefault(); @@ -1264,11 +1268,12 @@ const inputEvent = (element: Element, config: ISearchOption, inputTimeout: numbe searchElement: searchInputElement, }); }); + const searchResultElement = element.querySelector("#searchResult") if (inputValue === "" && (!config.idPath || config.idPath.length === 0)) { fetchPost("/api/block/getRecentUpdatedBlocks", {}, (response) => { onSearch(response.data, edit, element, config); loadingElement.classList.add("fn__none"); - element.querySelector("#searchResult").innerHTML = ""; + searchResultElement.innerHTML = ""; previousElement.setAttribute("disabled", "true"); nextElement.setAttribute("disabled", "true"); }); @@ -1296,9 +1301,10 @@ const inputEvent = (element: Element, config: ISearchOption, inputTimeout: numbe nextElement.setAttribute("disabled", "disabled"); } onSearch(response.data.blocks, edit, element, config); - element.querySelector("#searchResult").innerHTML = `${config.page}/${response.data.pageCount || 1} + searchResultElement.innerHTML = `${config.page}/${response.data.pageCount || 1} ${window.siyuan.languages.findInDoc.replace("${x}", response.data.matchedRootCount).replace("${y}", response.data.matchedBlockCount)}`; loadingElement.classList.add("fn__none"); + searchResultElement.setAttribute("data-pagecount", response.data.pageCount || 1) }); } }, Constants.TIMEOUT_INPUT);