18F/18f.gsa.gov

View on GitHub
assets/js/jekyll-pages-api-search.js

Summary

Maintainability
A
0 mins
Test Coverage
// (function() {
/*
 * Params:
 * - query: query string
 * - results: search results matching the query
 * - doc: window.document object
 * - resultsElem: HTML element to which generated search results elements will
 *     be appended
 */
function renderJekyllPagesApiSearchResults(query, results, doc, resultsElem) {
  $("#search-loading").hide();
  results.forEach(function(result, index) {
    var resultTitle = result.title;
    var errorPages = resultTitle === '404' || resultTitle === '500' || resultTitle === '';
    
    if (resultTitle && !errorPages) {
      var item = doc.createElement('li'),
          link = doc.createElement('a'),
          text = doc.createTextNode(resultTitle);

      link.appendChild(text);
      link.title = result.title;
      link.href = result.url;

      item.appendChild(link);
      resultsElem.appendChild(item);

      link.tabindex = index;
      if (index === 0) {
        link.focus();
      }
    }
  });
}
// })();