docbrown/app/views/admin/profile_fields/_grouped_profile_fields.html.erb
Andy Zhao 8a7e5a5566
Escape periods and display the group name properly (#15819)
* Escape periods and display the group name properly

* Rename method to dom_safe_name and move to admin helper

* Replace beginning of string digit with underscore then digit
2021-12-17 17:35:42 -05:00

52 lines
2.8 KiB
Text

<% @grouped_profile_fields.each do |group| %>
<article id="profile-field-group-<%= group.id %>" class="row my-3">
<div class="card w-100">
<div class="card-header">
<div class="card-header__information">
<div class="fw-bold fs-l"><%= group.name %></div>
<div class="fw-bold fs-s">&nbsp;(<%= group.profile_fields.length %>)</div>
<% if group.description %>
<div class="fs-s group__description"><%= group.description %></div>
<% end %>
</div>
<div class="card-header__actions">
<%= render partial: "add_profile_field_modal", locals: { group: group, dom_safe_name: dom_safe_name(group.name) } %>
<%= render partial: "edit_group_modal", locals: { group: group, dom_safe_name: dom_safe_name(group.name) } %>
<%= button_to "Delete Group", admin_profile_field_group_path(group), data: { confirm: "Are you sure?" }, method: :delete, class: "crayons-btn crayons-btn--danger mx-1" %>
<button id="<%= dom_safe_name(group.name) %>Header" data-toggle="collapse" class="crayons-btn crayons-btn--secondary mx-1"
data-target="#<%= dom_safe_name(group.name) %>BodyContainer" aria-expanded="false" aria-controls="<%= dom_safe_name(group.name) %>BodyContainer">
Toggle
</button>
</div>
</div>
<div id="<%= dom_safe_name(group.name) %>BodyContainer" class="collapse hide p-3" aria-labelledby="<%= dom_safe_name(group.name) %>Header">
<% if group.profile_fields.empty? %>
<div> There are no profile fields configured for this group. </div>
<% else %>
<% group.profile_fields.each do |field| %>
<div id="profile-field-<%= field.id %>" class="card mt-3">
<%= render partial: "admin/shared/card_header",
locals: {
header: field.label,
state: "collapse",
target: "#{field.attribute_name}_container",
expanded: "false"
} %>
<div id="<%= field.attribute_name %>_container" class="card-body collapse hide" aria-labelledby="<%= field.attribute_name %>_container">
<div class="form-group grid p-6 mb-6 gap-1">
<%= form_for [:admin, field] do |form| %>
<%= render "profile_field_form", form: form, group: group %>
<%= form.submit class: "btn btn-primary" %>
<% end %>
<%= button_to "Delete Profile Field", admin_profile_field_path(field), data: { confirm: "Are you sure?" }, method: :delete, class: "btn btn-secondary mx-auto" %>
</div>
</div>
</div>
<% end %>
<% end %>
</div>
</div>
</article>
<% end %>