diff options
| -rw-r--r-- | src/dumbymap.mjs | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/dumbymap.mjs b/src/dumbymap.mjs index 6483411..2e1f7d2 100644 --- a/src/dumbymap.mjs +++ b/src/dumbymap.mjs | |||
| @@ -353,26 +353,27 @@ export const generateMaps = (container, { delay, mapCallback }) => { | |||
| 353 | return | 353 | return |
| 354 | } | 354 | } |
| 355 | 355 | ||
| 356 | // Work with Mutation Observer | ||
| 357 | const observer = mapFocusObserver() | ||
| 358 | mapFocusObserver().observe(mapElement, { | ||
| 359 | attributes: true, | ||
| 360 | attributeFilter: ['class'], | ||
| 361 | attributeOldValue: true | ||
| 362 | }) | ||
| 363 | onRemove(mapElement, () => observer.disconnect()) | ||
| 364 | |||
| 356 | // Execute callback from caller | 365 | // Execute callback from caller |
| 357 | mapCallback?.call(this, mapElement) | 366 | mapCallback?.call(this, mapElement) |
| 358 | const markers = geoLinks | 367 | const markers = geoLinks |
| 359 | .filter(link => !link.targets || link.targets.includes(mapElement.id)) | 368 | .filter(link => !link.targets || link.targets.includes(mapElement.id)) |
| 360 | .map(link => ({ xy: link.xy, title: link.url.pathname })) | 369 | .map(link => ({ xy: link.xy, title: link.url.pathname })) |
| 361 | 370 | ||
| 371 | // FIXME Here may cause error | ||
| 362 | // Add markers with Geolinks | 372 | // Add markers with Geolinks |
| 363 | renderer.addMarkers(markers) | 373 | renderer.addMarkers(markers) |
| 364 | mapElement | 374 | mapElement |
| 365 | .querySelectorAll('.marker') | 375 | .querySelectorAll('.marker') |
| 366 | .forEach(marker => htmlHolder.anchors.push(marker)) | 376 | .forEach(marker => htmlHolder.anchors.push(marker)) |
| 367 | |||
| 368 | // Work with Mutation Observer | ||
| 369 | const observer = mapFocusObserver() | ||
| 370 | mapFocusObserver().observe(mapElement, { | ||
| 371 | attributes: true, | ||
| 372 | attributeFilter: ['class'], | ||
| 373 | attributeOldValue: true | ||
| 374 | }) | ||
| 375 | onRemove(mapElement, () => observer.disconnect()) | ||
| 376 | } | 377 | } |
| 377 | 378 | ||
| 378 | // Set unique ID for map container | 379 | // Set unique ID for map container |