{% import '@SyliusUi/Macro/pagination.html.twig' as pagination %}
{% import '@SyliusUi/Macro/buttons.html.twig' as buttons %}
{% import '@SyliusUi/Macro/messages.html.twig' as messages %}
{% import '@SyliusUi/Macro/table.html.twig' as table %}
{% set definition = grid.definition %}
{% set data = grid.data %}
{% set path = path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) %}
{% set criteria = app.request.query.get('criteria') %}
{% if definition.enabledFilters|length > 0 %}
<div class="ui hidden divider"></div>
<div class="ui styled fluid accordion">
<div class="title {% if criteria is not null %}active{% endif %}">
<i class="dropdown icon"></i>
<i class="filter icon"></i>
{{ 'sylius.ui.filters'|trans }}
</div>
<div class="content {% if criteria is not null %}active{% endif %}">
<form method="get" action="{{ path }}" class="ui loadable form" novalidate>
<div class="sylius-filters">
{% for filter in definition.enabledFilters|filter(filter => filter.enabled)|sort_by('position') %}
<div class="sylius-filters__field">
{{ sylius_grid_render_filter(grid, filter) }}
</div>
{% endfor %}
</div>
{{ buttons.filter() }}
{{ buttons.resetFilters(path) }}
</form>
</div>
</div>
{% endif %}
<div class="ui hidden divider"></div>
<div class="sylius-grid-wrapper">
<div class="sylius-grid-nav">
{% if data|length > 0 and definition.actionGroups.bulk is defined and definition.getEnabledActions('bulk')|length > 0 %}
<div class="sylius-grid-nav__bulk">
{% for action in definition.getEnabledActions('bulk') %}
{{ sylius_grid_render_bulk_action(grid, action, null) }}
{% endfor %}
</div>
{% endif %}
<div class="sylius-grid-nav__pagination">
{{ pagination.simple(data) }}
</div>
{% if definition.limits|length > 1 and data|length > min(definition.limits) %}
<div class="sylius-grid-nav__perpage">
<div class="ui fluid one menu sylius-paginate">
{{ pagination.perPage(data, definition.limits) }}
</div>
</div>
{% endif %}
</div>
{% if data|length > 0 %}
<div class="ui segment spaceless sylius-grid-table-wrapper">
<table class="ui sortable stackable very basic celled table" {{ sylius_test_html_attribute('grid-table') }}>
<thead>
<tr>
{{ table.headers(grid, definition, app.request.attributes) }}
</tr>
</thead>
<tbody {{ sylius_test_html_attribute('grid-table-body') }}>
{% for row in data %}
{{ table.row(grid, definition, row) }}
{% endfor %}
</tbody>
</table>
</div>
{% else %}
{{ messages.info('sylius.ui.no_results_to_display') }}
{% endif %}
{{ pagination.simple(data) }}
</div>