]> git.openstreetmap.org Git - rails.git/blob - app/assets/javascripts/browse.js
Convert browse details to sidebar layout
[rails.git] / app / assets / javascripts / browse.js
1 $(document).ready(function () {
2
3   var map = L.map("small_map", {
4     attributionControl: false,
5     zoomControl: false
6   }).addLayer(new L.OSM.Mapnik());
7
8   L.OSM.zoom()
9     .addTo(map);
10
11   var params = $("#small_map").data();
12   var object, bbox;
13   if (params.type == "changeset") {
14     bbox = L.latLngBounds([params.minlat, params.minlon],
15         [params.maxlat, params.maxlon]);
16
17     map.fitBounds(bbox);
18
19     L.rectangle(bbox, {
20       weight: 2,
21       color: '#e90',
22       fillOpacity: 0
23     }).addTo(map);
24
25     $("#loading").hide();
26
27     $("a[data-editor=remote]").click(function () {
28       return remoteEditHandler(bbox);
29     });
30
31     updatelinks(map.getCenter(), 16, null, [[params.minlat, params.minlon],
32         [params.maxlat, params.maxlon]]);
33   } else if (params.type == "note") {
34     object = {type: params.type, id: params.id};
35
36     map.setView([params.lat, params.lon], 16);
37
38     L.marker([params.lat, params.lon], { icon: getUserIcon() }).addTo(map);
39
40     bbox = map.getBounds();
41
42     $("#loading").hide();
43
44     $("a[data-editor=remote]").click(function () {
45       return remoteEditHandler(bbox);
46     });
47
48     updatelinks(params, 16, null, bbox, object);
49   } else {
50     $("#object_larger_map, #object_edit").hide();
51
52     object = {type: params.type, id: params.id};
53
54     if (!params.visible) {
55       object.version = params.version - 1;
56     }
57
58     map.addObject(object, {
59       zoom: true,
60       callback: function(extent) {
61         $("#loading").hide();
62
63         if (extent && extent.isValid()) {
64           $("#browse_map .secondary-actions").show();
65
66           $("a.bbox[data-editor=remote]").click(function () {
67             return remoteEditHandler(extent);
68           });
69
70           $("a.object[data-editor=remote]").click(function () {
71             return remoteEditHandler(extent, params.type + params.id);
72           });
73
74           $("#object_larger_map").show();
75           $("#object_edit").show();
76
77           updatelinks(map.getCenter(), 16, null, extent, object);
78         }
79       }
80     });
81   }
82 });