{% macro render_field( field, label_visible=true, icon=none, container=true, noindicator=false, indicator_icon=none, indicator_text=none, display=true ) -%} {% set field_visible = field.type != 'HiddenField' and field.type !='CSRFTokenField' %} {% if container and field_visible %}
{% endif %} {% if field_visible and label_visible %} {{ field.label() }} {% endif %} {% set lock_indicator = field.render_kw and ("readonly" in field.render_kw or "disabled" in field.render_kw) %} {% set required_indicator = "required" in field.flags %} {% set corner_indicator = not noindicator and (indicator_icon or lock_indicator or required_indicator) %} {% if field.validators and field.type not in ("FileField", "MultipleFileField") %} {% set ignore_me = kwargs.update({"hx-post": ""}) %} {% set ignore_me = kwargs.update({"hx-indicator": "closest .input"}) %} {% endif %} {% if field_visible %}
{% endif %} {% if icon %}{% endif %} {% if field.description %}{% endif %} {% if field.type not in ("SelectField", "SelectMultipleField") %} {{ field(**kwargs) }} {% elif field.type == "SelectMultipleField" and field.render_kw and "readonly" in field.render_kw %} {{ field(class_="ui fluid dropdown multiple read-only", **kwargs) }} {% elif field.type == "SelectMultipleField" %} {{ field(class_="ui fluid dropdown multiple", **kwargs) }} {% elif field.type == "SelectField" and field.render_kw and "readonly" in field.render_kw %} {{ field(class_="ui fluid dropdown read-only", **kwargs) }} {% elif field.type == "SelectField" %} {{ field(class_="ui fluid dropdown", **kwargs) }} {% endif %} {% if not noindicator %} {% if indicator_icon %}
{% elif lock_indicator %}
{% elif required_indicator %}
{% endif %} {% endif %} {% if field_visible %}
{% endif %} {% if field.errors %} {% for error in field.errors %}

{{ error }}

{% endfor %} {% endif %} {% if container and field_visible %}
{% endif %} {%- endmacro %} {% macro render_fields(form) %} {% for field in form %} {% if field.type == "BooleanField" %} {{ render_checkbox(field) }} {% else %} {{ render_field(field) }} {% endif %} {% endfor %} {% endmacro %} {% macro render_checkbox(field) -%}
{{ field(**kwargs) }} {{ field.label() }}
{%- endmacro %} {% macro render_form( form, action_text=none, class_='', btn_class='ui right floated primary button', action=none, id=none, csrf=true) -%}
{% if caller %} {% if csrf %} {% endif %} {{ caller() }} {% else %} {{ render_fields(form) }} {% endif %} {% if action_text %}
{% endif %}
{%- endmacro %}