{# A complex field with repeating sub-fields #} {% include 'scheming/snippets/subfields_asset.html' %} {% import 'macros/form.html' as form %} {% macro repeating_panel(index, index1) %}
{% block repeating_panel_header %}
{% block field_removal_button%} {% block delete_button_text %}{{ _('Remove') }}{% endblock %} {% endblock %} {{ h.scheming_language_text(field.repeating_label or field.label) }} {{ index1 }}
{% endblock %}
{% for subfield in field.repeating_subfields %} {% set sf = dict( subfield, field_name=field.field_name ~ '-' ~ index ~ '-' ~ subfield.field_name) %} {%- snippet 'scheming/snippets/form_field.html', field=sf, data=flat, errors=flaterr, licenses=licenses, entity_type=entity_type, object_type=object_type -%} {% endfor %}
{% endmacro %} {% set flat = h.scheming_flatten_subfield(field, data) %} {% set flaterr = h.scheming_flatten_subfield(field, errors) %} {% call form.input_block( 'field-' + field.field_name, h.scheming_language_text(field.label) or field.field_name, [], field.classes if 'classes' in field else ['control-medium'], is_required=h.scheming_field_required(field)) %}
{% set alert_warning = h.scheming_language_text(field.form_alert_warning) %} {% if alert_warning %}
{{ alert_warning|safe }}
{% endif %} {%- set group_data = data[field.field_name] -%} {%- set group_count = group_data|length -%} {%- if not group_count and 'id' not in data -%} {%- set group_count = field.form_blanks|default(1) -%} {%- endif -%}
{% for index in range(group_count) %} {{ repeating_panel(index, index + 1) }} {% endfor %}
{% block add_button %}{% block add_button_text %} {{ _('Add') }}{% endblock %}{% endblock %} {%- snippet 'scheming/form_snippets/help_text.html', field=field -%}
{{ repeating_panel('REPEATING-INDEX0', 'REPEATING-INDEX1') }}
{% endcall %}