summaryrefslogtreecommitdiff
path: root/Static/Js/main.js
blob: 33752de89b03153ee0f50f734597f82f61572ad3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99

// ############################################################################
// #                                                                          #
// # Description: JS utile un peu de partout                                  #
// #                                                                          #
// ############################################################################
// Site web utilisés pour JS:
// https://www.w3schools.com/js/default.asp
// https://stackoverflow.com/


// ****************************************************************************
// TOGGLE UNE CLASSE SUR UN ELEMENT PARMIS PLUSIEURS IDENTIQUES
// ****************************************************************************
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("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
    for (i = 0; i < elements.length; i++) {
        if (elements[i].id !== id) {
            elements[i].classList.remove(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");

// 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");
    });
}


// ****************************************************************************
// REDIRECTION
// ****************************************************************************
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")
});