aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/dumbymap.mjs
diff options
context:
space:
mode:
authorHsieh Chin Fan <pham@topo.tw>2024-10-28 12:23:25 +0800
committerHsieh Chin Fan <pham@topo.tw>2024-10-28 19:44:05 +0800
commit6d8400e11ac5ebb05b43a12367384e686f834d7c (patch)
treeb82e4d38d71921943dcb9882ee4333d0d0cb94c9 /src/dumbymap.mjs
parent65680175fc04e71b362458745727974af73f711c (diff)
feat: add menu-item for edit map without editor
Diffstat (limited to 'src/dumbymap.mjs')
-rw-r--r--src/dumbymap.mjs41
1 files changed, 30 insertions, 11 deletions
diff --git a/src/dumbymap.mjs b/src/dumbymap.mjs
index 46a67a0..3792994 100644
--- a/src/dumbymap.mjs
+++ b/src/dumbymap.mjs
@@ -551,7 +551,17 @@ export const generateMaps = (container, {
551 }).observe(menu, { childList: true }) 551 }).observe(menu, { childList: true })
552 menu.timer = setTimeout(() => menu.remove(), 100) 552 menu.timer = setTimeout(() => menu.remove(), 100)
553 553
554 // Menu Items for Links 554 /** Menu Item for editing map */
555 const mapEditor = e.target.closest('.edit-map')
556 if (mapEditor) {
557 menu.appendChild(new menuItem.Item({
558 text: 'Finish Editig',
559 onclick: () => mapEditor.blur(),
560 }))
561 return
562 }
563
564 /** Menu Items for Links */
555 const geoLink = e.target.closest('.geolink') 565 const geoLink = e.target.closest('.geolink')
556 if (geoLink) { 566 if (geoLink) {
557 if (geoLink.classList.contains('from-text')) { 567 if (geoLink.classList.contains('from-text')) {
@@ -575,22 +585,31 @@ export const generateMaps = (container, {
575 } 585 }
576 586
577 // Menu Items for map 587 // Menu Items for map
578 if (map?.dataset?.render === 'fulfilled') { 588 if (map) {
579 const rect = map.getBoundingClientRect() 589 const rect = map.getBoundingClientRect()
580 const [x, y] = [e.x - rect.left, e.y - rect.top] 590 const [x, y] = [e.x - rect.left, e.y - rect.top]
581 menu.appendChild(menuItem.toggleMapFocus(map))
582 menu.appendChild(menuItem.renderResults(dumbymap, map))
583 menu.appendChild(new menuItem.Folder({ 591 menu.appendChild(new menuItem.Folder({
584 text: 'Actions', 592 text: 'Edit Map',
585 items: [ 593 items: [
586 menuItem.getCoordinatesByPixels(map, [x, y]), 594 menuItem.editMapByRawText(map.parentElement),
587 menuItem.restoreCamera(map),
588 menuItem.addMarker({
589 point: [e.pageX, e.pageY],
590 map,
591 }),
592 ], 595 ],
593 })) 596 }))
597 menu.appendChild(menuItem.renderResults(dumbymap, map))
598
599 if (map.dataset.render === 'fulfilled') {
600 menu.appendChild(menuItem.toggleMapFocus(map))
601 menu.appendChild(new menuItem.Folder({
602 text: 'Actions',
603 items: [
604 menuItem.getCoordinatesByPixels(map, [x, y]),
605 menuItem.restoreCamera(map),
606 menuItem.addMarker({
607 point: [e.pageX, e.pageY],
608 map,
609 }),
610 ],
611 }))
612 }
594 } else { 613 } else {
595 // Toggle block focus 614 // Toggle block focus
596 if (block) { 615 if (block) {