mirror of
				https://github.com/librenms/librenms.git
				synced 2024-10-07 16:52:45 +00:00 
			
		
		
		
	Make events for clusters start with cluster, clusterclick etc.
This commit is contained in:
		@@ -53,25 +53,20 @@
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		var polygon;
 | 
			
		||||
		var polygonCluster;
 | 
			
		||||
		markers.on('mouseover', function (a) {
 | 
			
		||||
			if (a.layer instanceof L.MarkerCluster) {
 | 
			
		||||
				console.log('cluster ' + a.layer.getAllChildMarkers().length);
 | 
			
		||||
		markers.on('clustermouseover', function (a) {
 | 
			
		||||
			console.log('cluster ' + a.layer.getAllChildMarkers().length);
 | 
			
		||||
				
 | 
			
		||||
				if (polygon) {
 | 
			
		||||
					map.removeLayer(polygon);
 | 
			
		||||
				}
 | 
			
		||||
				polygon = new L.Polygon(a.layer.getConvexHull());
 | 
			
		||||
				map.addLayer(polygon);
 | 
			
		||||
			} else {
 | 
			
		||||
				console.log('marker ' + a.layer);
 | 
			
		||||
			if (polygon) {
 | 
			
		||||
				map.removeLayer(polygon);
 | 
			
		||||
			}
 | 
			
		||||
			polygon = new L.Polygon(a.layer.getConvexHull());
 | 
			
		||||
			map.addLayer(polygon);
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		markers.on('mouseout', function (a) {
 | 
			
		||||
			if (a.layer instanceof L.MarkerCluster && polygon) {
 | 
			
		||||
		markers.on('clustermouseout', function (a) {
 | 
			
		||||
			if (polygon) {
 | 
			
		||||
				map.removeLayer(polygon);
 | 
			
		||||
				polygon = null;
 | 
			
		||||
			}
 | 
			
		||||
 
 | 
			
		||||
@@ -15,6 +15,7 @@
 | 
			
		||||
	<script src="../src/MarkerClusterGroup.js"></script>
 | 
			
		||||
	<script src="../src/MarkerCluster.js"></script>
 | 
			
		||||
	<script src="../src/MarkerCluster.QuickHull.js"></script>
 | 
			
		||||
	<script src="../src/MarkerCluster.Spiderfier.js"></script>
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
 | 
			
		||||
@@ -54,9 +55,11 @@
 | 
			
		||||
					southWest.lng + lngSpan * Math.random());
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		//Zoom on cluster click
 | 
			
		||||
		markers.on('click', function (a) {
 | 
			
		||||
			if (a.layer instanceof L.MarkerCluster) {
 | 
			
		||||
		//Zoom or spiderfy on cluster click
 | 
			
		||||
		markers.on('clusterclick', function (a) {
 | 
			
		||||
			if (map.getMaxZoom() === map.getZoom()) {
 | 
			
		||||
				a.layer.spiderfy();
 | 
			
		||||
			} else {
 | 
			
		||||
				a.layer.zoomToBounds();
 | 
			
		||||
			}
 | 
			
		||||
		});
 | 
			
		||||
@@ -64,17 +67,15 @@
 | 
			
		||||
		//Show convex hull (boundary) polygon on mouse over
 | 
			
		||||
		var polygon;
 | 
			
		||||
		var polygonCluster;
 | 
			
		||||
		markers.on('mouseover', function (a) {
 | 
			
		||||
			if (a.layer instanceof L.MarkerCluster) {
 | 
			
		||||
				if (polygon) {
 | 
			
		||||
					map.removeLayer(polygon);
 | 
			
		||||
				}
 | 
			
		||||
				polygon = new L.Polygon(a.layer.getConvexHull());
 | 
			
		||||
				map.addLayer(polygon);
 | 
			
		||||
		markers.on('clustermouseover', function (a) {
 | 
			
		||||
			if (polygon) {
 | 
			
		||||
				map.removeLayer(polygon);
 | 
			
		||||
			}
 | 
			
		||||
			polygon = new L.Polygon(a.layer.getConvexHull());
 | 
			
		||||
			map.addLayer(polygon);
 | 
			
		||||
		});
 | 
			
		||||
		markers.on('mouseout', function (a) {
 | 
			
		||||
			if (a.layer instanceof L.MarkerCluster && polygon) {
 | 
			
		||||
		markers.on('clustermouseout', function (a) {
 | 
			
		||||
			if (polygon) {
 | 
			
		||||
				map.removeLayer(polygon);
 | 
			
		||||
				polygon = null;
 | 
			
		||||
			}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html>
 | 
			
		||||
<head>
 | 
			
		||||
	<title>Leaflet debug page</title>
 | 
			
		||||
@@ -52,13 +52,9 @@
 | 
			
		||||
					southWest.lng + lngSpan * Math.random());
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		markers.on('click', function (a) {
 | 
			
		||||
			if (a.layer instanceof L.MarkerCluster) {
 | 
			
		||||
				console.log('cluster ' + a.layer.getAllChildMarkers().length);
 | 
			
		||||
				a.layer.spiderfy();
 | 
			
		||||
			} else {
 | 
			
		||||
				console.log('marker ' + a.layer);
 | 
			
		||||
			}
 | 
			
		||||
		markers.on('clusterclick', function (a) {
 | 
			
		||||
			console.log('cluster ' + a.layer.getAllChildMarkers().length);
 | 
			
		||||
			a.layer.spiderfy();
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		populate();
 | 
			
		||||
 
 | 
			
		||||
@@ -50,10 +50,8 @@
 | 
			
		||||
					southWest.lng + lngSpan * Math.random());
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		markers.on('click', function (a) {
 | 
			
		||||
			if (a.layer instanceof L.MarkerCluster) {
 | 
			
		||||
				a.layer.zoomToBounds();
 | 
			
		||||
			}
 | 
			
		||||
		markers.on('clusterclick', function (a) {
 | 
			
		||||
			a.layer.zoomToBounds();
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		populate();
 | 
			
		||||
 
 | 
			
		||||
@@ -32,6 +32,13 @@ L.MarkerClusterGroup = L.FeatureGroup.extend({
 | 
			
		||||
		this._currentShownBounds = null;
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	//Overrides FeatureGroup._propagateEvent
 | 
			
		||||
	_propagateEvent: function (e) {
 | 
			
		||||
		if (e.target instanceof L.MarkerCluster) {
 | 
			
		||||
			e.type = 'cluster' + e.type;
 | 
			
		||||
		}
 | 
			
		||||
		L.FeatureGroup.prototype._propagateEvent.call(this, e);
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	_sqDist: function (p1, p2) {
 | 
			
		||||
		var dx = p2.x - p1.x,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user