Vanessa 2023-08-13 00:28:38 +08:00
parent 9b8d77dca7
commit da41c6aa60
2 changed files with 13 additions and 4 deletions

View file

@ -3,7 +3,7 @@ import {fetchPost} from "../util/fetch";
import {upDownHint} from "../util/upDownHint";
import {escapeHtml} from "../util/escape";
export const openSearchAsset = (element: HTMLElement, isStick: boolean) => {
export const openSearchAsset = (element: Element, isStick: boolean) => {
const localSearch = window.siyuan.storage[Constants.LOCAL_SEARCHASSET] as ISearchAssetOption
let methodText = window.siyuan.languages.keyword;
if (localSearch.method === 1) {
@ -43,7 +43,7 @@ export const openSearchAsset = (element: HTMLElement, isStick: boolean) => {
<svg><use xlink:href="#iconLayoutRight"></use></svg>
</span>
<span class="fn__space"></span>
<span id="searchAsset" aria-label="${isStick ? window.siyuan.languages.stickSearch : window.siyuan.languages.globalSearch}" class="block__icon b3-tooltips b3-tooltips__w">
<span id="searchAssetClose" aria-label="${isStick ? window.siyuan.languages.stickSearch : window.siyuan.languages.globalSearch}" class="block__icon b3-tooltips b3-tooltips__w">
<svg><use xlink:href="#iconBack"></use></svg>
</span>
</div>
@ -74,6 +74,7 @@ export const openSearchAsset = (element: HTMLElement, isStick: boolean) => {
return
}
const searchInputElement = element.querySelector("#searchAssetInput") as HTMLInputElement
searchInputElement.select();
searchInputElement.addEventListener("compositionend", (event: InputEvent) => {
if (event.isComposing) {
return;

View file

@ -225,7 +225,7 @@ export const genSearch = (app: App, config: ISearchOption, element: Element, clo
<kbd>Esc</kbd> ${window.siyuan.languages.searchTip5}
</div>
</div>
<div class="fn__flex-column search__assets fn__none" style="height: 100%;${closeCB ? "border-radius: var(--b3-border-radius-b);overflow: hidden;" : ""}"></div>
<div class="fn__flex-column fn__none" id="searchAssets" style="height: 100%;${closeCB ? "border-radius: var(--b3-border-radius-b);overflow: hidden;" : ""}"></div>
<div class="fn__loading fn__loading--top"><img width="120px" src="/stage/loading-pure.svg"></div>`;
const criteriaData: ISearchOption[] = [];
@ -317,6 +317,7 @@ export const genSearch = (app: App, config: ISearchOption, element: Element, clo
};
});
const assetsElement = element.querySelector("#searchAssets")
element.addEventListener("click", (event: MouseEvent) => {
let target = event.target as HTMLElement;
const searchPathInputElement = element.querySelector("#searchPathInput");
@ -496,7 +497,14 @@ export const genSearch = (app: App, config: ISearchOption, element: Element, clo
event.preventDefault();
break;
} else if (target.id === "searchAsset") {
openSearchAsset(element.querySelector(".search__assets"), !!closeCB);
openSearchAsset(assetsElement, !!closeCB);
event.stopPropagation();
event.preventDefault();
break;
} else if (target.id === "searchAssetClose") {
assetsElement.classList.add("fn__none")
assetsElement.previousElementSibling.classList.remove("fn__none")
searchInputElement.select();
event.stopPropagation();
event.preventDefault();
break;