From: John Firebaugh Date: Thu, 6 Sep 2012 23:35:35 +0000 (-0700) Subject: Move resize JS to application bundle X-Git-Tag: live~5368 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/e338d1140884bb2bf3ed1b8fc85c890d0937ef8c Move resize JS to application bundle --- diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index a475aad4d..148855dd8 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -14,6 +14,7 @@ //= require menu //= require sidebar //= require richtext +//= require resize function zoomPrecision(zoom) { var decimals = Math.pow(10, Math.floor(zoom/3)); diff --git a/app/assets/javascripts/resize.js b/app/assets/javascripts/resize.js new file mode 100644 index 000000000..64c006a0b --- /dev/null +++ b/app/assets/javascripts/resize.js @@ -0,0 +1,53 @@ +function resizeContent() { + var content = $("#content"); + var leftMargin = parseInt(content.css("left")); + var rightMargin = parseInt(content.css("right")); + var bottomMargin = parseInt(content.css("bottom")); + + if ($("html").attr("dir") == "ltr") { + content.width($(window).width() - content.prop("offsetLeft") - rightMargin); + } else { + content.width($(window).width() - content.prop("offsetRight") - leftMargin); + } + + 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 ($("html").attr("dir") == "ltr") { + $("#map").css("left", (sidebar_width) + "px"); + } else { + $("#map").css("right", (sidebar_width) + "px"); + } + + $("#map").width(content_width - sidebar_width - left_border - right_border); + $("#map").height(content_height - top_border - bottom_border); + $("#map").trigger("resized"); +} + +function handleResize() { + var brokenContentSize = $("#content").prop("offsetWidth") == 0; + + if (brokenContentSize) { + resizeContent(); + } + + resizeMap(); +} + +$(document).ready(function () { + $("#sidebar").on("opened", resizeMap); + $("#sidebar").on("closed", resizeMap); +}); diff --git a/app/views/site/_resize.html.erb b/app/views/site/_resize.html.erb deleted file mode 100644 index baedc4464..000000000 --- a/app/views/site/_resize.html.erb +++ /dev/null @@ -1,55 +0,0 @@ - diff --git a/app/views/site/edit.html.erb b/app/views/site/edit.html.erb index 45cc6c7f9..dadb9e4e5 100644 --- a/app/views/site/edit.html.erb +++ b/app/views/site/edit.html.erb @@ -17,7 +17,6 @@ <%= render :partial => 'sidebar' %> <%= render :partial => 'search' %> -<%= render :partial => 'resize' %> <%= render :partial => preferred_editor %> diff --git a/app/views/site/index.html.erb b/app/views/site/index.html.erb index 4e725f906..e52a1ce8c 100644 --- a/app/views/site/index.html.erb +++ b/app/views/site/index.html.erb @@ -125,8 +125,6 @@ else end %> -<%= render :partial => 'resize' %> -