]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/site/id.html.erb
Double quote strings that need to be interpolated
[rails.git] / app / views / site / id.html.erb
index ccdad95572954100104e5526a5435c68a5154e2b..fde4a07cd394fd10067517fb9c13fd9749342c08 100644 (file)
@@ -20,7 +20,8 @@
 
     var id = iD()
       .embed(true)
-      .assetPath("/assets/iD/") <%# Can't use asset_path('iD/') in production. %>
+      .assetPath("/iD/") <%# Can't 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) %>
         [extent[1][1],
         extent[1][0]]]);
 
-      // 0ms timeout to avoid iframe JS context weirdness.
+      // Manually resolve URL to avoid iframe JS context weirdness.
       // http://bl.ocks.org/jfirebaugh/5439412
-      parent.setTimeout(function() {
-        var hash = parent.OSM.formatHash({ lon: center[0], lat: center[1], zoom: zoom });
-        if (hash !== parent.location.hash) {
-          parent.location.replace(hash);
-        }
-      }, 0);
+      var hash = parent.OSM.formatHash({ lon: center[0], lat: center[1], zoom: zoom });
+      if (hash !== parent.location.hash) {
+        parent.location.replace(parent.location.href.replace(/(#.*|$)/, hash));
+      }
     }));
 
     parent.$("body").on("click", "a.set_position", function (e) {
 
       // 0ms timeout to avoid iframe JS context weirdness.
       // http://bl.ocks.org/jfirebaugh/5439412
-      parent.setTimeout(function() {
+      setTimeout(function() {
         id.map().centerZoom(
           [data.lon, data.lat],
           Math.max(data.zoom || 15, 13));
       }, 0);
     });
 
-    var maximized = false;
-    id.on('toggleFullscreen.embed', function() {
-      if (maximized) {
-        parent.minimiseMap();
-      } else {
-        parent.maximiseMap();
-      }
-      maximized = !maximized;
-    });
-
     d3.select('#id-container')
       .call(id.ui());
   }