X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/3d3b2b47964ec91ef1ab1946b7258a06665caced..8878c963f3ecb6c80a4724f50389a8ded551468b:/app/assets/javascripts/index.js diff --git a/app/assets/javascripts/index.js b/app/assets/javascripts/index.js index 4903703cd..c5bddbaec 100644 --- a/app/assets/javascripts/index.js +++ b/app/assets/javascripts/index.js @@ -24,7 +24,7 @@ //= require index/home //= require router -$(document).ready(function () { +$(function () { const map = new L.OSM.Map("map", { zoomControl: false, layerControl: false, @@ -78,6 +78,9 @@ $(document).ready(function () { }); }; + const token = $("head").data("oauthToken"); + if (token) OSM.oauth = { authorization: "Bearer " + token }; + const params = OSM.mapParams(); map.attributionControl.setPrefix(""); @@ -233,20 +236,20 @@ $(document).ready(function () { }); if (object && object.type !== "note") query.set("select", object.type + object.id); // can't select notes - sendRemoteEditCommand(remoteEditHost + "/load_and_zoom?" + query, function () { - if (object && object.type === "note") { - const noteQuery = new URLSearchParams({ url: osmHost + OSM.apiUrl(object) }); - sendRemoteEditCommand(remoteEditHost + "/import?" + noteQuery); - } - }); + sendRemoteEditCommand(remoteEditHost + "/load_and_zoom?" + query) + .then(() => { + if (object && object.type === "note") { + const noteQuery = new URLSearchParams({ url: osmHost + OSM.apiUrl(object) }); + sendRemoteEditCommand(remoteEditHost + "/import?" + noteQuery); + } + }) + .catch(() => { + // eslint-disable-next-line no-alert + alert(I18n.t("site.index.remote_failed")); + }); - function sendRemoteEditCommand(url, callback) { - fetch(url, { mode: "no-cors", signal: AbortSignal.timeout(5000) }) - .then(callback) - .catch(function () { - // eslint-disable-next-line no-alert - alert(I18n.t("site.index.remote_failed")); - }); + function sendRemoteEditCommand(url) { + return fetch(url, { mode: "no-cors", signal: AbortSignal.timeout(5000) }); } return false; @@ -308,7 +311,7 @@ $(document).ready(function () { }; function addObject(type, id, version, center) { - const hashParams = OSM.parseHash(window.location.hash); + const hashParams = OSM.parseHash(location.hash); map.addObject({ type: type, id: parseInt(id, 10), version: version && parseInt(version, 10) }, function (bounds) { if (!hashParams.center && bounds.isValid() && (center || !map.getBounds().contains(bounds))) { @@ -360,7 +363,7 @@ $(document).ready(function () { "/account/home": OSM.Home(map) }); - if (OSM.preferred_editor === "remote" && document.location.pathname === "/edit") { + if (OSM.preferred_editor === "remote" && location.pathname === "/edit") { remoteEditHandler(map.getBounds(), params.object); OSM.router.setCurrentPath("/"); }