Make remote edit work when /edit is loaded
authorTom Hughes <tom@compton.nu>
Thu, 5 Dec 2013 10:40:21 +0000 (10:40 +0000)
committerTom Hughes <tom@compton.nu>
Thu, 5 Dec 2013 10:40:21 +0000 (10:40 +0000)
Change detection of the edit request to use the URL as the class
will not be set on the body now, and force the router to think we
actually loaded the normal view.

app/assets/javascripts/index.js
app/assets/javascripts/router.js

index c5532cfc4ca0791858597f61cf51e9dc30032618..55f1f8f1e95a60ef680798f58503ca3f095ffde4 100644 (file)
@@ -201,10 +201,6 @@ $(document).ready(function () {
       e.preventDefault();
   });
 
-  if (OSM.preferred_editor == "remote" && $('body').hasClass("site-edit")) {
-    remoteEditHandler(map.getBounds());
-  }
-
   if (OSM.params().edit_help) {
     $('#editanchor')
       .removeAttr('title')
@@ -284,6 +280,11 @@ $(document).ready(function () {
     "/changeset/:id":              OSM.Browse(map, 'changeset')
   });
 
+  if (OSM.preferred_editor == "remote" && document.location.pathname == "/edit") {
+    remoteEditHandler(map.getBounds());
+    OSM.router.setCurrentPath("/");
+  }
+
   OSM.router.load();
 
   $(document).on("click", "a", function(e) {
index 200edd2664fa94e4b9aeaf78bceff3bcab3e64ac..2f76f2f184983a01efbbaa651dcbb9f9d5b256c5 100644 (file)
@@ -167,6 +167,11 @@ OSM.Router = function(map, rts) {
     router.stateChange(loadState || {});
   };
 
+  router.setCurrentPath = function (path) {
+    currentPath = path;
+    currentRoute = routes.recognize(currentPath);
+  };
+
   map.on('moveend baselayerchange overlaylayerchange', router.updateHash);
   $(window).on('hashchange', router.hashUpdated);