{# purpose of this template: build the form to edit an instance of route #}
{% set baseTemplate = app.request.query.getBoolean('raw', false) ? 'raw' : (routeArea == 'admin' ? 'adminBase' : 'base') %}
{% extends '@ZikulaRoutesModule/' ~ baseTemplate ~ '.html.twig' %}
{% block title mode == 'create' ? 'Create route'|trans : 'Edit route'|trans %}
{% block admin_page_icon mode == 'create' ? 'plus' : 'edit' %}
{% block content %}
    <div class="zikularoutesmodule-route zikularoutesmodule-edit">
        {% form_theme form with [
            '@ZikulaRoutesModule/Form/bootstrap_4.html.twig',
            '@ZikulaFormExtension/Form/form_div_layout.html.twig'
        ] only %}
        {{ form_start(form, {attr: {id: 'routeEditForm', class: 'zikularoutes-edit-form'}}) }}
        {{ form_errors(form) }}
        <fieldset>
            <legend>{% trans %}Basic settings{% endtrans %}</legend>
            {{ form_row(form.bundle) }}
            {{ form_row(form.controller) }}
            {{ form_row(form.action) }}
            {{ form_row(form.path) }}
            {{ form_row(form.description) }}
            <div class="d-none">
                {{ form_row(form.sort) }}
            </div>
            {{ form_row(form.prependBundlePrefix) }}
            {{ form_row(form.translatable) }}
            {{ form_row(form.translationPrefix) }}
        </fieldset>
        <fieldset>
            <legend>{% trans %}Route scope{% endtrans %}</legend>
            {{ form_row(form.schemes) }}
            {{ form_row(form.methods) }}
        </fieldset>
        <fieldset>
            <legend>{% trans %}Parameter settings{% endtrans %}</legend>
            {{ form_row(form.defaults, {help: 'Enter one entry per line, use <code>key:value</code> syntax.'|trans, help_html: true}) }}
            {{ form_row(form.requirements, {help: 'Enter one entry per line, use <code>key:value</code> syntax.'|trans, help_html: true}) }}
            {{ form_row(form.options, {help: 'Enter one entry per line, use <code>key:value</code> syntax.'|trans, help_html: true}) }}
        </fieldset>
        <fieldset>
            <legend>{% trans %}Advanced settings{% endtrans %}</legend>
            {{ form_row(form.host) }}
            {{ form_row(form.condition) }}
        </fieldset>

        {% if mode != 'create' %}
            {{ include('@ZikulaRoutesModule/Helper/includeStandardFieldsEdit.html.twig', {obj: route}) }}
        {% endif %}

        {% if form.moderationSpecificCreator is defined or form.moderationSpecificCreationDate is defined %}
            <fieldset id="moderationFieldsSection">
                <legend>{% trans %}Moderation{% endtrans %} <i class="fas fa-expand"></i></legend>
                <div id="moderationFieldsContent">
                    {% if form.moderationSpecificCreator is defined %}
                        {{ form_row(form.moderationSpecificCreator) }}
                    {% endif %}
                    {% if form.moderationSpecificCreationDate is defined %}
                        {{ form_row(form.moderationSpecificCreationDate) }}
                    {% endif %}
                </div>
            </fieldset>
        {% endif %}


        {# include possible submit actions #}
        <div class="form-group form-buttons row">
            <div class="col-md-9 offset-md-3">
                {% for action in actions %}
                    {{ form_widget(attribute(form, action.id)) }}
                    {% if mode == 'create' and action.id == 'submit' and form.submitrepeat is defined %}
                        {{ form_widget(attribute(form, 'submitrepeat')) }}
                    {% endif %}
                {% endfor %}
                {{ form_widget(form.reset) }}
                {{ form_widget(form.cancel) }}
            </div>
        </div>
        {{ form_end(form) }}
    </div>
{% endblock %}
{% block footer %}
    {{ parent() }}
    {{ pageAddAsset('javascript', zasset('@ZikulaRoutesModule:js/ZikulaRoutesModule.Validation.js'), 98) }}
    {{ pageAddAsset('javascript', zasset('@ZikulaRoutesModule:js/ZikulaRoutesModule.EditFunctions.js'), 99) }}
    {{ pageAddAsset('javascript', zasset('@ZikulaRoutesModule:js/ZikulaRoutesModule.Edit.PathPrefix.js'), 99) }}
    <div id="formEditingDefinition" data-mode="{{ mode|e('html_attr') }}" data-entityid="{% if mode != 'create' %}{{ route.id|e('html_attr') }}{% endif %}"></div>
    {% if form.moderationSpecificCreator is defined %}
        <div class="field-editing-definition" data-field-type="user" data-field-name="zikularoutesmodule_route_moderationSpecificCreator"></div>
    {% endif %}
    <div id="pathPrefixInfo" data-base-url="{{ app.request.baseUrl|e('html_attr') }}" data-module-url-names="{{ moduleUrlNames|json_encode|e('html_attr') }}"></div>
{% endblock %}
