function showSummaries(yesNo) { if (yesNo) { $("span.details").hide(); $("div.details").hide(); $("span.nodetails").show(); } else { $("span.details").show(); $("div.details").show(); $("span.nodetails").hide(); } try { localStorage.setItem("showSummaries", yesNo); } catch (e) { } } $(document).ready(function () { var $showsumms = $("#showsumms"); $showsumms.on("change", function () { showSummaries($showsumms.prop("checked")); }) try { if (localStorage.getItem("showSummaries") === "true") { $showsumms.prop("checked") = true; $("span.details").toggle(); $("span.nodetails").toggle(); // the "More..." button $("div.details").toggle(); } } catch (e) { }; }); function hst(section) { $("#" + section).toggle(500); // span details $("#d" + section).toggle(500); // div details $("#x" + section).toggle(); // "More..." } $('#bluecss').click(function () { $('link[title="colorful"]').attr('rel', 'alternate stylesheet'); $('link[title="blue"]').attr('rel', 'stylesheet'); }); $('#colorfulcss').click(function () { $('link[title="colorful"]').attr('rel', 'stylesheet'); $('link[title="blue"]').attr('rel', 'alternate stylesheet'); }); var hash = null; function changeHash() { if (hash !== null) $(hash).css('background-color', ''); hash = window.location.hash.replace("#.", "#\\."); $(hash).css('background-color', '#feffd3'); // light yellow } $(document).ready(changeHash); $(window).on('hashchange', changeHash); /* Based on typedoc search functionality */ function initSearch () { var SearchLoadingState; (function (SearchLoadingState) { SearchLoadingState[SearchLoadingState["Idle"] = 0] = "Idle"; SearchLoadingState[SearchLoadingState["Loading"] = 1] = "Loading"; SearchLoadingState[SearchLoadingState["Ready"] = 2] = "Ready"; SearchLoadingState[SearchLoadingState["Failure"] = 3] = "Failure"; })(SearchLoadingState || (SearchLoadingState = {})); var $el = $('#apisearch'); var $field = $('#search-field'); var $results = $('.results'); var base = $el.attr('data-base'); var query = ''; var loadingState = SearchLoadingState.Idle; var hasFocus = false; var preventPress = false; var search; var index; var fuse; function createIndex() { // get search data JSON $.getJSON(base + 'search.json') .done(function (json) { search = json; // build the fuse.js search var options = { shouldSort: true, threshold: 0.1, location: 0, distance: 100, maxPatternLength: 50, minMatchCharLength: 1, keys: ['name', 'member'] // search the full name and the member name }; fuse = new Fuse(search, options); setLoadingState(SearchLoadingState.Ready); }) .fail(function () { setLoadingState(SearchLoadingState.Failure) }); } function loadIndex() { if (loadingState != SearchLoadingState.Idle) return; setTimeout(function () { if (loadingState == SearchLoadingState.Idle) { setLoadingState(SearchLoadingState.Loading); } }, 500); createIndex(); } function updateResults() { if (loadingState != SearchLoadingState.Ready) return; $results.empty(); var res = fuse.search(query); for (var i = 0, c = 0; i < res.length && c <= 10; i++) { var match = res[i]; var name = match.name; if (match.parent && match.member) name = `${match.parent}.${match.member}`; $results.append(`