From 5f4246cbd36183de584c3c1c891d84eb811108b4 Mon Sep 17 00:00:00 2001 From: Jerry Ng Date: Sat, 30 Nov 2024 12:08:50 +0800 Subject: [PATCH] bug: Fix search result cycling when using different search term --- internal/template.html | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/internal/template.html b/internal/template.html index df3091a..b4ab115 100644 --- a/internal/template.html +++ b/internal/template.html @@ -717,8 +717,11 @@ let searchResults = []; let currentSearchIndex = 0; + let lastSearchTerm = ''; function searchNodes(searchTerm) { + lastSearchTerm = searchTerm; + searchResults = treeData.descendants().filter(node => node.data.id.toLowerCase().includes(searchTerm)); currentSearchIndex = 0; if (searchResults.length > 0) { @@ -769,7 +772,9 @@ d3.select("#search-input").on("keypress", (event) => { if (event.key === "Enter") { - if (searchResults.length > 0) { + const searchTerm = d3.select("#search-input").property("value").toLowerCase(); + + if (searchResults.length > 0 && searchTerm === lastSearchTerm) { currentSearchIndex = (currentSearchIndex + 1) % searchResults.length; focusOnSearchResult(); } else {