Skip to content
Prev Previous commit
Next Next commit
Drop semicolons in menu.js
  • Loading branch information
AA-Turner committed Apr 11, 2023
commit 458d6cd9c452fc795ecdf739f662685c6bb65f05
50 changes: 25 additions & 25 deletions python_docs_theme/static/menu.js
Original file line number Diff line number Diff line change
@@ -1,55 +1,55 @@
document.addEventListener('DOMContentLoaded', function () {

// Make tables responsive by wrapping them in a div and making them scrollable
const tables = document.querySelectorAll('table.docutils');
const tables = document.querySelectorAll('table.docutils')
tables.forEach(function(table){
table.outerHTML = '<div class="responsive-table__container">' + table.outerHTML + '</div>'
});
})

const togglerInput = document.querySelector('.toggler__input');
const togglerLabel = document.querySelector('.toggler__label');
const sideMenu = document.querySelector('.menu-wrapper');
const togglerInput = document.querySelector('.toggler__input')
const togglerLabel = document.querySelector('.toggler__label')
const sideMenu = document.querySelector('.menu-wrapper')
const menuItems = document.querySelectorAll('.menu')
const doc = document.querySelector('.document');
const body = document.querySelector('body');
const doc = document.querySelector('.document')
const body = document.querySelector('body')

function closeMenu() {
togglerInput.checked = false;
sideMenu.setAttribute("aria-expanded", 'false');
sideMenu.setAttribute('aria-hidden', 'true');
togglerLabel.setAttribute('aria-pressed', 'false');
body.style.overflow = 'visible';
togglerInput.checked = false
sideMenu.setAttribute("aria-expanded", 'false')
sideMenu.setAttribute('aria-hidden', 'true')
togglerLabel.setAttribute('aria-pressed', 'false')
body.style.overflow = 'visible'
}
function openMenu() {
togglerInput.checked = true;
sideMenu.setAttribute("aria-expanded", 'true');
sideMenu.setAttribute('aria-hidden', 'false');
togglerLabel.setAttribute('aria-pressed', 'true');
body.style.overflow = 'hidden';
togglerInput.checked = true
sideMenu.setAttribute("aria-expanded", 'true')
sideMenu.setAttribute('aria-hidden', 'false')
togglerLabel.setAttribute('aria-pressed', 'true')
body.style.overflow = 'hidden'
}

// Close menu when link on the sideMenu is clicked
sideMenu.addEventListener('click', function (event) {
let target = event.target;
if (target.tagName.toLowerCase() !== 'a') return;
closeMenu();
let target = event.target
if (target.tagName.toLowerCase() !== 'a') return
closeMenu()
})
// Add accessibility data when sideMenu is opened/closed
togglerInput.addEventListener('change', function (e) {
togglerInput.checked ? openMenu() : closeMenu();
});
togglerInput.checked ? openMenu() : closeMenu()
})
// Make sideMenu links tabbable only when visible
for(let menuItem of menuItems) {
if(togglerInput.checked) {
menuItem.setAttribute('tabindex', '0');
menuItem.setAttribute('tabindex', '0')
} else {
menuItem.setAttribute('tabindex', '-1');
menuItem.setAttribute('tabindex', '-1')
}
}
// Close sideMenu when document body is clicked
doc.addEventListener('click', function () {
if (togglerInput.checked) {
closeMenu();
closeMenu()
}
})
})