{#**
 * 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)
 *#}

{% set actions = column.options.actions %}

{% if actions is not empty %}
    {% set inlineActions = [] %}
    {% set regularActions = [] %}

    {% for action in actions %}
      {% if action.options['use_inline_display'] == true %}
          {% set inlineActions = inlineActions|merge([action]) %}
        {% else %}
          {% set regularActions = regularActions|merge([action]) %}
      {% endif %}
    {% endfor %}

    <div class="btn-group-action text-right">
      {% if inlineActions is not empty %}
        <div class="btn-group d-flex justify-content-between text-right">
          {% for inlineAction in inlineActions -%}
            {% if inlineAction.isApplicable(record) %}

              {% set class = 'dropdown-item inline-dropdown-item' %}

              {{ include('@PrestaShop/Admin/Common/Grid/Actions/Row/'~inlineAction.type~'.html.twig', {
                'grid': grid,
                'column': column,
                'attributes': {'class': class, 'tooltip_name': true},
                'record': record,
                'action': inlineAction
              }) }}
            {% endif %}
          {% endfor %}
        </div>
      {% endif %}

      {% if regularActions is not empty %}
        <div class="btn-group">
          {% set skippedActions, isFirstRendered = 0, false %}

          {# Render first item that is not in dropwdown #}
          {% for action in regularActions  %}
            {% if not isFirstRendered %}
              {% set skippedActions = skippedActions + 1 %}
            {% endif %}

            {% if action.isApplicable(record) and not isFirstRendered %}
              {{ include('@PrestaShop/Admin/Common/Grid/Actions/Row/'~action.type~'.html.twig', {
                'grid': grid,
                'column': column,
                'attributes': {'class': 'dropdown-item', 'tooltip_name': true},
                'record': record,
                'action': action
              }) }}

              {% set isFirstRendered = true %}
            {% endif %}
          {% endfor %}

          {# Render remaining items in dropdown #}
          {% if regularActions|length > skippedActions %}
            <a class="btn btn-link dropdown-toggle dropdown-toggle-dots dropdown-toggle-split no-rotate"
               data-toggle="dropdown"
               aria-haspopup="true"
               aria-expanded="false"
            >
            </a>

            <div class="dropdown-menu dropdown-menu-right">
              {% for action in regularActions|slice(skippedActions) if action.isApplicable(record) %}
                {{ include('@PrestaShop/Admin/Common/Grid/Actions/Row/'~action.type~'.html.twig', {
                  'grid': grid,
                  'column': column,
                  'attributes': {'class': 'dropdown-item', 'tooltip_name': false},
                  'record': record,
                  'action': action
                }) }}
              {% endfor %}
            </div>
          {% endif %}
        </div>
      {% endif %}
    </div>
{% endif %}
