From 6d8400e11ac5ebb05b43a12367384e686f834d7c Mon Sep 17 00:00:00 2001 From: Hsieh Chin Fan Date: Mon, 28 Oct 2024 12:23:25 +0800 Subject: feat: add menu-item for edit map without editor --- src/dumbymap.mjs | 41 ++++++++++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 11 deletions(-) (limited to 'src/dumbymap.mjs') 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, { }).observe(menu, { childList: true }) menu.timer = setTimeout(() => menu.remove(), 100) - // Menu Items for Links + /** Menu Item for editing map */ + const mapEditor = e.target.closest('.edit-map') + if (mapEditor) { + menu.appendChild(new menuItem.Item({ + text: 'Finish Editig', + onclick: () => mapEditor.blur(), + })) + return + } + + /** Menu Items for Links */ const geoLink = e.target.closest('.geolink') if (geoLink) { if (geoLink.classList.contains('from-text')) { @@ -575,22 +585,31 @@ export const generateMaps = (container, { } // Menu Items for map - if (map?.dataset?.render === 'fulfilled') { + if (map) { 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(new menuItem.Folder({ - text: 'Actions', + text: 'Edit Map', items: [ - menuItem.getCoordinatesByPixels(map, [x, y]), - menuItem.restoreCamera(map), - menuItem.addMarker({ - point: [e.pageX, e.pageY], - map, - }), + menuItem.editMapByRawText(map.parentElement), ], })) + menu.appendChild(menuItem.renderResults(dumbymap, map)) + + if (map.dataset.render === 'fulfilled') { + menu.appendChild(menuItem.toggleMapFocus(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