versions/1.6.0/assets/js/globalSearch.js (147 lines of code) (raw):

$(document).ready(function () { $("head").append( "<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css' />" ); $(".trigger").before(` <div class="gs-search-border"> <div id="gs-search-icon"></div> <form id="global-search-form"> <input id="global-search" type="text" title="Search" placeholder="Search" /> <div id="global-search-dropdown-container"> <button class="gs-current-version btn" type="button" data-toggle="dropdown"> <span id="gs-current-version-label">1.6.0</span> <svg class="gs-dropdown-caret" viewBox="0 0 32 32" class="icon icon-caret-bottom" aria-hidden="true"> <path class="dropdown-caret-path" d="M24 11.305l-7.997 11.39L8 11.305z"></path> </svg> </button> <ul class="gs-opt-group gs-version-dropdown"> <li class="gs-opt gs-versions">master</li> <li class="gs-opt active gs-versions">1.6.0</li> <li class="gs-opt gs-versions">1.5.0</li> <li class="gs-opt gs-versions">1.4.1</li> <li class="gs-opt gs-versions">1.3.1</li> <li class="gs-opt gs-versions">1.2.1</li> <li class="gs-opt gs-versions">1.1.0</li> <li class="gs-opt gs-versions">1.0.0</li> <li class="gs-opt gs-versions">0.12.1</li> <li class="gs-opt gs-versions">0.11.0</li> </ul> </div> <span id="global-search-close">x</span> </form> </div> `); $(".trigger").prepend(` <div id="global-search-mobile-border"> <div id="gs-search-icon-mobile"></div> <input id="global-search-mobile" placeholder="Search..." type="text"/> <div id="global-search-dropdown-container-mobile"> <button class="gs-current-version-mobile btn" type="button" data-toggle="dropdown"> <svg class="gs-dropdown-caret" viewBox="0 0 32 32" class="icon icon-caret-bottom" aria-hidden="true"> <path class="dropdown-caret-path" d="M24 11.305l-7.997 11.39L8 11.305z"></path> </svg> </button> <ul class="gs-opt-group gs-version-dropdown-mobile"> <li class="gs-opt gs-versions">master</li> <li class="gs-opt active gs-versions">1.6.0</li> <li class="gs-opt gs-versions">1.5.0</li> <li class="gs-opt gs-versions">1.4.1</li> <li class="gs-opt gs-versions">1.3.1</li> <li class="gs-opt gs-versions">1.2.1</li> <li class="gs-opt gs-versions">1.1.0</li> <li class="gs-opt gs-versions">1.0.0</li> <li class="gs-opt gs-versions">0.12.1</li> <li class="gs-opt gs-versions">0.11.0</li> </ul> </div> </div> `); $.getScript( "https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js", function () { const default_version = $("#gs-current-version-label").text(); // bind docsearch const globalSearch = docsearch({ apiKey: "500f8e78748bd043cc6e4ac130e8c0e7", indexName: "apache_mxnet", inputSelector: "#global-search", algoliaOptions: { facetFilters: ["version:" + default_version], }, debug: false, // Set debug to true if you want to inspect the dropdown }); const globalSearchMobile = docsearch({ apiKey: "500f8e78748bd043cc6e4ac130e8c0e7", indexName: "apache_mxnet", inputSelector: "#global-search-mobile", algoliaOptions: { facetFilters: ["version:" + default_version], hitsPerPage: 5, }, debug: false, // Set debug to true if you want to inspect the dropdown }); // search bar animation and event listeners for desktop $("#gs-search-icon").click(function () { $(".trigger").fadeOut("fast", function () { $("#global-search-form").css("display", "inline-block"); $("#global-search-close").show(); $("#global-search-dropdown-container").show(); $("#global-search") .animate({ width: "300px", }) .focus(); }); }); $("#global-search-close").click(function () { $("#global-search-dropdown-container").hide(); $("#global-search").animate( { width: "0px", }, function () { $(this).hide(); $("#global-search-form").hide(); $(".trigger").fadeIn("fast"); } ); }); $("#global-search-dropdown-container").click(function (e) { $(".gs-version-dropdown").toggle(); e.stopPropagation(); }); $("ul.gs-version-dropdown li").each(function () { $(this).on("click", function () { $("#global-search").val(""); $(".gs-version-dropdown li.gs-opt.active").removeClass("active"); $(this).addClass("active"); $("#gs-current-version-label").html(this.innerHTML); globalSearch.algoliaOptions = { facetFilters: ["version:" + this.innerHTML], }; }); }); // search bar event listeners for mobile and tablet $("#global-search-dropdown-container-mobile").click(function (e) { $(".gs-version-dropdown-mobile").toggle(); e.stopPropagation(); }); $("ul.gs-version-dropdown-mobile li").each(function () { $(this).on("click", function () { $("#global-search-mobile") .val("") .attr("placeholder", "v - " + this.innerHTML); $(".gs-version-dropdown-mobile li.gs-opt.active").removeClass( "active" ); $(this).addClass("active"); globalSearchMobile.algoliaOptions = { facetFilters: ["version:" + this.innerHTML], hitsPerPage: 5, }; }); }); // Common logic $(document).click(function () { $(".gs-version-dropdown").hide(); $(".gs-version-dropdown-mobile").hide(); }); } ); });