You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
132 lines
4.1 KiB
132 lines
4.1 KiB
/* |
|
* Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved. |
|
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. |
|
* |
|
* |
|
* |
|
* |
|
* |
|
* |
|
* |
|
* |
|
* |
|
* |
|
* |
|
* |
|
* |
|
* |
|
* |
|
* |
|
* |
|
* |
|
* |
|
* |
|
*/ |
|
|
|
var moduleSearchIndex; |
|
var packageSearchIndex; |
|
var typeSearchIndex; |
|
var memberSearchIndex; |
|
var tagSearchIndex; |
|
function loadScripts(doc, tag) { |
|
createElem(doc, tag, 'search.js'); |
|
|
|
createElem(doc, tag, 'module-search-index.js'); |
|
createElem(doc, tag, 'package-search-index.js'); |
|
createElem(doc, tag, 'type-search-index.js'); |
|
createElem(doc, tag, 'member-search-index.js'); |
|
createElem(doc, tag, 'tag-search-index.js'); |
|
} |
|
|
|
function createElem(doc, tag, path) { |
|
var script = doc.createElement(tag); |
|
var scriptElement = doc.getElementsByTagName(tag)[0]; |
|
script.src = pathtoroot + path; |
|
scriptElement.parentNode.insertBefore(script, scriptElement); |
|
} |
|
|
|
function show(tableId, selected, columns) { |
|
if (tableId !== selected) { |
|
document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')') |
|
.forEach(function(elem) { |
|
elem.style.display = 'none'; |
|
}); |
|
} |
|
document.querySelectorAll('div.' + selected) |
|
.forEach(function(elem, index) { |
|
elem.style.display = ''; |
|
var isEvenRow = index % (columns * 2) < columns; |
|
elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor); |
|
elem.classList.add(isEvenRow ? evenRowColor : oddRowColor); |
|
}); |
|
updateTabs(tableId, selected); |
|
} |
|
|
|
function updateTabs(tableId, selected) { |
|
document.querySelector('div#' + tableId +' .summary-table') |
|
.setAttribute('aria-labelledby', selected); |
|
document.querySelectorAll('button[id^="' + tableId + '"]') |
|
.forEach(function(tab, index) { |
|
if (selected === tab.id || (tableId === selected && index === 0)) { |
|
tab.className = activeTableTab; |
|
tab.setAttribute('aria-selected', true); |
|
tab.setAttribute('tabindex',0); |
|
} else { |
|
tab.className = tableTab; |
|
tab.setAttribute('aria-selected', false); |
|
tab.setAttribute('tabindex',-1); |
|
} |
|
}); |
|
} |
|
|
|
function switchTab(e) { |
|
var selected = document.querySelector('[aria-selected=true]'); |
|
if (selected) { |
|
if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) { |
|
// left or up arrow key pressed: move focus to previous tab |
|
selected.previousSibling.click(); |
|
selected.previousSibling.focus(); |
|
e.preventDefault(); |
|
} else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) { |
|
// right or down arrow key pressed: move focus to next tab |
|
selected.nextSibling.click(); |
|
selected.nextSibling.focus(); |
|
e.preventDefault(); |
|
} |
|
} |
|
} |
|
|
|
var updateSearchResults = function() {}; |
|
|
|
function indexFilesLoaded() { |
|
return moduleSearchIndex |
|
&& packageSearchIndex |
|
&& typeSearchIndex |
|
&& memberSearchIndex |
|
&& tagSearchIndex; |
|
} |
|
|
|
// Workaround for scroll position not being included in browser history (8249133) |
|
document.addEventListener("DOMContentLoaded", function(e) { |
|
var contentDiv = document.querySelector("div.flex-content"); |
|
window.addEventListener("popstate", function(e) { |
|
if (e.state !== null) { |
|
contentDiv.scrollTop = e.state; |
|
} |
|
}); |
|
window.addEventListener("hashchange", function(e) { |
|
history.replaceState(contentDiv.scrollTop, document.title); |
|
}); |
|
contentDiv.addEventListener("scroll", function(e) { |
|
var timeoutID; |
|
if (!timeoutID) { |
|
timeoutID = setTimeout(function() { |
|
history.replaceState(contentDiv.scrollTop, document.title); |
|
timeoutID = null; |
|
}, 100); |
|
} |
|
}); |
|
if (!location.hash) { |
|
history.replaceState(contentDiv.scrollTop, document.title); |
|
} |
|
});
|
|
|