{% macro headers(grid, definition, requestAttributes) %}
{% import '@SyliusUi/Macro/sorting.html.twig' as sorting %}
{% if definition.actionGroups.bulk is defined and definition.getEnabledActions('bulk')|length > 0 %}
{% endif %}
{% for field in definition.fields|sort_by('position') %}
{% if field.enabled %}
{% if field.isSortable %}
{{ sorting.tableHeader(grid, field, requestAttributes) }}
{% else %}
{{ field.label|trans }}
{% endif %}
{% endif %}
{% endfor %}
{% if definition.actionGroups.item is defined and definition.getEnabledActions('item')|length > 0 %}
{% if definition.actionGroups.bulk is defined and definition.getEnabledActions('bulk')|length > 0 %}
{% endif %}
{% for field in definition.enabledFields|sort_by('position') %}
{{ sylius_grid_render_field(grid, field, row) }}
{% endfor %}
{% if definition.actionGroups.item is defined and definition.getEnabledActions('item')|length > 0 %}
{% for action in definition.getEnabledActions('item')|sort_by('position') %}
{% if row.isLocked is not defined
or (row.isLocked is defined and false == row.isLocked)
or (row.isLocked is defined and true == row.isLocked and 'delete' != action.name) %}
{{ sylius_grid_render_action(grid, action, row) }}
{% endif %}
{% endfor %}
{% if definition.actionGroups.subitem is defined and definition.getEnabledActions('subitem')|length > 0 %}
{% for action in definition.getEnabledActions('subitem')|sort_by('position') %}
{{ sylius_grid_render_action(grid, action, row) }}
{% endfor %}