From 39829d83b8dd30c5779375e1f57d5b9b679d5545 Mon Sep 17 00:00:00 2001 From: Hsieh Chin Fan Date: Fri, 4 Oct 2024 10:51:35 +0800 Subject: fix: prevent potential error break setting for rendered maps --- src/dumbymap.mjs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'src') 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 }) => { return } + // Work with Mutation Observer + const observer = mapFocusObserver() + mapFocusObserver().observe(mapElement, { + attributes: true, + attributeFilter: ['class'], + attributeOldValue: true + }) + onRemove(mapElement, () => observer.disconnect()) + // Execute callback from caller mapCallback?.call(this, mapElement) const markers = geoLinks .filter(link => !link.targets || link.targets.includes(mapElement.id)) .map(link => ({ xy: link.xy, title: link.url.pathname })) + // FIXME Here may cause error // Add markers with Geolinks renderer.addMarkers(markers) mapElement .querySelectorAll('.marker') .forEach(marker => htmlHolder.anchors.push(marker)) - - // Work with Mutation Observer - const observer = mapFocusObserver() - mapFocusObserver().observe(mapElement, { - attributes: true, - attributeFilter: ['class'], - attributeOldValue: true - }) - onRemove(mapElement, () => observer.disconnect()) } // Set unique ID for map container -- cgit v1.2.3-70-g09d2