diff options
| -rw-r--r-- | src/MenuItem.mjs | 24 | ||||
| -rw-r--r-- | src/dumbymap.mjs | 2 | ||||
| -rw-r--r-- | src/editor.mjs | 7 |
3 files changed, 32 insertions, 1 deletions
diff --git a/src/MenuItem.mjs b/src/MenuItem.mjs index dbe984f..138b317 100644 --- a/src/MenuItem.mjs +++ b/src/MenuItem.mjs | |||
| @@ -343,8 +343,30 @@ export const toggleMapFocus = map => | |||
| 343 | onclick: () => map.classList.toggle('focus') | 343 | onclick: () => map.classList.toggle('focus') |
| 344 | }) | 344 | }) |
| 345 | 345 | ||
| 346 | /** | ||
| 347 | * getCoordinatesByPixels. | ||
| 348 | * | ||
| 349 | * @param {HTMLElement} map instance | ||
| 350 | * @param {Number[]} xy -- pixel of window | ||
| 351 | */ | ||
| 346 | export const getCoordinatesByPixels = (map, xy) => | 352 | export const getCoordinatesByPixels = (map, xy) => |
| 347 | new Item({ | 353 | new Item({ |
| 348 | text: 'Get Coordinates', | 354 | text: 'Get Coordinates', |
| 349 | onclick: () => console.log(map.renderer.unproject(xy)) | 355 | onclick: () => { |
| 356 | const [x, y] = map.renderer.unproject(xy) | ||
| 357 | const xyString = `[${x.toFixed(7)}, ${y.toFixed(7)}]` | ||
| 358 | navigator.clipboard.writeText(xyString) | ||
| 359 | window.alert(`${xyString} copied to clipboard`) | ||
| 360 | } | ||
| 361 | }) | ||
| 362 | |||
| 363 | /** | ||
| 364 | * restoreCamera. | ||
| 365 | * | ||
| 366 | * @param {HTMLElement} map | ||
| 367 | */ | ||
| 368 | export const restoreCamera = map => | ||
| 369 | new Item({ | ||
| 370 | text: 'Restore Camera', | ||
| 371 | onclick: () => map.renderer.restoreCamera() | ||
| 350 | }) | 372 | }) |
diff --git a/src/dumbymap.mjs b/src/dumbymap.mjs index 7489b1a..8f049b2 100644 --- a/src/dumbymap.mjs +++ b/src/dumbymap.mjs | |||
| @@ -445,6 +445,8 @@ export const generateMaps = (container, { delay } = {}) => { | |||
| 445 | // Focus or Print Map Results | 445 | // Focus or Print Map Results |
| 446 | menu.appendChild(menuItem.toggleMapFocus(map)) | 446 | menu.appendChild(menuItem.toggleMapFocus(map)) |
| 447 | menu.appendChild(menuItem.renderResults(dumbymap, map)) | 447 | menu.appendChild(menuItem.renderResults(dumbymap, map)) |
| 448 | menu.appendChild(menuItem.getCoordinatesByPixels(map, [e.x, e.y])) | ||
| 449 | menu.appendChild(menuItem.restoreCamera(map)) | ||
| 448 | } else { | 450 | } else { |
| 449 | // Toggle block focus | 451 | // Toggle block focus |
| 450 | const block = e.target.closest('.dumby-block') | 452 | const block = e.target.closest('.dumby-block') |
diff --git a/src/editor.mjs b/src/editor.mjs index 9fe9e75..cdc699d 100644 --- a/src/editor.mjs +++ b/src/editor.mjs | |||
| @@ -808,4 +808,11 @@ new window.MutationObserver(mutaions => { | |||
| 808 | }) | 808 | }) |
| 809 | // }}} | 809 | // }}} |
| 810 | 810 | ||
| 811 | const addMapRandomlyByPreset = () => { | ||
| 812 | if (Object.keys(aliasesForMapOptions).length === 0) return | ||
| 813 | cm.replaceRange('\n```map\n```\n', cm.getCursor()); // adds a new line | ||
| 814 | |||
| 815 | |||
| 816 | } | ||
| 817 | |||
| 811 | // vim: sw=2 ts=2 foldmethod=marker foldmarker={{{,}}} | 818 | // vim: sw=2 ts=2 foldmethod=marker foldmarker={{{,}}} |