aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dumbyUtils.mjs9
-rw-r--r--src/dumbymap.mjs14
2 files changed, 20 insertions, 3 deletions
diff --git a/src/dumbyUtils.mjs b/src/dumbyUtils.mjs
index 214e44f..42a51bc 100644
--- a/src/dumbyUtils.mjs
+++ b/src/dumbyUtils.mjs
@@ -385,7 +385,7 @@ export const dragForAnchor = (container, range, endOfLeaderLine) => {
385 container.classList.add('dragging-geolink') 385 container.classList.add('dragging-geolink')
386 const geoLink = document.createElement('a') 386 const geoLink = document.createElement('a')
387 geoLink.textContent = range.toString() 387 geoLink.textContent = range.toString()
388 geoLink.classList.add('with-leader-line', 'geolink', 'drag') 388 geoLink.classList.add('with-leader-line', 'geolink', 'drag', 'from-text')
389 389
390 // Replace current content with link 390 // Replace current content with link
391 const originContent = range.cloneContents() 391 const originContent = range.cloneContents()
@@ -439,6 +439,11 @@ export const dragForAnchor = (container, range, endOfLeaderLine) => {
439 } 439 }
440} 440}
441 441
442/**
443 * addGeoSchemeByText.
444 *
445 * @param {Node} node
446 */
442export const addGeoSchemeByText = async (node) => { 447export const addGeoSchemeByText = async (node) => {
443 const digit = '[\\d\\uFF10-\\uFF19]' 448 const digit = '[\\d\\uFF10-\\uFF19]'
444 const decimal = '[.\\uFF0E]' 449 const decimal = '[.\\uFF0E]'
@@ -451,7 +456,7 @@ export const addGeoSchemeByText = async (node) => {
451 if (Date.parse(match.at(0) + ' 1990')) return null 456 if (Date.parse(match.at(0) + ' 1990')) return null
452 457
453 const a = document.createElement('a') 458 const a = document.createElement('a')
454 a.className = 'not-geolink' 459 a.className = 'not-geolink from-text'
455 a.href = `geo:0,0?xy=${x},${y}` 460 a.href = `geo:0,0?xy=${x},${y}`
456 a.textContent = match.at(0) 461 a.textContent = match.at(0)
457 return a 462 return a
diff --git a/src/dumbymap.mjs b/src/dumbymap.mjs
index 2f2b67f..6e5bc38 100644
--- a/src/dumbymap.mjs
+++ b/src/dumbymap.mjs
@@ -530,7 +530,8 @@ export const generateMaps = (container, {
530 container.querySelectorAll('.dumby-menu').forEach(m => m.remove()) 530 container.querySelectorAll('.dumby-menu').forEach(m => m.remove())
531 const map = e.target.closest('.mapclay') 531 const map = e.target.closest('.mapclay')
532 const block = e.target.closest('.dumby-block') 532 const block = e.target.closest('.dumby-block')
533 if (!block && !map) return 533 const geoLink = e.target.closest('.geolink')
534 if (!block && !map && !geoLink) return
534 e.preventDefault() 535 e.preventDefault()
535 536
536 // Add menu element 537 // Add menu element
@@ -549,6 +550,17 @@ export const generateMaps = (container, {
549 }).observe(menu, { childList: true }) 550 }).observe(menu, { childList: true })
550 menu.timer = setTimeout(() => menu.remove(), 100) 551 menu.timer = setTimeout(() => menu.remove(), 100)
551 552
553 // Menu Items for GeoLink
554 if (geoLink) {
555 if (geoLink.classList.contains('from-text')) {
556 menu.appendChild(new menuItem.Item({
557 text: 'Delete',
558 onclick: () => geoLink.replaceWith(document.createTextNode(geoLink.textContent)),
559 }))
560 }
561 return
562 }
563
552 // Menu Items for map 564 // Menu Items for map
553 if (map?.renderer?.results) { 565 if (map?.renderer?.results) {
554 const rect = map.getBoundingClientRect() 566 const rect = map.getBoundingClientRect()