summaryrefslogtreecommitdiff
path: root/Static/Js/userinfo.js
diff options
context:
space:
mode:
Diffstat (limited to 'Static/Js/userinfo.js')
-rw-r--r--Static/Js/userinfo.js37
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
+}