Sha256: cffb5af55518904f700cb9b5b7f2e144be4ea17e9879c5ef3f5c6bb7dcde7d64

Contents?: true

Size: 1.44 KB

Versions: 2

Compression:

Stored size: 1.44 KB

Contents

<%#
    name: headmin/fields/select
    accepts block: no
    parameters:
      form: Form object
      required: Define if the attribute is required or not
      attribute: (string) Name of the attribute of the form model
      label: (bool) Label will not be displayed if value is false
      collection: (array) List of options to select from
%>

<% label = local_assigns.has_key?(:label) ? label : true %>
<% required = local_assigns.has_key?(:required) ? required : false %>
<% disabled = local_assigns.has_key?(:disabled) ? disabled : false %>
<% include_blank = local_assigns.has_key?(:include_blank) || required ? t('.blank') : nil %>
<% data_attributes = local_assigns.select { |key, value| key.to_s.include?("data-") } %>
<% options = options_for_select(collection, form.object.send(attribute)) %>
<% select_config = { include_blank: include_blank, disabled: disabled } %>
<% html_attributes = {
  class: "form-select #{form_field_validation_class(form, attribute)}",
  required: required,
  'aria-describedby': form_field_validation_id(form, attribute)
}.merge(data_attributes) %>

<div class="<%= ('mb-3' if label) %>">
  <%= render 'headmin/forms/fields/label', form: form, attribute: attribute, required: required if label %>
  <%= form.select(
        attribute,
        options,
        select_config,
        html_attributes
      )
  %>
  <%= yield if block_given? %>
  <%= render 'headmin/forms/fields/validation', form: form, attribute: attribute %>
</div>

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
headmin-0.1.2 app/views/headmin/forms/fields/_select.html.erb
headmin-0.1.1 app/views/headmin/forms/fields/_select.html.erb