X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/293fb9946705417b1d313feb8c65beadaf92a5d3..507c395f51c20c3c0d5375313ea1ca0ed4156c75:/app/assets/javascripts/id.js?ds=sidebyside diff --git a/app/assets/javascripts/id.js b/app/assets/javascripts/id.js index e1fea1768..706097bba 100644 --- a/app/assets/javascripts/id.js +++ b/app/assets/javascripts/id.js @@ -1,37 +1,43 @@ //= require iD -document.addEventListener("DOMContentLoaded", function(e) { +/* globals iD */ + +document.addEventListener("DOMContentLoaded", function () { var container = document.getElementById("id-container"); - if (typeof iD == 'undefined' || !iD.Detect().support) { - container.innerHTML = 'This editor is supported ' + - 'in Firefox, Chrome, Safari, Opera, Edge, and Internet Explorer 11. ' + - 'Please upgrade your browser or use Potlatch 2 to edit the map.'; - container.className = 'unsupported'; + if (typeof iD === "undefined" || !iD.utilDetect().support) { + container.innerHTML = "This editor is supported " + + "in Firefox, Chrome, Safari, Opera and Edge. " + + "Please upgrade your browser or use JOSM to edit the map."; + container.className = "unsupported"; } else { - var id = iD.Context() + var idContext = iD.coreContext(); + idContext.connection().apiConnections([]); + var url = location.protocol + "//" + location.host; + idContext.preauth({ + url: url, + apiUrl: url === "https://www.openstreetmap.org" ? "https://api.openstreetmap.org" : url, + access_token: container.dataset.token + }); + + var id = idContext .embed(true) .assetPath("iD/") - .assetMap(container.dataset.assetMap) - .locale(container.dataset.locale, container.dataset.localePath) - .preauth({ - urlroot: location.protocol + "//" + location.host, - oauth_consumer_key: container.dataset.consumerKey, - oauth_secret: container.dataset.consumerSecret, - oauth_token: container.dataset.token, - oauth_token_secret: container.dataset.tokenSecret - }); - - id.map().on('move.embed', parent.$.throttle(250, function() { + .assetMap(JSON.parse(container.dataset.assetMap)) + .locale(container.dataset.locale) + .containerNode(container) + .init(); + + id.map().on("move.embed", parent.$.throttle(250, function () { if (id.inIntro()) return; var zoom = ~~id.map().zoom(), - center = id.map().center(), - llz = { lon: center[0], lat: center[1], zoom: zoom }; + center = id.map().center(), + llz = { lon: center[0], lat: center[1], zoom: zoom }; parent.updateLinks(llz, zoom); // Manually resolve URL to avoid iframe JS context weirdness. - // http://bl.ocks.org/jfirebaugh/5439412 + // https://gist.github.com/jfirebaugh/5439412 var hash = parent.OSM.formatHash(llz); if (hash !== parent.location.hash) { parent.location.replace(parent.location.href.replace(/(#.*|$)/, hash)); @@ -43,14 +49,12 @@ document.addEventListener("DOMContentLoaded", function(e) { var data = parent.$(this).data(); // 0ms timeout to avoid iframe JS context weirdness. - // http://bl.ocks.org/jfirebaugh/5439412 - setTimeout(function() { + // https://gist.github.com/jfirebaugh/5439412 + setTimeout(function () { id.map().centerZoom( [data.lon, data.lat], Math.max(data.zoom || 15, 13)); }, 0); }); - - id.ui()(container); } });