From: Anton Khorev Date: Thu, 18 Jul 2024 11:56:36 +0000 (+0300) Subject: Set search input value when searching for coordinates X-Git-Tag: live~343^2 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/562396726737ea8b1bb7a4bcbdd317d1cebb75f3 Set search input value when searching for coordinates --- diff --git a/app/views/layouts/_search.html.erb b/app/views/layouts/_search.html.erb index b6baed5f7..36e1a7a92 100644 --- a/app/views/layouts/_search.html.erb +++ b/app/views/layouts/_search.html.erb @@ -1,9 +1,15 @@ +<% search_query = if params[:query] + params[:query] + elsif params[:lat] && params[:lon] + "#{params[:lat]}, #{params[:lon]}" + end %> +
- <%= text_field_tag "query", params[:query], :placeholder => t("site.search.search"), :autofocus => autofocus, :autocomplete => "on", :class => "form-control z-0 py-1 px-2", :dir => "auto" %> + <%= text_field_tag "query", search_query, :placeholder => t("site.search.search"), :autofocus => autofocus, :autocomplete => "on", :class => "form-control z-0 py-1 px-2", :dir => "auto" %>
<%= button_tag t("site.search.where_am_i"), :type => "button", :class => "describe_location position-absolute end-0 top-0 bottom-0 m-1 btn btn-outline-primary border-0 p-1 bg-transparent text-primary link-body-emphasis link-opacity-100-hover", :title => t("site.search.where_am_i_title") %>
diff --git a/test/system/search_test.rb b/test/system/search_test.rb index 8cda1f74e..ced1e1beb 100644 --- a/test/system/search_test.rb +++ b/test/system/search_test.rb @@ -11,4 +11,22 @@ class SearchTest < ApplicationSystemTestCase click_on "Where is this?" assert_field "Search", :with => "1.234, 6.789" end + + test "query search link sets search input value" do + stub_request(:get, %r{^https://nominatim\.openstreetmap\.org/reverse\?}) + .to_return(:status => 404) + + visit search_path(:query => "2.341, 7.896") + + assert_field "Search", :with => "2.341, 7.896" + end + + test "latlon search link sets search input value" do + stub_request(:get, %r{^https://nominatim\.openstreetmap\.org/reverse\?}) + .to_return(:status => 404) + + visit search_path(:lat => "4.321", :lon => "9.876") + + assert_field "Search", :with => "4.321, 9.876" + end end