From 0ac4f4c1142184234d6381bf2aadb747b9193dfc Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Mon, 6 May 2024 17:51:26 -0300 Subject: client: save search results --- src/static/js/client.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/static/js/client.js b/src/static/js/client.js index de90285c..46d66bcc 100644 --- a/src/static/js/client.js +++ b/src/static/js/client.js @@ -3588,10 +3588,15 @@ const sidebarSearchInfo = initInfo('sidebarSearchInfo', { session: { activeQuery: null, + activeQueryResults: null, + + repeatQueryOnReload: false, }, settings: { stoppedTyingDelay: 800, + + maxActiveResultsStorage: 100000, }, }); @@ -3672,12 +3677,17 @@ function initializeSidebarSearchState() { if (session.activeQuery) { info.searchInput.value = session.activeQuery; + } + + if (session.repeatQueryOnReload) { activateSidebarSearch(session.activeQuery); + } else if (session.activeQueryResults) { + showSidebarSearchResults(JSON.parse(session.activeQueryResults)); } } async function activateSidebarSearch(query) { - const {session, state} = sidebarSearchInfo; + const {session, settings, state} = sidebarSearchInfo; if (state.stoppedTypingTimeout) { clearTimeout(state.stoppedTypingTimeout); @@ -3688,6 +3698,11 @@ async function activateSidebarSearch(query) { session.activeQuery = query; + const stringifiedResults = JSON.stringify(results); + if (stringifiedResults.length < settings.maxActiveResultsStorage) { + session.activeQueryResults = JSON.stringify(results); + } + showSidebarSearchResults(results); } -- cgit 1.3.0-6-gf8a5