|
|
|
@@ -3147,7 +3147,7 @@ function handleResize(update = true) { |
|
|
|
} |
|
|
|
|
|
|
|
function preparePopoutMenu() { |
|
|
|
const menubar = document.querySelector("#sidebar-menu"); |
|
|
|
const menubar = document.querySelector("#menu-menu"); |
|
|
|
|
|
|
|
[ |
|
|
|
{ |
|
|
|
@@ -4116,183 +4116,86 @@ function entityRelativePosition(pos, entityElement) { |
|
|
|
return pos; |
|
|
|
} |
|
|
|
|
|
|
|
function setupMenuButtons() { |
|
|
|
document |
|
|
|
.querySelector("#copy-screenshot") |
|
|
|
.addEventListener("click", (e) => { |
|
|
|
copyScreenshot(); |
|
|
|
}); |
|
|
|
|
|
|
|
document |
|
|
|
.querySelector("#save-screenshot") |
|
|
|
.addEventListener("click", (e) => { |
|
|
|
saveScreenshot(); |
|
|
|
}); |
|
|
|
|
|
|
|
document |
|
|
|
.querySelector("#open-screenshot") |
|
|
|
.addEventListener("click", (e) => { |
|
|
|
openScreenshot(); |
|
|
|
}); |
|
|
|
|
|
|
|
document.querySelector("#toggle-menu").addEventListener("click", (e) => { |
|
|
|
const popoutMenu = document.querySelector("#sidebar-menu"); |
|
|
|
if (popoutMenu.classList.contains("visible")) { |
|
|
|
popoutMenu.classList.remove("visible"); |
|
|
|
} else { |
|
|
|
document |
|
|
|
.querySelectorAll(".popout-menu") |
|
|
|
.forEach((menu) => menu.classList.remove("visible")); |
|
|
|
const rect = e.target.getBoundingClientRect(); |
|
|
|
popoutMenu.classList.add("visible"); |
|
|
|
|
|
|
|
popoutMenu.style.left = rect.x + rect.width + 10 + "px"; |
|
|
|
popoutMenu.style.top = rect.y + rect.height + 10 + "px"; |
|
|
|
|
|
|
|
let menuWidth = popoutMenu.getBoundingClientRect().width; |
|
|
|
let screenWidth = window.innerWidth; |
|
|
|
|
|
|
|
if (menuWidth * 1.5 > screenWidth) { |
|
|
|
popoutMenu.style.left = 25 + "px"; |
|
|
|
} |
|
|
|
} |
|
|
|
e.stopPropagation(); |
|
|
|
}); |
|
|
|
|
|
|
|
document.querySelector("#sidebar-menu").addEventListener("click", (e) => { |
|
|
|
e.stopPropagation(); |
|
|
|
}); |
|
|
|
|
|
|
|
document.querySelector("#sidebar-menu").addEventListener("touchstart", (e) => { |
|
|
|
e.stopPropagation(); |
|
|
|
}); |
|
|
|
|
|
|
|
document.addEventListener("click", (e) => { |
|
|
|
document.querySelector("#sidebar-menu").classList.remove("visible"); |
|
|
|
}); |
|
|
|
|
|
|
|
document.addEventListener("touchstart", (e) => { |
|
|
|
document.querySelector("#sidebar-menu").classList.remove("visible"); |
|
|
|
}); |
|
|
|
function hidePopoutMenu(id) { |
|
|
|
document.querySelector(id).classList.remove("visible"); |
|
|
|
} |
|
|
|
|
|
|
|
function showPopoutMenu(id, event) { |
|
|
|
document |
|
|
|
.querySelector("#toggle-settings") |
|
|
|
.addEventListener("click", (e) => { |
|
|
|
const popoutMenu = document.querySelector("#settings-menu"); |
|
|
|
if (popoutMenu.classList.contains("visible")) { |
|
|
|
popoutMenu.classList.remove("visible"); |
|
|
|
} else { |
|
|
|
document |
|
|
|
.querySelectorAll(".popout-menu") |
|
|
|
.forEach((menu) => menu.classList.remove("visible")); |
|
|
|
const rect = e.target.getBoundingClientRect(); |
|
|
|
popoutMenu.classList.add("visible"); |
|
|
|
popoutMenu.style.left = rect.x + rect.width + 10 + "px"; |
|
|
|
popoutMenu.style.top = rect.y + rect.height + 10 + "px"; |
|
|
|
|
|
|
|
let menuWidth = popoutMenu.getBoundingClientRect().width; |
|
|
|
let screenWidth = window.innerWidth; |
|
|
|
|
|
|
|
if (menuWidth * 1.5 > screenWidth) { |
|
|
|
popoutMenu.style.left = 25 + "px"; |
|
|
|
} |
|
|
|
} |
|
|
|
e.stopPropagation(); |
|
|
|
}); |
|
|
|
|
|
|
|
document.querySelector("#settings-menu").addEventListener("click", (e) => { |
|
|
|
e.stopPropagation(); |
|
|
|
}); |
|
|
|
.querySelectorAll(".popout-menu") |
|
|
|
.forEach((menu) => menu.classList.remove("visible")); |
|
|
|
const popoutMenu = document.querySelector(id); |
|
|
|
const rect = event.currentTarget.getBoundingClientRect(); |
|
|
|
popoutMenu.classList.add("visible"); |
|
|
|
|
|
|
|
document.querySelector("#settings-menu").addEventListener("touchstart", (e) => { |
|
|
|
e.stopPropagation(); |
|
|
|
}); |
|
|
|
popoutMenu.style.left = rect.x + "px"; |
|
|
|
popoutMenu.style.top = rect.y + rect.height + "px"; |
|
|
|
|
|
|
|
document.addEventListener("click", (e) => { |
|
|
|
document.querySelector("#settings-menu").classList.remove("visible"); |
|
|
|
}); |
|
|
|
let menuWidth = popoutMenu.getBoundingClientRect().width; |
|
|
|
let screenWidth = window.innerWidth; |
|
|
|
|
|
|
|
document.addEventListener("touchstart", (e) => { |
|
|
|
document.querySelector("#settings-menu").classList.remove("visible"); |
|
|
|
}); |
|
|
|
if (menuWidth * 1.5 > screenWidth) { |
|
|
|
popoutMenu.style.left = 25 + "px"; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
document.querySelector("#toggle-filters").addEventListener("click", (e) => { |
|
|
|
const popoutMenu = document.querySelector("#filters-menu"); |
|
|
|
function setupPopoutMenu(type) { |
|
|
|
let buttonId = "#toggle-" + type; |
|
|
|
let menuId = "#" + type + "-menu"; |
|
|
|
document.querySelector(buttonId).addEventListener("click", (e) => { |
|
|
|
const popoutMenu = document.querySelector(menuId); |
|
|
|
if (popoutMenu.classList.contains("visible")) { |
|
|
|
popoutMenu.classList.remove("visible"); |
|
|
|
hidePopoutMenu(menuId); |
|
|
|
} else { |
|
|
|
document |
|
|
|
.querySelectorAll(".popout-menu") |
|
|
|
.forEach((menu) => menu.classList.remove("visible")); |
|
|
|
const rect = e.target.getBoundingClientRect(); |
|
|
|
popoutMenu.classList.add("visible"); |
|
|
|
popoutMenu.style.left = rect.x + rect.width + 10 + "px"; |
|
|
|
popoutMenu.style.top = rect.y + rect.height + 10 + "px"; |
|
|
|
|
|
|
|
let menuWidth = popoutMenu.getBoundingClientRect().width; |
|
|
|
let screenWidth = window.innerWidth; |
|
|
|
|
|
|
|
if (menuWidth * 1.5 > screenWidth) { |
|
|
|
popoutMenu.style.left = 25 + "px"; |
|
|
|
} |
|
|
|
showPopoutMenu(menuId, e); |
|
|
|
} |
|
|
|
e.stopPropagation(); |
|
|
|
}); |
|
|
|
|
|
|
|
document.querySelector("#filters-menu").addEventListener("click", (e) => { |
|
|
|
document.querySelector(buttonId).addEventListener("touchend", (e) => { |
|
|
|
e.stopPropagation(); |
|
|
|
}); |
|
|
|
|
|
|
|
document.querySelector("#filters-menu").addEventListener("touchstart", (e) => { |
|
|
|
document.querySelector(menuId).addEventListener("click", (e) => { |
|
|
|
e.stopPropagation(); |
|
|
|
}); |
|
|
|
|
|
|
|
document.addEventListener("click", (e) => { |
|
|
|
document.querySelector("#filters-menu").classList.remove("visible"); |
|
|
|
document.querySelector(menuId).addEventListener("touchend", (e) => { |
|
|
|
e.stopPropagation(); |
|
|
|
}); |
|
|
|
|
|
|
|
document.addEventListener("touchstart", (e) => { |
|
|
|
document.querySelector("#filters-menu").classList.remove("visible"); |
|
|
|
document.addEventListener("click", (e) => { |
|
|
|
document.querySelector(menuId).classList.remove("visible"); |
|
|
|
}); |
|
|
|
|
|
|
|
document.querySelector("#toggle-info").addEventListener("click", (e) => { |
|
|
|
const popoutMenu = document.querySelector("#info-menu"); |
|
|
|
if (popoutMenu.classList.contains("visible")) { |
|
|
|
popoutMenu.classList.remove("visible"); |
|
|
|
} else { |
|
|
|
document |
|
|
|
.querySelectorAll(".popout-menu") |
|
|
|
.forEach((menu) => menu.classList.remove("visible")); |
|
|
|
const rect = e.target.getBoundingClientRect(); |
|
|
|
popoutMenu.classList.add("visible"); |
|
|
|
popoutMenu.style.left = rect.x + rect.width + 10 + "px"; |
|
|
|
popoutMenu.style.top = rect.y + rect.height + 10 + "px"; |
|
|
|
|
|
|
|
let menuWidth = popoutMenu.getBoundingClientRect().width; |
|
|
|
let screenWidth = window.innerWidth; |
|
|
|
|
|
|
|
if (menuWidth * 1.5 > screenWidth) { |
|
|
|
popoutMenu.style.left = 25 + "px"; |
|
|
|
} |
|
|
|
} |
|
|
|
e.stopPropagation(); |
|
|
|
document.addEventListener("touchend", (e) => { |
|
|
|
document.querySelector(menuId).classList.remove("visible"); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
document.querySelector("#info-menu").addEventListener("click", (e) => { |
|
|
|
e.stopPropagation(); |
|
|
|
}); |
|
|
|
function setupMenuButtons() { |
|
|
|
document |
|
|
|
.querySelector("#copy-screenshot") |
|
|
|
.addEventListener("click", (e) => { |
|
|
|
copyScreenshot(); |
|
|
|
}); |
|
|
|
|
|
|
|
document.querySelector("#info-menu").addEventListener("touchstart", (e) => { |
|
|
|
e.stopPropagation(); |
|
|
|
}); |
|
|
|
document |
|
|
|
.querySelector("#save-screenshot") |
|
|
|
.addEventListener("click", (e) => { |
|
|
|
saveScreenshot(); |
|
|
|
}); |
|
|
|
|
|
|
|
document.addEventListener("click", (e) => { |
|
|
|
document.querySelector("#info-menu").classList.remove("visible"); |
|
|
|
}); |
|
|
|
document |
|
|
|
.querySelector("#open-screenshot") |
|
|
|
.addEventListener("click", (e) => { |
|
|
|
openScreenshot(); |
|
|
|
}); |
|
|
|
|
|
|
|
document.addEventListener("touchstart", (e) => { |
|
|
|
document.querySelector("#info-menu").classList.remove("visible"); |
|
|
|
}); |
|
|
|
setupPopoutMenu("menu"); |
|
|
|
setupPopoutMenu("settings"); |
|
|
|
setupPopoutMenu("filters"); |
|
|
|
setupPopoutMenu("info"); |
|
|
|
} |
|
|
|
|
|
|
|
function setupSidebar() { |
|
|
|
|