X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/ec9d2fde783796829a84655387e1810ea4b5e642..3d37044b67bfff18054682de8380bb3110d486d2:/app/views/site/id.html.erb diff --git a/app/views/site/id.html.erb b/app/views/site/id.html.erb index 80332e887..64cb4fd58 100644 --- a/app/views/site/id.html.erb +++ b/app/views/site/id.html.erb @@ -2,71 +2,19 @@ <html> <head> <meta charset='utf-8'> - <%= stylesheet_link_tag 'id' %> + <%= stylesheet_link_tag "id" %> <!--[if !IE || gte IE 9]><!--> - <%= javascript_include_tag 'id' %> + <%= javascript_include_tag "id" %> <!-- <![endif]--> </head> <body> -<div id='id-container'></div> -<script> - if (typeof iD == 'undefined') { - document.getElementById('id-container').innerHTML = 'This editor is supported ' + - 'in Firefox, Chrome, Safari, Opera, and Internet Explorer 9 and above. ' + - 'Please upgrade your browser or use Potlatch 2 to edit the map.'; - document.getElementById('id-container').className = 'unsupported'; - } else { - <% locale = select_locale(ID::LOCALES).to_s %> - - var id = iD() - .presets(iD.data.presets) - .imagery(iD.data.imagery) - .taginfo(iD.taginfo()) - .embed(true) - .assetPath("/iD/") <%# Cant use asset_path('iD/') in production. %> - .assetMap(<%= assets("iD").to_json.html_safe %>) - .locale("<%= locale %>", "<%= asset_path("iD/locales/#{locale}.json") %>") - .preauth({ - <% token = @user.access_token(ID_KEY) %> - url: "<%= request.protocol + request.host_with_port %>", - oauth_consumer_key: "<%= token.client_application.key %>", - oauth_secret: "<%= token.client_application.secret %>", - oauth_token: "<%= token.token %>", - oauth_token_secret: "<%= token.secret %>" - }); - - 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 }; - - parent.updateLinks(llz, zoom); - - // Manually resolve URL to avoid iframe JS context weirdness. - // http://bl.ocks.org/jfirebaugh/5439412 - var hash = parent.OSM.formatHash(llz); - if (hash !== parent.location.hash) { - parent.location.replace(parent.location.href.replace(/(#.*|$)/, hash)); - } - })); - - parent.$("body").on("click", "a.set_position", function (e) { - e.preventDefault(); - var data = parent.$(this).data(); - - // 0ms timeout to avoid iframe JS context weirdness. - // http://bl.ocks.org/jfirebaugh/5439412 - setTimeout(function() { - id.map().centerZoom( - [data.lon, data.lat], - Math.max(data.zoom || 15, 13)); - }, 0); - }); - - d3.select('#id-container') - .call(id.ui()); - } -</script> +<% data = {} + if Settings.key?(:id_application) + token = current_user.oauth_token(Settings.id_application) + data[:token] = token.token + end + data[:locale] = ID::LOCALES.preferred(preferred_languages).to_s + data[:asset_map] = assets("iD").to_json %> +<%= tag.div "", :id => "id-container", :data => data %> </body> </html>