diff --git a/app/helpers/conditional_questions_helper.rb b/app/helpers/conditional_questions_helper.rb index c77119243..1536f61e3 100644 --- a/app/helpers/conditional_questions_helper.rb +++ b/app/helpers/conditional_questions_helper.rb @@ -8,4 +8,14 @@ module ConditionalQuestionsHelper def display_question_key_div(page_info, question_key) "style='display:none;'".html_safe if conditional_questions_for_page(page_info).include?(question_key) end + + def conditional_html_attributes(question) + return {} unless question["conditional_for"].present? + + { + "data-controller": "conditional-question", + "data-action": "conditional-question#displayConditional", + "data-info": question["conditional_for"].to_json + } + end end diff --git a/app/views/form/_radio_question.html.erb b/app/views/form/_radio_question.html.erb index a74153456..f47f44854 100644 --- a/app/views/form/_radio_question.html.erb +++ b/app/views/form/_radio_question.html.erb @@ -6,14 +6,8 @@ <% question["answer_options"].map do |key, val| %> <% if key.starts_with?("divider") %> <%= f.govuk_radio_divider %> - <% elsif question["conditional_for"] %> - <%= f.govuk_radio_button question_key, val, label: { text: val }, - "data-controller": "conditional-question", - "data-action": "conditional-question#displayConditional", - "data-info": question["conditional_for"].to_json - %> <% else %> - <%= f.govuk_radio_button question_key, val, label: { text: val } %> + <%= f.govuk_radio_button question_key, val, label: { text: val }, **conditional_html_attributes(question) %> <% end %> <% end %> <% end %>