{% extends "layout/layout.twig" %}
{% from "macros.twig" import class_link, namespace_link, method_link, property_link %}
{% block title %}Index | {{ parent() }}{% endblock %}
{% block body_class 'doc-index' %}

{% block page_content %}

    <div class="page-header">
        <h1>Index</h1>
    </div>

    <ul class="pagination">
        {% for letter in 'A'..'Z' %}
            {% if items[letter] is defined and items[letter]|length > 1 %}
                <li class="page-item">
                    <a href="#letter{{ letter|raw }}" class="page-link">
                        {{ letter|raw }}
                    </a>
                </li>
            {% else %}
                <li class="page-item disabled">
                    <a href="#letter{{ letter|raw }}" class="page-link">
                        {{ letter|raw }}
                    </a>
                </li>
            {% endif %}
        {% endfor %}
    </ul>

    {% for letter, elements in items -%}
        <h2 id="letter{{ letter|raw }}">{{ letter|raw }}</h2>
        <dl id="index">
            {%- for element in elements %}
                {%- set type = element[0] %}
                {%- set value = element[1] %}
                {%- if 'class' == type -%}
                    <dt>{{ class_link(value) }}{% if has_namespaces %} &mdash; <em>Class in
                            namespace {{ namespace_link(value.namespace) }}{% endif %}</em></dt>
                    <dd>{{ value.shortdesc|desc(value) }}</dd>
                {%- elseif 'method' == type -%}
                    <dt>{{ method_link(value) }}() &mdash; <em>Method in class {{ class_link(value.class) }}</em></dt>
                    <dd>{{ value.shortdesc|desc(value.class) }}</dd>
                {%- elseif 'property' == type -%}
                    <dt>${{ property_link(value) }} &mdash; <em>Property in class {{ class_link(value.class) }}</em>
                    </dt>
                    <dd>{{ value.shortdesc|desc(value.class) }}</dd>
                {%- endif %}
            {%- endfor %}
        </dl>
    {%- endfor %}
{% endblock %}
