openstreetmap-website/app/views/site/_resize.html.erb
2012-09-07 13:04:48 -07:00

53 lines
1.8 KiB
Text

<script type="text/javascript">
var brokenContentSize = $("#content").prop("offsetWidth") == 0;
function resizeContent() {
var content = $("#content");
var leftMargin = parseInt(content.css("left"));
var rightMargin = parseInt(content.css("right"));
var bottomMargin = parseInt(content.css("bottom"));
<% if t('html.dir') == "ltr" -%>
content.width($(window).width() - content.prop("offsetLeft") - rightMargin);
<% else -%>
content.width($(window).width() - content.prop("offsetRight") - leftMargin);
<% end -%>
content.height($(window).height() - content.prop("offsetTop") - bottomMargin);
}
function resizeMap() {
var content_width = $("#content").width();
var content_height = $("#content").height();
var sidebar_width = 0;
var left_border = parseFloat($("#map").css("border-left-width"));
var right_border = parseFloat($("#map").css("border-right-width"));
var top_border = parseFloat($("#map").css("border-top-width"));
var bottom_border = parseFloat($("#map").css("border-bottom-width"));
$("#sidebar:visible").each(function () {
sidebar_width = sidebar_width + $(this).outerWidth(true);
});
<% if t('html.dir') == "ltr" -%>
$("#map").css("left", (sidebar_width) + "px");
<% else -%>
$("#map").css("right", (sidebar_width) + "px");
<% end -%>
$("#map").width(content_width - sidebar_width - left_border - right_border);
$("#map").height(content_height - top_border - bottom_border);
$("#map").trigger("resized");
}
function handleResize() {
if (brokenContentSize) {
resizeContent();
}
resizeMap();
}
$(document).ready(function () {
$("#sidebar").on("opened", resizeMap);
$("#sidebar").on("closed", resizeMap);
});
</script>