/* * Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/ */ "use strict"; $(function() { var copy = $("#page-search-copy"); var expand = $("#page-search-expand"); var searchLink = $("span#page-search-link"); var redirect = $("input#search-redirect"); function setSearchUrlTemplate() { var href = document.location.href.split(/[#?]/)[0]; href += "?q=" + "%s"; if (redirect.is(":checked")) { href += "&r=1"; } searchLink.html(href); copy[0].onmouseenter(); } function copyLink(e) { copyToClipboard(this.previousSibling.innerText); switchCopyLabel(this, this.lastElementChild); } copy.on("click", copyLink); copy[0].onmouseenter = function() {}; redirect.on("click", setSearchUrlTemplate); setSearchUrlTemplate(); copy.prop("disabled", false); redirect.prop("disabled", false); expand.on("click", function (e) { var searchInfo = $("div.page-search-info"); if(this.parentElement.hasAttribute("open")) { searchInfo.attr("style", " display:none;"); } else { searchInfo.attr("style", "display:block;"); } }); }); $(window).on("load", function() { var input = $("#page-search-input"); var reset = $("#page-search-reset"); var modules = $("#search-modules"); var notify = $("#page-search-notify"); var resultSection = $("div#result-section"); var resultContainer = $("div#result-container"); var selectedLink; var searchTerm = ""; var activeTab = ""; var fixedTab = false; var visibleTabs = []; var feelingLucky = false; const MIN_TABBED_RESULTS = 10; function renderResults(result) { if (!result.length) { notify.html(messages.noResult); } else if (result.length === 1) { notify.html(messages.oneResult); } else { notify.html(messages.manyResults.replace("{0}", result.length)); } resultContainer.empty(); var r = { "types": [], "members": [], "packages": [], "modules": [], "searchTags": [] }; for (var i in result) { var item = result[i]; var arr = r[item.category]; arr.push(item); } if (!activeTab || r[activeTab].length === 0) { activeTab = Object.keys(r).find(category => r[category].length > 0); } if (feelingLucky && activeTab) { notify.html(messages.redirecting) var firstItem = r[activeTab][0]; window.location = getURL(firstItem.indexItem, firstItem.category); return; } if (searchTerm.endsWith(".") && result.length > MIN_TABBED_RESULTS) { if (activeTab === "types" && r["members"].length > r["types"].length) { activeTab = "members"; } else if (activeTab === "packages" && r["types"].length > r["packages"].length) { activeTab = "types"; } } var categoryCount = Object.keys(r).reduce(function(prev, curr) { return prev + (r[curr].length > 0 ? 1 : 0); }, 0); visibleTabs = []; var tabContainer = $("
").appendTo(resultContainer); for (var key in r) { var id = "#result-tab-" + key.replace("searchTags", "search_tags"); if (r[key].length) { var count = r[key].length >= 1000 ? "999+" : r[key].length; if (result.length > MIN_TABBED_RESULTS && categoryCount > 1) { let button = $("