$(() => { let closePopinsRequestedHandlers = []; window.lastKeyboardEvent = null; document.addEventListener("keyup", evt => { window.lastKeyboardEvent = evt; }); function triggerClosePopinsRequestHandlers() { for (let i of closePopinsRequestedHandlers) i(); } document.addEventListener("keydown", evt => { window.lastKeyboardEvent = evt; if (evt.keyCode === 27) triggerClosePopinsRequestHandlers(); }); document.getElementById("pch-navbar-unselectAll").addEventListener("click", e => { e.preventDefault(); unselectAll(); }); document.getElementById("pch-navbar-rescan").addEventListener("click", e => { e.preventDefault(); scanServerDb(); }); document.getElementById("pch-navbar-reboot").addEventListener("click", async e => { e.preventDefault(); (await window.confirm("The Server is about to restart", { okButtonText: "Restart" })) && rebootServer(); }); document.getElementById("pch-navbar-reloadMeta").addEventListener("click", async e => { e.preventDefault(); (await window.confirm("The entire library will be processed again, which may take several time", { okButtonText: "Process" })) && reloadServerDb(); }); document.getElementById("pch-navbar-share").addEventListener("click", e => { e.preventDefault(); showShareUi(); }); document.getElementById("pch-navbar-autotags").addEventListener("click", e => { e.preventDefault(); showAutoTagsUi(); }); document.getElementById("fullScreenOverlay").addEventListener("click", e => { e.preventDefault(); triggerClosePopinsRequestHandlers(); }); document.onClosePopinRequested = (hndl) => closePopinsRequestedHandlers.push(hndl); document.removeOnClosePopinRequested = (hndl) => closePopinsRequestedHandlers.splice(closePopinsRequestedHandlers.indexOf(hndl), 1); });