openstreetmap-website/app/views/site/_resize.html.erb
Tom Hughes 97dba0fbbe Read the content area size before making any changes
Adjusting the position of the map can impact the apparent size of
the content area, so make sure we read that before we start making
any changes to the position and size of the map.
2012-02-12 15:17:43 +00:00

47 lines
1.6 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 + $("#sidebar:visible").outerWidth(true);
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"));
<% 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);
<% if params[:controller] == "site" and params[:action] == "index" -%>
map.updateSize();
<% end -%>
}
function handleResize() {
if (brokenContentSize) {
resizeContent();
}
resizeMap();
}
</script>