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.
47 lines
1.6 KiB
Text
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>
|