Sha256: 4fbbc68f9f2b2a73a1ca3ee58ea1ee9d866d5d9012ab5252596c653652ba7694

Contents?: true

Size: 1.05 KB

Versions: 2

Compression:

Stored size: 1.05 KB

Contents

<%
  local_assigns[:name] ||= get_attribute_name(form, key)
  local_assigns[:id] ||= get_attribute_id_prefix(form, key)
  local_assigns[:items] ||= local_assigns[:choices].map { |choice| { value: choice, text: choice } }

  if local_assigns[:include_blank] || local_assigns[:is_autocomplete]
    local_assigns[:items].unshift(value: nil, text: "")
  end

  if local_assigns[:selected]
    item_matching_selected = local_assigns[:items].find { |item| item[:value].to_s == local_assigns[:selected] }
    item_matching_selected[:selected] = true if item_matching_selected
  elsif form.object.respond_to?(key)
    # Make item selected based on attribute value
    item_matching_state = local_assigns[:items].find { |item| item[:value].to_s == form.object.send(key).to_s }
    item_matching_state[:selected] = true if item_matching_state
  end

  if form.object&.errors
    error_text = form.object.errors.full_messages_for(key).first.presence
    local_assigns[:errorMessage] ||= { text: error_text } if error_text
  end
%>

<%= render "components/govuk_select", **local_assigns %>

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
govuk-design-system-rails-0.10.3 app/views/form_components/_govuk_select.html.erb
govuk-design-system-rails-0.10.2 app/views/form_components/_govuk_select.html.erb