drinks-manager/static/js/login.js

87 lines
2.2 KiB
JavaScript
Raw Normal View History

{
// Define variables
let username_input;
let password_input;
let submit_button;
let username_display;
let password_overlay;
let pw_overlay_cancel;
let userlist_buttons;
let pinpad_buttons;
// Add event listeners after DOM Content loaded
document.addEventListener("DOMContentLoaded", () => {
// elements
username_input = document.getElementById("id_username");
password_input = document.getElementById("id_password");
submit_button = document.getElementById("submit_login");
password_overlay = document.getElementById("passwordOverlayContainer");
pw_overlay_cancel = document.getElementById("pwoCancel");
userlist_buttons = document.getElementsByClassName("userlistButton");
pinpad_buttons = document.getElementsByClassName("pinpadBtn");
// event listeners
// [...<html-collection>] converts an html collection to an array
[...userlist_buttons].forEach(element => {
element.addEventListener("click", () => {
set_username(element.dataset.username);
show_password_overlay();
})
});
[...pinpad_buttons].forEach(element => {
element.addEventListener("click", () => {
pinpad_press(element.dataset.btn);
})
})
pw_overlay_cancel.addEventListener("click", () => {
hide_password_overlay();
});
})
function set_username(username) {
username_input.value = username;
}
function show_password_overlay() {
window.scrollTo(0, 0);
password_overlay.classList.remove("nodisplay");
document.body.classList.add("overflowHidden");
//password_input.focus();
}
function hide_password_overlay() {
password_overlay.classList.add("nodisplay");
document.body.classList.remove("overflowHidden");
password_input.value = "";
}
function pinpad_press(key) {
if (key == "enter") {
submit_button.click();
}
else if (key == "x") {
password_input.value = "";
}
else {
password_input.value += key;
}
}
}