remove most of jquery from top menu

This commit is contained in:
Simon Vieille 2021-10-29 11:14:27 +02:00
commit a074d747c1
2 changed files with 142 additions and 105 deletions

View file

@ -94,11 +94,15 @@ if ($_['always-displayed']) {
body.addEventListener('side-menu.ready', () => {
const sideMenu = querySelector('#side-menu')
const headerMenuOpener = querySelector('#header .side-menu-opener')
const sideMenuOpener = querySelector('#side-menu .side-menu-opener')
const sideMenuOpener = querySelectorAll('#side-menu .side-menu-opener')
sideMenuFocus = () => {
let a = querySelector('.side-menu-app.active a', sideMenu)
if (!a) {
return
}
if (a.length === 0) {
a = querySelector('.side-menu-app:first-child a', sideMenu)
}
@ -108,7 +112,7 @@ if ($_['always-displayed']) {
}
}
<?php if ($_['opener-hover'] || $display === 'always-displayed'): ?>
<?php if ($_['opener-hover']): ?>
const sideMenuMouseLeave = () => {
sideMenu.classList.remove('open')
sideMenu.removeEventListener('mouseleave', sideMenuMouseLeave)
@ -142,20 +146,20 @@ if ($_['always-displayed']) {
const a = querySelector('.side-menu-app.active a', sideMenu)
if (a.length) {
if (a !== null) {
a.focus()
}
})
<?php if ($display === 'always-displayed'): ?>
sideMenuOpener.addEventListener('click', () => {
sideMenu.classList.toggle('open')
for (let opener of sideMenuOpener) {
opener.addEventListener('click', () => {
<?php if ($display === 'always-displayed'): ?>
sideMenu.classList.toggle('open')
<?php else: ?>
sideMenu.classList.remove('open')
<?php endif; ?>
})
<?php else: ?>
sideMenuOpener.addEventListener('click', () => {
sideMenu.classList.remove('open')
})
<?php endif; ?>
}
document.addEventListener('keydown', (e) => {
var key = e.key || e.keyCode