diff options
Diffstat (limited to 'src')
-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={{{,}}} |