X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/6db326aa1f084a062a3b658876bc01bf650f5702..49ba5ab6d2e98221246635327eb15dc71c97e67d:/app/assets/javascripts/index/new_note.js diff --git a/app/assets/javascripts/index/new_note.js b/app/assets/javascripts/index/new_note.js index 7196a779b..887ba043b 100644 --- a/app/assets/javascripts/index/new_note.js +++ b/app/assets/javascripts/index/new_note.js @@ -1,10 +1,12 @@ +//= require qs/dist/qs + OSM.NewNote = function (map) { var noteLayer = map.noteLayer, - content = $("#sidebar_content"), - page = {}, - addNoteButton = $(".control-note .control-button"), - newNote, - halo; + content = $("#sidebar_content"), + page = {}, + addNoteButton = $(".control-note .control-button"), + newNote, + halo; var noteIcons = { "new": L.icon({ @@ -83,10 +85,12 @@ OSM.NewNote = function (map) { }; function newHalo(loc, a) { - if (a === "dragstart" && map.hasLayer(halo)) { + var hasHalo = halo && map.hasLayer(halo); + + if (a === "dragstart" && hasHalo) { map.removeLayer(halo); } else { - if (map.hasLayer(halo)) map.removeLayer(halo); + if (hasHalo) map.removeLayer(halo); halo = L.circleMarker(loc, { weight: 2.5, @@ -107,7 +111,7 @@ OSM.NewNote = function (map) { map.addLayer(noteLayer); - var params = querystring.parse(path.substring(path.indexOf("?") + 1)); + var params = Qs.parse(path.substring(path.indexOf("?") + 1)); var markerLatlng; if (params.lat && params.lon) { @@ -135,8 +139,6 @@ OSM.NewNote = function (map) { newNote.on("remove", function () { addNoteButton.removeClass("active"); - }).on("dragstart", function () { - $(newNote).stopTime("removenote"); }).on("dragend", function () { content.find("textarea").focus(); }); @@ -158,8 +160,8 @@ OSM.NewNote = function (map) { }; page.unload = function () { - noteLayer.removeLayer(newNote); - map.removeLayer(halo); + if (newNote) noteLayer.removeLayer(newNote); + if (halo) map.removeLayer(halo); addNoteButton.removeClass("active"); };