From 2c5f850c3af943dd1335271cef3f191ee1375d7f Mon Sep 17 00:00:00 2001 From: Vanessa Date: Sat, 3 Dec 2022 23:56:18 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/6589 --- app/appearance/langs/en_US.json | 2 ++ app/appearance/langs/es_ES.json | 2 ++ app/appearance/langs/fr_FR.json | 2 ++ app/appearance/langs/zh_CHT.json | 2 ++ app/src/search/util.ts | 29 +++++++++++++++-------------- 5 files changed, 23 insertions(+), 14 deletions(-) diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index 3a540f8bb..85a7a64e5 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -1,4 +1,6 @@ { + "saveSearch": "Save query conditions", + "useSearch": "Use query conditions", "group": "Group", "noGroupBy": "No grouping", "groupByDoc": "Group by document", diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json index db2131a5a..534f492ac 100644 --- a/app/appearance/langs/es_ES.json +++ b/app/appearance/langs/es_ES.json @@ -1,4 +1,6 @@ { + "saveSearch": "Guardar condiciones de consulta", + "useSearch": "Usar condiciones de consulta", "grupo": "Grupo", "noGroupBy": "Sin agrupar", "groupByDoc": "Agrupar por documento", diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index 0be83c898..010bd010b 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -1,4 +1,6 @@ { + "saveSearch": "Enregistrer les conditions de la requête", + "useSearch": "Utiliser les conditions de requête", "groupe": "Groupe", "noGroupBy": "Aucun regroupement", "groupByDoc": "Regrouper par document", diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index c408a6bc5..5786af81c 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -1,4 +1,6 @@ { + "saveSearch": "保存查詢條件", + "useSearch": "使用查詢條件", "group": "分組", "noGroupBy": "不分組", "groupByDoc": "按文檔分組", diff --git a/app/src/search/util.ts b/app/src/search/util.ts index aaf7f63db..1f202d681 100644 --- a/app/src/search/util.ts +++ b/app/src/search/util.ts @@ -5,7 +5,7 @@ import {Search} from "./index"; import {Wnd} from "../layout/Wnd"; import {Constants} from "../constants"; import {escapeHtml} from "../util/escape"; -import {fetchPost} from "../util/fetch"; +import {fetchPost, fetchSyncPost} from "../util/fetch"; import {openFileById} from "../editor/util"; import {showMessage} from "../dialog/message"; import {reloadProtyle} from "../protyle/util/reload"; @@ -323,8 +323,7 @@ export const genSearch = (config: ISearchOption, element: Element, closeCB?: () event.preventDefault(); break; } else if (target.id === "searchMore") { - addConfigMoreMenu(config, edit, element); - window.siyuan.menus.menu.popup({x: event.clientX - 16, y: event.clientY - 16}, true); + addConfigMoreMenu(config, edit, element, event); event.stopPropagation(); event.preventDefault(); break; @@ -559,7 +558,7 @@ export const genSearch = (config: ISearchOption, element: Element, closeCB?: () return edit; }; -const addConfigMoreMenu = (config: ISearchOption, edit: Protyle, element: Element) => { +const addConfigMoreMenu = async (config: ISearchOption, edit: Protyle, element: Element, event: MouseEvent) => { window.siyuan.menus.menu.remove(); const sortMenu = [{ label: window.siyuan.languages.type, @@ -683,14 +682,15 @@ const addConfigMoreMenu = (config: ISearchOption, edit: Protyle, element: Elemen saveDialog.destroy(); }); btnsElement[1].addEventListener("click", () => { - fetchPost("/api/setting/setCriterion", {criterion: Object.assign({name: saveDialog.element.querySelector("input").value}, config)}, () => { + fetchPost("/api/storage/setCriterion", {criterion: Object.assign({name: saveDialog.element.querySelector("input").value}, config)}, () => { saveDialog.destroy(); - }) + }); }); } - }).element) - const searchSubMenu: IMenu[] = [] - window.siyuan.config.criteria.forEach(item => { + }).element); + const criteria = await fetchSyncPost("/api/storage/getCriteria"); + const searchSubMenu: IMenu[] = []; + criteria.data.forEach((item: ISearchOption) => { searchSubMenu.push({ label: item.name, click() { @@ -738,23 +738,24 @@ const addConfigMoreMenu = (config: ISearchOption, edit: Protyle, element: Elemen searchIncludeElement.classList.add("b3-button--cancel"); } if (enableIncludeChild) { - searchIncludeElement.removeAttribute("disabled") + searchIncludeElement.removeAttribute("disabled"); } else { - searchIncludeElement.setAttribute("disabled", "disabled") + searchIncludeElement.setAttribute("disabled", "disabled"); } (element.querySelector("#searchInput") as HTMLInputElement).value = item.k; (element.querySelector("#replaceInput") as HTMLInputElement).value = item.r; inputEvent(element, Object.assign({}, item), undefined, edit); } - }) - }) + }); + }); if (searchSubMenu.length > 0) { window.siyuan.menus.menu.append(new MenuItem({ label: window.siyuan.languages.useSearch, type: "submenu", submenu: searchSubMenu - }).element) + }).element); } + window.siyuan.menus.menu.popup({x: event.clientX - 16, y: event.clientY - 16}, true); }; const addConfigFilterMenu = (config: ISearchOption, edit: Protyle, element: Element) => {