{# This manages paradigm layouts, which all have a table structure and are more or less simple to render. #} {%- macro full_paradigm_link() %} {%- set lemma_key = lexicon_entry|xpath('lg/l')|first|text %} {%- set lemma_pos = lexicon_entry|xpath('lg/l/@pos')|first %} {%- trans -%}Full paradigm{%- endtrans -%}  → {% endmacro -%} {% if layout %} {# when this appears the second time in the mobile style, the IDs are different #} {% set multiple_types = layout|length > 1 %} {% set use_dropdown = layout|length > 3 %} {# Construct the navigation menu when there are multiple paradigm types generated for this entry. #} {# TODO: if there are tons of tabs need a different UI, dropdown? #} {{ mobile_layout_index }} {% if multiple_types %} {% if use_dropdown %} {% else %} {% endif %} {% endif %}
{% for l in layout %} {# First tab is visible #} {%- if loop.first %} {%- set tab_class = 'tab-pane active' %} {% else %} {%- set tab_class = 'tab-pane' %} {% endif -%} {%- set layout_type = l.table.options.layout.type %} {%- set layout_desc = l.get_description(_to, _from) %}
{%- for row in l.rows -%} {% for column in row %} {% set cell_classes = false %} {% set classes = '' %} {% if column.cell.col_span %} {% set span = ' colspan="%d"' % column.cell.col_span %} {% else %} {% set span = '' %} {% endif %} {% if column.cell.header or column.cell.horizontal_line %} {% set cell_type = 'th' %} {% else %} {% set cell_type = 'td' %} {% endif %} {% if column.cell.text_align %} {% set _style_css = 'text-align:%s;' % column.cell.text_align %} {% set style = ' style="%s"' % _style_css %} {% elif column.cell.horizontal_line %} {% set cell_classes = 'horizontal-line' %} {% else %} {% set style = '' %} {% endif %} {% if column.cell.internationalize %} {% set cell_value = column.value|tagfilter_generation(_from, _to) %} {% else %} {% set cell_value = column.value %} {% endif %} {% if cell_classes %} {% set classes = " class='%s'" % cell_classes %} {% endif %} <{{ cell_type }}{{ span }}{{ style }}{{ classes }}>{{ cell_value }} {% endfor %} {% endfor %}
{% if layout_desc %}

{{ layout_desc }}

{% endif %} {{ full_paradigm_link() }}
{% endfor %}
{% endif %} {# vim: set ts=4 sw=4 tw=72 syntax=jinja : #}