{#

    - TODO : revoir le fonctionnement de cette page (trop lente / complexe)
    - Utiliser majoritairement du python
 #}

{% extends "sco_page.j2" %}

{% block styles %}
    {{ super() }}
    <link rel="stylesheet" href="{{scu.STATIC_DIR}}/css/assiduites.css">
{% endblock styles %}

{% block title %}
    {{title}}
{% endblock title %}

{% block app_content %}

{% include "assiduites/widgets/alert.j2" %}
{% include "assiduites/widgets/prompt.j2" %}
{% include "assiduites/widgets/conflict.j2" %}
{% include "assiduites/widgets/toast.j2" %}
<script src="{{scu.STATIC_DIR}}/js/date_utils.js"></script>

<h2>Signalement différé de l'assiduité {{gr |safe}}</h2>

<div class="ue_warning">Attention, cette page utilise des couleurs et conventions différentes
        de celles des autres pages ScoDoc: elle sera prochainement modifée, merci de votre patience.
        </div>

<h3>{{sem | safe }}</h3>

{{diff | safe}}

<div class="help">
    <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 d'assiduité 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>
{% endblock app_content %}


{% block scripts %}
    {{ super() }}
    <script src="{{scu.STATIC_DIR}}/js/etud_info.js"></script>
    <script src="{{scu.STATIC_DIR}}/js/assiduites.js"></script>
    <script>
    const etudsDefDem = {{ defdem  | safe }}

    const timeMorning = "{{ timeMorning | safe}}";
    const timeNoon = "{{ timeNoon | safe}}";
    const timeEvening = "{{ timeEvening | safe}}";

    const defaultDates = {{ defaultDates | safe }}
    const nonWorkDays = [{{ nonworkdays| safe }}];


    window.addEventListener('load', () => {
        [...document.querySelectorAll('.tr[etudid]')].forEach((a) => {
            try {
                if (a.getAttribute("etudid") in etudsDefDem) {
                    defdem = etudsDefDem[a.getAttribute("etudid")] == "D" ? "dem" : "def";
                    a.classList.add(defdem);
                }
            } catch (_) { }
        });

        if (defaultDates != null) {
            defaultDates.forEach((dateString) => {

                d = new Date(dateString);

                if (isNonWorkDay(d, nonWorkDays)) return;

                matin = `${dateString}T${timeMorning}`;
                midi = `${dateString}T${timeNoon}`;
                soir = `${dateString}T${timeEvening}`;

                console.log(matin, midi, soir)

                createColumn(matin, midi);
                createColumn(midi, soir);
            });

            updateAllCol();
        } else {
            createColumn();
        }
    })
</script>
{% endblock scripts %}