Browse Source

Hackety hack hack

pull/235/head
baarkerlounger 4 years ago
parent
commit
b50e64343a
  1. 13
      app/helpers/question_attribute_helper.rb
  2. 8
      app/views/form/_radio_question.html.erb

13
app/helpers/question_attribute_helper.rb

@ -1,8 +1,7 @@
module QuestionAttributeHelper module QuestionAttributeHelper
def stimulus_html_attributes(question) def stimulus_html_attributes(question)
attribs = [ attribs = [
numeric_question_html_attributes(question), numeric_question_html_attributes(question)
conditional_html_attributes(question),
] ]
merge_controller_attributes(*attribs) merge_controller_attributes(*attribs)
end end
@ -20,16 +19,6 @@ private
"data-calculated": question.fields_to_add.to_json, "data-calculated": question.fields_to_add.to_json,
} }
end end
def conditional_html_attributes(question)
return {} if question.conditional_for.blank?
{
"data-controller": "conditional-question",
"data-action": "conditional-question#displayConditional",
"data-info": question.conditional_for.to_json,
}
end
end end
def merge_controller_attributes(*args) def merge_controller_attributes(*args)

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

@ -9,7 +9,13 @@
<% if key.starts_with?("divider") %> <% if key.starts_with?("divider") %>
<%= f.govuk_radio_divider %> <%= f.govuk_radio_divider %>
<% else %> <% else %>
<%= f.govuk_radio_button question.id, val, label: { text: val }, **stimulus_html_attributes(question) %> <%= f.govuk_radio_button question.id, val, label: { text: val }, **stimulus_html_attributes(question) do %>
<% conditional_key = question.conditional_for&.find { |_, cval| cval.include? val }&.first %>
<% if conditional_key %>
<% conditional_question = @page.questions.find { |q| q.id == conditional_key } %>
<%= render partial: "#{conditional_question.type}_question", locals: { question: conditional_question, caption: caption, page_header: page_header, f: f } %>
<% end %>
<% end %>
<% end %> <% end %>
<% end %> <% end %>
<% end %> <% end %>

Loading…
Cancel
Save