X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/29d322c364dcbe5b1adf386d51132296b5809604..c47cb299a842a2eb7d022fcf4f0d02c08001f928:/app/assets/javascripts/index/note.js diff --git a/app/assets/javascripts/index/note.js b/app/assets/javascripts/index/note.js index 6a0487aaa..466a5451e 100644 --- a/app/assets/javascripts/index/note.js +++ b/app/assets/javascripts/index/note.js @@ -1,8 +1,8 @@ OSM.Note = function (map) { - var content = $("#sidebar_content"), - page = {}; + const content = $("#sidebar_content"), + page = {}; - var noteIcons = { + const noteIcons = { "new": L.icon({ iconUrl: OSM.NEW_NOTE_MARKER, iconSize: [25, 40], @@ -22,16 +22,10 @@ OSM.Note = function (map) { page.pushstate = page.popstate = function (path, id) { OSM.loadSidebarContent(path, function () { - initialize(path, id); - - var data = $(".details").data(); + const data = $(".details").data(); if (!data) return; - var latLng = L.latLng(data.coordinates.split(",")); - if (!map.getBounds().contains(latLng)) { - OSM.router.withoutMoveListener(function () { - map.setView(latLng, 15, { reset: true }); - }); - } + const latLng = L.latLng(data.coordinates.split(",")); + initialize(path, id, map.getBounds().contains(latLng)); }); }; @@ -39,18 +33,18 @@ OSM.Note = function (map) { initialize(path, id); }; - function initialize(path, id) { + function initialize(path, id, skipMoveToNote) { content.find("button[name]").on("click", function (e) { e.preventDefault(); - var data = $(e.target).data(); - var name = $(e.target).attr("name"); - var ajaxSettings = { + const data = $(e.target).data(); + const name = $(e.target).attr("name"); + const ajaxSettings = { url: data.url, type: data.method, oauth: true, success: () => { OSM.loadSidebarContent(path, () => { - initialize(path, id); + initialize(path, id, false); }); }, error: (xhr) => { @@ -76,18 +70,18 @@ OSM.Note = function (map) { content.find("textarea").val("").trigger("input"); - var data = $(".details").data(); + const data = $(".details").data(); if (data) { - var hashParams = OSM.parseHash(window.location.hash); + const hashParams = OSM.parseHash(window.location.hash); map.addObject({ type: "note", id: parseInt(id, 10), latLng: L.latLng(data.coordinates.split(",")), icon: noteIcons[data.status] }, function () { - if (!hashParams.center) { - var latLng = L.latLng(data.coordinates.split(",")); + if (!hashParams.center && !skipMoveToNote) { + const latLng = L.latLng(data.coordinates.split(",")); OSM.router.withoutMoveListener(function () { map.setView(latLng, 15, { reset: true }); }); @@ -97,8 +91,8 @@ OSM.Note = function (map) { } function updateButtons() { - var resolveButton = content.find("button[name='close']"); - var commentButton = content.find("button[name='comment']"); + const resolveButton = content.find("button[name='close']"); + const commentButton = content.find("button[name='comment']"); content.find("button[name]").prop("disabled", false); if (content.find("textarea").val() === "") {