{% endif %}
{% set form_has_errors = data.errors ?? [] is not empty %}
Errors
{{ _self.render_form_errors(data) }}
Default Data
{{ _self.render_form_default_data(data) }}
Submitted Data
{{ _self.render_form_submitted_data(data) }}
Passed Options
{{ _self.render_form_passed_options(data) }}
Resolved Options
{{ _self.render_form_resolved_options(data) }}
View Vars
{{ _self.render_form_view_variables(data) }}
{% for childName, childData in data.children %}
{{ _self.form_tree_details(childName, childData, forms_by_hash) }}
{% endfor %}
{% endmacro %}
{% macro render_form_errors(data) %}
{% if data.errors is defined and data.errors|length > 0 %}
{% for error in data.errors %}
{% endfor %}
Message
Origin
Cause
{{ 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 %}
{% if error.trace %}
Caused by:
{% for stacked in error.trace %}
{{ profiler_dump(stacked) }}
{% endfor %}
{% else %}
Unknown.
{% endif %}
{% else %}
This form has no errors.
{% endif %}
{% endmacro %}
{% macro render_form_default_data(data) %}
{% if data.default_data is defined %}
Property
Value
Model Format
{% if data.default_data.model is defined %}
{{ profiler_dump(data.default_data.seek('model')) }}
{% else %}
same as normalized format
{% endif %}
{% if data.submitted_data.model is defined %}
{{ profiler_dump(data.submitted_data.seek('model')) }}
{% else %}
same as normalized format
{% endif %}
{% else %}
This form was not submitted.
{% endif %}
{% endmacro %}
{% macro render_form_passed_options(data) %}
{% if data.passed_options ?? [] is not empty %}
{% for option, value in data.passed_options %}
{% endfor %}
Option
Passed Value
Resolved Value
{{ option }}
{{ profiler_dump(value) }}
{# values can be stubs #}
{% set option_value = (value.value is defined) ? value.value : value %}
{% set resolved_option_value = (data.resolved_options[option].value is defined)
? data.resolved_options[option].value
: data.resolved_options[option] %}
{% if resolved_option_value == option_value %}
same as passed value
{% else %}
{{ profiler_dump(data.resolved_options.seek(option)) }}
{% endif %}
{% else %}
No options were passed when constructing this form.
{% endif %}
{% endmacro %}
{% macro render_form_resolved_options(data) %}
{% for option, value in data.resolved_options ?? [] %}
{% endfor %}
Option
Value
{{ option }}
{{ profiler_dump(value) }}
{% endmacro %}
{% macro render_form_view_variables(data) %}
{% for variable, value in data.view_vars ?? [] %}
{% endfor %}