diff options
Diffstat (limited to 'Static/Js')
| -rw-r--r-- | Static/Js/index.js | 6 | ||||
| -rw-r--r-- | Static/Js/main.js | 12 | ||||
| -rw-r--r-- | Static/Js/message.js | 11 | ||||
| -rw-r--r-- | Static/Js/notification.js | 18 | ||||
| -rw-r--r-- | Static/Js/register.js | 64 | ||||
| -rw-r--r-- | Static/Js/userinfo.js | 2 |
6 files changed, 83 insertions, 30 deletions
diff --git a/Static/Js/index.js b/Static/Js/index.js index 31ee34f..0f15b3d 100644 --- a/Static/Js/index.js +++ b/Static/Js/index.js @@ -5,11 +5,13 @@ // # # // ############################################################################ + // **************************************************************************** // SLIDESHOW // **************************************************************************** // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters -function slideshow_start(slideNumber = 1) { +function slideshow_start() { + let slideNumber = 1; let images = [ "/Media/Images/slide0.jpg", "/Media/Images/slide1.jpg", @@ -18,7 +20,7 @@ function slideshow_start(slideNumber = 1) { setInterval(() => { // Changement de l'image de fond de de la div - document.getElementById("secSlides").style.backgroundImage = `url("${images[slideNumber]}")`; + document.getElementById("secSlides").style.backgroundImage = "url(" + images[slideNumber] + ")"; // Utilisation de ternary, utilisation: condition ? Sivrai : Sifaux // Untoggle les précedents document.getElementById(`slide_${slideNumber !== 0 ? slideNumber - 1 : images.length - 1}`).classList.toggle("show_block"); diff --git a/Static/Js/main.js b/Static/Js/main.js index 3a6c3e5..84f7151 100644 --- a/Static/Js/main.js +++ b/Static/Js/main.js @@ -12,6 +12,7 @@ // **************************************************************************** // CHANGEMENT DE LANGUE // **************************************************************************** +// https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener document.getElementById("navSelLang").addEventListener("change", () => { document.getElementById("navFormLang").submit(); }); @@ -21,8 +22,11 @@ document.getElementById("navSelLang").addEventListener("change", () => { // TOGGLE UNE CLASSE SUR UN ELEMENT PARMIS PLUSIEURS IDENTIQUES // **************************************************************************** function show(parentId, element, id, className) { + // Récupération des tags dans l'élément parent (souvent table dans main) let elements = document.getElementById(parentId).getElementsByTagName(element); + // Rajout de la classe pour l'élément avec l'id donné elements[id].classList.add(className); + // Suppression de cette même classe pour les autres tags for (i = 0; i < elements.length; i++) { if (elements[i].id !== id) { elements[i].classList.remove(className); @@ -39,3 +43,11 @@ function showNavButtons() { // first-child à chaque fois document.getElementsByTagName("header")[0].getElementsByTagName("a")[0].getElementsByTagName("i")[0].classList.toggle("navLinkClicked") } + + +// **************************************************************************** +// REDIRECTION +// **************************************************************************** +function redirect(page) { + window.location.href = `/${page}.php`; +} diff --git a/Static/Js/message.js b/Static/Js/message.js index 06ba511..8043a67 100644 --- a/Static/Js/message.js +++ b/Static/Js/message.js @@ -7,13 +7,6 @@ // **************************************************************************** -// REDIRECTION -// **************************************************************************** -function redirect(page) { - window.location.href = `/${page}.php`; -} - -// **************************************************************************** // DECLENCHEMENT DU TIMER POUR UNE REDIRECTION // **************************************************************************** function start_timer(page) { @@ -21,10 +14,10 @@ function start_timer(page) { let text = document.getElementById("redirect").innerHTML; setInterval(() => { if (seconds > 0) { - document.getElementById("redirect").innerHTML = `${text} ${seconds} .`; + document.getElementById("redirect").innerHTML = text + seconds + " ."; seconds --; } else { - document.getElementById("redirect").innerHTML = `${text} ${seconds} .`; + document.getElementById("redirect").innerHTML = text + seconds + " ."; redirect(page); } }, diff --git a/Static/Js/notification.js b/Static/Js/notification.js new file mode 100644 index 0000000..c15760a --- /dev/null +++ b/Static/Js/notification.js @@ -0,0 +1,18 @@ + +// ############################################################################ +// # # +// # Description: JS utile sur la page des messages # +// # # +// ############################################################################ + + +// Ajout de la class show_notif pour faire disparaitre ou apparaitre la bulle de notification +function toggle_notif() { + document.getElementById("notif").classList.toggle("show_notif"); +} + +// Timeout pour ne pas non plus agressé le client +setTimeout(() => { + toggle_notif() + } +, 1500) diff --git a/Static/Js/register.js b/Static/Js/register.js index c751b77..b22f4de 100644 --- a/Static/Js/register.js +++ b/Static/Js/register.js @@ -5,12 +5,38 @@ // # # // ############################################################################ -// Regex pour vérifier la validité du mdp -const numb = new RegExp(/[0-9]/) -const upper = new RegExp(/[A-Z]/) -const special = new RegExp(/[`!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~µ°€£]/) -function is_valid(condition, element) { +// Num - N'importe quel chiffre entre 0 et 9 [0-9] +// Upper - N'importe quel lettre majuscule entre A et Z [A-Z] +// Spe - N'importe quel symbole présent entre les deux brackets [`!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~µ°€£] +// Email - ^ -> Debut de la ligne obligatoire, doit contenir entre premiers brackets "[a-z]" "[0-9]" ou _, -, . +// Ensuite il doit y avoir un @ et une suite de charcactère sans charactère speciaux "+@[a-zA-Z0-9-]" +// et pour finir l'extension "+.[a-z]", "+$" pour la fin de la ligne. +const regNum = new RegExp(/[0-9]/); +const regUpper = new RegExp(/[A-Z]/); +const regSpecial = new RegExp(/[`!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~µ°€£]/); +const regEmail = new RegExp(/^[a-z0-9._-]+@[a-z0-9-]+.[a-z]+$/) + +// Initialisation des variables +let validEmail; +let validNumb; +let validUpper; +let validSpecial; +let validLength; + +function valid_all() { + let submitButton = document.getElementById("submit"); + // Si tout est validé on active le button sumbit + if (validLength && validUpper && validNumb && validSpecial && validEmail) { + submitButton.classList.remove("deactivate"); + submitButton.disabled = false; + } else { + submitButton.classList.add("deactivate"); + submitButton.disabled = true; + } +} + +function valid_reg(condition, element) { // Si la regex est bonne on selectionne la class css pour l'afficher if (condition) { document.getElementById(element).classList.remove("invalid"); @@ -23,21 +49,21 @@ function is_valid(condition, element) { } } +function check_email() { + // On récupère l'email par id dans la page et on test notre regex + let email = document.getElementById("email").value; + validEmail = valid_reg(regEmail.test(email), "mailNotice"); + + valid_all(); +} + function check_pass() { - // On récupère les éléments dans la page et on test nos regex sur le mdp + // On récupère la valeur par id du mdp dans la page et on test nos regex let pass = document.getElementById("password").value; - let submitButton = document.getElementById("submit"); - let validNumb = is_valid(numb.test(pass), "passNumb"); - let validUpper = is_valid(upper.test(pass), "passUpper"); - let validSpecial = is_valid(special.test(pass), "passSpecial"); - let validLength = is_valid((pass.length >= 8), "passLength"); + validNumb = valid_reg(regNum.test(pass), "passNumb"); + validUpper = valid_reg(regUpper.test(pass), "passUpper"); + validSpecial = valid_reg(regSpecial.test(pass), "passSpecial"); + validLength = valid_reg((pass.length >= 8), "passLength"); - // Si tout est validé on active le button sumbit - if (validLength && validUpper && validNumb && validSpecial) { - submitButton.classList.remove("deactivate"); - submitButton.disabled = false; - } else { - submitButton.classList.add("deactivate"); - submitButton.disabled = true; - } + valid_all(); }
\ No newline at end of file diff --git a/Static/Js/userinfo.js b/Static/Js/userinfo.js index 8f1e239..460c91b 100644 --- a/Static/Js/userinfo.js +++ b/Static/Js/userinfo.js @@ -4,6 +4,7 @@ // # 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 @@ -14,6 +15,7 @@ // https://www.w3docs.com/snippets/javascript/how-to-remove-an-element-from-an-array-in-javascript.html // On passe par du JSON pour passer la liste des emplois du pro + // **************************************************************************** // GESTION AJOUT/SUPPRESSION D'UN EMPLOI ET PASSAGE A L'INPUT // DES VALEURS SELECTIONNEES |
