diff --git a/front/public/src/quiz.js b/front/public/src/quiz.js index 13f277c..71c0d11 100644 --- a/front/public/src/quiz.js +++ b/front/public/src/quiz.js @@ -1,12 +1,12 @@ // -- GESTION DU FORMULAIRE PERMETTANT D'AFFICHER ET RÉPONDRE À UN QUIZ /// Il n'est pas nécessaire d'avoir une base de données locale active pour répondre à un quiz. -/// Mais si ce n'est pas déjà le cas et que cela semble techniquement possible, on propose au répondant de sauvegarder son résultat. -/// Dans ce but son résultat est stocké temporairement. +/// Mais si ce n'est pas déjà le cas et que cela semble techniquement possible, il est proposé au répondant de sauvegarder durablement son résultat. +/// Dans ce but son résultat est d'abord stocké temporairement. /// Si la base de donnée locale existe déjà, l'enregistrement de son résultat se fait automatiquement dans IndexedDB et ses éventuels précédents résultats sont affichés. // Configurations générales provenant du backend : -import { availableLangs, theme } from "../../../config/instance.js"; +import { availableLangs } from "../../../config/instance.js"; const lang=availableLangs[0]; // Fonctions : @@ -40,7 +40,7 @@ const divResponse=document.getElementById("response"); // L'url permet de savoir si nous sommes sur un quiz unique ou groupé : let btnShow; if(quizInfos.url.indexOf("/gp/") == -1) - btnShow=document.getElementById("showQuestionnaire"); // le quiz est affiché directement pour les groupes + btnShow=document.getElementById("showQuestionnaire"); // le quiz est affiché directement pour les groupes, ce qui déclenche le compteur let userDB, allPreviousAnswers=[]; const initialise = async () => @@ -61,6 +61,7 @@ const initialise = async () => { // Vérifie si l'utilisateur a déjà sauvegardé au moins un résultat (et donc est ok pour les sauvegardes) : allPreviousAnswers=await checkAllPreviousResults(userDB); + // Si oui, on affiche ceux enregistrés pour ce quiz : if(allPreviousAnswers.length !== 0) await showPreviousResults(userDB, quizInfos.QuestionnaireId, quizInfos.GroupId); } @@ -92,10 +93,10 @@ const showQuestionnaire = () => window.location.assign(here+"#questionnaire"); } -// L'utilisateur demande à voir le quiz : let chronoBegin=0; if(btnShow) { + // L'utilisateur demande à voir le quiz : btnShow.addEventListener("click", function(e) { try @@ -138,7 +139,7 @@ myForm.addEventListener("submit", async function(e) // Affichage du résultat, suivant les cas : let getOuput=getResultOutput(answer); // S'il y a déjà une réponse dans la bd, c'est que l'utilisateur est ok pour les enregister. - if(allPreviousAnswers.length !==0) + if(allPreviousAnswers.length !== 0) { const saveResponses=await saveResult(userDB, answer); if(saveResponses) @@ -158,7 +159,7 @@ myForm.addEventListener("submit", async function(e) } addElement(divResponse, "p", getOuput, "", ["info"]); // On redirige vers le résultat : - const here=window.location; // window.location à ajouter pour ne pas quitter la page en mode "preview". + const here=window.location; if(window.location.hash !== "") { window.location.hash=""; // ! le "#" reste @@ -194,7 +195,7 @@ btnSave.addEventListener("click", async function(e) { // Nouvel enregistrement = actualisation nécessaire de la liste des résultats pour ce quiz : await showPreviousResults(userDB, quizInfos.QuestionnaireId, quizInfos.GroupId); - // Nouveau quiz + // Nouveau quiz ? await saveNewQuiz(userDB, quizInfos); // Redirection vers la liste des résultats : const here=window.location; // window.location à ajouter pour ne pas quitter la page en mode "preview". @@ -214,5 +215,4 @@ btnSave.addEventListener("click", async function(e) addElement(divResponse, "p", serverError, "", ["error"]); console.error(e); } - }); \ No newline at end of file diff --git a/front/public/src/tools/answers.js b/front/public/src/tools/answers.js index 8514a03..a112245 100644 --- a/front/public/src/tools/answers.js +++ b/front/public/src/tools/answers.js @@ -304,7 +304,7 @@ export const getAllQuizs = (db) => }) } -// Ajout le quiz à la base de donnée de l'utilisateur, s'il n'y existe pas déjà +// Ajoute le quiz à la base de donnée de l'utilisateur, s'il n'y est pas déjà export const saveNewQuiz = async (userDB, quizInfos) => { const getUserQuizs=await getAllQuizs(userDB);