1
0
mirror of https://github.com/danbee/danbarberphoto synced 2025-03-04 08:49:07 +00:00
danbarberphoto/app/views/admin/applications/_collection.html.erb

75 lines
2.3 KiB
Plaintext

<%#
# Table
This partial is used on the `index` and `show` pages
to display a collection of resources in an HTML table.
## Local variables:
- `table_presenter`:
An instance of [Administrate::Page::Table][1].
The table presenter uses `ResourceDashboard::TABLE_ATTRIBUTES` to determine
the columns displayed in the table
- `resources`:
An ActiveModel::Relation collection of resources to be displayed in the table.
By default, the number of resources is limited by pagination
or by a hard limit to prevent excessive page load times
[1]: http://www.rubydoc.info/gems/administrate/Administrate/Page/Table
%>
<table>
<thead>
<tr>
<% collection_presenter.attribute_types.each do |attr_name, attr_type| %>
<th class="cell-label cell-label--<%= attr_type.html_class %>
cell-label--<%= collection_presenter.ordered_html_class(attr_name) %>
">
<%= link_to(params.merge(
collection_presenter.order_params_for(attr_name)
)) do %>
<%= attr_name.to_s.titleize %>
<% if collection_presenter.ordered_by?(attr_name) %>
<span class="cell-label__sort-indicator cell-label__sort-indicator--<%= collection_presenter.ordered_html_class(attr_name) %>">
<%= inline_svg("administrate/sort_arrow.svg") %>
</span>
<% end %>
<% end %>
</th>
<% end %>
<th colspan="2"></th>
</tr>
</thead>
<tbody>
<% resources.each do |resource| %>
<tr class="table__row"
role="link"
tabindex="0"
data-url="<%= polymorphic_path([Administrate::NAMESPACE, resource]) -%>"
>
<% collection_presenter.attributes_for(resource).each do |attribute| %>
<td class="cell-data cell-data--<%= attribute.html_class %>">
<%= render_field attribute %>
</td>
<% end %>
<td><%= link_to(
t("administrate.actions.edit"),
[:edit, Administrate::NAMESPACE, resource],
class: "action-edit",
) %></td>
<td><%= link_to(
t("administrate.actions.destroy"),
[Administrate::NAMESPACE, resource],
class: "table__action--destroy",
method: :delete,
data: { confirm: t("administrate.actions.confirm") }
) %></td>
</tr>
<% end %>
</tbody>
</table>