diff options
author | Hsieh Chin Fan <pham@topo.tw> | 2024-10-19 17:08:48 +0800 |
---|---|---|
committer | Hsieh Chin Fan <pham@topo.tw> | 2024-10-19 17:08:48 +0800 |
commit | 19aea6a64c9c56d588b1b934154933167fd9856a (patch) | |
tree | b66fda5b89b8fe0340de4370199b967751dd01f1 /src | |
parent | 3f64a0673f5472d4cdb8aeec7c1a39f4b582c6c8 (diff) |
feat: add simple contextMenu and background script
Diffstat (limited to 'src')
-rw-r--r-- | src/dumbymap.mjs | 76 |
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 |