Commit 9fc6990052
Changed files (2)
lib
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>
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 = {
"&": "&",
@@ -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");