From 1d339aeebc9c13cf9429cfa5a5f3e2e8a9356457 Mon Sep 17 00:00:00 2001 From: hail-cookies <81558994+hail-cookies@users.noreply.github.com> Date: Tue, 14 Apr 2026 14:38:11 +0200 Subject: [PATCH 1/2] FIX LeafletTrait cleanup and rendering selections --- .../Elements/LeafletTrait.php | 35 +++++++++++-------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/Facades/AbstractAjaxFacade/Elements/LeafletTrait.php b/Facades/AbstractAjaxFacade/Elements/LeafletTrait.php index 0be87be7b..4ac25960a 100644 --- a/Facades/AbstractAjaxFacade/Elements/LeafletTrait.php +++ b/Facades/AbstractAjaxFacade/Elements/LeafletTrait.php @@ -825,7 +825,7 @@ function() { oLayer.clearLayers(); oLayer.addData(aGeoJson); - if (oClusterLayer !== null) { + if ('{$isClusteringMarkers}') { oClusterLayer.clearLayers().addLayer(oLayer); } {$this->buildJsAutoZoom('oLayer', $layer->getAutoZoom())} @@ -1038,17 +1038,17 @@ function visit(value, depth) { } // create markers for eacht top coordinate of every geometry within our geoJSON - const markerCoords = topMostCoordinates(feature); - oClusterLayer?.clearLayers(); - for (const [lng, lat] of markerCoords) { - const oMarker = L.marker([lat, lng], { - icon: {$this->buildJsMarkerIcon($layer, 'feature.properties.data')}, - draggable: false, - autoPan: false, - $markerProps - }); - - if (oClusterLayer) { + if (oClusterLayer) { + oClusterLayer.clearLayers(); + const markerCoords = topMostCoordinates(feature); + for (const [lng, lat] of markerCoords) { + const oMarker = L.marker([lat, lng], { + icon: {$this->buildJsMarkerIcon($layer, 'feature.properties.data')}, + draggable: false, + autoPan: false, + $markerProps + }); + oClusterLayer.addLayer(oMarker); } } @@ -1058,7 +1058,6 @@ function visit(value, depth) { $clusterInitJs = <<buildJsLeafletVar()}) JS; } From 55ac8ef58f27da4a4c7b890ff4dfadd93cc91dd1 Mon Sep 17 00:00:00 2001 From: hail-cookies <81558994+hail-cookies@users.noreply.github.com> Date: Tue, 14 Apr 2026 14:45:05 +0200 Subject: [PATCH 2/2] FIX LeafletTrait fixed null ref --- Facades/AbstractAjaxFacade/Elements/LeafletTrait.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Facades/AbstractAjaxFacade/Elements/LeafletTrait.php b/Facades/AbstractAjaxFacade/Elements/LeafletTrait.php index 4ac25960a..e5cddd233 100644 --- a/Facades/AbstractAjaxFacade/Elements/LeafletTrait.php +++ b/Facades/AbstractAjaxFacade/Elements/LeafletTrait.php @@ -1125,7 +1125,7 @@ function visit(value, depth) { }); oLayer._exfRefresh(); - return oClusterLayer; + return oClusterLayer ?? oLayer; })({$this->buildJsLeafletVar()}) JS; }