UNPKG

bootstrap-select

Version:

The jQuery plugin that brings select elements into the 21st century with intuitive multiselection, searching, and much more. Now with Bootstrap 4 support.

96 lines (75 loc) 2.67 kB
/* Highlight */ $( document ).ready(function() { hljs.initHighlightingOnLoad(); $('table').addClass('table table-striped table-hover'); $('pre').addClass('highlight'); }); /* Prevent disabled links from causing a page reload */ $("li.disabled a").click(function() { event.preventDefault(); }); var $searchQuery = $('#mkdocs-search-query'); $searchQuery.parent().on('show.bs.dropdown', function () { if (!$searchQuery[0].value) return false; }); function formatResults (results) { var sections = {}, html = []; for (var i = 0; i < results.length; i++) { var result = results[i], path = result.location.split('/'), pathBase = path[0]; if (pathBase.indexOf('#') !== -1) { pathBase = pathBase.split('#')[0]; } if (!sections.hasOwnProperty(pathBase)) { sections[pathBase] = []; } result.section = pathBase || 'Getting Started'; result.section = result.section.charAt(0).toUpperCase() + result.section.slice(1); sections[pathBase].push(result); } var sectionKeys = Object.keys(sections); for (var j = 0; j < sectionKeys.length; j++) { var section = sections[sectionKeys[j]]; if (result) html.push('<a class="h6 dropdown-header text-primary" href="' + joinUrl(base_url, sectionKeys[j]) + '">'+ section[0].section + '</a>'); for (var k = 0; k < section.length; k++) { var result = section[k]; if (result.title !== result.section) { html.push('<a class="dropdown-item" href="' + joinUrl(base_url, result.location) + '">' + result.title + '</a>'); } } if (j !== sectionKeys.length - 1) html.push('<div class="dropdown-divider"></div>'); } return html.join(''); } function displayResults (results) { var search_results = document.getElementById("mkdocs-search-results"); while (search_results.firstChild) { search_results.removeChild(search_results.firstChild); } if (results.length > 0) { var html = formatResults(results); search_results.insertAdjacentHTML('beforeend', html); } else { search_results.insertAdjacentHTML('beforeend', "<div class='dropdown-item'>No results found</div>"); } $searchQuery.dropdown('show'); } // enable fuzzy searching function search (query) { if (!allowSearch) { console.error('Assets for search still loading'); return; } var resultDocuments = []; var results = index.search(query + '~2'); // fuzzy for (var i=0; i < results.length; i++){ var result = results[i]; doc = documents[result.ref]; doc.summary = doc.text.substring(0, 200); resultDocuments.push(doc); } return resultDocuments; }