authorgravatar for kappaloris@gmail.comLoris Cro <kappaloris@gmail.com> 2022-08-06 17:29:13+02:00
committergravatar for kappaloris@gmail.comLoris Cro <kappaloris@gmail.com> 2022-08-06 17:29:13+02:00
log9fc6990052d49f3ab965f55d2d134d3275cacf85
tree524ac66e79205f8e5d039545d01e0841913db841
parent059713478a06ac15295ead030e95dfc0a205541f

autodoc: re-introduce search result limits


2 files changed, 26 insertions(+), 3 deletions(-)

lib/docs/index.html+1
......@@ -647,6 +647,7 @@
647647 <div id="sectSearchResults" class="hidden">
648648 <h2>Search Results</h2>
649649 <ul id="listSearchResults"></ul>
650 <p id="sectSearchAllResultsLink" class="hidden"><a href="">show all results</a></p>
650651 </div>
651652 <div id="sectSearchNoResults" class="hidden">
652653 <h2>No Results Found</h2>
lib/docs/main.js+25-3
......@@ -40,7 +40,8 @@ var zigAnalysis;
4040 let domDeclNoRef = document.getElementById("declNoRef");
4141 let domSearch = document.getElementById("search");
4242 let domSectSearchResults = document.getElementById("sectSearchResults");
43
43 let domSectSearchAllResultsLink = document.getElementById("sectSearchAllResultsLink");
44
4445 let domListSearchResults = document.getElementById("listSearchResults");
4546 let domSectSearchNoResults = document.getElementById("sectSearchNoResults");
4647 let domSectInfo = document.getElementById("sectInfo");
......@@ -51,6 +52,7 @@ var zigAnalysis;
5152 let domHelpModal = document.getElementById("helpDialog");
5253
5354 let searchTimer = null;
55 let searchTrimResults = true;
5456
5557 let escapeHtmlReplacements = {
5658 "&": "&amp;",
......@@ -103,6 +105,14 @@ var zigAnalysis;
103105 // let nodesToCallsMap = indexNodesToCalls();
104106
105107 domSearch.addEventListener("keydown", onSearchKeyDown, false);
108 domSectSearchAllResultsLink.addEventListener('click', onClickSearchShowAllResults, false);
109 function onClickSearchShowAllResults(ev) {
110 ev.preventDefault();
111 ev.stopPropagation();
112 searchTrimResults = false;
113 onHashChange();
114 }
115
106116 domPrivDeclsBox.addEventListener(
107117 "change",
108118 function () {
......@@ -355,6 +365,7 @@ var zigAnalysis;
355365 domSectFns.classList.add("hidden");
356366 domSectFields.classList.add("hidden");
357367 domSectSearchResults.classList.add("hidden");
368 domSectSearchAllResultsLink.classList.add("hidden");
358369 domSectSearchNoResults.classList.add("hidden");
359370 domSectInfo.classList.add("hidden");
360371 domHdrName.classList.add("hidden");
......@@ -3261,6 +3272,7 @@ var zigAnalysis;
32613272 list.sort();
32623273 return list;
32633274 }
3275
32643276 function renderSearch() {
32653277 let matchedItems = [];
32663278 let ignoreCase = curNavSearch.toLowerCase() === curNavSearch;
......@@ -3332,6 +3344,14 @@ var zigAnalysis;
33323344 return operatorCompare(a.decl.name, b.decl.name);
33333345 });
33343346
3347
3348 var searchTrimmed = false
3349 var searchTrimResultsMaxItems = 200
3350 if (searchTrimResults && matchedItems.length > searchTrimResultsMaxItems) {
3351 matchedItems = matchedItems.slice(0, searchTrimResultsMaxItems)
3352 searchTrimmed = true
3353 }
3354
33353355 // Build up the list of search results
33363356 let matchedItemsHTML = "";
33373357
......@@ -3342,12 +3362,14 @@ var zigAnalysis;
33423362 const text = lastPkgName + "." + match.path.declNames.join(".");
33433363 const href = navLink(match.path.pkgNames, match.path.declNames);
33443364
3345 matchedItemsHTML += `<li><a href="${href}">${text}</a></li>`;
3365 matchedItemsHTML += "<li><a href=\""+ href +"\">"+ text + "</a></li>";
33463366 }
33473367
33483368 // Replace the search results using our newly constructed HTML string
33493369 domListSearchResults.innerHTML = matchedItemsHTML;
3350
3370 if (searchTrimmed) {
3371 domSectSearchAllResultsLink.classList.remove("hidden");
3372 }
33513373 renderSearchCursor();
33523374
33533375 domSectSearchResults.classList.remove("hidden");