X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/8fb3d7365fb91d1822ae5f37361af077d48a9c8c..e336fc31c71c694397603aa05a9e48c99bc8fb5d:/app/assets/javascripts/index/new_note.js.erb?ds=sidebyside diff --git a/app/assets/javascripts/index/new_note.js.erb b/app/assets/javascripts/index/new_note.js.erb index e544c1a93..4c728d2f5 100644 --- a/app/assets/javascripts/index/new_note.js.erb +++ b/app/assets/javascripts/index/new_note.js.erb @@ -3,7 +3,8 @@ OSM.NewNote = function(map) { content = $('#sidebar_content'), page = {}, addNoteButton = $(".control-note .control-button"), - newNote; + newNote, + halo; var noteIcons = { "new": L.icon({ @@ -23,14 +24,12 @@ OSM.NewNote = function(map) { }) }; - page.pushstate = page.popstate = function () { - page.load(); - }; - addNoteButton.on("click", function (e) { e.preventDefault(); e.stopPropagation(); + if ($(this).hasClass('disabled')) return; + OSM.route('/new_note'); }); @@ -67,7 +66,7 @@ OSM.NewNote = function(map) { } function updateMarker(feature) { - marker = L.marker(feature.geometry.coordinates.reverse(), { + var marker = L.marker(feature.geometry.coordinates.reverse(), { icon: noteIcons[feature.properties.status], opacity: 0.9, clickable: true @@ -77,7 +76,11 @@ OSM.NewNote = function(map) { return marker; } - function initialize() { + page.pushstate = page.popstate = function (path) { + OSM.loadSidebarContent(path, page.load); + }; + + page.load = function () { if (addNoteButton.hasClass("disabled")) return; if (addNoteButton.hasClass("active")) return; @@ -104,6 +107,15 @@ OSM.NewNote = function(map) { newNote.addTo(noteLayer); + halo = L.circleMarker(map.containerPointToLatLng(markerPosition), { + weight: 2.5, + radius: 20, + fillOpacity: 0.5, + color: "#FF6200" + }); + + map.addLayer(halo); + newNote.on("remove", function () { addNoteButton.removeClass("active"); }).on("dragstart",function () { @@ -124,19 +136,11 @@ OSM.NewNote = function(map) { e.preventDefault(); createNote(newNote, e.target.form, '/api/0.6/notes.json'); }); - } - - page.load = function () { - content.load(window.location.pathname + "?xhr=1", function (a, b, xhr) { - if (xhr.getResponseHeader('X-Page-Title')) { - document.title = xhr.getResponseHeader('X-Page-Title'); - } - initialize(); - }); }; page.unload = function () { noteLayer.removeLayer(newNote); + map.removeLayer(halo); addNoteButton.removeClass("active"); };