1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
| export const agendaSemaine = () => {
//Initialisation du filtre par semaine (Fetch)
const rechercherParSemaine = async (dateDebutSemaine, dateFinSemaine) => {
const formData = new FormData();
//Envoi des dates par formulaire
formData.append("inputDebutSemaine", dateDebutSemaine);
formData.append("inputFinSemaine", dateFinSemaine);
for (let item of formData) {
console.log(item[0], item[1]);
}
const reponse = await fetch("/admin/rendez-vous/agenda-semaine-contenu", {
method: "POST",
body: formData,
cache: "no-cache",
headers: { "X-Requested-With": "XMLHttpRequest" },
})
.then((response) => response.json())
.then((data) => {
const contenuSemaine = document.getElementById("contenu-semaine");
contenuSemaine.innerHTML = data.content;
obtenirJoursSemaine();
})
.catch((error) => alert("Erreur " + error));
return reponse;
};
//Initialisation avec données de la semaine active
const initialiserAgenda = () => {
const inputDebutSemaine = document.querySelector("#inputDebutSemaine");
const inputFinSemaine = document.querySelector("#inputFinSemaine");
const btnAvance = document.querySelector("#btn-avanceSemaine");
const btnRecul = document.querySelector("#btn-reculSemaine");
//Recherche des jours de début et fin pour filtre agenda semaine
const ajd = new Date();
const dateDebutSemaineDefaut = new Date(
new Date(ajd).setDate(
ajd.getDate() - (ajd.getDay() == 0 ? 6 : ajd.getDay() - 1)
)
);
const dateFinSemaineDefaut = new Date(ajd.setDate(ajd.getDate() + 6));
//Initialisation des champs date début et fin avec les dates de semaine active
inputDebutSemaine.value = dateDebutSemaineDefaut
.toISOString()
.split("T")[0];
inputFinSemaine.value = dateFinSemaineDefaut.toISOString().split("T")[0];
//Reculer d'une semaine à l'appui sur bouton
btnRecul.addEventListener("click", () => {
semaineAnterieure();
obtenirJoursSemaine();
rechercherParSemaine(inputDebutSemaine.value, inputFinSemaine.value);
});
//Avancer d'une semaine à l'appui sur bouton
btnAvance.addEventListener("click", () => {
semaineSuivante();
obtenirJoursSemaine();
rechercherParSemaine(inputDebutSemaine.value, inputFinSemaine.value);
});
};
//Initialiser agenda à l'ouverture de la page
initialiserAgenda();
rechercherParSemaine(inputDebutSemaine.value, inputFinSemaine.value);
};
//Créer la liste des colonnes de dates de jours pour la semaine active
const obtenirJoursSemaine = () => {
const options = { year: "numeric", month: "long", day: "numeric" };
const titreLundi = document.querySelector(".titre-lundi");
const titreMardi = document.querySelector(".titre-mardi");
const titreMercredi = document.querySelector(".titre-mercredi");
const titreJeudi = document.querySelector(".titre-jeudi");
const titreVendredi = document.querySelector(".titre-vendredi");
const titreSamedi = document.querySelector(".titre-samedi");
const titreDimanche = document.querySelector(".titre-dimanche");
let dateLundi = new Date(inputDebutSemaine.value);
titreLundi.textContent =
"Lundi " + dateLundi.toLocaleDateString("fr-FR", options);
let dateMardi = new Date();
dateMardi.setDate(dateLundi.getDate() + 1);
titreMardi.textContent =
"Mardi " + dateMardi.toLocaleDateString("fr-FR", options);
let dateMercredi = new Date();
dateMercredi.setDate(dateLundi.getDate() + 2);
titreMercredi.textContent =
"Mercredi " + dateMercredi.toLocaleDateString("fr-FR", options);
let dateJeudi = new Date();
dateJeudi.setDate(dateLundi.getDate() + 3);
titreJeudi.textContent =
"Jeudi " + dateJeudi.toLocaleDateString("fr-FR", options);
let dateVendredi = new Date();
dateVendredi.setDate(dateLundi.getDate() + 4);
titreVendredi.textContent =
"Vendredi " + dateVendredi.toLocaleDateString("fr-FR", options);
let dateSamedi = new Date();
dateSamedi.setDate(dateLundi.getDate() + 5);
titreSamedi.textContent =
"Samedi " + dateSamedi.toLocaleDateString("fr-FR", options);
let dateDimanche = new Date();
dateDimanche.setDate(dateLundi.getDate() + 6);
titreDimanche.textContent =
"Dimanche " + dateDimanche.toLocaleDateString("fr-FR", options);
};
const semaineAnterieure = () => {
//Recul d'une semaine
let dateDebut = new Date(inputDebutSemaine.value);
let debutSemaineRecul = new Date(dateDebut.setDate(dateDebut.getDate() - 7));
let dateFin = new Date(inputFinSemaine.value);
let finSemaineRecul = new Date(dateFin.setDate(dateFin.getDate() - 7));
inputDebutSemaine.value = debutSemaineRecul.toISOString().split("T")[0];
inputFinSemaine.value = finSemaineRecul.toISOString().split("T")[0];
};
const semaineSuivante = () => {
//Avance d'une semaine
let dateDebut = new Date(inputDebutSemaine.value);
let debutSemaineAvance = new Date(dateDebut.setDate(dateDebut.getDate() + 7));
let dateFin = new Date(inputFinSemaine.value);
let finSemaineAvance = new Date(dateFin.setDate(dateFin.getDate() + 7));
inputDebutSemaine.value = debutSemaineAvance.toISOString().split("T")[0];
inputFinSemaine.value = finSemaineAvance.toISOString().split("T")[0];
}; |
Partager