From b9a00e79b27f99191a0c88e2be3db67d73984b6c Mon Sep 17 00:00:00 2001 From: Arnaud Fournier Date: Sun, 19 Apr 2026 15:37:26 +0200 Subject: [PATCH 1/2] Fix(popup): condition check for popup display --- coordo-ts/src/layers/popup.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/coordo-ts/src/layers/popup.ts b/coordo-ts/src/layers/popup.ts index 2ac700a..7974afd 100644 --- a/coordo-ts/src/layers/popup.ts +++ b/coordo-ts/src/layers/popup.ts @@ -97,10 +97,10 @@ export function makeSetLayerPopup({ map }: { map: MapLibreMap }) { } const onTrigger = async (ev: MapLayerMouseEvent | MapLayerTouchEvent) => { - const geometry = ev.features?.[0]?.geometry; + const lngLat = ev.lngLat; const eventProps = ev.features?.[0]?.properties; const id = ev.features?.[0]?.id; - if (geometry && id && eventProps) { + if (lngLat && Number(id) >= 0 && eventProps) { /** @todo Remove "any" casting */ const popup = new Popup(popupConfig).setLngLat(ev.lngLat); @@ -124,6 +124,12 @@ export function makeSetLayerPopup({ map }: { map: MapLibreMap }) { } popup.addTo(map); + } else if (!lngLat) { + console.warn("Missing property lngLat on event : ", ev); + } else if (!(Number(id) >= 0)) { + console.warn("event feature id is invalid: ", id); + } else if (!eventProps) { + console.warn("Event Props not found", eventProps); } }; From 40659ebed1aec59f4ec2d4909df26b84db9c3812 Mon Sep 17 00:00:00 2001 From: Arnaud Fournier Date: Sun, 19 Apr 2026 15:55:04 +0200 Subject: [PATCH 2/2] Improve console warns --- coordo-ts/src/layers/popup.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/coordo-ts/src/layers/popup.ts b/coordo-ts/src/layers/popup.ts index 7974afd..592d37c 100644 --- a/coordo-ts/src/layers/popup.ts +++ b/coordo-ts/src/layers/popup.ts @@ -126,10 +126,12 @@ export function makeSetLayerPopup({ map }: { map: MapLibreMap }) { popup.addTo(map); } else if (!lngLat) { console.warn("Missing property lngLat on event : ", ev); + } else if (!ev.features) { + console.warn("Event features not found"); } else if (!(Number(id) >= 0)) { console.warn("event feature id is invalid: ", id); } else if (!eventProps) { - console.warn("Event Props not found", eventProps); + console.warn("Event feature properties not found", eventProps); } };