aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorHsieh Chin Fan <pham@topo.tw>2024-10-01 12:29:04 +0800
committerHsieh Chin Fan <pham@topo.tw>2024-10-01 12:32:04 +0800
commit239a39f1e5bb771bb2841c2aee41038b0b577e07 (patch)
tree61a2239ca63eb2593a029daa0ffd1faee439d4f2
parente35f8d9b4fdc2315b03c813b451261f20d83cc09 (diff)
feat: show menu items in cases
If click on map, only show focus/print-results items If not, show focus-block method and other menu-items
-rw-r--r--src/dumbymap.mjs22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/dumbymap.mjs b/src/dumbymap.mjs
index 72936ec..d77d49c 100644
--- a/src/dumbymap.mjs
+++ b/src/dumbymap.mjs
@@ -474,22 +474,26 @@ export const generateMaps = (container, { delay, mapCallback }) => {
474 const selection = document.getSelection(); 474 const selection = document.getSelection();
475 if (selection.type === 'Range') { 475 if (selection.type === 'Range') {
476 const range = selection.getRangeAt(0); 476 const range = selection.getRangeAt(0);
477 menu.innerHTML = ''; 477 menu.appendChild(menuItem.addGeoLink(dumbymap, range));
478 const addGeoLink = new menuItem.GeoLink({ range });
479 menu.appendChild(addGeoLink.createElement());
480 } 478 }
481 menu.style.cssText = `overflow: visible; display: block; left: ${e.clientX + 10}px; top: ${e.clientY + 5}px;`; 479 menu.style.cssText = `overflow: visible; display: block; left: ${e.clientX + 10}px; top: ${e.clientY + 5}px;`;
482 480
483 // Print Map Results
484 const map = e.target.closest('.mapclay'); 481 const map = e.target.closest('.mapclay');
485 if (map?.renderer?.results) { 482 if (map?.renderer?.results) {
483 // Focus or Print Map Results
486 menu.appendChild(menuItem.renderResults(dumbymap, map)); 484 menu.appendChild(menuItem.renderResults(dumbymap, map));
485 menu.appendChild(menuItem.toggleMapFocus(map));
486 } else {
487 // Toggle block focus
488 const block = e.target.closest('.dumby-block');
489 if (block) {
490 menu.appendChild(menuItem.toggleBlockFocus(block));
491 }
492 // Dumby Utils
493 menu.appendChild(menuItem.pickMapItem(dumbymap));
494 menu.appendChild(menuItem.pickBlockItem(dumbymap));
495 menu.appendChild(menuItem.pickLayoutItem(dumbymap));
487 } 496 }
488
489 // Dumby Utils
490 menu.appendChild(menuItem.pickMapItem(dumbymap));
491 menu.appendChild(menuItem.pickBlockItem(dumbymap));
492 menu.appendChild(menuItem.pickLayoutItem(dumbymap));
493 }; 497 };
494 498
495 // Remove menu when click outside 499 // Remove menu when click outside