templates/bundles/SyliusUiBundle/Grid/_default.html.twig line 1

Open in your IDE?
  1. {% import '@SyliusUi/Macro/pagination.html.twig' as pagination %}
  2. {% import '@SyliusUi/Macro/buttons.html.twig' as buttons %}
  3. {% import '@SyliusUi/Macro/messages.html.twig' as messages %}
  4. {% import '@BitBagSyliusAclPlugin/Admin/Macro/table.html.twig' as table %}
  5. {% set definition = grid.definition %}
  6. {% set data = grid.data %}
  7. {% set path = path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) %}
  8. {% set criteria = app.request.query.get('criteria') %}
  9. {% if definition.enabledFilters|length > 0 %}
  10.     {% 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'] %}
  11.         {% set anchor = '#products-grid' %}
  12.     {% 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'] %}
  13.         {% set anchor = '#customers-grid' %}
  14.     {% elseif definition.code == 'app_admin_dashboard_turnover_pdm' %}
  15.         {% set anchor = '#pdm-grid' %}
  16.     {% else %}
  17.         {% set anchor = '' %}
  18.     {% endif %}
  19.     <div class="ui hidden divider"></div>
  20.     <div class="ui styled fluid accordion">
  21.         <div class="title {% if criteria is not null %}active{% endif %}">
  22.             <i class="dropdown icon"></i>
  23.             <i class="filter icon"></i>
  24.             {{ 'sylius.ui.filters'|trans }}
  25.         </div>
  26.         <div class="content {% if criteria is not null %}active{% endif %}">
  27.             <form method="get" action="{{ path ~ anchor }}" class="ui loadable form" novalidate>
  28.                 <div class="sylius-filters">
  29.                     {% for filter in definition.enabledFilters|filter(filter => filter.enabled)|sort_by('position') %}
  30.                         <div class="sylius-filters__field">
  31.                             {{ sylius_grid_render_filter(grid, filter) }}
  32.                         </div>
  33.                     {% endfor %}
  34.                 </div>
  35.                 {{ buttons.filter() }}
  36.                 {{ buttons.resetFilters(path ~ anchor) }}
  37.             </form>
  38.         </div>
  39.     </div>
  40. {% endif %}
  41. <div class="ui hidden divider"></div>
  42. <div class="sylius-grid-wrapper">
  43.     <div class="sylius-grid-nav">
  44.         {% 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 %}
  45.             <div class="sylius-grid-nav__bulk">
  46.                 {% for action in bitbag_acl_get_available_grid_actions(grid, definition.getEnabledActions('bulk'), true) %}
  47.                     {{ sylius_grid_render_bulk_action(grid, action, null) }}
  48.                 {% endfor %}
  49.             </div>
  50.         {% endif %}
  51.         <div class="sylius-grid-nav__pagination">
  52.             {% 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'] %}
  53.                 {{ pagination.simple(data, {
  54.                     'template': '@SyliusUi/Grid/admin_dashboard_semantic_ui.html.twig',
  55.                     'pageParameter': '[product-page]',
  56.                     'anchor': 'products-grid'
  57.                 }) }}
  58.             {% 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'] %}
  59.                 {{ pagination.simple(data, {
  60.                     'template': '@SyliusUi/Grid/admin_dashboard_semantic_ui.html.twig',
  61.                     'pageParameter': '[customer-page]',
  62.                     'anchor': 'customers-grid'
  63.                 }) }}
  64.             {% else %}
  65.                 {{ pagination.simple(data) }}
  66.             {% endif %}
  67.         </div>
  68.         {% if definition.limits|length > 1 and data|length > min(definition.limits) and app.request.attributes.get('_route') != 'sylius_admin_dashboard' %}
  69.             <div class="sylius-grid-nav__perpage">
  70.                 <div class="ui fluid one menu sylius-paginate">
  71.                     {{ pagination.perPage(data, definition.limits) }}
  72.                 </div>
  73.             </div>
  74.         {% endif %}
  75.     </div>
  76.     {% if data|length > 0 %}
  77.         <div class="ui segment spaceless sylius-grid-table-wrapper">
  78.             <table class="ui sortable stackable very basic celled table" {{ sylius_test_html_attribute('grid-table') }}>
  79.                 <thead>
  80.                     <tr>
  81.                         {{ table.headers(grid, definition, app.request.attributes) }}
  82.                     </tr>
  83.                 </thead>
  84.                 <tbody {{ sylius_test_html_attribute('grid-table-body') }}>
  85.                     {% for row in data %}
  86.                         {{ table.row(grid, definition, row) }}
  87.                     {% endfor %}
  88.                 </tbody>
  89.             </table>
  90.         </div>
  91.     {% else %}
  92.         {{ messages.info('sylius.ui.no_results_to_display') }}
  93.     {% endif %}
  94.     {% 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'] %}
  95.         {{ pagination.simple(data, {
  96.             'template': '@SyliusUi/Grid/admin_dashboard_semantic_ui.html.twig',
  97.             'pageParameter': '[product-page]',
  98.             'anchor': 'products-grid'
  99.         }) }}
  100.     {% 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'] %}
  101.         {{ pagination.simple(data, {
  102.             'template': '@SyliusUi/Grid/admin_dashboard_semantic_ui.html.twig',
  103.             'pageParameter': '[customer-page]',
  104.             'anchor': 'customers-grid'
  105.         }) }}
  106.     {% else %}
  107.         {{ pagination.simple(data) }}
  108.     {% endif %}
  109. </div>