uiCommon.js 1.8 KB

1234567891011121314151617181920212223242526272829303132
  1. $(() => {
  2. let closePopinsRequestedHandlers = [];
  3. window.lastKeyboardEvent = null;
  4. document.addEventListener("keyup", evt => {
  5. window.lastKeyboardEvent = evt;
  6. });
  7. function triggerClosePopinsRequestHandlers() {
  8. for (let i of closePopinsRequestedHandlers)
  9. i();
  10. }
  11. document.addEventListener("keydown", evt => {
  12. window.lastKeyboardEvent = evt;
  13. if (evt.keyCode === 27)
  14. triggerClosePopinsRequestHandlers();
  15. });
  16. document.getElementById("pch-navbar-unselectAll").addEventListener("click", e => { e.preventDefault(); unselectAll(); });
  17. document.getElementById("pch-navbar-rescan").addEventListener("click", e => { e.preventDefault(); scanServerDb(); });
  18. document.getElementById("pch-navbar-reboot").addEventListener("click", async e => { e.preventDefault(); (await window.confirm("The Server is about to restart", { okButtonText: "Restart" })) && rebootServer(); });
  19. 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(); });
  20. document.getElementById("pch-navbar-share").addEventListener("click", e => { e.preventDefault(); showShareUi(); });
  21. document.getElementById("pch-navbar-autotags").addEventListener("click", e => { e.preventDefault(); showAutoTagsUi(); });
  22. document.getElementById("fullScreenOverlay").addEventListener("click", e => { e.preventDefault(); triggerClosePopinsRequestHandlers(); });
  23. document.onClosePopinRequested = (hndl) => closePopinsRequestedHandlers.push(hndl);
  24. document.removeOnClosePopinRequested = (hndl) => closePopinsRequestedHandlers.splice(closePopinsRequestedHandlers.indexOf(hndl), 1);
  25. });