From 588c4ceb78fae443ca8f9446d256f5474a3bf66a Mon Sep 17 00:00:00 2001 From: Debulois Date: Sat, 7 May 2022 12:23:11 +0200 Subject: Ré-écriture du JS pour le rendre CSP compliant MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Static/Js/main.js | 82 +++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 64 insertions(+), 18 deletions(-) (limited to 'Static/Js/main.js') diff --git a/Static/Js/main.js b/Static/Js/main.js index ca07988..33752de 100644 --- a/Static/Js/main.js +++ b/Static/Js/main.js @@ -9,21 +9,12 @@ // https://stackoverflow.com/ -// **************************************************************************** -// CHANGEMENT DE LANGUE -// **************************************************************************** -// https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener -document.getElementById("navSelLang").addEventListener("change", () => { - document.getElementById("navFormLang").submit(); -}); - - // **************************************************************************** // TOGGLE UNE CLASSE SUR UN ELEMENT PARMIS PLUSIEURS IDENTIQUES // **************************************************************************** -function show(parentId, element, id, className) { +function show(parentId, id, className) { // Récupération des tags dans l'élément parent (souvent table dans main) - let elements = document.getElementById(parentId).getElementsByTagName(element); + let elements = document.getElementById(parentId).getElementsByTagName("section"); // 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 @@ -34,14 +25,44 @@ function show(parentId, element, id, className) { } } +// On essaie de récupérer les tags main des pages admin & mes missions +let mainAdmin = document.getElementById("mainAdmin"); +let mainMyMission = document.getElementById("mainMyMission"); -// **************************************************************************** -// AFFICHER LA BAR DE NAVIGATION -// **************************************************************************** -function showNavButtons() { - document.getElementsByTagName("nav")[0].classList.toggle("showNav") - // first-child à chaque fois - document.getElementsByTagName("header")[0].getElementsByTagName("a")[0].getElementsByTagName("i")[0].classList.toggle("navLinkClicked") +// Si on est dans l'admin +if (mainAdmin) { + // On affiche la première section + show("mainAdmin", "secAdminJobs", "show_flex"); + // Boutton admin emplois + document.getElementById("btnAdminJobs").addEventListener("click", () => { + show("mainAdmin", "secAdminJobs", "show_flex"); + }); + // Boutton admin utilisateurs + document.getElementById("btnAdminUsers").addEventListener("click", () => { + show("mainAdmin", "secAdminUsers", "show_flex"); + }); + // Boutton admin missions + document.getElementById("btnAdminMissions").addEventListener("click", () => { + show("mainAdmin", "secAdminMissions", "show_flex"); + }); +} + +// Si on est dans mes missions +if (mainMyMission) { + // On affiche la première section + show("mainMyMission", "secPending", "show_block"); + // Boutton mission en attente + document.getElementById("btnMyMissionPending").addEventListener("click", () => { + show("mainMyMission", "secPending", "show_block"); + }); + // Boutton mission en cours + document.getElementById("btnMyMissionOngoing").addEventListener("click", () => { + show("mainMyMission", "secOngoing", "show_block"); + }); + // Boutton mission terminée + document.getElementById("btnMyMissionCompleted").addEventListener("click", () => { + show("mainMyMission", "secCompleted", "show_block"); + }); } @@ -51,3 +72,28 @@ function showNavButtons() { function redirect(page) { window.location.href = `/${page}.php`; } + +// On essaie de récupérer la division pour rediriger sans timer +let rNoTimer = document.getElementById("rNoTimer"); + +// Si elle existe on redirige vers la page indiquée +if (rNoTimer) { + redirect(rNoTimer.getAttribute("data-page")); +} + +// **************************************************************************** +// CHANGEMENT DE LANGUE +// **************************************************************************** +// https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener +document.getElementById("navSelLang").addEventListener("change", () => { + document.getElementById("navFormLang").submit(); +}); + +// **************************************************************************** +// AFFICHER LA BAR DE NAVIGATION +// **************************************************************************** +document.getElementById("navButton").addEventListener("click", () => { + document.getElementsByTagName("nav")[0].classList.toggle("showNav") + // first-child à chaque fois + document.getElementsByTagName("header")[0].getElementsByTagName("a")[0].getElementsByTagName("i")[0].classList.toggle("navLinkClicked") +}); -- cgit v1.2.3