This commit is contained in:
Vanessa 2023-09-27 10:48:04 +08:00
parent 231b3a65c8
commit c28ac220e7
2 changed files with 32 additions and 8 deletions

View file

@ -73,7 +73,7 @@ export const openSearchAsset = (element: Element, isStick: boolean) => {
<div id="searchAssetPreview" class="fn__flex-1 search__preview b3-typography" style="padding: 8px"></div>
</div>
<div class="search__tip${isStick ? " fn__none" : ""}">
<kbd>/</kbd> ${window.siyuan.languages.searchTip1}
<kbd>//PageUp/PageDown</kbd> ${window.siyuan.languages.searchTip1}
${enterTip}
<kbd>Click</kbd> ${window.siyuan.languages.searchTip3}
<kbd>Esc</kbd> ${window.siyuan.languages.searchTip5}
@ -178,9 +178,7 @@ export const openSearchAsset = (element: Element, isStick: boolean) => {
}
event.preventDefault();
renderPreview(previewElement, currentList.dataset.id, searchInputElement.value, localSearch.method);
return;
}
if (event.key === "ArrowUp") {
} else if (event.key === "ArrowUp") {
currentList.classList.remove("b3-list-item--focus");
if (!currentList.previousElementSibling) {
searchPanelElement.lastElementChild.classList.add("b3-list-item--focus");
@ -194,6 +192,24 @@ export const openSearchAsset = (element: Element, isStick: boolean) => {
}
event.preventDefault();
renderPreview(previewElement, currentList.dataset.id, searchInputElement.value, localSearch.method);
} else if (Constants.KEYCODELIST[event.keyCode] === "PageUp") {
if (!element.querySelector('[data-type="assetPrevious"]').getAttribute("disabled")) {
let currentPage = parseInt(element.querySelector("#searchAssetResult .fn__flex-center").textContent.split("/")[0])
if (currentPage > 1) {
currentPage--;
assetInputEvent(element, localSearch, currentPage);
}
}
event.preventDefault();
} else if (Constants.KEYCODELIST[event.keyCode] === "PageDown") {
if (!element.querySelector('[data-type="assetNext"]').getAttribute("disabled")) {
let currentPage = parseInt(element.querySelector("#searchAssetResult .fn__flex-center").textContent.split("/")[0])
if (currentPage < parseInt(element.querySelector("#searchAssetResult .fn__flex-center").textContent.split("/")[1])) {
currentPage++;
assetInputEvent(element, localSearch, currentPage);
}
}
event.preventDefault();
}
});
assetInputEvent(element, localSearch);
@ -236,7 +252,7 @@ export const openSearchAsset = (element: Element, isStick: boolean) => {
};
let inputTimeout: number;
export const assetInputEvent = (element: Element, localSearch?: ISearchAssetOption, page = 1,) => {
export const assetInputEvent = (element: Element, localSearch?: ISearchAssetOption, page = 1) => {
element.nextElementSibling.classList.remove("fn__none");
clearTimeout(inputTimeout);
inputTimeout = window.setTimeout(() => {

View file

@ -235,7 +235,7 @@ export const genSearch = (app: App, config: ISearchOption, element: Element, clo
<div id="searchPreview" class="fn__flex-1 search__preview"></div>
</div>
<div class="search__tip${closeCB ? "" : " fn__none"}">
<kbd>/</kbd> ${window.siyuan.languages.searchTip1}
<kbd>//PageUp/PageDown</kbd> ${window.siyuan.languages.searchTip1}
<kbd>${updateHotkeyTip(window.siyuan.config.keymap.general.newFile.custom)}</kbd> ${window.siyuan.languages.new}
<kbd>Enter/Double Click</kbd> ${window.siyuan.languages.searchTip2}
<kbd>Click</kbd> ${window.siyuan.languages.searchTip3}
@ -649,14 +649,22 @@ export const genSearch = (app: App, config: ISearchOption, element: Element, clo
break;
} else if (type === "assetPrevious") {
if (!target.getAttribute("disabled")) {
assetInputEvent(assetsElement, localSearch, parseInt(assetsElement.querySelector("#searchAssetResult .fn__flex-center").textContent.split("/")[1]) - 1);
let currentPage = parseInt(assetsElement.querySelector("#searchAssetResult .fn__flex-center").textContent.split("/")[0])
if (currentPage > 1) {
currentPage--;
assetInputEvent(assetsElement, localSearch, currentPage);
}
}
event.stopPropagation();
event.preventDefault();
break;
} else if (type === "assetNext") {
if (!target.getAttribute("disabled")) {
assetInputEvent(assetsElement, localSearch, parseInt(assetsElement.querySelector("#searchAssetResult .fn__flex-center").textContent.split("/")[1]) + 1);
let currentPage = parseInt(assetsElement.querySelector("#searchAssetResult .fn__flex-center").textContent.split("/")[0])
if (currentPage < parseInt(assetsElement.querySelector("#searchAssetResult .fn__flex-center").textContent.split("/")[1])) {
currentPage++;
assetInputEvent(assetsElement, localSearch, currentPage);
}
}
event.stopPropagation();
event.preventDefault();