X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/6d124f801224ee441dbb7e67b912b8689cab6dfb..04ff7d4ee81040f152c38ee39ba84491c91a66f3:/app/assets/javascripts/index/note.js diff --git a/app/assets/javascripts/index/note.js b/app/assets/javascripts/index/note.js index 5bf3f543a..7efec6c5d 100644 --- a/app/assets/javascripts/index/note.js +++ b/app/assets/javascripts/index/note.js @@ -1,7 +1,7 @@ OSM.Note = function (map) { - var content = $('#sidebar_content'), - page = {}, - halo, currentNote; + var content = $("#sidebar_content"), + page = {}, + halo, currentNote; var noteIcons = { "new": L.icon({ @@ -28,7 +28,7 @@ OSM.Note = function (map) { url: url, type: method, oauth: true, - data: {text: $(form.text).val()}, + data: { text: $(form.text).val() }, success: function () { OSM.loadSidebarContent(window.location.pathname, page.load); } @@ -36,16 +36,16 @@ OSM.Note = function (map) { } page.pushstate = page.popstate = function (path) { - OSM.loadSidebarContent(path, function() { - initialize(function() { - var data = $('.details').data(), - latLng = L.latLng(data.coordinates.split(',')); - if (!map.getBounds().contains(latLng)) moveToNote(); + OSM.loadSidebarContent(path, function () { + initialize(function () { + var data = $(".details").data(), + latLng = L.latLng(data.coordinates.split(",")); + if (!map.getBounds().contains(latLng)) moveToNote(); }); }); }; - page.load = function() { + page.load = function () { initialize(moveToNote); }; @@ -68,12 +68,12 @@ OSM.Note = function (map) { } }); - content.find("textarea").val('').trigger("input"); + content.find("textarea").val("").trigger("input"); - var data = $('.details').data(), - latLng = L.latLng(data.coordinates.split(',')); + var data = $(".details").data(), + latLng = L.latLng(data.coordinates.split(",")); - if (!map.hasLayer(halo)) { + if (!halo || !map.hasLayer(halo)) { halo = L.circleMarker(latLng, { weight: 2.5, radius: 20, @@ -83,11 +83,12 @@ OSM.Note = function (map) { map.addLayer(halo); } - if (map.hasLayer(currentNote)) map.removeLayer(currentNote); + if (currentNote && map.hasLayer(currentNote)) map.removeLayer(currentNote); + currentNote = L.marker(latLng, { icon: noteIcons[data.status], opacity: 1, - clickable: true + interactive: true }); map.addLayer(currentNote); @@ -96,12 +97,12 @@ OSM.Note = function (map) { } function moveToNote() { - var data = $('.details').data(), - latLng = L.latLng(data.coordinates.split(',')); + var data = $(".details").data(), + latLng = L.latLng(data.coordinates.split(",")); if (!window.location.hash || window.location.hash.match(/^#?c[0-9]+$/)) { OSM.router.withoutMoveListener(function () { - map.setView(latLng, 15, {reset: true}); + map.setView(latLng, 15, { reset: true }); }); } }