1
0
forked from ScoDoc/ScoDoc

Edit id EDT

This commit is contained in:
Sébastien Lehmann 2023-12-28 22:43:35 +01:00
parent 967c8a91c5
commit 2ac442315c
2 changed files with 75 additions and 6 deletions

View File

@ -91,9 +91,6 @@ body:not(.editionActivated) .editing {
.nonEditable .editing { .nonEditable .editing {
display: none; display: none;
} }
.nonEditable .editing.rename {
display: inline;
}
.editionActivated #zoneChoix, .editionActivated #zoneChoix,
@ -344,6 +341,7 @@ body.editionActivated .filtres>div>div>div>div {
overflow: visible; overflow: visible;
outline: none; outline: none;
border: none; border: none;
text-shadow: none !important;
} }
#zonePartitions .filtres .hidenDropZone { #zonePartitions .filtres .hidenDropZone {
@ -365,6 +363,11 @@ body.editionActivated .filtres>div>div>div>div {
box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25); box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25);
} }
#zonePartitions .filtres .actif {
background: #0c9;
border-radius: 6px;
}
body:not(.editionActivated) .filtres .groupes>div { body:not(.editionActivated) .filtres .groupes>div {
cursor: pointer; cursor: pointer;
} }

View File

@ -250,15 +250,23 @@
let div = document.createElement("button"); let div = document.createElement("button");
div.classList.add("dt-button"); div.classList.add("dt-button");
div.dataset.idgroupe = groupe.id; div.dataset.idgroupe = groupe.id;
let edt_id_str = groupe.edt_id ? `<tt class="edt_id" title="id edt">[${groupe.edt_id}]</tt>` : ""; div.dataset.idedt = groupe.edt_id || "";
let title_EDT = groupe.edt_id || "";
div.innerHTML = ` div.innerHTML = `
<span class="editing move">||</span> <span class="editing move">||</span>
<span>${groupe.group_name} ${edt_id_str}</span> <span>${groupe.group_name}</span>
<span class="editing rename"><a href="/ScoDoc/{{formsemestre.departement.acronym}}/Scolarite/group_rename?group_id=${groupe.id}">✏️</a></span> <span class="editing rename">✏️</span>
<span class="editing calendarEdit" title="${title_EDT}">📅</span>
<span class="editing suppr">❌</span>`; <span class="editing suppr">❌</span>`;
if (title_EDT) {
div.querySelector(".calendarEdit").classList.add("actif");
}
div.addEventListener("click", filtre); div.addEventListener("click", filtre);
div.querySelector(".move").addEventListener("mousedown", moveStart); div.querySelector(".move").addEventListener("mousedown", moveStart);
div.querySelector(".rename").addEventListener("click", editText);
div.querySelector(".calendarEdit").addEventListener("click", editCalendar);
div.querySelector(".suppr").addEventListener("click", suppr); div.querySelector(".suppr").addEventListener("click", suppr);
return div; return div;
@ -758,6 +766,64 @@
}) })
} }
/***********************/
/* Edition de l'id_EDT */
/***********************/
function editCalendar() {
let data = `data-idgroupe="${this.parentElement.dataset.idgroupe}"`;
let nom = this.previousElementSibling.previousElementSibling.innerText;
let id_EDT = this.parentElement.dataset.idedt;
let div = document.createElement("div");
div.className = "confirm";
div.innerHTML = `
<div>
<h1>Modifier l'id EDT du groupe <span>${nom}</span></h1>
<input value="${id_EDT}">
<p>Optionnel : identifiant du groupe dans le logiciel d'emploi du temps, pour le cas où les noms de groupes ne seraient pas les mêmes dans ScoDoc et dans l'emploi du temps (si plusieurs ids de groupes EDT doivent correspondre au même groupe ScoDoc, les séparer par des virgules).</p>
<div>
<div class="ok" ${data}>Valider</div>
<div class="nok">Annuler</div>
</div>
</div>
`;
document.body.append(div);
document.querySelector(".ok").addEventListener("click", editCalConfirm);
document.querySelector(".nok").addEventListener("click", closeConfirm);
}
function editCalConfirm() {
let idGroupe = this.dataset.idgroupe;
let id_EDT = this.parentElement.parentElement.querySelector("input").value;
let btnGroupe = document.querySelector(`#zonePartitions .groupes [data-idgroupe="${idGroupe}"]`);
btnGroupe.dataset.idedt = id_EDT;
btnGroupe.querySelector(".calendarEdit").title = id_EDT || "";
if (id_EDT) {
btnGroupe.querySelector(".calendarEdit").classList.add("actif");
} else {
btnGroupe.querySelector(".calendarEdit").classList.remove("actif");
}
//Save
let url = ""; // A MODIFIER et décommenter ci-dessous
// Dispo en variables idGroupe et id_EDT
/*fetch(url, { method: "POST" })
.then(r => { return r.json() })
.then(r => {
if (r.OK != true) {
document.querySelector("main").innerHTML = "<h2>Une erreur s'est produite lors de la sauvegarde des données (5).</h2>";
}
});*/
closeConfirm();
}
/*********************************/ /*********************************/
/* Suppression parcours / groupe */ /* Suppression parcours / groupe */
/*********************************/ /*********************************/