X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/888db7a3b45a789b7e67e602a0002200a8219e18..f2bf38606e281290fee8273e247afc54f08a0a47:/app/assets/javascripts/index.js diff --git a/app/assets/javascripts/index.js b/app/assets/javascripts/index.js index 2b5f23ef1..1c0812485 100644 --- a/app/assets/javascripts/index.js +++ b/app/assets/javascripts/index.js @@ -13,14 +13,15 @@ //= 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(); - }); - });