diff --git a/app/src/search/assets.ts b/app/src/search/assets.ts
index 72090eccc..d754cc54b 100644
--- a/app/src/search/assets.ts
+++ b/app/src/search/assets.ts
@@ -3,7 +3,7 @@ import {fetchPost} from "../util/fetch";
import {escapeAriaLabel} from "../util/escape";
import {setStorageVal, updateHotkeyTip} from "../protyle/util/compatibility";
/// #if !MOBILE
-import {getQueryTip} from "./util";
+import {genQueryHTML} from "./util";
/// #endif
import {MenuItem} from "../menus/Menu";
import {Dialog} from "../dialog";
@@ -57,9 +57,7 @@ export const openSearchAsset = (element: HTMLElement, isStick: boolean) => {
-
-
-
+ ${genQueryHTML(localSearch.method, "assetSyntaxCheck")}
@@ -280,7 +278,7 @@ export const assetMethodMenu = (target: HTMLElement, cb: () => void) => {
window.siyuan.menus.menu.remove();
window.siyuan.menus.menu.element.setAttribute("data-name", "searchAssetMethod");
window.siyuan.menus.menu.append(new MenuItem({
- iconHTML: "",
+ icon: "iconExact",
label: window.siyuan.languages.keyword,
current: method === 0,
click() {
@@ -289,7 +287,7 @@ export const assetMethodMenu = (target: HTMLElement, cb: () => void) => {
}
}).element);
window.siyuan.menus.menu.append(new MenuItem({
- iconHTML: "",
+ icon: "iconQuote",
label: window.siyuan.languages.querySyntax,
current: method === 1,
click() {
@@ -298,7 +296,7 @@ export const assetMethodMenu = (target: HTMLElement, cb: () => void) => {
}
}).element);
window.siyuan.menus.menu.append(new MenuItem({
- iconHTML: "",
+ icon: "iconRegex",
label: window.siyuan.languages.regex,
current: method === 3,
click() {
diff --git a/app/src/search/menu.ts b/app/src/search/menu.ts
index 912dd4bb9..114e21282 100644
--- a/app/src/search/menu.ts
+++ b/app/src/search/menu.ts
@@ -236,7 +236,7 @@ export const queryMenu = (config: Config.IUILayoutTabSearchConfig, cb: () => voi
window.siyuan.menus.menu.remove();
window.siyuan.menus.menu.element.setAttribute("data-name", "searchMethod");
window.siyuan.menus.menu.append(new MenuItem({
- iconHTML: "",
+ icon: "iconExact",
label: window.siyuan.languages.keyword,
current: config.method === 0,
click() {
@@ -245,7 +245,7 @@ export const queryMenu = (config: Config.IUILayoutTabSearchConfig, cb: () => voi
}
}).element);
window.siyuan.menus.menu.append(new MenuItem({
- iconHTML: "",
+ icon: "iconQuote",
label: window.siyuan.languages.querySyntax,
current: config.method === 1,
click() {
@@ -254,7 +254,7 @@ export const queryMenu = (config: Config.IUILayoutTabSearchConfig, cb: () => voi
}
}).element);
window.siyuan.menus.menu.append(new MenuItem({
- iconHTML: "",
+ icon: "iconDatabase",
label: "SQL",
current: config.method === 2,
click() {
@@ -263,7 +263,7 @@ export const queryMenu = (config: Config.IUILayoutTabSearchConfig, cb: () => voi
}
}).element);
window.siyuan.menus.menu.append(new MenuItem({
- iconHTML: "",
+ icon: "iconRegex",
label: window.siyuan.languages.regex,
current: config.method === 3,
click() {
diff --git a/app/src/search/util.ts b/app/src/search/util.ts
index 0239042b9..f6592d1ac 100644
--- a/app/src/search/util.ts
+++ b/app/src/search/util.ts
@@ -157,9 +157,7 @@ export const genSearch = (app: App, config: Config.IUILayoutTabSearchConfig, ele
-
-
-
+ ${genQueryHTML(config.method, "searchSyntaxCheck")}
@@ -739,7 +737,7 @@ export const genSearch = (app: App, config: Config.IUILayoutTabSearchConfig, ele
break;
} else if (target.id === "assetSyntaxCheck") {
assetMethodMenu(target, () => {
- element.querySelector("#assetSyntaxCheck").setAttribute("aria-label", getQueryTip(localSearch.method));
+ element.querySelector("#assetSyntaxCheck").outerHTML = genQueryHTML(localSearch.method, "assetSyntaxCheck");
assetInputEvent(assetsElement, localSearch);
setStorageVal(Constants.LOCAL_SEARCHASSET, localSearch);
});
@@ -748,7 +746,7 @@ export const genSearch = (app: App, config: Config.IUILayoutTabSearchConfig, ele
break;
} else if (target.id === "searchSyntaxCheck") {
queryMenu(config, () => {
- element.querySelector("#searchSyntaxCheck").setAttribute("aria-label", getQueryTip(config.method));
+ element.querySelector("#searchSyntaxCheck").outerHTML = genQueryHTML(config.method, "searchSyntaxCheck");
config.page = 1;
inputEvent(element, config, edit, true);
});
@@ -932,23 +930,30 @@ export const genSearch = (app: App, config: Config.IUILayoutTabSearchConfig, ele
return {edit, unRefEdit};
};
-export const getQueryTip = (method: number) => {
- let methodTip = window.siyuan.languages.searchMethod + " ";
+export const genQueryHTML = (method: number, id: string) => {
+ let methodTip = "";
+ let methodIcon = "";
switch (method) {
case 0:
- methodTip += window.siyuan.languages.keyword;
+ methodTip = window.siyuan.languages.keyword;
+ methodIcon = "Exact";
break;
case 1:
- methodTip += window.siyuan.languages.querySyntax;
+ methodTip = window.siyuan.languages.querySyntax;
+ methodIcon = "Quote";
break;
case 2:
- methodTip += "SQL";
+ methodTip = "SQL";
+ methodIcon = "Database";
break;
case 3:
- methodTip += window.siyuan.languages.regex;
+ methodTip = window.siyuan.languages.regex;
+ methodIcon = "Regex";
break;
}
- return methodTip;
+ return `
+
+`;
};
export const updateConfig = (element: Element, item: Config.IUILayoutTabSearchConfig, config: Config.IUILayoutTabSearchConfig,
@@ -1007,7 +1012,7 @@ export const updateConfig = (element: Element, item: Config.IUILayoutTabSearchCo
(element.querySelector("#searchInput") as HTMLInputElement).value = item.k;
}
(element.querySelector("#replaceInput") as HTMLInputElement).value = item.r;
- element.querySelector("#searchSyntaxCheck").setAttribute("aria-label", getQueryTip(item.method));
+ element.querySelector("#searchSyntaxCheck").outerHTML = genQueryHTML(item.method, "searchSyntaxCheck");
Object.assign(config, item);
window.siyuan.storage[Constants.LOCAL_SEARCHDATA] = Object.assign({}, config);
setStorageVal(Constants.LOCAL_SEARCHDATA, window.siyuan.storage[Constants.LOCAL_SEARCHDATA]);
@@ -1015,7 +1020,7 @@ export const updateConfig = (element: Element, item: Config.IUILayoutTabSearchCo
window.siyuan.menus.menu.remove();
};
-const scrollToCurrent = (contentElement: HTMLElement,currentRange: Range, contentRect:DOMRect) => {
+const scrollToCurrent = (contentElement: HTMLElement, currentRange: Range, contentRect: DOMRect) => {
contentElement.scrollTop = contentElement.scrollTop + currentRange.getBoundingClientRect().top - contentRect.top - contentRect.height / 2;
const tableElement = hasClosestByClassName(currentRange.startContainer, "table");
if (tableElement) {