aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/dumbymap.mjs
diff options
context:
space:
mode:
authorHsieh Chin Fan <pham@topo.tw>2024-10-27 23:48:19 +0800
committerHsieh Chin Fan <pham@topo.tw>2024-10-28 12:24:12 +0800
commit069b1b74bbc369b3dddcd6fb2d64d77381ba0b17 (patch)
tree35a0cbdd2e0ee75dc0a452e9f6ab5a8cb4a78845 /src/dumbymap.mjs
parented1a8d2e4eb77c2e33d5d44118f13331dac43899 (diff)
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
Diffstat (limited to 'src/dumbymap.mjs')
-rw-r--r--src/dumbymap.mjs20
1 files changed, 15 insertions, 5 deletions
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, {
543 menu.remove() 543 menu.remove()
544 } 544 }
545 container.appendChild(menu) 545 container.appendChild(menu)
546 const containerRect = container.getBoundingClientRect()
546 new window.MutationObserver(() => { 547 new window.MutationObserver(() => {
547 menu.style.display = 'block' 548 menu.style.display = 'block'
548 menu.style.left = (e.layerX + 10) + 'px' 549 menu.style.left = (e.pageX - containerRect.left + 10) + 'px'
549 menu.style.top = (e.layerY + 5) + 'px' 550 menu.style.top = (e.pageY - containerRect.top + 5) + 'px'
550 clearTimeout(menu.timer) 551 clearTimeout(menu.timer)
551 }).observe(menu, { childList: true }) 552 }).observe(menu, { childList: true })
552 menu.timer = setTimeout(() => menu.remove(), 100) 553 menu.timer = setTimeout(() => menu.remove(), 100)
@@ -575,13 +576,22 @@ export const generateMaps = (container, {
575 } 576 }
576 577
577 // Menu Items for map 578 // Menu Items for map
578 if (map?.renderer?.results) { 579 if (map?.dataset?.render === 'fulfilled') {
579 const rect = map.getBoundingClientRect() 580 const rect = map.getBoundingClientRect()
580 const [x, y] = [e.x - rect.left, e.y - rect.top] 581 const [x, y] = [e.x - rect.left, e.y - rect.top]
581 menu.appendChild(menuItem.toggleMapFocus(map)) 582 menu.appendChild(menuItem.toggleMapFocus(map))
582 menu.appendChild(menuItem.renderResults(dumbymap, map)) 583 menu.appendChild(menuItem.renderResults(dumbymap, map))
583 menu.appendChild(menuItem.getCoordinatesByPixels(map, [x, y])) 584 menu.appendChild(new menuItem.Folder({
584 menu.appendChild(menuItem.restoreCamera(map)) 585 text: 'Actions',
586 items: [
587 menuItem.getCoordinatesByPixels(map, [x, y]),
588 menuItem.restoreCamera(map),
589 menuItem.addMarker({
590 point: [e.pageX, e.pageY],
591 map,
592 }),
593 ],
594 }))
585 } else { 595 } else {
586 // Toggle block focus 596 // Toggle block focus
587 if (block) { 597 if (block) {