]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/index/note.js
Merge branch 'pull/5715'
[rails.git] / app / assets / javascripts / index / note.js
index db5a62456b5a636c59f2c47944c3f1616827fb06..b9310a1af9e159d159dcef7254988d8623dc3983 100644 (file)
@@ -1,8 +1,8 @@
 OSM.Note = function (map) {
 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],
     "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 () {
 
   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;
       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,7 +33,7 @@ OSM.Note = function (map) {
     initialize(path, id);
   };
 
     initialize(path, id);
   };
 
-  function initialize(path, id) {
+  function initialize(path, id, skipMoveToNote) {
     content.find("button[name]").on("click", function (e) {
       e.preventDefault();
       const { url, method } = $(e.target).data(),
     content.find("button[name]").on("click", function (e) {
       e.preventDefault();
       const { url, method } = $(e.target).data(),
@@ -64,7 +58,7 @@ OSM.Note = function (map) {
         })
         .then(() => {
           OSM.loadSidebarContent(path, () => {
         })
         .then(() => {
           OSM.loadSidebarContent(path, () => {
-            initialize(path, id);
+            initialize(path, id, false);
           });
         })
         .catch(error => {
           });
         })
         .catch(error => {
@@ -82,18 +76,18 @@ OSM.Note = function (map) {
 
     content.find("textarea").val("").trigger("input");
 
 
     content.find("textarea").val("").trigger("input");
 
-    var data = $(".details").data();
+    const data = $(".details").data();
 
     if (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 () {
       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 });
           });
           OSM.router.withoutMoveListener(function () {
             map.setView(latLng, 15, { reset: true });
           });
@@ -103,8 +97,8 @@ OSM.Note = function (map) {
   }
 
   function updateButtons() {
   }
 
   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() === "") {
 
     content.find("button[name]").prop("disabled", false);
     if (content.find("textarea").val() === "") {