{# -*- mode: jinja-html -*- #}
{% include "assiduites/widgets/toast.j2" %}
{% include "assiduites/widgets/alert.j2" %}
{% include "assiduites/widgets/prompt.j2" %}
{% include "assiduites/widgets/conflict.j2" %}
<div id="page-assiduite-content">
    {% block content %}
    <h2>Signalement de l'assiduité de <span class="rouge">{{sco.etud.nomprenom}}</span></h2>

    <div class="infos">
        Date: <span id="datestr"></span>
        <input type="text" class="datepicker" name="tl_date" id="tl_date" value="{{ date }}">
    </div>

    {{timeline|safe}}


    <div>
        {% include "assiduites/widgets/moduleimpl_dynamic_selector.j2" %}
        <button class="btn" onclick="fastJustify(getCurrentAssiduite(etudid))" id="justif-rapide">Justifier</button>
    </div>

    <div class="btn_group">
        <button class="btn" onclick="setTimeLineTimes({{morning}},{{afternoon}})">Journée</button>
        <button class="btn" onclick="setTimeLineTimes({{morning}},{{lunch}})">Matin</button>
        <button class="btn" onclick="setTimeLineTimes({{lunch}},{{afternoon}})">Après-midi</button>
    </div>

    <div class="etud_holder">
        <div id="etud_row_{{sco.etud.id}}">
            <div class="index"></div>
        </div>
    </div>
    <hr>

    {% if saisie_eval %}
    <div id="saisie_eval">
        <br>
        <h3>
            La saisie de l'assiduité a été préconfigurée en fonction de l'évaluation. <br>
            Une fois la saisie finie, cliquez sur le lien si dessous pour revenir sur la gestion de l'évaluation
        </h3>
        <a href="{{redirect_url}}">retourner sur la page de l'évaluation</a>
    </div>
    {% endif %}

    {{diff | safe}}

    <div class="legende">
        <h3>Explication de la timeline</h3>
        <p>
            Si la période indiquée par la timeline provoque un conflit d'assiduité pour un étudiant sa ligne deviendra
            rouge.
            <br>
            Dans ce cas il faut résoudre manuellement le conflit : cliquez sur un des boutons d'assiduités pour ouvrir
            le
            résolveur de conflit.
            <br>
            Correspondance des couleurs :
        </p>
        <ul>
            {% include "assiduites/widgets/legende_couleur.j2" %}
        </ul>

        <p>Vous pouvez justifier rapidement une assiduité en saisisant l'assiduité puis en appuyant sur "Justifier"</p>

        <h3>Explication de la saisie différée</h3>
        <p>Si la colonne n'est pas valide elle sera affichée en rouge, passez le curseur sur la colonne pour afficher
            le message d'erreur</p>
        <p>Sélectionner la date de début de la colonne mettra automatiquement la date de fin à la durée d'une séance
            (préférence de département)</p>
        <p>Modifier le module alors que des informations sont déjà enregistrées pour la période changera leur
            module.</p>
        <p>Il y a 4 boutons sur la colonne permettant d'enregistrer l'information pour tous les étudiants</p>
        <p>Le dernier des boutons retire l'information présente.</p>
        <p>Vous pouvez ajouter des colonnes en appuyant sur le bouton + </p>
        <p>Vous pouvez supprimer une colonne en appuyant sur la croix qui se situe dans le coin haut droit de la
            colonne.
        </p>
    </div>


    <!-- Ajout d'un conteneur pour le loader -->
    <div class="loader-container" id="loaderContainer">
        <div class="loader"></div>
    </div>



    <script>
        const etudid = {{ sco.etud.id }};
        const nonWorkDays = [{{ nonworkdays| safe }}];

        setupDate(() => {
            if (updateDate()) {
                actualizeEtud(etudid);
                updateSelect();
                updateSelectedSelect(getCurrentAssiduiteModuleImplId());
                onlyAbs();
            }
        });


        setupTimeLine(() => {
            updateJustifyBtn();
        });

        window.addEventListener("DOMContentLoaded", () => {
            updateDate();
            getSingleEtud(etudid);
            actualizeEtud(etudid);
            updateSelect()
            updateJustifyBtn();
        })


        function setTimeLineTimes(a, b) {
            setPeriodValues(a, b);
            updateJustifyBtn();
        }

        window.forceModule = "{{ forcer_module }}"
        window.forceModule = window.forceModule == "True" ? true : false

        const date_deb = "{{date_deb}}";
        const date_fin = "{{date_fin}}";

        {% if saisie_eval %}
        createColumn(
            date_deb,
            date_fin,
            {{ moduleimpl_id }}
        );
        window.location.href = "#saisie_eval"
        getAndUpdateCol(1)
        {% else %}
        createColumn();
        {% endif %}

    </script>


    <style>
        .justifie {
            background-color: rgb(104, 104, 252);
            color: whitesmoke;
        }

        fieldset {
            outline: none;
            border: none;
        }
    </style>

    {% endblock %}

</div>