Esc key close rightmenu

This commit is contained in:
Calum Mackervoy 2019-11-25 18:54:54 +00:00 committed by Jean-Baptiste Pasquier
parent c5eb67b4d4
commit d63ee9b6fb
1 changed files with 13 additions and 4 deletions

View File

@ -42,6 +42,12 @@ function recursiveAdaptWidgets(prefix, element, user) {
});
}
// auxiliary function closes the user profile menu
function closeUserControls() {
let userControls = document.querySelector('#user-controls');
if (userControls) userControls.removeAttribute("open");
}
document.addEventListener('DOMContentLoaded', function (event) {
const menuWrappers = Array.from(document.querySelectorAll('.menu-wrapper'));
const rightMenus = Array.from(document.querySelectorAll('nav.jsRightMenu'));
@ -83,10 +89,13 @@ document.addEventListener('DOMContentLoaded', function (event) {
// Document -> close menu
document.addEventListener("click", event => {
if (!event.target.closest('#user-controls')) {
let userControls = this.querySelector('#user-controls');
if (userControls) userControls.removeAttribute("open");
}
if (!event.target.closest('#user-controls')) closeUserControls();
});
// listen for keypress
document.onkeydown = (e) => {
e = e || window.event;
if (e.key === "Escape" || e.key === "Esc") closeUserControls();
};
});