46 lines
1.5 KiB
JavaScript
46 lines
1.5 KiB
JavaScript
const configFrontEnd = require("../config/general");
|
|
|
|
import { saveLocaly } from "./clientstorage.js";
|
|
import { isEmpty, replaceAll } from "../../../tools/main";
|
|
|
|
const txt = require("../../../lang/"+configFrontEnd.lang+"/answer");
|
|
|
|
// Enregistrement côté client du dernier résultat à un quiz en attendant d'être connecté
|
|
export const saveAnswer = (answer) =>
|
|
{
|
|
if(!isEmpty(answer.duration) && !isEmpty(answer.nbCorrectAnswers) && !isEmpty(answer.nbQuestions) && (!isEmpty(answer.QuestionnaireId) || !isEmpty(answer.GroupId)))
|
|
{
|
|
saveLocaly("lastAnswer", answer);
|
|
return true;
|
|
}
|
|
else
|
|
return false;
|
|
}
|
|
|
|
// Retourne le texte suivant le nombre de bonnes réponses
|
|
export const checkAnswerOuput = (answer) =>
|
|
{
|
|
if(!isEmpty(answer.duration) && !isEmpty(answer.nbCorrectAnswers) && !isEmpty(answer.nbQuestions))
|
|
{
|
|
const ratio=answer.nbCorrectAnswers/answer.nbQuestions;
|
|
const mapObj=
|
|
{
|
|
DURATION: answer.duration,
|
|
NBCORRECTANSWERS: answer.nbCorrectAnswers,
|
|
NBQUESTIONS: answer.nbQuestions
|
|
}
|
|
let output="";
|
|
if(ratio < 0.4)
|
|
output=replaceAll(txt.checkResponsesOuputFail, mapObj);
|
|
else if(ratio < 0.8)
|
|
output=replaceAll(txt.checkResponsesOuputMedium, mapObj);
|
|
else
|
|
output=replaceAll(txt.checkResponsesOuputSuccess, mapObj);
|
|
if(output)
|
|
return output;
|
|
else
|
|
return "";
|
|
}
|
|
else
|
|
return "";
|
|
} |