{% extends "forms/field.html.twig" %} {% block global_attributes %} data-grav-array-name="{{ (scope ~ field.name)|fieldName }}" data-grav-array-keyname="{{ field.placeholder_key|e|tu }}" data-grav-array-valuename="{{ field.placeholder_value|e|tu }}" {{ parent() }} {% endblock %} {% macro renderer(key, content, field, scope, level, parent_key, up_level) %} {% macro field(value, key, level, globalvars, disable_name, hidden) %} {% set name = 'data[' ~ globalvars.field.name|replace({'.': ']['}) ~ ']' ~ key %}
{% endmacro %} {% if level == 0 %} {{ _self.field(key, '', level, _context, true, (is_numeric(key) ? true : false)) }} {% if content is not iterable %} {% set level2 = level + 1 %}
{{ _self.field(content, '[' ~ key ~ ']', level2, _context) }}
{% endif %} {% endif %} {% if up_level %} {% set level = level + 1 %} {% endif %}
{% set unique_child = (is_array(content) and content.length > 1) ? true : false %} {% for inner_key, inner_content in content -%}
{% if not is_numeric(inner_key) %} {% if (content|length > 1) %} {{ _self.field(inner_key, parent_key, level, _context, true) }} {% else %} {{ _self.field(inner_key, parent_key, level, _context) }} {% endif %} {% set level2 = level + 1 %} {% set up_level = true %} {% else %} {% set up_level = false %} {% set level2 = level %} {% endif %} {% if inner_content is not iterable %} {% if not is_numeric(inner_key) %}
{% endif %} {% set last_key = (is_numeric(inner_key)) ? '' : inner_key %} {{ _self.field(inner_content, parent_key ~ '[' ~ inner_key ~ ']', level2, _context) }} {% if not is_numeric(inner_key) %}
{% endif %} {% else %} {% set inner_parent_key = parent_key ~ '[' ~ inner_key ~ ']' %} {{ _self.renderer(inner_key, inner_content, field, scope, level, inner_parent_key, up_level) }} {% endif %}
{% endfor %}
{% endmacro %} {% block input %}
{% if value|length %} {% for key, content in value -%}
{{ _self.renderer(key, content, field, scope, 0, '[' ~ key ~ ']', true) }}
{% endfor %} {%- else -%} {# Empty value, mock the entry field#}
{%- endif %}
{% endblock %}