<!--- auto generated by `bin/console docs:generate-scripts-reference` in the shopware project, don't edit this file manually -->
# List of all available Hooks for Scripts

{% for useCase in data %}
## {{ useCase.title }}

{{ useCase.description|raw }}

{% for hook in useCase.hooks %}
#### {{ hook.name }}

{% if hook.deprecation %}
{{ hook.deprecation|raw }}

{% endif %}
{% if not hook.interfaceHook %}
| <!-- -->               | <!-- -->                                |
|:-----------------------|:----------------------------------------|
| **Name**               | {{ hook.name }}                         |
| **Since**              | {{ hook.since }}                        |
| **Class**              | `{{ hook.class }}`                      |
| **Description**        | {{ hook.trigger|raw }}                  |
| **Available Data**     | {{ _self.data_list(hook.data) }}        |
| **Available Services** | {{ _self.service_list(hook.services) }} |
| **Stoppable**          | `{{ hook.stoppable }}`                  |

{% else %}
{{ hook.interfaceDescription|raw }}

{% for functionName, functionHook in hook.functions %}
##### Function: `{{ functionName }}`

{% if functionHook.deprecation %}
{{ functionHook.deprecation|raw }}

{% endif %}
| <!-- -->               | <!-- -->                                        |
|:-----------------------|:------------------------------------------------|
| **Name**               | {{ functionName }}                              |
| **Since**              | {{ functionHook.since }}                        |
| **Optional**           | `{{ functionHook.optional }}`                   |
| **Class**              | `{{ functionHook.class }}`                      |
| **Description**        | {{ functionHook.trigger|raw }}                  |
| **Available Data**     | {{ _self.data_list(functionHook.data) }}        |
| **Available Services** | {{ _self.service_list(functionHook.services) }} |
| **Stoppable**          | `{{ functionHook.stoppable }}`                  |

{% endfor %}
{% endif %}
{% endfor %}
{% endfor %}

{%- macro service_list(services) -%}
    {%- for service in services -%}
        {%- if service.deprecated -%}
            [~~{{ service.name }}~~]({{ service.link }}) (**Deprecated:** {{ service.deprecated }})<br>
        {%- else -%}
            [{{ service.name }}]({{ service.link }})<br>
        {%- endif -%}
    {%- endfor -%}
{%- endmacro -%}

{%- macro data_list(dataElements) -%}
    {%- for data in dataElements -%}
        {%- if data.link is not null -%}
            {{ data.name }}: [`{{ data.type }}`]({{ data.link }})<br>
        {%- else -%}
            {{ data.name }}: `{{ data.type }}`<br>
{%- endif -%}
{%- endfor -%}
{%- endmacro -%}
