Browse Source

Explicitly define host in the url

pull/2535/head
Kat 2 years ago committed by kosiakkatrina
parent
commit
72ea5d8480
  1. 3
      app/frontend/controllers/search_controller.js
  2. 8
      app/frontend/modules/search.js
  3. 3
      app/views/filters/_select_filter.html.erb

3
app/frontend/controllers/search_controller.js

@ -15,13 +15,14 @@ export default class extends Controller {
const matches = /^(\w+)\[(\w+)\]$/.exec(selectEl.name) const matches = /^(\w+)\[(\w+)\]$/.exec(selectEl.name)
const rawFieldName = matches ? `${matches[1]}[${matches[2]}_raw]` : '' const rawFieldName = matches ? `${matches[1]}[${matches[2]}_raw]` : ''
const relativeUrlRoute = JSON.parse(this.element.dataset.info).relative_url_route
accessibleAutocomplete.enhanceSelectElement({ accessibleAutocomplete.enhanceSelectElement({
defaultValue: '', defaultValue: '',
selectElement: selectEl, selectElement: selectEl,
minLength: 1, minLength: 1,
source: (query, populateResults) => { source: (query, populateResults) => {
fetchAndPopulateSearchResults(query, populateResults, populateHint) fetchAndPopulateSearchResults(query, populateResults, populateHint, relativeUrlRoute)
}, },
autoselect: true, autoselect: true,
placeholder: 'Start typing to search', placeholder: 'Start typing to search',

8
app/frontend/modules/search.js

@ -143,17 +143,17 @@ export const enhanceOption = (option) => {
} }
} }
export const fetchAndPopulateSearchResults = async (query, populateResults, populateHint) => { export const fetchAndPopulateSearchResults = async (query, populateResults, populateHint, relativeUrlRoute) => {
if (/\S/.test(query)) { if (/\S/.test(query)) {
const results = await fetchUserOptions(query) const results = await fetchUserOptions(query, relativeUrlRoute)
populateResults(Object.keys(results)) populateResults(Object.keys(results))
populateHint(results) populateHint(results)
} }
} }
export const fetchUserOptions = async (query) => { export const fetchUserOptions = async (query, relativeUrlRoute) => {
try { try {
const response = await fetch(`/users/search?query=${encodeURIComponent(query)}`) const response = await fetch(`${relativeUrlRoute}/users/search?query=${encodeURIComponent(query)}`)
const results = await response.json() const results = await response.json()
return results return results
} catch (error) { } catch (error) {

3
app/views/filters/_select_filter.html.erb

@ -1,6 +1,7 @@
<%= f.govuk_select(category.to_sym, <%= f.govuk_select(category.to_sym,
label: { text: label, hidden: secondary }, label: { text: label, hidden: secondary },
"data-controller": "search conditional-filter") do %> "data-controller": "search conditional-filter",
"data-info": {relative_url_route: ENV["RAILS_RELATIVE_URL_ROOT"]}.to_json) do %>
<% collection.each do |answer| %> <% collection.each do |answer| %>
<option value="<%= answer.id %>" <option value="<%= answer.id %>"
data-hint="<%= answer.hint %>" data-hint="<%= answer.hint %>"

Loading…
Cancel
Save