unHighlightChangeset(e.layer.id);
})
.on("click", function (e) {
- clickChangeset(e.layer.id, e);
+ clickChangeset(e.layer.id, e.originalEvent);
});
group.getLayerId = function (layer) {
$("#changeset_" + id).find("a.changeset_id").simulate("click", e);
}
+ function displayFirstChangesets(html) {
+ $("#sidebar_content .changesets").html(html);
+ }
+
+ function displayMoreChangesets(html) {
+ $("#sidebar_content .changeset_more").replaceWith(html);
+ var oldList = $("#sidebar_content .changesets ol").first();
+ var newList = oldList.next("ol");
+ newList.children().appendTo(oldList);
+ newList.remove();
+ }
+
function update() {
var data = { list: "1" };
method: "GET",
data: data,
success: function (html) {
- $("#sidebar_content .changesets").html(html);
+ displayFirstChangesets(html);
updateMap();
}
});
$(this).hide();
div.find(".loader").show();
- $.get($(this).attr("href"), function (data) {
- div.replaceWith(data);
+ $.get($(this).attr("href"), function (html) {
+ displayMoreChangesets(html);
updateMap();
});
}
function updateBounds() {
group.clearLayers();
- changesets.forEach(function (changeset) {
+ for (const changeset of changesets) {
var bottomLeft = map.project(L.latLng(changeset.bbox.minlat, changeset.bbox.minlon)),
topRight = map.project(L.latLng(changeset.bbox.maxlat, changeset.bbox.maxlon)),
width = topRight.x - bottomLeft.x,
changeset.bounds = L.latLngBounds(map.unproject(bottomLeft),
map.unproject(topRight));
- });
+ }
changesets.sort(function (a, b) {
return b.bounds.getSize() - a.bounds.getSize();
});
- for (var i = 0; i < changesets.length; ++i) {
- var changeset = changesets[i],
- rect = L.rectangle(changeset.bounds,
- { weight: 2, color: "#FF9500", opacity: 1, fillColor: "#FFFFAF", fillOpacity: 0 });
+ for (const changeset of changesets) {
+ const rect = L.rectangle(changeset.bounds,
+ { weight: 2, color: "#FF9500", opacity: 1, fillColor: "#FFFFAF", fillOpacity: 0 });
rect.id = changeset.id;
rect.addTo(group);
}
}
page.pushstate = page.popstate = function (path) {
- $("#history_tab").addClass("current");
OSM.loadSidebarContent(path, page.load);
};
page.unload = function () {
map.removeLayer(group);
map.off("moveend", update);
-
- $("#history_tab").removeClass("current");
+ map.off("zoomend", updateBounds);
};
return page;