| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | 
							- /*************************************************
 
-  *  Wowchemy
 
-  *  https://github.com/wowchemy/wowchemy-hugo-modules
 
-  *
 
-  *  Algolia based search algorithm.
 
-  **************************************************/
 
- import {algoliaConfig, i18n, content_type} from '@params';
 
- function getTemplate(templateName) {
 
-   return document.querySelector(`#${templateName}-template`).innerHTML;
 
- }
 
- if (typeof instantsearch === 'function' && $('#search-box').length) {
 
-   const options = {
 
-     appId: algoliaConfig.appId,
 
-     apiKey: algoliaConfig.apiKey,
 
-     indexName: algoliaConfig.indexName,
 
-     routing: true,
 
-     searchParameters: {
 
-       hitsPerPage: 10,
 
-     },
 
-     searchFunction: function (helper) {
 
-       let searchResults = document.querySelector('#search-hits');
 
-       if (helper.state.query === '') {
 
-         searchResults.style.display = 'none';
 
-         return;
 
-       }
 
-       helper.search();
 
-       searchResults.style.display = 'block';
 
-     },
 
-   };
 
-   const search = instantsearch(options);
 
-   // Initialize search box.
 
-   search.addWidget(
 
-     instantsearch.widgets.searchBox({
 
-       container: '#search-box',
 
-       autofocus: false,
 
-       reset: true,
 
-       poweredBy: algoliaConfig.poweredBy,
 
-       placeholder: i18n.placeholder,
 
-     }),
 
-   );
 
-   // Initialize search results.
 
-   search.addWidget(
 
-     instantsearch.widgets.infiniteHits({
 
-       container: '#search-hits',
 
-       escapeHits: true,
 
-       templates: {
 
-         empty: '<div class="search-no-results">' + i18n.no_results + '</div>',
 
-         item: getTemplate('search-hit-algolia'),
 
-       },
 
-       cssClasses: {
 
-         showmoreButton: 'btn btn-outline-primary',
 
-       },
 
-     }),
 
-   );
 
-   // On render search results, localize the content type metadata.
 
-   search.on('render', function () {
 
-     $('.search-hit-type').each(function () {
 
-       let content_key = $(this).text();
 
-       if (content_key in content_type) {
 
-         $(this).text(content_type[content_key]);
 
-       }
 
-     });
 
-   });
 
-   // Start search.
 
-   search.start();
 
- }
 
 
  |