]> git.openstreetmap.org Git - rails.git/blob - app/views/site/_resize.html.erb
baedc44640232532c24c182d69945baf170feab5
[rails.git] / app / views / site / _resize.html.erb
1 <script type="text/javascript">
2   var brokenContentSize = $("#content").prop("offsetWidth") == 0;
3
4   function resizeContent() {
5     var content = $("#content");
6     var leftMargin = parseInt(content.css("left"));
7     var rightMargin = parseInt(content.css("right"));
8     var bottomMargin = parseInt(content.css("bottom"));
9
10     if ($("html").attr("dir") == "ltr") {
11       content.width($(window).width() - content.prop("offsetLeft") - rightMargin);
12     } else {
13       content.width($(window).width() - content.prop("offsetRight") - leftMargin);
14     }
15
16     content.height($(window).height() - content.prop("offsetTop") - bottomMargin);
17   }
18
19   function resizeMap() {
20     var content_width = $("#content").width();
21     var content_height = $("#content").height();
22     var sidebar_width = 0;
23     var left_border = parseFloat($("#map").css("border-left-width"));
24     var right_border = parseFloat($("#map").css("border-right-width"));
25     var top_border = parseFloat($("#map").css("border-top-width"));
26     var bottom_border = parseFloat($("#map").css("border-bottom-width"));
27
28     $("#sidebar:visible").each(function () {
29       sidebar_width = sidebar_width + $(this).outerWidth(true);
30     });
31
32     if ($("html").attr("dir") == "ltr") {
33       $("#map").css("left", (sidebar_width) + "px");
34     } else {
35       $("#map").css("right", (sidebar_width) + "px");
36     }
37
38     $("#map").width(content_width - sidebar_width - left_border - right_border);
39     $("#map").height(content_height - top_border - bottom_border);
40     $("#map").trigger("resized");
41   }
42
43   function handleResize() {
44     if (brokenContentSize) {
45       resizeContent();
46     }
47
48     resizeMap();
49   }
50
51   $(document).ready(function () {
52     $("#sidebar").on("opened", resizeMap);
53     $("#sidebar").on("closed", resizeMap);
54   });
55 </script>