{#**
 * Copyright since 2007 PrestaShop SA and Contributors
 * PrestaShop is an International Registered Trademark & Property of PrestaShop SA
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Open Software License (OSL 3.0)
 * that is bundled with this package in the file LICENSE.md.
 * It is also available through the world-wide-web at this URL:
 * https://opensource.org/licenses/OSL-3.0
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@prestashop.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade PrestaShop to newer
 * versions in the future. If you wish to customize PrestaShop for your
 * needs please refer to https://devdocs.prestashop.com/ for more information.
 *
 * @author    PrestaShop SA and Contributors <contact@prestashop.com>
 * @copyright Since 2007 PrestaShop SA and Contributors
 * @license   https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
 *#}
{% import '@PrestaShop/Admin/macros.html.twig' as ps %}
<div class="table-responsive">
  <table
    class="table product mt-3"
    redirecturl="{{ path('admin_product_catalog', {
        'limit': limit,
        'offset': offset,
        'orderBy': orderBy,
        'sortOrder': sortOrder
      })
    }}"
  >
    <thead class="with-filters">
      {% block product_catalog_form_table_header %}
        <tr class="column-headers">
          <th scope="col" style="width: 2rem"></th>
          <th scope="col" style="width: 5rem">
            {{ ps.sortable_column_header("ID"|trans({}, 'Admin.Global'), 'id_product', orderBy, sortOrder) }}
          </th>
          <th scope="col">
            {{ "Image"|trans({}, 'Admin.Global') }}
          </th>
          <th scope="col">
            {{ ps.sortable_column_header("Name"|trans({}, 'Admin.Global'), 'name', orderBy, sortOrder) }}
          </th>
          <th scope="col" style="width: 9%">
            {{ ps.sortable_column_header("Reference"|trans({}, 'Admin.Global'), 'reference', orderBy, sortOrder) }}
          </th>
          <th scope="col">
            {{ ps.sortable_column_header("Category"|trans({}, 'Admin.Catalog.Feature'), 'name_category', orderBy, sortOrder) }}
          </th>
          <th scope="col" class="text-center" style="width: 9%">
            {{ ps.sortable_column_header("Price (tax excl.)"|trans({}, 'Admin.Catalog.Feature'), 'price', orderBy, sortOrder) }}
          </th>
          <th scope="col" class="text-center" style="width: 9%">
            {{ "Price (tax incl.)"|trans({}, 'Admin.Catalog.Feature') }}
          </th>

          {% if configuration('PS_STOCK_MANAGEMENT') %}
          <th scope="col" class="text-center" style="width: 9%">
            {{ ps.sortable_column_header("Quantity"|trans({}, 'Admin.Catalog.Feature'), 'sav_quantity', orderBy, sortOrder) }}
          </th>
          {% else %}
            <th></th>
          {% endif %}

          <th scope="col" class="text-center">
            {{ ps.sortable_column_header("Status"|trans({}, 'Admin.Global'), 'active', orderBy, sortOrder) }}
          </th>
          {% if has_category_filter == true %}
            <th scope="col">
              {{ ps.sortable_column_header("Position"|trans({}, 'Admin.Global'), 'position', orderBy, sortOrder) }}
            </th>
          {% endif %}
          <th scope="col" class="text-right" style="width: 3rem; padding-right: 2rem">
              {{ "Actions"|trans({}, 'Admin.Global') }}
          </th>
        </tr>
      {% endblock %}

      {% block product_catalog_form_table_filters %}
        {% set filters_disabled = activate_drag_and_drop %}
        <tr class="column-filters">
          <th colspan="2">
            {% include '@PrestaShop/Admin/Helpers/range_inputs.html.twig' with {
              'input_name': "filter_column_id_product",
              'min': '0',
              'max': '1000000',
              'minLabel': "Min"|trans({}, 'Admin.Global'),
              'maxLabel': "Max"|trans({}, 'Admin.Global'),
              'value': filter_column_id_product,
              'disabled': filters_disabled,
            } %}
          </th>
          <th>&nbsp;</th>
          <th>
            <input
              type="text"
              class="form-control"
              placeholder="{{ "Search name"|trans({}, 'Admin.Catalog.Help') }}"
              name="filter_column_name"
              value="{{ filter_column_name }}"
              aria-label="{{ "%inputId% input"|trans({'%inputId%': 'filter_column_name'}, 'Admin.Global') }}"
              {% if filters_disabled %}disabled{% endif %}
            />
          </th>
          <th>
            <input
              type="text"
              class="form-control"
              placeholder="{{ "Search ref."|trans({}, 'Admin.Catalog.Help') }}"
              name="filter_column_reference"
              value="{{ filter_column_reference }}"
              aria-label="{{ "%inputId% input"|trans({'%inputId%': 'filter_column_reference'}, 'Admin.Global') }}"
              {% if filters_disabled %}disabled{% endif %}
            />
          </th>
          <th>
            <input
              type="text"
              class="form-control"
              placeholder="{{ "Search category"|trans({}, 'Admin.Catalog.Help') }}"
              name="filter_column_name_category"
              value="{{ filter_column_name_category }}"
              aria-label="{{ "%inputId% input"|trans({'%inputId%': 'filter_column_name_category'}, 'Admin.Global') }}"
              {% if filters_disabled %}disabled{% endif %}
            />
          </th>
          <th class="text-center">
            {% include '@PrestaShop/Admin/Helpers/range_inputs.html.twig' with {
              'input_name': "filter_column_price",
              'min': '0',
              'max': '1000000',
              'minLabel': "Min"|trans({}, 'Admin.Global'),
              'maxLabel': "Max"|trans({}, 'Admin.Global'),
              'value': filter_column_price,
              'disabled': filters_disabled,
            } %}
          </th>
          <th class="text-center"></th>
          {% if configuration('PS_STOCK_MANAGEMENT') %}
          <th class="text-center">
            {% include '@PrestaShop/Admin/Helpers/range_inputs.html.twig' with {
              'input_name': "filter_column_sav_quantity",
              'min': '-1000000',
              'max': '1000000',
              'minLabel': "Min"|trans({}, 'Admin.Global'),
              'maxLabel': "Max"|trans({}, 'Admin.Global'),
              'value': filter_column_sav_quantity,
              'disabled': filters_disabled,
            } %}
          </th>
          {% else %}
            <th></th>
          {% endif %}

          <th id="product_filter_column_active" class="text-center">
            <div class="form-select">
              <select class="custom-select"  name="filter_column_active"{% if filters_disabled %} disabled{% endif %} aria-label="{{ "%inputId% select"|trans({'%inputId%': 'filter_column_active'}, 'Admin.Global') }}"
                >
                <option value=""></option>
                <option value="1" {% if (filter_column_active is defined) and filter_column_active == '1' %}selected="selected"{% endif %}>Active</option>
                <option value="0" {% if (filter_column_active is defined) and filter_column_active == '0' %}selected="selected"{% endif %}>Inactive</option>
              </select>
            </div>
          </th>
          {% if has_category_filter == true %}
            <th>
              {% if not(activate_drag_and_drop) %}
                <input type="button" class="btn btn-outline-secondary" name="products_filter_position_asc" value="{{ "Reorder"|trans({}, 'Admin.Actions') }}" onclick="productOrderPrioritiesTable();" />
                {% else %}
                <input type="button" id="bulk_edition_save_keep" class="btn" onclick="bulkProductAction(this, 'edition');" value="{{ "Save & refresh"|trans({}, 'Admin.Actions')|raw }}" />
              {% endif %}
            </th>
          {% endif %}
          <th class="text-right" style="width: 5rem">
            <button
              type="submit"
              class="btn btn-primary"
              name="products_filter_submit"
              title="{{ "Search"|trans({}, 'Admin.Actions') }}"
            >
              <i class="material-icons">search</i>
              {{ "Search"|trans({}, 'Admin.Actions') }}
            </button>
            <button
              type="reset"
              class="btn btn-link"
              name="products_filter_reset"
              onclick="productColumnFilterReset($(this).closest('tr.column-filters'))"
              title="{{ "Reset"|trans({}, 'Admin.Actions') }}"
            >
              <i class="material-icons">clear</i>
              {{ "Reset"|trans({}, 'Admin.Actions') }}
            </button>
          </th>
        </tr>
      {% endblock %}
    </thead>
    {% block product_catalog_form_table_items %}
      {{ render(controller('PrestaShopBundle\\Controller\\Admin\\ProductController::listAction', {
        'limit': limit,
        'offset': offset,
        'orderBy': orderBy,
        'sortOrder': sortOrder,
        'products': products,
        'last_sql': last_sql
      })) }}
    {% endblock %}
  </table>
</div>
