Browse Source

Small improvements, make address search and existing search more similar

pull/2924/head
Manny Dinssa 2 months ago
parent
commit
b0955b5451
  1. 6
      app/controllers/address_search_controller.rb
  2. 7
      app/frontend/controllers/address_search_controller.js

6
app/controllers/address_search_controller.rb

@ -14,7 +14,7 @@ class AddressSearchController < ApplicationController
render json: { error: service.error }, status: :unprocessable_entity render json: { error: service.error }, status: :unprocessable_entity
else else
presenter = UprnDataPresenter.new(service.result) presenter = UprnDataPresenter.new(service.result)
render json: [{ address: presenter.address, uprn: presenter.uprn }] render json: [{ text: presenter.address, value: presenter.uprn }]
end end
elsif query.match?(/[a-zA-Z]/) elsif query.match?(/[a-zA-Z]/)
# Query contains letters, assume it's an address # Query contains letters, assume it's an address
@ -26,7 +26,7 @@ class AddressSearchController < ApplicationController
else else
results = service.result.map do |result| results = service.result.map do |result|
presenter = AddressDataPresenter.new(result) presenter = AddressDataPresenter.new(result)
{ address: presenter.address, uprn: presenter.uprn } { text: presenter.address, value: presenter.uprn }
end end
render json: results render json: results
end end
@ -45,7 +45,7 @@ class AddressSearchController < ApplicationController
else else
formatted_results = results.map do |result| formatted_results = results.map do |result|
presenter = AddressDataPresenter.new(result) presenter = AddressDataPresenter.new(result)
{ address: presenter.address, uprn: presenter.uprn } { text: presenter.address, value: presenter.uprn }
end end
render json: formatted_results render json: formatted_results
end end

7
app/frontend/controllers/address_search_controller.js

@ -13,7 +13,7 @@ const fetchAndPopulateSearchResults = async (query, populateResults, searchUrl,
if (/\S/.test(query)) { if (/\S/.test(query)) {
const results = await fetchOptions(query, searchUrl) const results = await fetchOptions(query, searchUrl)
populateOptions(results, selectEl) populateOptions(results, selectEl)
populateResults(Object.values(results).map((o) => o.address)) populateResults(Object.values(results).map((o) => o.text))
} }
} }
@ -22,9 +22,8 @@ const populateOptions = (results, selectEl) => {
results.forEach((result) => { results.forEach((result) => {
const option = document.createElement('option') const option = document.createElement('option')
option.value = result.uprn option.value = result.value
option.innerHTML = result.address option.innerHTML = result.text
option.setAttribute('address', result.address)
selectEl.appendChild(option) selectEl.appendChild(option)
options.push(option) options.push(option)
}) })

Loading…
Cancel
Save