]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/index.js
Permalinks for directions
[rails.git] / app / assets / javascripts / index.js
index 2b5f23ef17d2f9487956d7332eb4e90603c49048..1c0812485100b6100c8a5be5b5eef1e065a3f6f8 100644 (file)
 //= require index/history
 //= require index/note
 //= require index/new_note
+//= require index/directions
 //= require router
-//= require routing
-//= require_tree ./routing_engines
 
-(function() {
+$(document).ready(function () {
   var loaderTimeout;
 
   OSM.loadSidebarContent = function(path, callback) {
+    map.setSidebarOverlaid(false);
+
     clearTimeout(loaderTimeout);
 
     loaderTimeout = setTimeout(function() {
@@ -68,9 +69,7 @@
       }
     });
   };
-})();
 
-$(document).ready(function () {
   var params = OSM.mapParams();
 
   var map = new L.OSM.Map("map", {
@@ -223,10 +222,8 @@ $(document).ready(function () {
   OSM.Index = function(map) {
     var page = {};
 
-    page.pushstate = function() {
-      $("#content").addClass("overlay-sidebar");
-      map.invalidateSize({pan: false})
-        .panBy([-350, 0], {animate: false});
+    page.pushstate = page.popstate = function() {
+      map.setSidebarOverlaid(true);
       document.title = I18n.t('layouts.project_name.title');
     };
 
@@ -237,18 +234,6 @@ $(document).ready(function () {
       return map.getState();
     };
 
-    page.popstate = function() {
-      $("#content").addClass("overlay-sidebar");
-      map.invalidateSize({pan: false});
-      document.title = I18n.t('layouts.project_name.title');
-    };
-
-    page.unload = function() {
-      map.panBy([350, 0], {animate: false});
-      $("#content").removeClass("overlay-sidebar");
-      map.invalidateSize({pan: false});
-    };
-
     return page;
   };
 
@@ -287,6 +272,7 @@ $(document).ready(function () {
   OSM.router = OSM.Router(map, {
     "/":                           OSM.Index(map),
     "/search":                     OSM.Search(map),
+    "/directions":                 OSM.Directions(map),
     "/export":                     OSM.Export(map),
     "/note/new":                   OSM.NewNote(map),
     "/history/friends":            history,
@@ -322,60 +308,4 @@ $(document).ready(function () {
     if (OSM.router.route(this.pathname + this.search + this.hash))
       e.preventDefault();
   });
-
-  $(".search_form").on("submit", function(e) {
-    e.preventDefault();
-    if ($(".query_wrapper.routing").is(":visible")) {
-      // Routing
-      OSM.routing.requestRoute(true, true);
-    } else {
-      // Search
-      $("header").addClass("closed");
-      var query = $(this).find("input[name=query]").val();
-      if (query) {
-        OSM.router.route("/search?query=" + encodeURIComponent(query) + OSM.formatHash(map));
-      } else {
-        OSM.router.route("/" + OSM.formatHash(map));
-      }
-    }
-  });
-
-  $(".describe_location").on("click", function(e) {
-    e.preventDefault();
-    var precision = OSM.zoomPrecision(map.getZoom());
-    OSM.router.route("/search?query=" + encodeURIComponent(
-      map.getCenter().lat.toFixed(precision) + "," +
-      map.getCenter().lng.toFixed(precision)));
-  });
-
-  OSM.routing = OSM.Routing(map,'OSM.routing',$('.query_wrapper.routing'));
-  OSM.routing.chooseEngine('javascripts.directions.engines.osrm_car');
-
-  $(".get_directions").on("click",function(e) {
-    e.preventDefault();
-    $(".search").hide();
-    $(".routing").show();
-    $(".query_wrapper.routing [name=route_from]").focus();
-    $("#map").on('dragend dragover',function(e) { e.preventDefault(); });
-    $("#map").on('drop',function(e) { OSM.routing.handleDrop(e); e.preventDefault(); });
-    $(".routing_marker").on('dragstart',function(e) {
-      e.originalEvent.dataTransfer.effectAllowed = 'move';
-      e.originalEvent.dataTransfer.setData('id', this.id);
-      var xo=e.originalEvent.clientX - $(e.target).offset().left;
-      var yo=e.originalEvent.clientY - $(e.target).offset().top;
-      e.originalEvent.dataTransfer.setData('offsetX', e.originalEvent.target.width/2 - xo);
-      e.originalEvent.dataTransfer.setData('offsetY', e.originalEvent.target.height  - yo);
-    });
-  });
-
-  $(".close_directions").on("click",function(e) {
-    e.preventDefault();
-    $(".search").show();
-    $(".routing").hide();
-    OSM.routing.close();
-    $("#map").off('dragend drop dragover');
-    $(".routing_marker").off('dragstart');
-    $(".query_wrapper.search [name=query]").focus();
-  });
-
 });