mirror of
https://github.com/Pax1601/DCSOlympus.git
synced 2025-10-29 16:56:34 +00:00
55 lines
1.5 KiB
JavaScript
55 lines
1.5 KiB
JavaScript
class ManagerPage {
|
|
manager;
|
|
element;
|
|
options;
|
|
previousPage;
|
|
|
|
constructor(manager, options) {
|
|
this.manager = manager;
|
|
this.options = options ?? {};
|
|
this.element = document.createElement('div');
|
|
this.element.classList.add("manager-page", "hide");
|
|
}
|
|
|
|
getElement() {
|
|
return this.element;
|
|
}
|
|
|
|
show(previousPage) {
|
|
this.element.classList.remove("hide");
|
|
|
|
if (previousPage !== undefined)
|
|
this.previousPage = previousPage;
|
|
}
|
|
|
|
hide() {
|
|
this.element.classList.add("hide");
|
|
}
|
|
|
|
render() {
|
|
/* Connect all the collapsable buttons */
|
|
let buttons = document.querySelectorAll(".button.collapse");
|
|
for (let i = 0; i < buttons.length; i++) {
|
|
buttons[i].addEventListener("click", () => {
|
|
buttons[i].classList.toggle("open");
|
|
})
|
|
}
|
|
|
|
/* Connect the back, next and cancel buttons */
|
|
if (this.element.querySelector(".back"))
|
|
this.element.querySelector(".back").addEventListener("click", (e) => this.onBackClicked(e));
|
|
|
|
if (this.element.querySelector(".next"))
|
|
this.element.querySelector(".next").addEventListener("click", (e) => this.onNextClicked(e));
|
|
|
|
if (this.element.querySelector(".cancel"))
|
|
this.element.querySelector(".cancel").addEventListener("click", (e) => this.onCancelClicked(e));
|
|
}
|
|
|
|
onBackClicked() {
|
|
this.hide();
|
|
this.previousPage.show()
|
|
}
|
|
}
|
|
|
|
module.exports = ManagerPage; |