{% extends '@WebProfiler/Profiler/layout.html.twig' %}
{% from _self import form_tree_entry, form_tree_details %}
{% block toolbar %}
{% if collector.data.nb_errors > 0 or collector.data.forms|length %}
{% set status_color = collector.data.nb_errors ? 'red' : '' %}
{% set icon %}
{{ include('@WebProfiler/Icon/form.svg') }}
{{ collector.data.nb_errors ?: collector.data.forms|length }}
{% endset %}
{% set text %}
Number of forms
{{ collector.data.forms|length }}
Number of errors
{{ collector.data.nb_errors }}
{% endset %}
{{ include('@WebProfiler/Profiler/toolbar_item.html.twig', { link: profiler_url, status: status_color }) }}
{% endif %}
{% endblock %}
{% block menu %}
{{ include('@WebProfiler/Icon/form.svg') }}
Forms
{% if collector.data.nb_errors > 0 %}
{{ collector.data.nb_errors }}
{% endif %}
{% endblock %}
{% block head %}
{{ parent() }}
{% endblock %}
{% block panel %}
Forms
{% if collector.data.forms|length %}
{% for formName, formData in collector.data.forms %}
{{ form_tree_details(formName, formData, collector.data.forms_by_hash) }}
{% endfor %}
{% else %}
No forms were submitted for this request.
{% endif %}
{% endblock %}
{% macro form_tree_entry(name, data, expanded) %}
{% import _self as tree %}
{% if data.errors is defined and data.errors|length > 0 %}
{{ data.errors|length }}
{% endif %}
{% if data.children is not empty %}
{% else %}
{% endif %}
{{ name|default('(no name)') }} {% if data.type_class is defined and data.type is defined %}[
{{ data.type|split('\\')|last }}]{% endif %}
{% if data.children is not empty %}
{% for childName, childData in data.children %}
{{ tree.form_tree_entry(childName, childData, false) }}
{% endfor %}
{% endif %}
{% endmacro %}
{% macro form_tree_details(name, data, forms_by_hash) %}
{% import _self as tree %}
{{ name|default('(no name)') }}
{% if data.type_class is defined and data.type is defined %}
[{{ data.type }}]
{% endif %}
{% if data.errors is defined and data.errors|length > 0 %}
Message |
Origin |
Cause |
{% for error in data.errors %}
{{ error.message }} |
{% if error.origin is empty %}
This form.
{% elseif forms_by_hash[error.origin] is not defined %}
Unknown.
{% else %}
{{ forms_by_hash[error.origin].name }}
{% endif %}
|
{% for trace in error.trace %}
{% if not loop.first %}
Caused by:
{% endif %}
{% if trace.root is defined %}
{{ trace.class }}
{{- trace.root -}}
{%- if trace.path is not empty -%}
{%- if trace.path|first != '[' %}.{% endif -%}
{{- trace.path -}}
{%- endif %} = {{ trace.value -}}
{% elseif trace.message is defined %}
{{ trace.class }}
{{ trace.message }}
{% else %}
{{ trace }}
{% endif %}
{% else %}
Unknown.
{% endfor %}
|
{% endfor %}
{% endif %}
{% if data.default_data is defined %}
Property |
Value |
Model Format |
{% if data.default_data.model is defined %}
{{ data.default_data.model }}
{% else %}
same as normalized format
{% endif %}
|
Normalized Format |
{{ data.default_data.norm }} |
View Format |
{% if data.default_data.view is defined %}
{{ data.default_data.view }}
{% else %}
same as normalized format
{% endif %}
|
{% endif %}
{% if data.submitted_data is defined %}
{% if data.submitted_data.norm is defined %}
Property |
Value |
View Format |
{% if data.submitted_data.view is defined %}
{{ data.submitted_data.view }}
{% else %}
same as normalized format
{% endif %}
|
Normalized Format |
{{ data.submitted_data.norm }} |
Model Format |
{% if data.submitted_data.model is defined %}
{{ data.submitted_data.model }}
{% else %}
same as normalized format
{% endif %}
|
{% else %}
This form was not submitted.
{% endif %}
{% endif %}
{% if data.passed_options is defined %}
{% if data.passed_options|length %}
Option |
Passed Value |
Resolved Value |
{% for option, value in data.passed_options %}
{{ option }} |
{{ value }} |
{% if data.resolved_options[option] is same as(value) %}
same as passed value
{% else %}
{{ data.resolved_options[option] }}
{% endif %}
|
{% endfor %}
{% else %}
No options where passed when constructing this form.
{% endif %}
{% endif %}
{% if data.resolved_options is defined %}
Option |
Value |
{% for option, value in data.resolved_options %}
{{ option }} |
{{ value }} |
{% endfor %}
{% endif %}
{% if data.view_vars is defined %}
Variable |
Value |
{% for variable, value in data.view_vars %}
{{ variable }} |
{{ value }} |
{% endfor %}
{% endif %}
{% for childName, childData in data.children %}
{{ tree.form_tree_details(childName, childData, forms_by_hash) }}
{% endfor %}
{% endmacro %}