Fix bug where selected icon loses highlight after alert sound, add alert class to icons
This commit is contained in:
parent
a11a342454
commit
647139ce40
@ -50,7 +50,12 @@ Framework7 and FontAwesome both have a .fab class
|
||||
}
|
||||
|
||||
#mapbox .package-marker.selected {
|
||||
border: 4px solid #2196f3;
|
||||
border: 4px solid #2196F3;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
#mapbox .package-marker.alerted {
|
||||
border: 4px solid #FF9800;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
|
@ -77,6 +77,7 @@ $("#app").on("click", "#package-info-sheet #package-info-sheet-inner .list ul li
|
||||
});
|
||||
|
||||
$("#app").on("sheet:close", "#package-info-sheet", function () {
|
||||
map.openedPanelIconID = null;
|
||||
$(".package-marker").removeClass("selected");
|
||||
});
|
||||
|
||||
@ -96,6 +97,7 @@ $("#app").on("click", "#package-info-sheet #package-info-deliver-all", function
|
||||
});
|
||||
|
||||
function openPackageInfoSheet(coordid, refreshOnly) {
|
||||
map.openedPanelIconID = coordid;
|
||||
if (typeof refreshOnly == "undefined") {
|
||||
refreshOnly = false;
|
||||
}
|
||||
|
@ -64,6 +64,8 @@ function leafletMap() {
|
||||
});
|
||||
}
|
||||
|
||||
map.openedPanelIconID = null;
|
||||
|
||||
map.updatePackageLayer = function (data) {
|
||||
map.packagelayer.clearLayers();
|
||||
|
||||
@ -77,10 +79,21 @@ function leafletMap() {
|
||||
var iconName = getMapIconForItems(datai.items);
|
||||
//console.log(iconName);
|
||||
|
||||
var classes = "package-marker package-marker-leaflet";
|
||||
|
||||
// Prevent selection highlight from going away after map refresh
|
||||
if (map.openedPanelIconID != null && map.openedPanelIconID == datai.id) {
|
||||
classes += " selected";
|
||||
}
|
||||
// Show different color highlight when nearby
|
||||
if (packages[i].distance * 1 < getStorage("alertradius") * 1) {
|
||||
classes += " alerted";
|
||||
}
|
||||
var icon = L.icon({
|
||||
iconUrl: "assets/images/" + iconName + ".png",
|
||||
iconSize: [25, 25],
|
||||
iconAnchor: [12.5, 12.5]
|
||||
iconAnchor: [12.5, 12.5],
|
||||
className: classes
|
||||
});
|
||||
|
||||
var marker = L.marker(
|
||||
@ -93,12 +106,11 @@ function leafletMap() {
|
||||
})
|
||||
.on("click", function () {
|
||||
marker._icon.id = "marker-" + datai.id;
|
||||
marker._icon.classList.add('package-marker');
|
||||
marker._icon.classList.add('package-marker-leaflet');
|
||||
openPackageInfoSheet(datai.id);
|
||||
});
|
||||
|
||||
map.packagelayer.addLayer(marker);
|
||||
|
||||
//L.DomUtil.addClass(marker._icon, 'package-marker'); // enable selected CSS to work correctly
|
||||
})(data[i]);
|
||||
}
|
||||
|
@ -84,6 +84,8 @@ function mapboxMap() {
|
||||
});
|
||||
}
|
||||
|
||||
map.openedPanelIconID = null;
|
||||
|
||||
map.updatePackageLayer = function (data) {
|
||||
var oldmarkers = document.getElementsByClassName("package-marker");
|
||||
if (oldmarkers.length > 0) {
|
||||
@ -102,7 +104,16 @@ function mapboxMap() {
|
||||
//console.log(iconName);
|
||||
|
||||
var el = document.createElement("div");
|
||||
|
||||
el.className = "package-marker package-marker-mapbox";
|
||||
// Prevent selection highlight from going away after map refresh
|
||||
if (map.openedPanelIconID != null && map.openedPanelIconID == datai.id) {
|
||||
el.className += " selected";
|
||||
}
|
||||
// Show different color highlight when nearby
|
||||
if (packages[i].distance * 1 < getStorage("alertradius") * 1) {
|
||||
el.className += " alerted";
|
||||
}
|
||||
|
||||
el.id = "marker-" + datai.id;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user