X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/d57755b737cbb38a590b0e017a4b5c6c661aea62..78f608b114c05f1147936a57b930831e28000c1a:/app/assets/javascripts/index/notes.js.erb diff --git a/app/assets/javascripts/index/notes.js.erb b/app/assets/javascripts/index/notes.js.erb index 3df948e6b..5ecaca7dd 100644 --- a/app/assets/javascripts/index/notes.js.erb +++ b/app/assets/javascripts/index/notes.js.erb @@ -17,6 +17,50 @@ $(document).ready(function () { newNotes = undefined; } + function createNote(feature, form) { + var location = unproj(feature.geometry.getBounds().getCenterLonLat()); + + $(form).find("input[type=submit]").prop("disabled", true); + + $.ajax($("#createnoteanchor").attr("href"), { + type: "POST", + data: { + lon: location.lon, + lat: location.lat, + text: $(form.text).val() + }, + success: function (data) { + map.noteSelector.unselect(feature); + + feature.attributes = data.properties; + + map.noteLayer.drawFeature(feature); + + map.noteMover.deactivate(); + } + }); + } + + function updateNote(feature, form, close) { + var url = close ? feature.attributes.close_url : feature.attributes.comment_url; + + $(form).find("input[type=submit]").prop("disabled", true); + + $.ajax(url, { + type: "POST", + data: { + text: $(form.text).val() + }, + success: function (data) { + map.noteSelector.unselect(feature) + + feature.attributes = data.properties; + + map.noteSelector.select(feature) + } + }); + } + function noteSelected(o) { var feature = o.feature; var location = feature.geometry.getBounds().getCenterLonLat(); @@ -64,69 +108,21 @@ $(document).ready(function () { }); $(feature.popup.contentDiv).find("input#note-add").click(function (e) { - var location = unproj(feature.geometry.getBounds().getCenterLonLat()); - var form = e.target.form; - e.preventDefault(); - $.ajax($("#createnoteanchor").attr("href"), { - type: "POST", - data: { - lon: location.lon, - lat: location.lat, - text: $(form.comment).val() - }, - success: function (data) { - map.noteSelector.unselect(feature); - - feature.attributes.status = "open"; - feature.attributes.id = data; - - map.noteLayer.drawFeature(feature); - - map.noteMover.deactivate(); - } - }); + createNote(feature, e.target.form); }); $(feature.popup.contentDiv).find("input#note-comment").click(function (e) { - var form = e.target.form; - e.preventDefault(); - $.ajax(feature.attributes.comment_url, { - type: "POST", - data: { - text: $(form.text).val() - }, - success: function (data) { - map.noteSelector.unselect(feature) - - feature.attributes = data.properties; - - map.noteSelector.select(feature) - } - }); + updateNote(feature, e.target.form, false); }); $(feature.popup.contentDiv).find("input#note-close").click(function (e) { - var form = e.target.form; - e.preventDefault(); - $.ajax(feature.attributes.close_url, { - type: "POST", - data: { - text: $(form.text).val() - }, - success: function (data) { - map.noteSelector.unselect(feature) - - feature.attributes = data.properties; - - map.noteSelector.select(feature) - } - }); + updateNote(feature, e.target.form, true); }); feature.popup.updateSize();