<li class="{{ data.method|lower }} operation">
    <div class="heading toggler">
    <h3>
        <span class="http_method">
            <a>{{ data.method|upper }}</a>
        </span>

        {% if data.https %}
            <img src="{{ asset('bundles/nelmioapidoc/image/lock.png') }}" class="icon" alt="HTTPS" />
        {% endif %}
        {% if data.authentication %}
            <img src="{{ asset('bundles/nelmioapidoc/image/keys.png') }}" class="icon" alt="Needs authentication" />
        {% endif %}

        <span class="path">
            {{ data.uri }}
        </span>
    </h3>
    <ul class="options">
        {% if data.description is defined %}
            <li>{{ data.description }}</li>
        {% endif %}
    </ul>
    </div>

    <div class="content" style="display: {% if displayContent  is defined and displayContent == true %}display{% else %}none{% endif %};">
        <ul class="tabs">
            <li class="selected" data-pane="content">Documentation</li>
            {% if enableSandbox %}
                <li data-pane="sandbox">Sandbox</li>
            {% endif %}
        </ul>

        <div class="panes">
            <div class="pane content selected">
            {% if data.documentation is defined and data.documentation is not empty %}
                <h4>Documentation</h4>
                <div>{{ data.documentation|extra_markdown }}</div>
            {% endif %}

            {% if data.requirements is defined  and data.requirements is not empty %}
                <h4>Requirements</h4>
                <table class="fullwidth">
                    <thead>
                        <tr>
                            <th>Name</th>
                            <th>Requirement</th>
                            <th>Type</th>
                            <th>Description</th>
                        </tr>
                    </thead>
                    <tbody>
                        {% for name, infos in data.requirements %}
                            <tr>
                                <td>{{ name }}</td>
                                <td>{{ infos.requirement }}</td>
                                <td>{{ infos.dataType }}</td>
                                <td>{{ infos.description }}</td>
                            </tr>
                        {% endfor %}
                    </tbody>
                </table>
            {% endif %}

            {% if data.filters is defined and data.filters is not empty %}
                <h4>Filters</h4>
                <table class="fullwidth">
                    <thead>
                        <tr>
                            <th>Name</th>
                            <th>Information</th>
                        </tr>
                    </thead>
                    <tbody>
                    {% for name, infos in data.filters %}
                        <tr>
                            <td>{{ name }}</td>
                            <td>
                                <table>
                                {% for key, value in infos %}
                                    <tr>
                                        <td>{{ key|title }}</td>
                                        <td>{{ value|json_encode|replace({'\\\\': '\\'})|trim('"') }}</td>
                                    </tr>
                                {% endfor %}
                                </table>
                            </td>
                        </tr>
                    {% endfor %}
                    </tbody>
                </table>
            {% endif %}

            {% if data.parameters is defined and data.parameters is not empty %}
                <h4>Parameters</h4>
                <table class='fullwidth'>
                    <thead>
                        <tr>
                            <th>Parameter</th>
                            <th>Type</th>
                            <th>Required?</th>
                            <th>Description</th>
                        </tr>
                    </thead>
                    <tbody>
                        {% for name, infos in data.parameters %}
                            {% if not infos.readonly %}
                                <tr>
                                    <td>{{ name }}</td>
                                    <td>{{ infos.dataType }}</td>
                                    <td>{{ infos.required ? 'true' : 'false' }}</td>
                                    <td>{{ infos.description }}</td>
                                </tr>
                            {% endif %}
                        {% endfor %}
                    </tbody>
                </table>
            {% endif %}

            {% if data.response is defined and data.response is not empty %}
                <h4>Return</h4>
                <table class='fullwidth'>
                    <thead>
                        <tr>
                            <th>Parameter</th>
                            <th>Type</th>
                            <th>Description</th>
                        </tr>
                    </thead>
                    <tbody>
                        {% for name, infos in data.response %}
                            <tr>
                                <td>{{ name }}</td>
                                <td>{{ infos.dataType }}</td>
                                <td>{{ infos.description }}</td>
                            </tr>
                        {% endfor %}
                    </tbody>
                </table>
            {% endif %}

            {% if data.statusCodes is defined and data.statusCodes is not empty %}
                <h4>Status Codes</h4>
                <table class="fullwidth">
                    <thead>
                    <tr>
                        <th>Status Code</th>
                        <th>Description</th>
                    </tr>
                    </thead>
                    <tbody>
                    {% for status_code, descriptions in data.statusCodes %}
                        <tr>
                            <td><a href="http://en.wikipedia.org/wiki/HTTP_{{ status_code }}" target="_blank">{{ status_code }}<a/></td>
                            <td>
                                <ul>
                                    {% for description in descriptions %}
                                        <li>{{ description }}</li>
                                    {%  endfor %}
                                </ul>
                            </td>
                        </tr>
                    {% endfor %}
                    </tbody>
                </table>
            {% endif %}

            </div>

            {% if enableSandbox %}
                <div class="pane sandbox">
                    <form method="{{ data.method|upper }}" action="{{ data.uri }}">
                        <fieldset class="parameters">
                            <legend>Input</legend>
                            {% if data.requirements is defined %}
                                <h4>Requirements</h4>
                                {% for name, infos in data.requirements %}
                                    <p class="tuple">
                                        <input type="text" class="key" value="{{ name }}" placeholder="Key" />
                                        <span>=</span>
                                        <input type="text" class="value" placeholder="{% if infos.description is defined %}{{ infos.description }}{% else %}Value{% endif %}" /> <span class="remove">-</span>
                                    </p>
                                {% endfor %}
                            {% endif %}
                            {% if data.filters is defined %}
                                <h4>Filters</h4>
                                {% for name, infos in data.filters %}
                                    <p class="tuple">
                                        <input type="text" class="key" value="{{ name }}" placeholder="Key" />
                                        <span>=</span>
                                        <input type="text" class="value" placeholder="{% if infos.description is defined %}{{ infos.description }}{% else %}Value{% endif %}" /> <span class="remove">-</span>
                                    </p>
                                {% endfor %}
                            {% endif %}
                            {% if data.parameters is defined %}
                                <h4>Parameters</h4>
                                {% for name, infos in data.parameters %}
                                {% if not infos.readonly %}
                                    <p class="tuple">
                                        <input type="text" class="key" value="{{ name }}" placeholder="Key" />
                                        <span>=</span>
                                        <input type="text" class="value" placeholder="{% if infos.dataType %}[{{ infos.dataType }}] {% endif %}{% if infos.description %}{{ infos.description }}{% else %}Value{% endif %}" /> <span class="remove">-</span>
                                    </p>
                                {% endif %}
                                {% endfor %}
                                <button class="add">New parameter</button>
                            {% endif %}

                        </fieldset>

                        <fieldset class="headers">
                            <legend>Headers</legend>

                            {% if acceptType %}
                                <p class="tuple">
                                    <input type="text" class="key" value="Accept" />
                                    <span>=</span>
                                    <input type="text" class="value" value="{{ acceptType }}" /> <span class="remove">-</span>
                                </p>
                            {% endif %}

                            <p class="tuple">
                                <input type="text" class="key" placeholder="Key" />
                                <span>=</span>
                                <input type="text" class="value" placeholder="Value" /> <span class="remove">-</span>
                            </p>

                            <button class="add">New header</button>
                        </fieldset>

                        <fieldset class="request-content">
                            <legend>Content</legend>

                            <textarea class="content" placeholder="Content set here will override the parameters that do not match the url"></textarea>

                            <p class="tuple">
                                <input type="text" class="key content-type" value="Content-Type" disabled="disabled" />
                                <span>=</span>
                                <input type="text" class="value" placeholder="Value" />
                                <button class="set-content-type">Set header</button> <small>Replaces header if set</small>
                            </p>
                        </fieldset>

                        <div class="buttons">
                            <input type="submit" value="Try!" />
                        </div>
                    </form>

                    <script type="text/x-tmpl" class="tuple_template">
                    <p class="tuple">
                        <input type="text" class="key" placeholder="Key" />
                        <span>=</span>
                        <input type="text" class="value" placeholder="Value" /> <span class="remove">-</span>
                    </p>
                    </script>

                    <div class="result">
                        <h4>Request URL</h4>
                        <pre class="url"></pre>

                        <h4>Response Headers&nbsp;<small>[<a href="" class="to-expand">Expand</a>]</small></h4>
                        <pre class="headers to-expand"></pre>

                        <h4>Response Body&nbsp;<small>[<a href="" class="to-raw">Raw</a>]</small></h4>
                        <pre class="response prettyprint"></pre>
                    </div>
                </div>
            {% endif %}
        </div>
    </div>
</li>