Fix popup hovering (bubbling) 2
This commit is contained in:
@@ -543,24 +543,11 @@ function initSpotMessages(aoMessages, aoTracks, bNoFeed) {
|
|||||||
|
|
||||||
oLayer
|
oLayer
|
||||||
.bindPopup($Tooltip[0])
|
.bindPopup($Tooltip[0])
|
||||||
.on('mouseover click', function(e) {
|
.on('click', function(e) {
|
||||||
var oLatLng = L.GeometryUtil.closest(self.tmp('map'), e.sourceTarget, e.latlng);
|
toggleSoftPopup(e, 'open');
|
||||||
e.target.getPopup().setLatLng(oLatLng).openOn(self.tmp('map'));
|
|
||||||
|
|
||||||
var asTrailMarkers = self.tmp(['trail-markers', e.target.feature.properties.name]);
|
|
||||||
var oPointStart = self.tmp('map').latLngToLayerPoint(asTrailMarkers.start.getLatLng());
|
|
||||||
var oPointEnd = self.tmp('map').latLngToLayerPoint(asTrailMarkers.end.getLatLng());
|
|
||||||
if(oPointStart.distanceTo(oPointEnd) > 200) {
|
|
||||||
asTrailMarkers.start.addTo(self.tmp('map'));
|
|
||||||
asTrailMarkers.end.addTo(self.tmp('map'));
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
.on('mouseout', function(e) {
|
.on('popupclose', function(e) {
|
||||||
e.target.closePopup();
|
toggleSoftPopup(e, 'close');
|
||||||
|
|
||||||
var asTrailMarkers = self.tmp(['trail-markers', e.target.feature.properties.name]);
|
|
||||||
asTrailMarkers.start.remove();
|
|
||||||
asTrailMarkers.end.remove();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -644,6 +631,30 @@ function initSpotMessages(aoMessages, aoTracks, bNoFeed) {
|
|||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function toggleSoftPopup(e, sMode) {
|
||||||
|
switch(sMode) {
|
||||||
|
case 'open':
|
||||||
|
var oLatLng = L.GeometryUtil.closest(self.tmp('map'), e.sourceTarget, e.latlng);
|
||||||
|
var oPopup = e.target.getPopup();
|
||||||
|
if(!oPopup.isOpen()) oPopup.setLatLng(oLatLng).openOn(self.tmp('map'));
|
||||||
|
|
||||||
|
var asTrailMarkers = self.tmp(['trail-markers', e.target.feature.properties.name]);
|
||||||
|
var oPointStart = self.tmp('map').latLngToLayerPoint(asTrailMarkers.start.getLatLng());
|
||||||
|
var oPointEnd = self.tmp('map').latLngToLayerPoint(asTrailMarkers.end.getLatLng());
|
||||||
|
if(oPointStart.distanceTo(oPointEnd) > 200) {
|
||||||
|
asTrailMarkers.start.addTo(self.tmp('map'));
|
||||||
|
asTrailMarkers.end.addTo(self.tmp('map'));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'close':
|
||||||
|
//e.target.closePopup();
|
||||||
|
var asTrailMarkers = self.tmp(['trail-markers', e.target.feature.properties.name]);
|
||||||
|
asTrailMarkers.start.remove();
|
||||||
|
asTrailMarkers.end.remove();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
function next(iCurrTrack, iCurrIndex, iCurrOffset, iCurrZoom) {
|
function next(iCurrTrack, iCurrIndex, iCurrOffset, iCurrZoom) {
|
||||||
var aoTracks = oSpot.tmp('tracks');
|
var aoTracks = oSpot.tmp('tracks');
|
||||||
|
|||||||
@@ -18,9 +18,6 @@ $stroke-width-axis : 2;
|
|||||||
}
|
}
|
||||||
|
|
||||||
.leaflet-popup {
|
.leaflet-popup {
|
||||||
padding-bottom: 60px;
|
|
||||||
margin-bottom: -40px;
|
|
||||||
|
|
||||||
.leaflet-popup-content-wrapper {
|
.leaflet-popup-content-wrapper {
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user