aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorHsieh Chin Fan <pham@topo.tw>2024-10-19 17:08:48 +0800
committerHsieh Chin Fan <pham@topo.tw>2024-10-19 17:08:48 +0800
commit19aea6a64c9c56d588b1b934154933167fd9856a (patch)
treeb66fda5b89b8fe0340de4370199b967751dd01f1 /src
parent3f64a0673f5472d4cdb8aeec7c1a39f4b582c6c8 (diff)
feat: add simple contextMenu and background script
Diffstat (limited to 'src')
-rw-r--r--src/dumbymap.mjs76
1 files changed, 38 insertions, 38 deletions
diff --git a/src/dumbymap.mjs b/src/dumbymap.mjs
index 7d24e45..a7b0394 100644
--- a/src/dumbymap.mjs
+++ b/src/dumbymap.mjs
@@ -530,44 +530,44 @@ export const generateMaps = (container, {
530 } 530 }
531 container.appendChild(menu) 531 container.appendChild(menu)
532 532
533 /** Menu Items for Context Menu */ 533 // /** Menu Items for Context Menu */
534 container.oncontextmenu = e => { 534 // container.oncontextmenu = e => {
535 menu.replaceChildren() 535 // menu.replaceChildren()
536 menu.style.display = 'block' 536 // menu.style.display = 'block'
537 menu.style.cssText = `left: ${e.clientX - menu.offsetParent.offsetLeft + 10}px; top: ${e.clientY - menu.offsetParent.offsetTop + 5}px;` 537 // menu.style.cssText = `left: ${e.clientX - menu.offsetParent.offsetLeft + 10}px; top: ${e.clientY - menu.offsetParent.offsetTop + 5}px;`
538 e.preventDefault() 538 // e.preventDefault()
539 539 //
540 // Menu Items for map 540 // // Menu Items for map
541 const map = e.target.closest('.mapclay') 541 // const map = e.target.closest('.mapclay')
542 if (map?.renderer?.results) { 542 // if (map?.renderer?.results) {
543 const rect = map.getBoundingClientRect() 543 // const rect = map.getBoundingClientRect()
544 const [x, y] = [e.x - rect.left, e.y - rect.top] 544 // const [x, y] = [e.x - rect.left, e.y - rect.top]
545 menu.appendChild(menuItem.toggleMapFocus(map)) 545 // menu.appendChild(menuItem.toggleMapFocus(map))
546 menu.appendChild(menuItem.renderResults(dumbymap, map)) 546 // menu.appendChild(menuItem.renderResults(dumbymap, map))
547 menu.appendChild(menuItem.getCoordinatesByPixels(map, [x, y])) 547 // menu.appendChild(menuItem.getCoordinatesByPixels(map, [x, y]))
548 menu.appendChild(menuItem.restoreCamera(map)) 548 // menu.appendChild(menuItem.restoreCamera(map))
549 } else { 549 // } else {
550 // Toggle block focus 550 // // Toggle block focus
551 const block = e.target.closest('.dumby-block') 551 // const block = e.target.closest('.dumby-block')
552 if (block) { 552 // if (block) {
553 menu.appendChild(menuItem.toggleBlockFocus(block)) 553 // menu.appendChild(menuItem.toggleBlockFocus(block))
554 } 554 // }
555 } 555 // }
556 556 //
557 // Menu Items for map/block/layout 557 // // Menu Items for map/block/layout
558 if (!map || map.closest('.Showcase')) { 558 // if (!map || map.closest('.Showcase')) {
559 if (dumbymap.utils.renderedMaps().length > 0) { 559 // if (dumbymap.utils.renderedMaps().length > 0) {
560 menu.appendChild(menuItem.pickMapItem(dumbymap)) 560 // menu.appendChild(menuItem.pickMapItem(dumbymap))
561 } 561 // }
562 menu.appendChild(menuItem.pickBlockItem(dumbymap)) 562 // menu.appendChild(menuItem.pickBlockItem(dumbymap))
563 menu.appendChild(menuItem.pickLayoutItem(dumbymap)) 563 // menu.appendChild(menuItem.pickLayoutItem(dumbymap))
564 } 564 // }
565 565 //
566 shiftByWindow(menu) 566 // shiftByWindow(menu)
567 567 //
568 return menu 568 // return menu
569 } 569 // }
570 570 //
571 /** Event Handler when clicking outside of Context Manu */ 571 /** Event Handler when clicking outside of Context Manu */
572 const actionOutsideMenu = e => { 572 const actionOutsideMenu = e => {
573 if (menu.style.display === 'none') return 573 if (menu.style.display === 'none') return