1 OSM.ChangesetList = function(map) {
4 var group = L.featureGroup()
6 mouseover: function (e) {
7 highlightChangeset(e.layer.id);
9 mouseout: function (e) {
10 unHighlightChangeset(e.layer.id);
14 group.getLayerId = function(layer) {
18 function highlightChangeset(id) {
19 group.getLayer(id).setStyle({fillOpacity: 0.5});
20 $("#changeset_" + id).addClass("selected");
23 function unHighlightChangeset(id) {
24 group.getLayer(id).setStyle({fillOpacity: 0});
25 $("#changeset_" + id).removeClass("selected");
28 page.pushstate = page.popstate = function(path) {
29 $("#history_tab").addClass("current");
30 $('#sidebar_content').load(path, page.load);
33 page.load = function() {
37 $("[data-changeset]").each(function () {
38 var changeset = $(this).data('changeset');
40 changeset.bounds = L.latLngBounds([changeset.bbox.minlat, changeset.bbox.minlon],
41 [changeset.bbox.maxlat, changeset.bbox.maxlon]);
42 changesets.push(changeset);
46 changesets.sort(function (a, b) {
47 return b.bounds.getSize() - a.bounds.getSize();
50 for (var i = 0; i < changesets.length; ++i) {
51 var changeset = changesets[i],
52 rect = L.rectangle(changeset.bounds,
53 {weight: 2, color: "#ee9900", fillColor: "#ffff55", fillOpacity: 0});
54 rect.id = changeset.id;
58 $("[data-changeset]").on({
59 mouseover: function () {
60 highlightChangeset($(this).data("changeset").id);
62 mouseout: function () {
63 unHighlightChangeset($(this).data("changeset").id);
68 page.unload = function() {
69 map.removeLayer(group);
71 $("#history_tab").removeClass("current");