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],
});
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
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"));
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("");