{% if schema.title %}{{ schema.title | get_translated_text }}{% endif %}
{% set is_required = False %} {% set minItems = schema.get('minItems', 0) %} {% set maxItems = schema.get('maxItems', None) %} {% if data is not none %} {% set numItems = (data | length) %} {% else %} {% set numItems = 0 %} {% endif %}
{% if schema['items']['type'] == 'object' %} {% set item_property_names = schema["items"].properties.keys() %} {% set property_order = schema.get('items', {}).get('propertyOrder', []) %} {% for property_name in property_order %} {% if property_name in item_property_names %} {% endif %} {% endfor %} {% for property_name in item_property_names %} {% if property_name not in property_order %} {% endif %} {% endfor %} {% if data is not none %} {% for item in data %} {% set name = "item" %} {% set tmp_style = schema['style'] %} {% set schema = schema['items'] %} {% set id_prefix = id_prefix + '_{}_'.format(loop.index0) %} {% set data = item %} {% for property_name in property_order %} {% if property_name in item_property_names %} {% endif %} {% endfor %} {% for property_name in item_property_names %} {% if property_name not in property_order %} {% endif %} {% endfor %} {% if numItems > minItems %} {% else %} {% endif %} {% endfor %} {% endif %} {% for property_name in item_property_names %} {% endfor %} {% if maxItems is none or numItems < maxItems %} {% else %} {% endif %}
{% if schema["items"].properties[property_name].title %}{{ schema["items"].properties[property_name].title | get_translated_text }}{% endif %}{% if schema["items"].properties[property_name].title %}{{ schema["items"].properties[property_name].title | get_translated_text }}{% endif %}
{% set name = property_name %} {% set schema = schema.properties[property_name] %} {% set z = schema.update({'parent_style': tmp_style}) %} {% set parent_id_prefix = id_prefix %} {% set id_prefix = id_prefix + '_' + name + '_' %} {% if data is not none and property_name in data %} {% set data = data[property_name] %} {% else %} {% set data = none %} {% endif %} {% if 'conditions' in schema %}
{% include "objects/forms/form_any.html" %} {% include "objects/forms/conditional_wrapper_script.html" %}
{% else %} {% include "objects/forms/form_any.html" %} {% endif %}
{% set name = property_name %} {% set schema = schema.properties[property_name] %} {% set z = schema.update({'parent_style': tmp_style}) %} {% set parent_id_prefix = id_prefix %} {% set id_prefix = id_prefix + '_' + name + '_' %} {% if data is not none and property_name in data %} {% set data = data[property_name] %} {% else %} {% set data = none %} {% endif %} {% if 'conditions' in schema %}
{% include "objects/forms/form_any.html" %} {% include "objects/forms/conditional_wrapper_script.html" %}
{% else %} {% include "objects/forms/form_any.html" %} {% endif %}
{% elif schema['items']['type'] == 'array' %} {% set max_used_fields = 0 %} {% if data is not none %} {% set max_used_fields = [0] %} {% for item in data %} {% if (item | length) > max_used_fields[-1] %} {% set tmp = max_used_fields.append(item | length) %} {% endif %} {% endfor %} {% set max_used_fields = max_used_fields [-1] %} {% for i in range(max_used_fields) %} {% endfor %} {% for item in data %} {% set item_index = loop.index0 %} {% for field in item %} {% endfor %} {% if (item | length) < max_used_fields %} {% for i in range((item | length), max_used_fields) %} {% endfor %} {% endif %} {% if numItems > minItems %} {% else %} {% endif %} {% endfor %} {% endif %} {% for i in range(max_used_fields) %} {% endfor %} {% if maxItems is none or numItems < maxItems %} {% else %} {% endif %}
{{ _('Field %(index)s', index=(i+1)) }}
{% if (data | length) > 0 and max_used_fields > schema["items"].get("minItems", 0) %} {% else %} {% endif %} {% if (data | length) > 0 and ("maxItems" not in schema["items"] or max_used_fields < schema["items"]["maxItems"]) %} {% else %} {% endif %}
{% set name = "field_".format(loop.index0) %} {% set tmp_style = schema['style'] %} {% set schema = schema["items"]["items"] %} {% set z = schema.update({'parent_style': tmp_style}) %} {% set id_prefix = id_prefix + '_{}__{}_'.format(item_index, loop.index0) %} {% set data = field %} {% include "objects/forms/form_any.html" %} {% set name ="field_".format(loop.index0) %} {% set tmp_style = schema['style'] %} {% set schema = schema["items"]["items"] %} {% set z = schema.update({'parent_style': tmp_style}) %} {% set id_prefix = id_prefix + '_{}__{}_'.format(item_index, i) %} {% set data = null %} {% include "objects/forms/form_any.html" %}
{{ _('Field %(index)s', index=(i+1)) }}
{% endif %}