X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/eb7678145a87c1b9e3cd7ff2d3b5dc08132e4b51..a64b7237ec06264d26385e1384c3130bcbccd446:/app/assets/javascripts/leaflet.sidebar.js diff --git a/app/assets/javascripts/leaflet.sidebar.js b/app/assets/javascripts/leaflet.sidebar.js index 240e79a50..9573c839d 100644 --- a/app/assets/javascripts/leaflet.sidebar.js +++ b/app/assets/javascripts/leaflet.sidebar.js @@ -1,22 +1,24 @@ -L.OSM.sidebar = function(selector) { +L.OSM.sidebar = function (selector) { var control = {}, - sidebar = $(selector), - current = $(), - currentButton = $(), - map; + sidebar = $(selector), + current = $(), + currentButton = $(), + map; control.addTo = function (_) { map = _; return control; }; - control.addPane = function(pane) { + control.addPane = function (pane) { pane .hide() .appendTo(sidebar); }; - control.togglePane = function(pane, button) { + control.togglePane = function (pane, button) { + var paneWidth = 250; + current .hide() .trigger("hide"); @@ -25,15 +27,23 @@ L.OSM.sidebar = function(selector) { .removeClass("active"); if (current === pane) { + if ($("html").attr("dir") === "rtl") { + map.panBy([-paneWidth, 0], { animate: false }); + } $(sidebar).hide(); + $("#content").addClass("overlay-right-sidebar"); current = currentButton = $(); } else { $(sidebar).show(); + $("#content").removeClass("overlay-right-sidebar"); current = pane; currentButton = button || $(); + if ($("html").attr("dir") === "rtl") { + map.panBy([paneWidth, 0], { animate: false }); + } } - map.invalidateSize({pan: false, animate: false}); + map.invalidateSize({ pan: false, animate: false }); current .show()