aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/MenuItem.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'src/MenuItem.mjs')
-rw-r--r--src/MenuItem.mjs36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/MenuItem.mjs b/src/MenuItem.mjs
index 74b01d5..874c829 100644
--- a/src/MenuItem.mjs
+++ b/src/MenuItem.mjs
@@ -1,4 +1,5 @@
1import { shiftByWindow } from './utils.mjs' 1import { shiftByWindow } from './utils.mjs'
2import * as utils from './dumbyUtils.mjs'
2 3
3/** 4/**
4 * @typedef {Object} RefLink 5 * @typedef {Object} RefLink
@@ -426,3 +427,38 @@ export const addRefLink = (cm, refLinks) =>
426 }) 427 })
427 }), 428 }),
428 }) 429 })
430
431/**
432 * setGeoLinkTypeItem.
433 *
434 * @param {HTMLAnchorElement} link
435 * @param {String} text
436 * @param {String} type
437 */
438export const setGeoLinkTypeItem = ({ link, text, type }) => {
439 const params = new URLSearchParams(link.search)
440 return new Item({
441 text,
442 onclick: () => {
443 params.set('type', type)
444 link.search = params
445 utils.removeLeaderLines(link)
446 utils.getMarkersFromMaps(link)
447 .forEach(marker => marker.remove())
448 utils.getMarkersFromMaps(link)
449 },
450 })
451}
452
453/**
454 * setGeoLinkType.
455 *
456 * @param {HTMLAnchorElement} link
457 */
458export const setGeoLinkType = (link) => new Folder({
459 text: 'Marker Type',
460 items: [
461 setGeoLinkTypeItem({ link, text: 'Pin', type: 'pin' }),
462 setGeoLinkTypeItem({ link, text: 'Circle', type: 'circle' }),
463 ],
464})