diff options
author | Hsieh Chin Fan <pham@topo.tw> | 2024-10-09 23:48:03 +0800 |
---|---|---|
committer | Hsieh Chin Fan <pham@topo.tw> | 2024-10-09 23:51:36 +0800 |
commit | 7457b4dfdadde0b0e0eb6b13b9239cce48f37c15 (patch) | |
tree | 6603a4ac9072746a70eeaafb6f4ce05af66b2292 | |
parent | 7b67706a73472b89d057fb50e8662202a7cb1f57 (diff) |
feat: use "type" to decide marker appearance for GeoLink
-rw-r--r-- | src/dumbyUtils.mjs | 6 | ||||
-rw-r--r-- | src/editor.mjs | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/dumbyUtils.mjs b/src/dumbyUtils.mjs index 4b2ae2c..6a3f760 100644 --- a/src/dumbyUtils.mjs +++ b/src/dumbyUtils.mjs | |||
@@ -106,6 +106,7 @@ const getMarkersFromMaps = link => { | |||
106 | renderer.addMarker({ | 106 | renderer.addMarker({ |
107 | xy: link.xy, | 107 | xy: link.xy, |
108 | title: markerTitle, | 108 | title: markerTitle, |
109 | type: link.type, | ||
109 | }) | 110 | }) |
110 | }) | 111 | }) |
111 | } | 112 | } |
@@ -152,6 +153,7 @@ export const createGeoLink = (link) => { | |||
152 | link.xy = xy | 153 | link.xy = xy |
153 | link.classList.add('with-leader-line', 'geolink') | 154 | link.classList.add('with-leader-line', 'geolink') |
154 | link.targets = link.url.searchParams.get('id')?.split(',') ?? null | 155 | link.targets = link.url.searchParams.get('id')?.split(',') ?? null |
156 | link.type = link.url.searchParams.get('type') ?? null | ||
155 | 157 | ||
156 | link.lines = [] | 158 | link.lines = [] |
157 | 159 | ||
@@ -270,9 +272,9 @@ export const addAnchorByPoint = ({ | |||
270 | while (anchorName !== null && !validateAnchorName(anchorName)) | 272 | while (anchorName !== null && !validateAnchorName(anchorName)) |
271 | if (anchorName === null) return | 273 | if (anchorName === null) return |
272 | 274 | ||
273 | const desc = window.prompt("Description", anchorName) ?? anchorName | 275 | const desc = window.prompt('Description', anchorName) ?? anchorName |
274 | 276 | ||
275 | const link = `geo:${y},${x}?xy=${x},${y}&id=${map.id}` | 277 | const link = `geo:${y},${x}?xy=${x},${y}&id=${map.id}&type=circle` |
276 | map.renderer.addMarker({ | 278 | map.renderer.addMarker({ |
277 | xy: [x, y], | 279 | xy: [x, y], |
278 | title: `${map.id}@${x},${y}`, | 280 | title: `${map.id}@${x},${y}`, |
diff --git a/src/editor.mjs b/src/editor.mjs index 4f500f5..8cb7045 100644 --- a/src/editor.mjs +++ b/src/editor.mjs | |||
@@ -20,7 +20,7 @@ let refLinks = [] | |||
20 | const validateAnchorName = anchorName => | 20 | const validateAnchorName = anchorName => |
21 | !refLinks.find(obj => obj.ref === anchorName) | 21 | !refLinks.find(obj => obj.ref === anchorName) |
22 | const appendRefLink = (cm, refLink) => { | 22 | const appendRefLink = (cm, refLink) => { |
23 | const {ref, link, title} = refLink | 23 | const { ref, link, title } = refLink |
24 | let refLinkString = `\n[${ref}]: ${link} "${title ?? ''}"` | 24 | let refLinkString = `\n[${ref}]: ${link} "${title ?? ''}"` |
25 | const lastLineIsRefLink = cm.getLine(cm.lastLine()).match(refLinkPattern) | 25 | const lastLineIsRefLink = cm.getLine(cm.lastLine()).match(refLinkPattern) |
26 | if (!lastLineIsRefLink) refLinkString = '\n' + refLinkString | 26 | if (!lastLineIsRefLink) refLinkString = '\n' + refLinkString |