From ee9642a28b5e412db8ffff940b3097dbefb458e6 Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Tue, 5 Nov 2013 12:26:36 -0800 Subject: [PATCH] Link search results directly to browse pages --- app/assets/javascripts/index/search.js | 16 +++++----------- app/helpers/geocoder_helper.rb | 13 ++++--------- 2 files changed, 9 insertions(+), 20 deletions(-) diff --git a/app/assets/javascripts/index/search.js b/app/assets/javascripts/index/search.js index 52920d8bb..b9e86a4c3 100644 --- a/app/assets/javascripts/index/search.js +++ b/app/assets/javascripts/index/search.js @@ -26,26 +26,20 @@ OSM.Search = function(map) { } function clickSearchResult(e) { - e.preventDefault(); - e.stopPropagation(); - var data = $(this).data(), center = L.latLng(data.lat, data.lon); + if (data.type && data.id) return; // Browse link + + e.preventDefault(); + e.stopPropagation(); + if (data.minLon && data.minLat && data.maxLon && data.maxLat) { map.fitBounds([[data.minLat, data.minLon], [data.maxLat, data.maxLon]]); } else { map.setView(center, data.zoom); } - - marker - .setLatLng(center) - .addTo(map); - - if (data.type && data.id) { - map.addObject(data, { zoom: false, style: { opacity: 0.2, fill: false } }); - } } var marker = L.marker([0, 0], {icon: getUserIcon()}); diff --git a/app/helpers/geocoder_helper.rb b/app/helpers/geocoder_helper.rb index 33ef84b07..ce6c7eafa 100644 --- a/app/helpers/geocoder_helper.rb +++ b/app/helpers/geocoder_helper.rb @@ -2,7 +2,9 @@ module GeocoderHelper def result_to_html(result) html_options = { :class => "set_position", :data => {} } - if result[:min_lon] and result[:min_lat] and result[:max_lon] and result[:max_lat] + if result[:type] and result[:id] + url = url_for(:controller => :browse, :action => result[:type], :id => result[:id]) + elsif result[:min_lon] and result[:min_lat] and result[:max_lon] and result[:max_lat] url = "?minlon=#{result[:min_lon]}&minlat=#{result[:min_lat]}&maxlon=#{result[:max_lon]}&maxlat=#{result[:max_lat]}" else url = "?mlat=#{result[:lat]}&mlon=#{result[:lon]}&zoom=#{result[:zoom]}" @@ -17,14 +19,7 @@ module GeocoderHelper html << " " if result[:prefix] and result[:name] html << link_to(result[:name], url, html_options) if result[:name] html << result[:suffix] if result[:suffix] - - # if result[:type] and result[:id] - # html << content_tag(:small, :class => ["deemphasize", "search_details"]) do - # link_to(t("browse.#{result[:type]}_history.view_details"), :controller => :browse, :action => result[:type], :id => result[:id]) - # end - # end - - return raw(html) + html.html_safe end def describe_location(lat, lon, zoom = nil, language = nil) -- 2.43.2