{% extends "default:row.html" %} {% macro props(exclude) %} {% for key in columns %} {% if rows[0][key] is not none and key not in ['cldf_name', 'cldf_id'] and key not in exclude %} {% endif %} {% endfor %}
{{ key }} {{ render_cell(rows[0][key], key) or rows[0][key] }}
{% endmacro %} {% macro a(id, table, label) %} {{ label }} {% endmacro %} {% macro link(id, table) %} {% for row in sql("select * from {0} where cldf_id = '{1}'".format(table, id)) %} {% if loop.first %} {{ a(row['cldf_id'], table, row['cldf_name']) }} {% endif %} {% endfor %} {% endmacro %} {% macro references(id, table) %} {% endmacro %} {% block content %} {% if (table == 'EntryTable' or table == 'SourceTable' or table == 'LanguageTable' or table == 'ParameterTable' or table == 'ExampleTable' or table == 'ValueTable') and primary_key_values %} {# Special handling for Language and Parameter "details" pages #} {% if table == 'ExampleTable' %}

Example {{ rows[0]['cldf_id'] }}

{{ link(rows[0]['cldf_languageReference'], 'LanguageTable') }}

{{ render_igt(rows[0], columns) }} {{ props(['cldf_primaryText', 'cldf_analyzedWord', 'cldf_gloss', 'cldf_translatedText', 'cldf_languageReference']) }} {% elif table == 'SourceTable' %}

Source {{ rows[0]['cldf_id'] }}

{{ render_source(rows[0], columns) }} {% elif table == 'EntryTable' %}

Dictionary entry {{ rows[0]['cldf_headword'] }}{% if rows[0]['cldf_partOfSpeech'] %} ({{ rows[0]['cldf_partOfSpeech'] }}){% endif %}

{{ link(rows[0]['cldf_languageReference'], 'LanguageTable') }}

{{ props(['cldf_languageReference']) }} {# FIXME: link senses! #} {% elif table == 'LanguageTable' %}

Language {{ rows[0]['cldf_name'] }}

{% if 'cldf_latitude' in columns and rows[0]['cldf_latitude'] %}
{{ rows[0]['cldf_latitude'] }} {{ rows[0]['cldf_longitude'] }}
{% endif %} {{ props([]) }} {% elif table == 'ParameterTable' %}

Parameter {{ rows[0]['cldf_name'] }}

{{ props([]) }} {% if 'CodeTable' in linked_tables(foreign_key_tables) %} {% for row in sql("select c.*, count(v.cldf_id) as repr from CodeTable as c, ValueTable as v where v.cldf_codeReference = c.cldf_id and c.cldf_parameterReference = '{0}' group by c.cldf_id".format(rows[0]['cldf_id'])) %} {% if loop.first %}

Codes

{% endif %} {% if loop.last %}
{{ row['cldf_name'] }} {{ row['cldf_description'] }} {{ row['repr'] }}
{% endif %} {% endfor %} {% endif %} {% elif table == 'ValueTable' %}

Value {{ rows[0]['cldf_id'] }}

{# pull in Parameter, Language, Code and Sources! #} {% if 'cldf_codeReference' in columns and rows[0]['cldf_codeReference'] %} {% endif %} {% if 'ValueTable_SourceTable' in linked_tables(foreign_key_tables) %} {% endif %}
Parameter {{ link(rows[0]['cldf_parameterReference'], 'ParameterTable') }}
Language {{ link(rows[0]['cldf_languageReference'], 'LanguageTable') }}
Code {{ link(rows[0]['cldf_codeReference'], 'CodeTable') }}
Source {{ references(rows[0]['cldf_id'], 'ValueTable') }}
{% endif %} {% if foreign_key_tables %} {% endif %} {% else %} {{ super() }} {% endif %} {% endblock %}