diff options
Diffstat (limited to 'Static/Js/userinfo.js')
| -rw-r--r-- | Static/Js/userinfo.js | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/Static/Js/userinfo.js b/Static/Js/userinfo.js index 29c92d0..8f1e239 100644 --- a/Static/Js/userinfo.js +++ b/Static/Js/userinfo.js @@ -1,7 +1,9 @@ -// **************************************************************************** -// USERINFO -// **************************************************************************** +// ############################################################################ +// # # +// # Description: JS utile sur la page user infos # +// # # +// ############################################################################ // Mes sources pour créer cette partie: // https://stackoverflow.com/questions/1085801/get-selected-value-in-dropdown-list-using-javascript // https://stackoverflow.com/questions/47951287/dynamically-add-li-to-ul-javascript @@ -13,21 +15,17 @@ // On passe par du JSON pour passer la liste des emplois du pro // **************************************************************************** -// GLOBAL -// **************************************************************************** -var payload = []; - -// **************************************************************************** -// FONCTIONS PRINCIPALES +// GESTION AJOUT/SUPPRESSION D'UN EMPLOI ET PASSAGE A L'INPUT +// DES VALEURS SELECTIONNEES // **************************************************************************** +var payload = []; -// TODO: Revoir les commentaires // Initiation function init() { // Récupération des emplois déja présent let jobs = document.getElementsByClassName("jobsListElem"); - // Pour chaque emploi disponible + // Pour chaque emploi disponible récupération de sa valeur for (i = 0; i < jobs.length; i ++) { if (jobs[i].getAttribute("data-value") !== "") { payload.push(jobs[i].getAttribute("data-value")); @@ -42,28 +40,29 @@ function init() { // Ajout d'un emploi function add() { - // Récupération du nom du choix dans le "select" des emplois + // Récupération du nom et de la valeur du choix dans le "select" des emplois let jobName = document.getElementById("jobsSel").options[jobsSel.selectedIndex].text; let jobValue = document.getElementById("jobsSel").options[jobsSel.selectedIndex].value; - // Si l'emploi n'est pas deja dans "payload" - // et si il fait bien partie du dictionnaire de tous les emplois + // Si l'emploi n'est pas deja dans "payload" et que sa valeur est non nul (choix par défaut) if (!payload.includes(jobValue) && jobValue !== "") { // Ajout à payload payload.push(jobValue); - // Création, configuration et ajout du nouveau "li" + // Création, configuration et ajout d'une nouvelle div pour l'emploi choisi + // Création du "i" let i = document.createElement("i"); i.className = "fas fa-ban"; - + // Création, configuration de la div et ajout du "i" let div = document.createElement("div"); div.className = "jobsListElem"; div.dataset.value = jobValue; div.onclick = (ptrEvent) => {remove(ptrEvent)}; div.appendChild(document.createTextNode(jobName)); div.appendChild(i); - + // Enfin, ajout au document document.getElementById("jobsListGrid").appendChild(div); + // Transformation de la liste des emplois choisis en JSON // et inscription de ce dernier dans la "value" de l'input "jobs". document.getElementById("jobs").value = JSON.stringify(payload); @@ -73,9 +72,11 @@ function add() { function remove(ptrEvent) { // Suppression de l'emploi dans "payload" payload.splice(payload.indexOf(ptrEvent.srcElement.getAttribute("data-value")), 1); + // Suppression du "div" de l'emploi document.getElementById("jobsListGrid").removeChild(ptrEvent.srcElement); + // Transformation de la liste des emplois choisis en JSON // et inscription de ce dernier dans la "value" de l'input "jobs". document.getElementById("jobs").value = JSON.stringify(payload); -}
\ No newline at end of file +} |
