diff options
Diffstat (limited to 'src/dumbymap.mjs')
-rw-r--r-- | src/dumbymap.mjs | 41 |
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) { |