From: Saman Bemel-Benrud Date: Mon, 10 Jun 2013 20:52:23 +0000 (-0700) Subject: Keep the map visible as the changeset page is scrolled X-Git-Tag: live~4930 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/82f89681695a2c59fe2b3a42c9acfa92246a2a38 Keep the map visible as the changeset page is scrolled --- diff --git a/app/assets/javascripts/changeset.js b/app/assets/javascripts/changeset.js index 9e393ad5a..1010fbac9 100644 --- a/app/assets/javascripts/changeset.js +++ b/app/assets/javascripts/changeset.js @@ -53,6 +53,14 @@ $(document).ready(function () { } }); + $(window).scroll(function() { + if ($(window).scrollTop() > $('.content-heading').outerHeight() + $('#top-bar').outerHeight() ) { + $('#changeset_list_map_wrapper').addClass('scrolled'); + } else { + $('#changeset_list_map_wrapper').removeClass('scrolled'); + } + }); + var params = OSM.mapParams(); if (params.bbox) { map.fitBounds([[params.minlat, params.minlon], diff --git a/app/assets/stylesheets/common.css.scss b/app/assets/stylesheets/common.css.scss index 0a23207d5..b114ffc0e 100644 --- a/app/assets/stylesheets/common.css.scss +++ b/app/assets/stylesheets/common.css.scss @@ -915,17 +915,31 @@ ul.results-list li { border-bottom: 1px solid #ccc; } } } +#changeset_list_map_wrapper { + position: absolute; + width: 50%; + height: 490px; + top: 0; + right: 0; +} + +#changeset_list_map_wrapper.scrolled { + position: fixed; +} + #changeset_list_map { position: absolute; bottom: 20px; top: 20px; right: 20px; - width: 45%; - min-height: 398px; - max-height: 598px; + left: 20px; border: 1px solid #ccc; } +#changeset_list_map_wrapper.scrolled #changeset_list_map { + margin-left: 93px; +} + /* Rules for the data browser */ .browse-section { diff --git a/app/views/changeset/list.html.erb b/app/views/changeset/list.html.erb index 8ecdda946..ee8610574 100644 --- a/app/views/changeset/list.html.erb +++ b/app/views/changeset/list.html.erb @@ -17,7 +17,9 @@ <%= render :partial => 'changeset_paging_nav' %> <% if @edits.size > 0 %> - <%= render :partial => 'map' %> +
+ <%= render :partial => 'map' %> +
<%= render :partial => 'changesets', :locals => { :showusername => !params.has_key?(:display_name) } %>