aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/MenuItem.mjs24
-rw-r--r--src/dumbymap.mjs2
-rw-r--r--src/editor.mjs7
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 */
346export const getCoordinatesByPixels = (map, xy) => 352export 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 */
368export 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
811const 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={{{,}}}