{% set languages = view.languages %}

{{ t("definition.title") }}

{{ t("definition.summary", cabinets=view.cabinets|length, types=view.type_count, fields=view.field_count) }} {{ t("definition.version", version=view.version, created=view.created) }} asobjdef.xml

{{ t("definition.no_matches") }}

{% for cabinet in view.cabinets %} {% set cabinet_id = "def-cabinet-" ~ loop.index %}

{{ cabinet.name }} {{ cabinet.internal_name }} {{ t("definition.object_count", n=cabinet.types|length) }}

{% for lang in languages %} {% endfor %} {% for type in cabinet.types %} {% set body_id = "def-fields-" ~ type.type_id %} {% for lang in languages %} {% endfor %} {% endfor %}
{{ t("definition.col_type") }} {{ t("definition.col_internal") }}{{ lang.name }}{% if lang.name != lang.iso_code %} ({{ lang.iso_code }}){% endif %}
{% if type.icon_id %} {% else %} {% endif %} {{ t("definition.kind." ~ type.kind) }} {% if type.kind == "document" %} {{ t("definition.maintype." ~ type.maintype|lower) }} {% endif %} {{ type.internal_name }}{{ type.names.get(lang.iso_code, "") }}
{% for key, value in type.properties %} {{ t("definition.prop." ~ key) }} {% if value is boolean %} {{ t("definition.yes") if value else t("definition.no") }} {% else %} {{ value }} {% endif %} {% endfor %}
{% if type.fields %} {% for lang in languages %} {% endfor %} {#- Kept compact: a large system renders a few thousand of these rows, and the detail row is added by definition.js only when a field is unfolded. -#} {%- for f in type.fields %} {% for lang in languages %}{% endfor %} {%- endfor %}
{{ t("definition.col_internal") }} {{ t("definition.col_type") }} {{ t("definition.col_db") }} {{ t("definition.col_page") }}{{ lang.name }}{{ t("definition.col_flags") }}
{{ f.internal_name }}{{ f.type_label }}{{ f.db_column }}{{ f.page }}{{ f.names.get(lang.iso_code, "") }}{% if f.required %}{{ t("definition.flag.required") }}{% endif %} {%- if f.key_field %}{{ t("definition.flag.key") }}{% endif %} {%- if f.readonly %}{{ t("definition.flag.readonly") }}{% endif %} {%- if f.is_table %}{{ t("definition.flag.table") }}{% endif %} {%- if f.is_layout %}{{ t("definition.flag.layout") }}{% endif %}
{% else %}

{{ t("definition.no_fields") }}

{% endif %}
{% endfor %}