in assets/javascripts/plugins-search.js [102:141]
function onQueryChanged() {
let query = queryValue()?.trim();
const matchingPlugins = [];
if (query === null || query === "") {
resetDefault();
return;
} else if (query.length < 3) {
return;
}
if (query !== '') {
for (let i = 0; i <= allPlugins.length - 1; i++) {
const plugin = allPlugins[i];
if (doesPluginMatchesQuery(plugin, query)) {
matchingPlugins.push(plugin);
}
}
}
if (searchResultsDiv) {
if (matchingPlugins.length > 0) {
if (searchResultsDiv.parentNode.getElementsByClassName(searchResultsLabelSelector).length === 0) {
const searchResultHeadingLabel = document.querySelector(searchResultsLabelSelector);
const querySpan = searchResultHeadingLabel.querySelector("span");
querySpan.innerHTML = queryValue()
showElementsByClassName(searchResultsHeadingLabelClassName)
}
hideElementsToDisplaySearchResults();
searchResultsDiv.innerHTML = renderPlugins(matchingPlugins);
paginate(Array.from(searchResultsDiv.getElementsByClassName(pluginContainerDivClassName)), max, searchResultsDiv, paginationContainerClass)
showElementsByClassName(searchResultsDivClassName)
hideElementsByClassName(noresultsDivClassName)
} else if (matchingPlugins.length === 0) {
clearSearchResultsDiv();
hideElementsToDisplaySearchResults();
showElementsByClassName(noresultsDivClassName)
const pagination = document.querySelector(paginationContainerClass);
pagination.innerHTML = "";
}
}
}