| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- const panel = document.getElementById( 'panel' );
- const panelScrim = document.getElementById( 'panelScrim' );
- const expandButton = document.getElementById( 'expandButton' );
- const clearSearchButton = document.getElementById( 'clearSearchButton' );
- const filterInput = document.getElementById( 'filterInput' );
- // Functionality for hamburger button (on small devices)
- expandButton.onclick = function ( event ) {
- event.preventDefault();
- panel.classList.toggle( 'open' );
- };
- panelScrim.onclick = function ( event ) {
- event.preventDefault();
- panel.classList.toggle( 'open' );
- };
- // Functionality for search/filter input field
- filterInput.onfocus = function () {
- panel.classList.add( 'searchFocused' );
- };
- filterInput.onblur = function () {
- if ( filterInput.value === '' ) {
- panel.classList.remove( 'searchFocused' );
- }
- };
- filterInput.oninput = function () {
- const term = filterInput.value.trim();
- // eslint-disable-next-line no-undef
- search( term ); // defined in search.js
- };
- clearSearchButton.onclick = function () {
- filterInput.value = '';
- filterInput.focus();
- // eslint-disable-next-line no-undef
- hideSearch(); // defined in search.js
- };
- //
- window.addEventListener( 'DOMContentLoaded', updateNavigation );
- window.addEventListener( 'hashchange', updateNavigation );
- function updateNavigation() {
- // unselected elements
- const selected = document.querySelectorAll( 'nav a.selected' );
- selected.forEach( link => link.classList.remove( 'selected' ) );
- // determine target
- const filename = window.location.pathname.split( '/' ).pop();
- const pagename = filename.split( '.' )[ 0 ];
- let target = pagename;
- if ( pagename === 'global' ) {
- target = window.location.hash.split( '#' ).pop();
- }
- if ( target === '' ) return;
- // select target and move into view
- const liElement = document.querySelector( `li[data-name="${target}"]` );
- if ( liElement !== null ) {
- const aElement = liElement.firstChild;
- aElement.scrollIntoView( { block: 'center' } );
- aElement.classList.add( 'selected' );
- }
- }
- // eslint-disable-next-line no-undef
- prettyPrint();
- console.log( [
- ' __ __',
- ' __/ __\\ / __\\__ ____ _____ _____',
- '/ __/ /\\/ / /___\\/ ____\\/ _____\\/ _____\\',
- '\\/_ __/ / _ / / __/ / __ / / __ /_ __ _____',
- '/ / / / / / / / / / / / ___/ / ___/\\ _\\/ __\\/ _____\\',
- '\\/__/ \\/__/\\/__/\\/__/ \\/_____/\\/_____/\\/__/ / / / ___/',
- ' / __/ / \\__ \\',
- ' \\/____/\\/_____/'
- ].join( '\n' ) );
|