X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/fa9b4a5f6a00fd862ce3230a64d6c6c89c7fbb6c..cdfe2ac21ec01344b4b10d566582e7cc2b2eb7cb:/app/assets/javascripts/index/notes.js.erb?ds=sidebyside diff --git a/app/assets/javascripts/index/notes.js.erb b/app/assets/javascripts/index/notes.js.erb index 63576c06c..4538e9968 100644 --- a/app/assets/javascripts/index/notes.js.erb +++ b/app/assets/javascripts/index/notes.js.erb @@ -1,7 +1,7 @@ //= require templates/notes/show //= require templates/notes/new -function initializeNotes(map, params) { +function initializeNotes(map) { var noteLayer = map.noteLayer, notes = {}, newNote; @@ -48,23 +48,17 @@ function initializeNotes(map, params) { } }); - if (OSM.STATUS != 'api_offline' && OSM.STATUS != 'database_offline') { - if (params.layers.indexOf(noteLayer.options.code) >= 0) { - map.addLayer(noteLayer); - } - - if (params.note) { - $.ajax({ - url: "/api/" + OSM.API_VERSION + "/notes/" + params.note + ".json", - success: function (feature) { - var marker = updateMarker(notes[feature.properties.id], feature); - notes[feature.properties.id] = marker; - map.addLayer(noteLayer); - marker.openPopup(); - } - }); - } - } + noteLayer.showNote = function(id) { + $.ajax({ + url: "/api/" + OSM.API_VERSION + "/notes/" + id + ".json", + success: function (feature) { + var marker = updateMarker(notes[feature.properties.id], feature); + notes[feature.properties.id] = marker; + map.addLayer(noteLayer); + marker.openPopup(); + } + }); + }; function updateMarker(marker, feature) { if (marker) { @@ -190,7 +184,7 @@ function initializeNotes(map, params) { notes[feature.properties.id] = updateMarker(marker, feature); newNote = null; - addNoteButton.removeClass("active").addClass("geolink"); + addNoteButton.removeClass("active"); } } @@ -223,9 +217,10 @@ function initializeNotes(map, params) { e.preventDefault(); e.stopPropagation(); + if (addNoteButton.hasClass("disabled")) return; if (addNoteButton.hasClass("active")) return; - addNoteButton.removeClass("geolink").addClass("active"); + addNoteButton.addClass("active"); map.addLayer(noteLayer); @@ -262,7 +257,7 @@ function initializeNotes(map, params) { newNote.addTo(noteLayer).bindPopup(popupContent[0], popupOptions()).openPopup(); newNote.on("remove", function (e) { - addNoteButton.removeClass("active").addClass("geolink"); + addNoteButton.removeClass("active"); }).on("dragstart", function (e) { $(newNote).stopTime("removenote"); }).on("dragend", function (e) {