diff --git a/app/assets/javascripts/index.js b/app/assets/javascripts/index.js index 365d33e3a..ba1f08407 100644 --- a/app/assets/javascripts/index.js +++ b/app/assets/javascripts/index.js @@ -242,19 +242,18 @@ $(document).ready(function () { return page; }; - var history = OSM.History(map), - note = OSM.Note(map); + var history = OSM.History(map); OSM.route = OSM.Router(map, { "/": OSM.Index(map), "/search": OSM.Search(map), "/export": OSM.Export(map), - "/history": history, "/new_note": OSM.NewNote(map), + "/history": history, "/user/:display_name/edits": history, "/browse/friends": history, "/browse/nearby": history, - "/browse/note/:id": note, + "/browse/note/:id": OSM.Note(map), "/browse/:type/:id(/history)": OSM.Browse(map) }); diff --git a/app/assets/javascripts/index/history.js b/app/assets/javascripts/index/history.js index 75b02ec07..cd012ee16 100644 --- a/app/assets/javascripts/index/history.js +++ b/app/assets/javascripts/index/history.js @@ -43,10 +43,16 @@ OSM.History = function(map) { } function loadData() { + var data = {}; + + if (window.location.pathname === '/history') { + data = {bbox: map.getBounds().wrap().toBBoxString()}; + } + $.ajax({ url: window.location.pathname, method: "GET", - data: {bbox: map.getBounds().wrap().toBBoxString()}, + data: data, success: function(html, status, xhr) { $('#sidebar_content .changesets').html(html); updateMap(); @@ -95,6 +101,11 @@ OSM.History = function(map) { rect.id = changeset.id; rect.addTo(group); } + + if (window.location.pathname !== '/history') { + var bounds = group.getBounds(); + if (bounds.isValid()) map.fitBounds(bounds); + } } page.pushstate = page.popstate = function(path) { @@ -103,19 +114,22 @@ OSM.History = function(map) { }; page.load = function() { - map - .on("moveend", loadData) - .addLayer(group); + map.addLayer(group); + + if (window.location.pathname === '/history') { + map.on("moveend", loadData) + } loadData(); }; page.unload = function() { - map - .off("moveend", loadData) - .removeLayer(group); + map.removeLayer(group); + + if (window.location.pathname === '/history') { + map.off("moveend", loadData) + } - group.clearLayers(); $("#history_tab").removeClass("current"); }; diff --git a/app/controllers/changeset_controller.rb b/app/controllers/changeset_controller.rb index 6a0ad40a7..63f9f0f7d 100644 --- a/app/controllers/changeset_controller.rb +++ b/app/controllers/changeset_controller.rb @@ -279,18 +279,12 @@ class ChangesetController < ApplicationController else changesets = changesets.where("false") end - end - - if params[:friends] && @user - changesets = changesets.where(:user_id => @user.friend_users.public) - end - - if params[:nearby] && @user - changesets = changesets.where(:user_id => @user.nearby) - end - - if params[:bbox] + elsif params[:bbox] changesets = conditions_bbox(changesets, BoundingBox.from_bbox_params(params)) + elsif params[:friends] && @user + changesets = changesets.where(:user_id => @user.friend_users.public) + elsif params[:nearby] && @user + changesets = changesets.where(:user_id => @user.nearby) end if params[:max_id] diff --git a/app/views/changeset/list.html.erb b/app/views/changeset/list.html.erb index b0ccf67dc..68bdf1e23 100644 --- a/app/views/changeset/list.html.erb +++ b/app/views/changeset/list.html.erb @@ -6,8 +6,10 @@ <%= link_to t('changeset.list.load_more'), url_for(params.merge(:max_id => @edits.last.id - 1)), :class => "button load_more" %> <%= image_tag "searching.gif", :class => "loader", :style => "display: none;" %> -<% elsif params[:max_id] %> -