zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 9fc6990052d49f3ab965f55d2d134d3275cacf85 (tree)
parent 059713478a06ac15295ead030e95dfc0a205541f
Author: Loris Cro <kappaloris@gmail.com>
Date:   Sat,  6 Aug 2022 17:29:13 +0200

autodoc: re-introduce search result limits

Diffstat:
Mlib/docs/index.html | 1+
Mlib/docs/main.js | 28+++++++++++++++++++++++++---
2 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/lib/docs/index.html b/lib/docs/index.html @@ -647,6 +647,7 @@ <div id="sectSearchResults" class="hidden"> <h2>Search Results</h2> <ul id="listSearchResults"></ul> + <p id="sectSearchAllResultsLink" class="hidden"><a href="">show all results</a></p> </div> <div id="sectSearchNoResults" class="hidden"> <h2>No Results Found</h2> diff --git a/lib/docs/main.js b/lib/docs/main.js @@ -40,7 +40,8 @@ var zigAnalysis; let domDeclNoRef = document.getElementById("declNoRef"); let domSearch = document.getElementById("search"); let domSectSearchResults = document.getElementById("sectSearchResults"); - + let domSectSearchAllResultsLink = document.getElementById("sectSearchAllResultsLink"); + let domListSearchResults = document.getElementById("listSearchResults"); let domSectSearchNoResults = document.getElementById("sectSearchNoResults"); let domSectInfo = document.getElementById("sectInfo"); @@ -51,6 +52,7 @@ var zigAnalysis; let domHelpModal = document.getElementById("helpDialog"); let searchTimer = null; + let searchTrimResults = true; let escapeHtmlReplacements = { "&": "&amp;", @@ -103,6 +105,14 @@ var zigAnalysis; // let nodesToCallsMap = indexNodesToCalls(); domSearch.addEventListener("keydown", onSearchKeyDown, false); + domSectSearchAllResultsLink.addEventListener('click', onClickSearchShowAllResults, false); + function onClickSearchShowAllResults(ev) { + ev.preventDefault(); + ev.stopPropagation(); + searchTrimResults = false; + onHashChange(); + } + domPrivDeclsBox.addEventListener( "change", function () { @@ -355,6 +365,7 @@ var zigAnalysis; domSectFns.classList.add("hidden"); domSectFields.classList.add("hidden"); domSectSearchResults.classList.add("hidden"); + domSectSearchAllResultsLink.classList.add("hidden"); domSectSearchNoResults.classList.add("hidden"); domSectInfo.classList.add("hidden"); domHdrName.classList.add("hidden"); @@ -3261,6 +3272,7 @@ var zigAnalysis; list.sort(); return list; } + function renderSearch() { let matchedItems = []; let ignoreCase = curNavSearch.toLowerCase() === curNavSearch; @@ -3332,6 +3344,14 @@ var zigAnalysis; return operatorCompare(a.decl.name, b.decl.name); }); + + var searchTrimmed = false + var searchTrimResultsMaxItems = 200 + if (searchTrimResults && matchedItems.length > searchTrimResultsMaxItems) { + matchedItems = matchedItems.slice(0, searchTrimResultsMaxItems) + searchTrimmed = true + } + // Build up the list of search results let matchedItemsHTML = ""; @@ -3342,12 +3362,14 @@ var zigAnalysis; const text = lastPkgName + "." + match.path.declNames.join("."); const href = navLink(match.path.pkgNames, match.path.declNames); - matchedItemsHTML += `<li><a href="${href}">${text}</a></li>`; + matchedItemsHTML += "<li><a href=\""+ href +"\">"+ text + "</a></li>"; } // Replace the search results using our newly constructed HTML string domListSearchResults.innerHTML = matchedItemsHTML; - + if (searchTrimmed) { + domSectSearchAllResultsLink.classList.remove("hidden"); + } renderSearchCursor(); domSectSearchResults.classList.remove("hidden");