{#**
 * 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 class = 'btn tooltip-link js-link-row-action' %}

{% if attributes.class is defined %}
  {% set class = class ~ ' ' ~ attributes.class %}
{% endif %}

  {% set route_params = { (action.options.route_param_name) : (record[action.options.route_param_field]) } %}
  {% set extra_route_params = action.options.extra_route_params %}

  {% for name, field in extra_route_params %}
    {% set route_params = route_params|merge({ (name) : (record[field] ?? field) }) %}
  {% endfor %}

<a class="{{ class }} grid-{{ action.name|lower|replace({' ': '-'}) }}-row-link"
   href="{{ path(action.options.route, route_params ) }}"
   data-confirm-message="{{ action.options.confirm_message }}"
  {% if attributes.tooltip_name %}
    data-toggle="pstooltip"
    data-placement="top"
    data-original-title="{{ action.name }}"
  {% endif %}
  data-clickable-row="{{ action.options.clickable_row|default(false) }}"
  {% if action.options.target is not empty %}target="{{ action.options.target }}"{% endif %}
  {# Add all attributes which are not class #}
  {%- for attrname, attrvalue in action.options.attr -%}
    {% if attrname != 'class' %}
      {{- " " -}}
      {% if attrvalue is formview %}
        {{- attrname }}="{{ form_row(attrvalue)|e('html_attr') }}"
      {% elseif attrvalue is form %}
      {{- attrname }}="{{ form_row(attrvalue.createView())|e('html_attr') }}"
      {% else %}
        {{- attrname }}="{{ attrvalue }}"
      {% endif %}
    {% endif %}
  {%- endfor -%}
>
  {% if action.icon is not empty %}
    <i class="material-icons">{{ action.icon }}</i>
  {% endif %}
  {% if not attributes.tooltip_name %}
    {{ action.name }}
  {% endif %}
</a>
