diff --git a/app/src/mobile/menu/search.ts b/app/src/mobile/menu/search.ts index 898abef2f..b906ff842 100644 --- a/app/src/mobile/menu/search.ts +++ b/app/src/mobile/menu/search.ts @@ -147,11 +147,12 @@ const updateConfig = (element: Element, newConfig: Config.IUILayoutTabSearchConf } (document.querySelector("#toolbarSearch") as HTMLInputElement).value = newConfig.k; (element.querySelector("#toolbarReplace") as HTMLInputElement).value = newConfig.r; - Object.assign(config, newConfig); + config = JSON.parse(JSON.stringify(newConfig)); window.siyuan.storage[Constants.LOCAL_SEARCHDATA] = Object.assign({}, config); setStorageVal(Constants.LOCAL_SEARCHDATA, window.siyuan.storage[Constants.LOCAL_SEARCHDATA]); updateSearchResult(config, element); window.siyuan.menus.menu.remove(); + return config; }; const onRecentBlocks = (data: IBlock[], config: Config.IUILayoutTabSearchConfig, @@ -386,7 +387,7 @@ const initSearchEvent = (app: App, element: Element, config: Config.IUILayoutTab target.classList.add("b3-chip--current"); criteriaData.find(item => { if (item.name === target.innerText.trim()) { - updateConfig(element, item, config); + item = updateConfig(element, item, config); return true; } }); @@ -403,7 +404,7 @@ const initSearchEvent = (app: App, element: Element, config: Config.IUILayoutTab } }); if (target.parentElement.classList.contains("b3-chip--current")) { - updateConfig(element, { + config = updateConfig(element, { removed: true, sort: 0, group: 0, @@ -545,7 +546,7 @@ const initSearchEvent = (app: App, element: Element, config: Config.IUILayoutTab config.page = 1; updateSearchResult(config, element, true); }, () => { - updateConfig(element, { + config = updateConfig(element, { removed: true, sort: 0, group: 0, diff --git a/app/src/search/spread.ts b/app/src/search/spread.ts index cddbe0542..1769aaf38 100644 --- a/app/src/search/spread.ts +++ b/app/src/search/spread.ts @@ -63,12 +63,12 @@ export const openSearch = async (options: { item.element.setAttribute("data-key", options.hotkey); if (options.hotkey === Constants.DIALOG_REPLACE) { cloneData.hasReplace = true; - updateConfig(searchElement, cloneData, item.data, item.editors.edit); + item.data = updateConfig(searchElement, cloneData, item.data, item.editors.edit); } else if (options.hotkey === Constants.DIALOG_GLOBALSEARCH) { cloneData.hasReplace = false; cloneData.hPath = ""; cloneData.idPath = []; - updateConfig(searchElement, cloneData, item.data, item.editors.edit); + item.data = updateConfig(searchElement, cloneData, item.data, item.editors.edit); } else if (options.hotkey === Constants.DIALOG_SEARCH) { cloneData.hasReplace = false; const toPath = item.editors.edit.protyle.path; @@ -77,7 +77,7 @@ export const openSearch = async (options: { cloneData.hPath = response.data[0]; item.data.idPath = cloneData.idPath; item.data.hPath = cloneData.hPath; - updateConfig(searchElement, cloneData, item.data, item.editors.edit); + item.data = updateConfig(searchElement, cloneData, item.data, item.editors.edit); }); } return true; diff --git a/app/src/search/util.ts b/app/src/search/util.ts index b88725200..5033cd6c2 100644 --- a/app/src/search/util.ts +++ b/app/src/search/util.ts @@ -342,7 +342,7 @@ export const genSearch = (app: App, config: Config.IUILayoutTabSearchConfig, ele while (target && target !== element) { const type = target.getAttribute("data-type"); if (type === "removeCriterion") { - updateConfig(element, { + config = updateConfig(element, { removed: true, sort: 0, group: 0, @@ -391,7 +391,7 @@ export const genSearch = (app: App, config: Config.IUILayoutTabSearchConfig, ele target.classList.add("b3-chip--current"); criteriaData.find(item => { if (item.name === target.innerText.trim()) { - updateConfig(element, item, config, edit); + config = updateConfig(element, item, config, edit); return true; } }); @@ -408,7 +408,7 @@ export const genSearch = (app: App, config: Config.IUILayoutTabSearchConfig, ele } }); if (target.parentElement.classList.contains("b3-chip--current")) { - updateConfig(element, { + config = updateConfig(element, { removed: true, sort: 0, group: 0, @@ -604,7 +604,7 @@ export const genSearch = (app: App, config: Config.IUILayoutTabSearchConfig, ele config.page = 1; inputEvent(element, config, edit, true); }, () => { - updateConfig(element, { + config = updateConfig(element, { removed: true, sort: 0, group: 0, @@ -1013,6 +1013,7 @@ export const updateConfig = (element: Element, item: Config.IUILayoutTabSearchCo setStorageVal(Constants.LOCAL_SEARCHDATA, window.siyuan.storage[Constants.LOCAL_SEARCHDATA]); inputEvent(element, config, edit); window.siyuan.menus.menu.remove(); + return config; }; const scrollToCurrent = (contentElement: HTMLElement, currentRange: Range, contentRect: DOMRect) => {