{# ---------- PAC-INFO MACROS ---------- #} {# These macros render semantic HTML with light class hooks. #} {%- macro key_value_table(pairs) -%} {# pairs: dict-like object #} {%- for k, v in pairs.items() -%} {%- if k != "key" -%} {%- endif -%} {%- endfor -%}
{{ k }} {{ v }}
{%- endmacro -%} {%- macro category_block(category) -%}
{{ category.__class__.__name__ }}
{{ key_value_table(category.segments_as_dict()) }}
{%- endmacro -%} {%- macro service_table_section(services) %}
{%- for s in services -%} {{ s.service_name }} {%- endfor -%}
{%- endmacro -%} {%- macro services_table(user_handover_group) -%}
from {{ user_handover_group.origin }}
{{ service_table_section(user_handover_group.services)}}
{%- endmacro -%} {%- macro reference(value, label=None, card_request_params=dict(), target_class=None, display_label=True) %}
{% if display_label %} {% if route_pac_id_url_for is defined %} {{ label or value }} {% else %} {{ label or value }} {% endif %} {% endif %} {% if pac_card_url_for is defined %}
{% endif %}
{%- endmacro %} {%- macro attribute_row(a) -%} {% if is_reference(a.key) %} {{ reference(a.key, a.label)}} {% elif is_url(a.key) %} {{ a.label }} {% else %} {{ a.label }} {% endif %}
{{a.key}} {% for value in a.value_list%} {%- if is_image(value) -%}
{{ label|e }}
{{ label }}
{%- elif is_url(value) -%} {{ value }} {%- elif is_reference(value) -%} {{ reference(value)}} {%- else -%} {{ value }} {%- endif -%} {% if not loop.last %}
{% endif %} {% endfor%} {%- endmacro -%} {%- macro attribute_group_block(ag) -%}
{{ ag.label }} (from {{ ag.origin }})
{%- for a in ag.attributes.values() -%} {{ attribute_row(a) }} {%- endfor -%}
{%- endmacro -%} {%- macro data_table_inline(dt) -%} {# Renders your DataTable structure; expects filters: is_data_table(dt) #} {%- if dt.data | length == 1 -%} {%- for i in range(dt.col_names | length) -%} {%- endfor -%}
{{ dt.col_names[i] }} {{ dt.data[0][i] }}
{%- else -%} {%- for rn in dt.col_names -%} {%- endfor -%} {%- for row in dt.data -%} {%- for e in row -%} {%- endfor -%} {%- endfor -%}
{{ rn }}
{{ e }}
{%- endif -%} {%- endmacro -%} {%- macro attached_data_block(attached_data) -%}
{%- for name, trex in attached_data.items() -%} {{ attached_data_trex(name, trex) }} {%- endfor -%}
{%- endmacro -%} {%- macro attached_data_trex(name, trex) %}
{{ name }}
{%- for k, v in trex.items() -%} {%- endfor -%}
{{ k }} {%- if is_data_table(v) -%} {{ data_table_inline(v) }} {%- else -%} {{ v }} {%- endif -%}
{% endmacro %}