Sha256: 62072e75bb43a50733562a82f175afec29c21af8f0121c6dbf585c109379fe96

Contents?: true

Size: 1.66 KB

Versions: 2

Compression:

Stored size: 1.66 KB

Contents

<%#
    name: headmin/fields/repeater
    accepts block: no
    parameters:
      form: Form object
      attribute: (string) Name of the attribute of the form model
      title: (string) Title of the field group
      description: (string) Description of the field group
%>

<% object_model = form.object.class %>
<% association_model = object_model.reflect_on_association(attribute).class_name.constantize %>
<% repeater_id = form.object_id %>
<div class="repeater" data-controller="repeater" data-repeater-id-value="<%= repeater_id %>">

  <% if defined?(title) && title.present? %>
    <h5><%= title %></h5>
    <p><%= description %></p>
  <% end %>

  <ul class="list-group list-group-flush">
    <template data-repeater-target="template">
      <%= form.fields_for attribute, association_model.new, child_index: repeater_id do |ff| %>
        <%= render 'headmin/forms/fields/repeater/row', form: form do %>
          <%= render template, form: ff %>
        <% end %>
      <% end %>
    </template>

    <% if defined?(header_template) && header_template.present? %>
      <li class="list-group-item">
        <%= render header_template %>
      </li>
    <% end %>

    <%= form.fields_for attribute do |ff| %>
      <%= render 'headmin/forms/fields/repeater/row', form: form do %>
        <%= render template, form: ff %>
      <% end %>
    <% end %>
    <li class="list-group-item d-flex justify-content-end" data-repeater-target="links">
      <a href="#" class="btn btn-sm h-btn-outline-light" data-action="click->repeater#add_association">
        <%= bootstrap_icon('plus') %>
        <%= t('.add', name: association_model.model_name.human) %>
      </a>
    </li>
  </ul>
</div>

Version data entries

2 entries across 2 versions & 1 rubygems

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