From 02243bc6eb6a127c5464f1f6085c068b2bf141ae Mon Sep 17 00:00:00 2001 From: Manny Dinssa <44172848+Dinssa@users.noreply.github.com> Date: Wed, 5 Mar 2025 14:34:14 +0000 Subject: [PATCH] Add select as conditional question in radio like in logs --- app/frontend/controllers/index.js | 3 -- .../controllers/organisations_controller.js | 14 --------- app/views/organisations/new.html.erb | 31 ++++++++++--------- 3 files changed, 16 insertions(+), 32 deletions(-) delete mode 100644 app/frontend/controllers/organisations_controller.js diff --git a/app/frontend/controllers/index.js b/app/frontend/controllers/index.js index 35385e46e..944e32e2d 100644 --- a/app/frontend/controllers/index.js +++ b/app/frontend/controllers/index.js @@ -19,8 +19,6 @@ import FilterLayoutController from './filter_layout_controller.js' import TabsController from './tabs_controller.js' -import OrganisationsController from './organisations_controller.js' - application.register('accessible-autocomplete', AccessibleAutocompleteController) application.register('conditional-filter', ConditionalFilterController) application.register('conditional-question', ConditionalQuestionController) @@ -29,4 +27,3 @@ application.register('numeric-question', NumericQuestionController) application.register('filter-layout', FilterLayoutController) application.register('search', SearchController) application.register('tabs', TabsController) -application.register('organisations', OrganisationsController) diff --git a/app/frontend/controllers/organisations_controller.js b/app/frontend/controllers/organisations_controller.js deleted file mode 100644 index 855081dab..000000000 --- a/app/frontend/controllers/organisations_controller.js +++ /dev/null @@ -1,14 +0,0 @@ -import { Controller } from '@hotwired/stimulus' - -export default class extends Controller { - static targets = ["groupSelect"] - - connect() { - this.toggleGroupSelect() - } - - toggleGroupSelect() { - const groupMemberYes = this.element.querySelector('input[name="organisation[group_member]"]:checked')?.value === 'true' - this.groupSelectTarget.style.display = groupMemberYes ? 'block' : 'none' - } -} diff --git a/app/views/organisations/new.html.erb b/app/views/organisations/new.html.erb index 0b3c85cbd..68040ece6 100644 --- a/app/views/organisations/new.html.erb +++ b/app/views/organisations/new.html.erb @@ -56,23 +56,24 @@ :name, legend: { text: "Does the organisation hold its own stock?", size: "m" } %> - <%= f.govuk_collection_radio_buttons :group_member, - [OpenStruct.new(id: true, name: "Yes"), OpenStruct.new(id: false, name: "No")], - :id, - :name, - legend: { text: "Is this organisation part of a housing provider group structure?", size: "m" }, - "data-action": "change->group-member#toggleGroupSelect" %> - <% group_organisation_options = Organisation.visible.map { |org| OpenStruct.new(id: org.id, name: org.name) } %> -
- <%= f.govuk_collection_select :group, - group_organisation_options, - :id, - :name, - label: { text: "Search for an organisation that is part of the same group as this organisation", size: "m" }, - "data-controller": %w[accessible-autocomplete conditional-filter organisations] %> -
+ <%= f.govuk_radio_buttons_fieldset :group_member, + legend: { text: "Is this organisation part of a housing provider group structure?", size: "m" } do %> + <%= f.govuk_radio_button :group_member, true, + label: { text: "Yes" }, + "data-controller": "conditional-question", + "data-action": "click->conditional-question#displayConditional", + "data-info": { conditional_questions: { group: [true] }, type: "organisation" }.to_json do %> + <%= f.govuk_collection_select :group, + group_organisation_options, + :id, + :name, + label: { text: "Search for an organisation that is part of the same group as this organisation", size: "m" }, + "data-controller": %w[accessible-autocomplete conditional-filter] %> + <% end %> + <%= f.govuk_radio_button :group_member, false, label: { text: "No" } %> + <% end %> <% profit_options = [ OpenStruct.new(id: 1, name: "Non-profit"),