{% 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 '@BitBagSyliusAclPlugin/Admin/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 %}
{% if definition.code in ['app_admin_dashboard_quantity_sold_by_product', 'app_admin_dashboard_quantity_ordered_by_product', 'app_admin_dashboard_quantity_ordered_by_product_filtered_by_doctor'] %}
{% set anchor = '#products-grid' %}
{% elseif definition.code in ['app_admin_dashboard_turnover_customer', 'app_admin_dashboard_turnover_customer_filtered_by_month_and_year', 'app_admin_dashboard_turnover_customer_filtered_by_year', 'app_admin_dashboard_doctor_purchase_history', 'app_admin_dashboard_doctor_purchase_history_filtered_by_year'] %}
{% set anchor = '#customers-grid' %}
{% elseif definition.code == 'app_admin_dashboard_turnover_pdm' %}
{% set anchor = '#pdm-grid' %}
{% else %}
{% set anchor = '' %}
{% endif %}
<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 ~ anchor }}" 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 ~ anchor) }}
</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 and bitbag_acl_get_available_grid_actions(grid, definition.getEnabledActions('bulk'), true)|length > 0 %}
<div class="sylius-grid-nav__bulk">
{% for action in bitbag_acl_get_available_grid_actions(grid, definition.getEnabledActions('bulk'), true) %}
{{ sylius_grid_render_bulk_action(grid, action, null) }}
{% endfor %}
</div>
{% endif %}
<div class="sylius-grid-nav__pagination">
{% if definition.code in ['app_admin_dashboard_quantity_sold_by_product', 'app_admin_dashboard_quantity_ordered_by_product', 'app_admin_dashboard_quantity_ordered_by_product_filtered_by_doctor'] %}
{{ pagination.simple(data, {
'template': '@SyliusUi/Grid/admin_dashboard_semantic_ui.html.twig',
'pageParameter': '[product-page]',
'anchor': 'products-grid'
}) }}
{% elseif definition.code in ['app_admin_dashboard_turnover_customer', 'app_admin_dashboard_turnover_customer_filtered_by_month_and_year', 'app_admin_dashboard_turnover_customer_filtered_by_year', 'app_admin_dashboard_doctor_purchase_history', 'app_admin_dashboard_doctor_purchase_history_filtered_by_year'] %}
{{ pagination.simple(data, {
'template': '@SyliusUi/Grid/admin_dashboard_semantic_ui.html.twig',
'pageParameter': '[customer-page]',
'anchor': 'customers-grid'
}) }}
{% else %}
{{ pagination.simple(data) }}
{% endif %}
</div>
{% if definition.limits|length > 1 and data|length > min(definition.limits) and app.request.attributes.get('_route') != 'sylius_admin_dashboard' %}
<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 %}
{% if definition.code in ['app_admin_dashboard_quantity_sold_by_product', 'app_admin_dashboard_quantity_ordered_by_product', 'app_admin_dashboard_quantity_ordered_by_product_filtered_by_doctor'] %}
{{ pagination.simple(data, {
'template': '@SyliusUi/Grid/admin_dashboard_semantic_ui.html.twig',
'pageParameter': '[product-page]',
'anchor': 'products-grid'
}) }}
{% elseif definition.code in ['app_admin_dashboard_turnover_customer', 'app_admin_dashboard_turnover_customer_filtered_by_month_and_year', 'app_admin_dashboard_turnover_customer_filtered_by_year', 'app_admin_dashboard_doctor_purchase_history', 'app_admin_dashboard_doctor_purchase_history_filtered_by_year'] %}
{{ pagination.simple(data, {
'template': '@SyliusUi/Grid/admin_dashboard_semantic_ui.html.twig',
'pageParameter': '[customer-page]',
'anchor': 'customers-grid'
}) }}
{% else %}
{{ pagination.simple(data) }}
{% endif %}
</div>