From 72ea5d84809f8cf0d6a845c65a24fc56caffdfaf Mon Sep 17 00:00:00 2001 From: Kat Date: Mon, 29 Jul 2024 09:42:17 +0100 Subject: [PATCH] Explicitly define host in the url --- app/frontend/controllers/search_controller.js | 3 ++- app/frontend/modules/search.js | 8 ++++---- app/views/filters/_select_filter.html.erb | 3 ++- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/frontend/controllers/search_controller.js b/app/frontend/controllers/search_controller.js index 097ee7771..69162c021 100644 --- a/app/frontend/controllers/search_controller.js +++ b/app/frontend/controllers/search_controller.js @@ -15,13 +15,14 @@ export default class extends Controller { const matches = /^(\w+)\[(\w+)\]$/.exec(selectEl.name) const rawFieldName = matches ? `${matches[1]}[${matches[2]}_raw]` : '' + const relativeUrlRoute = JSON.parse(this.element.dataset.info).relative_url_route accessibleAutocomplete.enhanceSelectElement({ defaultValue: '', selectElement: selectEl, minLength: 1, source: (query, populateResults) => { - fetchAndPopulateSearchResults(query, populateResults, populateHint) + fetchAndPopulateSearchResults(query, populateResults, populateHint, relativeUrlRoute) }, autoselect: true, placeholder: 'Start typing to search', diff --git a/app/frontend/modules/search.js b/app/frontend/modules/search.js index 5dcb72938..b8fcf2e2c 100644 --- a/app/frontend/modules/search.js +++ b/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)) { - const results = await fetchUserOptions(query) + const results = await fetchUserOptions(query, relativeUrlRoute) populateResults(Object.keys(results)) populateHint(results) } } -export const fetchUserOptions = async (query) => { +export const fetchUserOptions = async (query, relativeUrlRoute) => { 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() return results } catch (error) { diff --git a/app/views/filters/_select_filter.html.erb b/app/views/filters/_select_filter.html.erb index 501c3394c..70d7e007d 100644 --- a/app/views/filters/_select_filter.html.erb +++ b/app/views/filters/_select_filter.html.erb @@ -1,6 +1,7 @@ <%= f.govuk_select(category.to_sym, 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| %>