{% macro render_field_content(field, disabled=False, readonly=False, class='') %} {% if field.type == 'BooleanField' %}
{{ field(class="form-check-input " + class, disabled=disabled, readonly=readonly, required=False) }} {% if field.description %} {{ field.label(class="form-check-label", **{'data-bs-toggle': 'tooltip', 'data-bs-placement': 'right', 'title': field.description}) }} {% if field.flags.required %} Required field {% endif %} {% else %} {{ field.label(class="form-check-label") }} {% if field.flags.required %} Required field {% endif %} {% endif %}
{% if field.errors %}
{% for error in field.errors %} {{ error }} {% endfor %}
{% endif %}
{% else %}
{% if field.description %} {{ field.label(class="form-label", **{'data-bs-toggle': 'tooltip', 'data-bs-placement': 'right', 'title': field.description}) }} {% if field.flags.required %} Required field {% endif %} {% else %} {{ field.label(class="form-label") }} {% if field.flags.required %} Required field {% endif %} {% endif %} {% if field.type == 'TextAreaField' and 'json-editor' in class %}
{{ field(class="form-control d-none " + class, disabled=disabled, readonly=readonly) }} {% elif field.type == 'SelectField' %} {{ field(class="form-control form-select " + class, disabled=disabled, readonly=readonly) }} {% else %} {{ field(class="form-control " + class, disabled=disabled, readonly=readonly) }} {% endif %} {% if field.errors %}
{% for error in field.errors %} {{ error }} {% endfor %}
{% endif %}
{% endif %} {% endmacro %} {% macro render_field(field, disabled_fields=[], readonly_fields=[], exclude_fields=[], class='') %} {% set disabled = field.name in disabled_fields %} {% set readonly = field.name in readonly_fields %} {% set exclude_fields = exclude_fields + ['csrf_token', 'submit'] %} {% if field.name not in exclude_fields %} {{ render_field_content(field, disabled, readonly, class) }} {% endif %} {% endmacro %} {% macro render_included_field(field, disabled_fields=[], readonly_fields=[], include_fields=[], class='') %} {% set disabled = field.name in disabled_fields %} {% set readonly = field.name in readonly_fields %} {% if field.name in include_fields %} {{ render_field_content(field, disabled, readonly, class) }} {% endif %} {% endmacro %} {% macro render_table(headers, rows) %}
{% for header in headers %} {% endfor %} {% for row in rows %} {% for cell in row %} {% endfor %} {% endfor %}
{{ header }}
{% if cell.type == 'image' %}
{% elif cell.type == 'text' %}

{{ cell.value }}

{% elif cell.type == 'badge' %} {{ cell.value }} {% elif cell.type == 'link' %} {{ cell.value }} {% else %} {{ cell.value }} {% endif %}
{% endmacro %} {% macro render_selectable_table(headers, rows, selectable, id, is_component_selector=False) %}
{% if selectable %} {% endif %} {% for header in headers %} {% endfor %} {% for row in rows %} {% if selectable %} {% endif %} {% for cell in row %} {% endfor %} {% endfor %}
Select{{ header }}
{% if cell.type == 'image' %}
{% elif cell.type == 'text' %}

{{ cell.value }}

{% elif cell.type == 'badge' %} {{ cell.value }} {% elif cell.type == 'link' %} {{ cell.value }} {% else %} {{ cell.value }} {% endif %}
{% endmacro %} {% macro render_selectable_sortable_table(headers, rows, selectable, id, sort_by, sort_order) %}
{% if selectable %} {% endif %} {% for header in headers %} {% endfor %} {% for row in rows %} {% if selectable %} {% endif %} {% for cell in row %} {% endfor %} {% endfor %}
Select {{ header }} {% if sort_by == header|lower|replace(' ', '_') %} {% if sort_order == 'asc' %} {% elif sort_order == 'desc' %} {% endif %} {% else %} {% endif %}
{{ cell.value }}
{% endmacro %} {% macro render_selectable_sortable_table_with_dict_headers(headers, rows, selectable, id, sort_by, sort_order) %}
{% if selectable %} {% endif %} {% for header in headers %} {% endfor %} {% for row in rows %} {% if selectable %} {% endif %} {% for cell in row %} {% endfor %} {% endfor %}
Select {{ header['text'] }} {% if sort_by == header['sort'] %} {% if sort_order == 'asc' %} {% elif sort_order == 'desc' %} {% endif %} {% else %} {% endif %}
{{ cell.value }}
{% endmacro %} {% macro render_accordion(accordion_id, accordion_items, header_title, header_description) %}

{{ header_title }}

{{ header_description }}

{% for item in accordion_items %}
{{ item.content }}
{% endfor %}
{% endmacro %} {% macro render_nested_table(headers, rows) %}
{% for header in headers %} {% endfor %} {% for row in rows %} {% for cell in row %} {% if cell.is_group %} {% else %} {% endif %} {% endfor %} {% endfor %}
{{ header }}
{{ render_nested_table(cell.headers, cell.sub_rows) }} {% if cell.type == 'image' %}
{% elif cell.type == 'text' %}

{{ cell.value }}

{% elif cell.type == 'badge' %} {{ cell.value }} {% elif cell.type == 'link' %} {{ cell.value }} {% else %} {{ cell.value }} {% endif %}
{% endmacro %} {#{% macro render_pagination(pagination, endpoint) %}#} {##} {#{% endmacro %}#} {% macro render_pagination(pagination, endpoint) %} {# Deze macro is een wrapper rond de globale get_pagination_html functie #} {# Ondersteunt nu expliciet een session_id parameter #} {{ get_pagination_html(pagination, endpoint) }} {% endmacro %} {% macro render_filter_field(field_name, label, options, current_value) %}
{% endmacro %} {% macro render_date_filter_field(field_name, label, current_value) %}
{% endmacro %} {% macro render_collapsible_section(id, title, content) %}
{{ content }}
{% endmacro %}