From 069b1b74bbc369b3dddcd6fb2d64d77381ba0b17 Mon Sep 17 00:00:00 2001 From: Hsieh Chin Fan Date: Sun, 27 Oct 2024 23:48:19 +0800 Subject: feat: add menu item for add marker * remove code about adding reference link in editor.mjs * TODO: use local storage to access reference about marker --- src/dumbymap.mjs | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'src/dumbymap.mjs') diff --git a/src/dumbymap.mjs b/src/dumbymap.mjs index 718758b..0d88f80 100644 --- a/src/dumbymap.mjs +++ b/src/dumbymap.mjs @@ -543,10 +543,11 @@ export const generateMaps = (container, { menu.remove() } container.appendChild(menu) + const containerRect = container.getBoundingClientRect() new window.MutationObserver(() => { menu.style.display = 'block' - menu.style.left = (e.layerX + 10) + 'px' - menu.style.top = (e.layerY + 5) + 'px' + menu.style.left = (e.pageX - containerRect.left + 10) + 'px' + menu.style.top = (e.pageY - containerRect.top + 5) + 'px' clearTimeout(menu.timer) }).observe(menu, { childList: true }) menu.timer = setTimeout(() => menu.remove(), 100) @@ -575,13 +576,22 @@ export const generateMaps = (container, { } // Menu Items for map - if (map?.renderer?.results) { + if (map?.dataset?.render === 'fulfilled') { const rect = map.getBoundingClientRect() const [x, y] = [e.x - rect.left, e.y - rect.top] menu.appendChild(menuItem.toggleMapFocus(map)) menu.appendChild(menuItem.renderResults(dumbymap, map)) - menu.appendChild(menuItem.getCoordinatesByPixels(map, [x, y])) - menu.appendChild(menuItem.restoreCamera(map)) + menu.appendChild(new menuItem.Folder({ + text: 'Actions', + items: [ + menuItem.getCoordinatesByPixels(map, [x, y]), + menuItem.restoreCamera(map), + menuItem.addMarker({ + point: [e.pageX, e.pageY], + map, + }), + ], + })) } else { // Toggle block focus if (block) { -- cgit v1.2.3-70-g09d2