{# ---------- PAC-INFO MACROS ---------- #} {# These macros render semantic HTML with light class hooks. #} {%- macro info_card(pac_info) -%}
{{ pac_info.display_name }}
{% if pac_info.image_url %} {% endif %} {% if pac_info.main_category %} {% for c in pac_info.pac_id.categories %} {% for k, v in c.segments_as_dict().items() %} {% if k != "key" %}
{% if k %}
{{ k }}
{% else %}
{{"No Key" }}
{% endif %}
{{ v }}
{% endif %} {% endfor %} {% endfor %} {% endif %}
{% if pac_info.safety_pictograms %} {% for p in pac_info.safety_pictograms.values() %}
{{ p.label|e }}
{{ p.label }}
{% endfor %} {% endif %}
{%- endmacro -%} {%- 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 services_table(user_handover_group) -%}
from {{ user_handover_group.origin }}
{%- for s in user_handover_group.services -%} {% include "external-link.svg" %} {{ s.service_name }} {%- endfor -%}
{%- endmacro -%} {%- macro reference_value(value) -%} {{ value }} {%- endmacro -%} {%- macro attribute_row(a) -%} {{ a.label }} {% set value = a.value %} {%- if is_image(value) -%}
{{ label|e }}
{{ label }}
{%- elif is_url(value) -%} {{ value }} {%- elif is_reference(value) -%} {{ reference_value(value)}} {%- else -%} {{ value }} {%- endif -%} {%- 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() -%}
{{ name }}
{%- for k, v in trex.items() -%} {%- endfor -%}
{{ k }} {%- if is_data_table(v) -%} {{ data_table_inline(v) }} {%- else -%} {{ v }} {%- endif -%}
{%- endfor -%}
{%- endmacro -%}