]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/index/new_note.js
Merge remote-tracking branch 'upstream/pull/3767'
[rails.git] / app / assets / javascripts / index / new_note.js
index a1511a3bc14b6184bb5777bb718e2ae9e22f478c..b1457d10b0233a745b5e9c4a2736637bcfe63834 100644 (file)
@@ -1,12 +1,12 @@
 OSM.NewNote = function (map) {
-  var noteLayer = map.noteLayer,
-      content = $("#sidebar_content"),
-      page = {},
-      addNoteButton = $(".control-note .control-button"),
-      newNoteMarker,
+  const noteLayer = map.noteLayer,
+        content = $("#sidebar_content"),
+        page = {},
+        addNoteButton = $(".control-note .control-button");
+  let newNoteMarker,
       halo;
 
-  var noteIcons = {
+  const noteIcons = {
     "new": L.icon({
       iconUrl: OSM.NEW_NOTE_MARKER,
       iconSize: [25, 40],
@@ -34,21 +34,21 @@ OSM.NewNote = function (map) {
   });
 
   function createNote(location, text, callback) {
-    $.ajax({
-      url: "/api/0.6/notes.json",
-      type: "POST",
-      oauth: true,
-      data: {
+    fetch("/api/0.6/notes.json", {
+      method: "POST",
+      headers: { ...OSM.oauth },
+      body: new URLSearchParams({
         lat: location.lat,
         lon: location.lng,
         text
-      },
-      success: callback
-    });
+      })
+    })
+      .then(response => response.json())
+      .then(callback);
   }
 
   function addCreatedNoteMarker(feature) {
-    var marker = L.marker(feature.geometry.coordinates.reverse(), {
+    const marker = L.marker(feature.geometry.coordinates.reverse(), {
       icon: noteIcons[feature.properties.status],
       opacity: 0.9,
       interactive: true
@@ -132,7 +132,7 @@ OSM.NewNote = function (map) {
     map.addLayer(noteLayer);
 
     const params = new URLSearchParams(path.substring(path.indexOf("?")));
-    var markerLatlng;
+    let markerLatlng;
 
     if (params.has("lat") && params.has("lon")) {
       markerLatlng = L.latLng(params.get("lat"), params.get("lon"));
@@ -161,7 +161,7 @@ OSM.NewNote = function (map) {
 
       createNote(location, text, (feature) => {
         if (typeof OSM.user === "undefined") {
-          var anonymousNotesCount = Number(Cookies.get("_osm_anonymous_notes_count")) || 0;
+          const anonymousNotesCount = Number(Cookies.get("_osm_anonymous_notes_count")) || 0;
           Cookies.set("_osm_anonymous_notes_count", anonymousNotesCount + 1, { secure: true, expires: 30, path: "/", samesite: "lax" });
         }
         content.find("textarea").val("");