Browse Source

Refactor conditional html attributes

pull/31/head
baarkerlounger 4 years ago
parent
commit
e93d2144ce
  1. 10
      app/helpers/conditional_questions_helper.rb
  2. 8
      app/views/form/_radio_question.html.erb

10
app/helpers/conditional_questions_helper.rb

@ -8,4 +8,14 @@ module ConditionalQuestionsHelper
def display_question_key_div(page_info, question_key) def display_question_key_div(page_info, question_key)
"style='display:none;'".html_safe if conditional_questions_for_page(page_info).include?(question_key) "style='display:none;'".html_safe if conditional_questions_for_page(page_info).include?(question_key)
end 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 end

8
app/views/form/_radio_question.html.erb

@ -6,14 +6,8 @@
<% question["answer_options"].map do |key, val| %> <% question["answer_options"].map do |key, val| %>
<% if key.starts_with?("divider") %> <% if key.starts_with?("divider") %>
<%= f.govuk_radio_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 %> <% 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 %> <% end %>
<% end %> <% end %>

Loading…
Cancel
Save