UNPKG

addsearch-search-ui

Version:

JavaScript library to develop Search UIs for the web

71 lines (61 loc) 2.32 kB
<!DOCTYPE html> <html lang="en"> <head> <title>AddSearch Search UI: Autocomplete with instant hits that load onfocus</title> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta charset="UTF-8"> <script src="https://cdn.jsdelivr.net/npm/addsearch-js-client@0.6/dist/addsearch-js-client.min.js"></script> <script src="../../dist/addsearch-search-ui.min.js"></script> <link rel="stylesheet" href="../../dist/addsearch-search-ui.min.css" /> </head> <body> <!-- Containers. Search UI components will be added inside these divs --> <div id="searchfield"></div> <section id="scrollable" style="max-height: 300px; max-width: 700px; overflow: auto;"> <div id="autocomplete"></div> </section> <script> // AddSearch JS client with an example index. Get your own SITEKEY by signing up at www.addsearch.com var client = new AddSearchClient('2c32bf3eb06b30af5f8208481aea3e8b'); // Search UI instance var searchui = new AddSearchUI(client); // Add components searchui.searchField({ containerId: 'searchfield', placeholder: 'Keyword..', autofocus: false, onfocusAutocompleteMatchAllQuery: true }); var autocompleteClient = new AddSearchClient('2c32bf3eb06b30af5f8208481aea3e8b'); autocompleteClient.setPaging(1, 5, 'relevance', 'desc'); // Fetch 5 results by default var autocompleteTemplate = ` <div class="addsearch-autocomplete" style="position: relative;"> {{#gt searchResults.results.length 0}} <ul> {{#each ../searchResults.results}} <li> <strong>{{title}}</strong><br /> {{{highlight}}} </li> {{/each}} </ul> {{/gt}} </div> `; searchui.autocomplete({ containerId: 'autocomplete', template: autocompleteTemplate, infiniteScrollElement: document.querySelector('#scrollable'), sources: [ { type: AddSearchUI.AUTOCOMPLETE_TYPE.SEARCH, client: autocompleteClient, jsonKey: 'results' } ] }); // All components added. Start searchui.start(); </script> </body> </html>