mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-11-19 14:13:48 +01:00
close dialog boxes on escape
This commit is contained in:
parent
eecb0c0f01
commit
e5e3fec1a9
@ -1,3 +1,5 @@
|
||||
import { KEY } from "./helpers/keyCodes";
|
||||
|
||||
/**
|
||||
* Create and display a pop-up dialog box.
|
||||
* This dialog box does not allow for any interaction and should close when clicking
|
||||
@ -9,28 +11,31 @@ let dialogBoxes = [];
|
||||
$(document).click(function(event) {
|
||||
if (dialogBoxOpened && dialogBoxes.length >= 1) {
|
||||
if (!$(event.target).closest(dialogBoxes[0]).length){
|
||||
dialogBoxes[0].remove();
|
||||
dialogBoxes.splice(0, 1);
|
||||
if (dialogBoxes.length == 0) {
|
||||
dialogBoxOpened = false;
|
||||
} else {
|
||||
dialogBoxes[0].style.visibility = "visible";
|
||||
}
|
||||
closeTopmostDialogBox();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
function closeTopmostDialogBox() {
|
||||
if (!dialogBoxOpened || dialogBoxes.length === 0) return;
|
||||
dialogBoxes[0].remove();
|
||||
dialogBoxes.shift();
|
||||
if (dialogBoxes.length == 0) {
|
||||
dialogBoxOpened = false;
|
||||
} else {
|
||||
dialogBoxes[0].style.visibility = "visible";
|
||||
}
|
||||
}
|
||||
|
||||
// Dialog box close buttons
|
||||
$(document).on('click', '.dialog-box-close-button', function( event ) {
|
||||
if (dialogBoxOpened && dialogBoxes.length >= 1) {
|
||||
dialogBoxes[0].remove();
|
||||
dialogBoxes.splice(0, 1);
|
||||
if (dialogBoxes.length == 0) {
|
||||
dialogBoxOpened = false;
|
||||
} else {
|
||||
dialogBoxes[0].style.visibility = "visible";
|
||||
}
|
||||
closeTopmostDialogBox();
|
||||
});
|
||||
|
||||
document.addEventListener("keydown", function (event) {
|
||||
if (event.keyCode == KEY.ESC && dialogBoxOpened) {
|
||||
closeTopmostDialogBox();
|
||||
event.preventDefault();
|
||||
}
|
||||
});
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user