{% macro tabledesigner_field(field, index, data, errors) %}
{% snippet "datastore/snippets/dictionary_form.html", field=field, position=index, res=res, data=data, errors=errors, is_new=not fields %}
{% endmacro %}
{% for field in fields %} {{ tabledesigner_field( field, loop.index, data=data.get('fields', [{}] * loop.length)[loop.index0], errors=errors.get('fields', [{}] * loop.length)[loop.index0]) }} {% endfor %} {% for d in data.get('fields', [])[fields | length:] %} {{ tabledesigner_field( {'tdtype': d['tdtype']}, loop.index + (fields | length), data=d, errors=(errors.get('fields', [])[fields | length:] + [{}] * loop.length)[loop.index0]) }} {% endfor %}
{% for opt in h.tabledesigner_column_type_options() %}
{{ tabledesigner_field( {'tdtype': opt.value}, 'TABLEDESIGNER-INDEX', {}, {} )}}
{% endfor %}