Skip to content

Instantly share code, notes, and snippets.

@sunsetsonwheels
Created June 23, 2019 12:14
Show Gist options
  • Save sunsetsonwheels/4b1b3f0c4c01e66ad231074e240481e3 to your computer and use it in GitHub Desktop.
Save sunsetsonwheels/4b1b3f0c4c01e66ad231074e240481e3 to your computer and use it in GitHub Desktop.
HELP!
var optionMenuOpen = false;
var optionMenuIndex = 0;
document.addEventListener("DOMContentLoaded", () => {
});
function backHandler() {
if(optionMenuOpen) {
document.getElementById("optionMenu-blur").style.display = "none";
document.getElementById("optionMenu").style.display = "none";
navigator.mozL10n.setAttributes(document.getElementById("softkey-left"),
'home-softkey-history');
navigator.mozL10n.setAttributes(document.getElementById("softkey-center"),
'home-softkey-track');
navigator.mozL10n.setAttributes(document.getElementById("softkey-right"),
'home-softkey-options');
optionMenuOpen = false;
optionMenuIndex = 0;
document.removeEventListener('keydown', navOptionMenu);
document.addEventListener('keydown', navDocument);
} else {
window.close();
}
}
function navDocument(e) {
switch(e.key) {
case 'SoftLeft':
break;
case 'SoftRight':
if(!optionMenuOpen) {
document.getElementById("optionMenu-blur").style.display = "inline";
document.getElementById("optionMenu").style.display = "inline";
document.getElementById("softkey-left").textContent = "";
navigator.mozL10n.setAttributes(document.getElementById("softkey-center"),
'global-softkey-select');
document.getElementById("softkey-right").textContent = "";
document.getElementById("option-0").focus();
document.removeEventListener('keydown', navDocument);
document.addEventListener('keydown', navOptionMenu);
optionMenuOpen = true;
}
break;
case 'Backspace':
e.preventDefault();
backHandler();
}
}
function navOptionMenu(e) {
if(optionMenuOpen) {
for(i = 0; i < 4; i++) {
document.getElementById("option-"+i).blur();
}
switch(e.key) {
case 'Up':
if (optionMenuIndex < 0) {
optionMenuIndex = 3
}
document.getElementById("option-"+optionMenuIndex).focus();
break;
case 'Down':
if (optionMenuIndex > 3) {
optionMenuIndex = 0
}
document.getElementById("option-"+optionMenuIndex).focus();
break;
case 'Backspace':
e.preventDefault();
backHandler();
break;
}
} else {
console.log("Option menu not open!")
}
}
document.addEventListener("keydown", navDocument);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment