diff options
author | Hsieh Chin Fan <pham@topo.tw> | 2024-10-24 17:41:30 +0800 |
---|---|---|
committer | Hsieh Chin Fan <pham@topo.tw> | 2024-10-24 17:41:30 +0800 |
commit | c4bd8786595ba97771a9b7a39b28f103984764d4 (patch) | |
tree | 262da8196ebd9f6f7d2a724ea9b306ee226fe770 /src/MenuItem.mjs | |
parent | 12c749d246c1f5759ec2e462e09d022cb1233efd (diff) | |
parent | 14f13987693ff3733bf6167fbfc3c70f1b6864bf (diff) |
Merge branch 'menu'
Diffstat (limited to 'src/MenuItem.mjs')
-rw-r--r-- | src/MenuItem.mjs | 36 |
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 @@ | |||
1 | import { shiftByWindow } from './utils.mjs' | 1 | import { shiftByWindow } from './utils.mjs' |
2 | import * 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 | */ | ||
438 | export 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 | */ | ||
458 | export 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 | }) | ||