From 06e94061705bdca43036831ca5ebbf6e2d88d082 Mon Sep 17 00:00:00 2001 From: maximXbs Date: Mon, 17 Sep 2012 15:17:20 +0200 Subject: [PATCH] fixed sankore-806 --- .../locales/fr/scripts/selQuestionApp.js | 199 +++++++----------- .../locales/ru/scripts/selQuestionApp.js | 173 +++++++-------- .../Choisir.wgt/scripts/selQuestionApp.js | 57 ++--- 3 files changed, 179 insertions(+), 250 deletions(-) diff --git a/resources/library/interactivities/Choisir.wgt/locales/fr/scripts/selQuestionApp.js b/resources/library/interactivities/Choisir.wgt/locales/fr/scripts/selQuestionApp.js index 13305f47..0937a4d2 100644 --- a/resources/library/interactivities/Choisir.wgt/locales/fr/scripts/selQuestionApp.js +++ b/resources/library/interactivities/Choisir.wgt/locales/fr/scripts/selQuestionApp.js @@ -21,7 +21,7 @@ var sankoreLang = { answer:"Ceci est une réponse possible", q:"Q", add_new_question:" Ajouter une nouvelle question ...", - options:"Options", + options:"Les options", close:"Fermer", delete_question:"Supprimer la question", delete_answer:"Supprimer la proposition", @@ -40,28 +40,8 @@ var sankoreLang = { slate: "ardoise", pad: "tablette", none: "aucun", - help: "Aide", - help_content: "

Choisir

"+ -"

Question à choix multiples (QCM).

"+ - -"

Une question est posée avec plusieurs choix de réponses possibles. Le but est de choisir la bonne réponse.

"+ - -"

Le bouton “Recharger” réinitialise les exercices.

"+ - -"

Le bouton “Modifier” vous permet :

"+ -""+ - -"

En mode édition, pour créer un nouvel exercice, cliquez sur “Ajouter une nouvelle question …”, puis.

"+ -""+ - -"

Pour supprimer un exercice, cliquez sur la croix à droite du numéro de ”Options”.

"+ - -"

Le bouton “Afficher” vous permet d’utiliser l’activité.

" + help: "aide", + help_content: "Ceci est un exemple de contenu de l'aide ..." }; var questionArray; @@ -101,23 +81,26 @@ function init(){ //import saved data if(window.sankore){ - if(sankore.preference("qstArrayData","") && sankore.preference("qstArrayData","") != "[]"){ - questionArray = jQuery.parseJSON(sankore.preference("qstArrayData","")); - for(var i in questionArray){ - addQstBlock(questionArray[i].id, questionArray[i].text, questionArray[i].type,"style='display: none;'"); - for(var j in questionArray[i].answers) - addAnsBlock(questionArray[i].answers[j].id, questionArray[i].id, questionArray[i].answers[j].text, true, questionArray[i].rightAns, questionArray[i].type); - } - displayData(true); - } - else{ - displayData(false); - begin = false; + if(sankore.preference("qstArrayData","") && sankore.preference("qstArrayData","") != "[]") + questionArray = jQuery.parseJSON(sankore.preference("qstArrayData","")); + else + questionArray = jQuery.parseJSON('[{"text":"' + sankoreLang.example_question + '","type":"1","id":538,"rightAns":"2","answers":[{"id":953,"text":"' + sankoreLang.answer + ' 1.","value":1,"state":"","was":false},{"id":526,"text":"' + sankoreLang.answer + ' 2.","value":2,"state":"","was":false},{"id":473,"text":"' + sankoreLang.answer + ' 3.","value":3,"state":"","was":false}]}]'); + + for(i in questionArray){ + addQstBlock(questionArray[i].id, questionArray[i].text, questionArray[i].type,"style='display: none;'"); + for(j in questionArray[i].answers) + addAnsBlock(questionArray[i].answers[j].id, questionArray[i].id, questionArray[i].answers[j].text, true, questionArray[i].rightAns, questionArray[i].type); } + displayData(); } else{ - displayData(false); - begin = false; + questionArray = jQuery.parseJSON('[{"text":"' + sankoreLang.example_question + '","type":"1","id":538,"rightAns":"2","answers":[{"id":953,"text":"' + sankoreLang.answer + ' 1.","value":1,"state":"","was":false},{"id":526,"text":"' + sankoreLang.answer + ' 2.","value":2,"state":"","was":false},{"id":473,"text":"' + sankoreLang.answer + ' 3.","value":3,"state":"","was":false}]}]'); + for(i in questionArray){ + addQstBlock(questionArray[i].id, questionArray[i].text, questionArray[i].type,"style='display: none;'"); + for(j in questionArray[i].answers) + addAnsBlock(questionArray[i].answers[j].id, questionArray[i].id, questionArray[i].answers[j].text, true, questionArray[i].rightAns, questionArray[i].type); + } + displayData(); } //saving widget data into sankore object for a correct import @@ -452,10 +435,10 @@ function init(){ //toggle button click trigger //toggleButton.trigger("click"); //show data in display mode - function displayData(flag){ + function displayData(){ $("#addQstDiv").hide(); $(".qstDiv").hide(); - addToPage(questionArray, flag); + addToPage(questionArray); } //set widget in edit mode @@ -473,92 +456,72 @@ function init(){ } // show questions and answers in display mode - function addToPage(array, flag){ - if(flag){ - var counter = 1; - for(var i in array){ + function addToPage(array){ + var counter = 1; + for(var i in array){ - var qstDiv = $("
"); - var spanOptConn = $("
").appendTo(qstDiv); - var qstNumber = $("" + sankoreLang.question + " " + counter + "").appendTo(spanOptConn); - var qstContent = $("
" + array[i].text + "
").appendTo(qstDiv); - var ansDiv = $("
").appendTo(qstDiv); + var qstDiv = $("
"); + var spanOptConn = $("
").appendTo(qstDiv); + var qstNumber = $("" + sankoreLang.question + " " + counter + "").appendTo(spanOptConn); + var qstContent = $("
" + array[i].text + "
").appendTo(qstDiv); + var ansDiv = $("
").appendTo(qstDiv); - var ansCount = 1; - var type = array[i].type; - var selInput = $("").appendTo(newAnswer); - var ansSpan = $("" + ansCount + ".").appendTo(newAnswer); - var ansContent = $("
" + array[i].answers[j].text + "
").appendTo(newAnswer); - newAnswer.appendTo(ansDiv); - break; - case "2": - local_state = ""; - local_color = ""; - if(begin){ - local_state = (array[i].answers[j].state)?"checked":""; - local_color = (array[i].rightAns.replace(/,/g,"").indexOf(array[i].answers[j].value + " ", 0) != -1)?((array[i].answers[j].was)?"style='background-color: #6c0;'":""):((array[i].answers[j].was)?"style='background-color: red;'":""); - } - newAnswer = $("
"); - ansInput = $("").appendTo(newAnswer); - ansSpan = $("" + ansCount + ".").appendTo(newAnswer); - ansContent = $("
" + array[i].answers[j].text + "
").appendTo(newAnswer); - newAnswer.appendTo(ansDiv); - break; - case "3": - local_state = ""; - local_color = ""; - if(begin){ - local_state = (array[i].answers[j].state)?"selected":""; - local_color = (array[i].answers[j].value == array[i].rightAns)?((array[i].answers[j].was)?"#6c0":""):((array[i].answers[j].was)?"red":""); - } - ansInput = $("").appendTo(selInput); - if(local_state && local_color) - selInput.css("background-color",local_color); - break; - } - ansCount++; - } - qstDiv.appendTo("#data"); - counter++; + var ansCount = 1; + var type = array[i].type; + var selInput = $("").appendTo(newAnswer); - ansSpan = $("" + ansCount + ".").appendTo(newAnswer); - ansContent = $("
" + sankoreLang.answer + " " + ansCount + ".
").appendTo(newAnswer); - newAnswer.appendTo(ansDiv); + for(var j in array[i].answers){ + switch(type){ + case "1": + var local_state = ""; + var local_color = ""; + if(begin){ + local_state = array[i].answers[j].state; + local_color = (array[i].answers[j].value == array[i].rightAns)?((array[i].answers[j].was)?"style='background-color: #6c0;'":""):((array[i].answers[j].was)?"style='background-color: red;'":""); + } + newAnswer = $("
"); + var ansInput = $("").appendTo(newAnswer); + var ansSpan = $("" + ansCount + ".").appendTo(newAnswer); + var ansContent = $("
" + array[i].answers[j].text + "
").appendTo(newAnswer); + newAnswer.appendTo(ansDiv); + break; + case "2": + local_state = ""; + local_color = ""; + if(begin){ + local_state = (array[i].answers[j].state)?"checked":""; + local_color = (array[i].rightAns.replace(/,/g,"").indexOf(array[i].answers[j].value + " ", 0) != -1)?((array[i].answers[j].was)?"style='background-color: #6c0;'":""):((array[i].answers[j].was)?"style='background-color: red;'":""); + } + newAnswer = $("
"); + ansInput = $("").appendTo(newAnswer); + ansSpan = $("" + ansCount + ".").appendTo(newAnswer); + ansContent = $("
" + array[i].answers[j].text + "
").appendTo(newAnswer); + newAnswer.appendTo(ansDiv); + break; + case "3": + local_state = ""; + local_color = ""; + if(begin){ + local_state = (array[i].answers[j].state)?"selected":""; + local_color = (array[i].answers[j].value == array[i].rightAns)?((array[i].answers[j].was)?"#6c0":""):((array[i].answers[j].was)?"red":""); + } + ansInput = $("").appendTo(selInput); + if(local_state && local_color) + selInput.css("background-color",local_color); + break; + } ansCount++; } qstDiv.appendTo("#data"); + counter++; } + begin = false; } } diff --git a/resources/library/interactivities/Choisir.wgt/locales/ru/scripts/selQuestionApp.js b/resources/library/interactivities/Choisir.wgt/locales/ru/scripts/selQuestionApp.js index 62980f84..1bf362ec 100644 --- a/resources/library/interactivities/Choisir.wgt/locales/ru/scripts/selQuestionApp.js +++ b/resources/library/interactivities/Choisir.wgt/locales/ru/scripts/selQuestionApp.js @@ -81,23 +81,26 @@ function init(){ //import saved data if(window.sankore){ - if(sankore.preference("qstArrayData","") && sankore.preference("qstArrayData","") != "[]"){ - questionArray = jQuery.parseJSON(sankore.preference("qstArrayData","")); - for(var i in questionArray){ - addQstBlock(questionArray[i].id, questionArray[i].text, questionArray[i].type,"style='display: none;'"); - for(var j in questionArray[i].answers) - addAnsBlock(questionArray[i].answers[j].id, questionArray[i].id, questionArray[i].answers[j].text, true, questionArray[i].rightAns, questionArray[i].type); - } - displayData(true); - } - else{ - displayData(false); - begin = false; + if(sankore.preference("qstArrayData","") && sankore.preference("qstArrayData","") != "[]") + questionArray = jQuery.parseJSON(sankore.preference("qstArrayData","")); + else + questionArray = jQuery.parseJSON('[{"text":"' + sankoreLang.example_question + '","type":"1","id":538,"rightAns":"2","answers":[{"id":953,"text":"' + sankoreLang.answer + ' 1.","value":1,"state":"","was":false},{"id":526,"text":"' + sankoreLang.answer + ' 2.","value":2,"state":"","was":false},{"id":473,"text":"' + sankoreLang.answer + ' 3.","value":3,"state":"","was":false}]}]'); + + for(i in questionArray){ + addQstBlock(questionArray[i].id, questionArray[i].text, questionArray[i].type,"style='display: none;'"); + for(j in questionArray[i].answers) + addAnsBlock(questionArray[i].answers[j].id, questionArray[i].id, questionArray[i].answers[j].text, true, questionArray[i].rightAns, questionArray[i].type); } + displayData(); } else{ - displayData(false); - begin = false; + questionArray = jQuery.parseJSON('[{"text":"' + sankoreLang.example_question + '","type":"1","id":538,"rightAns":"2","answers":[{"id":953,"text":"' + sankoreLang.answer + ' 1.","value":1,"state":"","was":false},{"id":526,"text":"' + sankoreLang.answer + ' 2.","value":2,"state":"","was":false},{"id":473,"text":"' + sankoreLang.answer + ' 3.","value":3,"state":"","was":false}]}]'); + for(i in questionArray){ + addQstBlock(questionArray[i].id, questionArray[i].text, questionArray[i].type,"style='display: none;'"); + for(j in questionArray[i].answers) + addAnsBlock(questionArray[i].answers[j].id, questionArray[i].id, questionArray[i].answers[j].text, true, questionArray[i].rightAns, questionArray[i].type); + } + displayData(); } //saving widget data into sankore object for a correct import @@ -432,10 +435,10 @@ function init(){ //toggle button click trigger //toggleButton.trigger("click"); //show data in display mode - function displayData(flag){ + function displayData(){ $("#addQstDiv").hide(); $(".qstDiv").hide(); - addToPage(questionArray, flag); + addToPage(questionArray); } //set widget in edit mode @@ -453,92 +456,72 @@ function init(){ } // show questions and answers in display mode - function addToPage(array, flag){ - if(flag){ - var counter = 1; - for(var i in array){ + function addToPage(array){ + var counter = 1; + for(var i in array){ - var qstDiv = $("
"); - var spanOptConn = $("
").appendTo(qstDiv); - var qstNumber = $("" + sankoreLang.question + " " + counter + "").appendTo(spanOptConn); - var qstContent = $("
" + array[i].text + "
").appendTo(qstDiv); - var ansDiv = $("
").appendTo(qstDiv); + var qstDiv = $("
"); + var spanOptConn = $("
").appendTo(qstDiv); + var qstNumber = $("" + sankoreLang.question + " " + counter + "").appendTo(spanOptConn); + var qstContent = $("
" + array[i].text + "
").appendTo(qstDiv); + var ansDiv = $("
").appendTo(qstDiv); - var ansCount = 1; - var type = array[i].type; - var selInput = $("").appendTo(newAnswer); - var ansSpan = $("" + ansCount + ".").appendTo(newAnswer); - var ansContent = $("
" + array[i].answers[j].text + "
").appendTo(newAnswer); - newAnswer.appendTo(ansDiv); - break; - case "2": - local_state = ""; - local_color = ""; - if(begin){ - local_state = (array[i].answers[j].state)?"checked":""; - local_color = (array[i].rightAns.replace(/,/g,"").indexOf(array[i].answers[j].value + " ", 0) != -1)?((array[i].answers[j].was)?"style='background-color: #6c0;'":""):((array[i].answers[j].was)?"style='background-color: red;'":""); - } - newAnswer = $("
"); - ansInput = $("").appendTo(newAnswer); - ansSpan = $("" + ansCount + ".").appendTo(newAnswer); - ansContent = $("
" + array[i].answers[j].text + "
").appendTo(newAnswer); - newAnswer.appendTo(ansDiv); - break; - case "3": - local_state = ""; - local_color = ""; - if(begin){ - local_state = (array[i].answers[j].state)?"selected":""; - local_color = (array[i].answers[j].value == array[i].rightAns)?((array[i].answers[j].was)?"#6c0":""):((array[i].answers[j].was)?"red":""); - } - ansInput = $("").appendTo(selInput); - if(local_state && local_color) - selInput.css("background-color",local_color); - break; - } - ansCount++; - } - qstDiv.appendTo("#data"); - counter++; + var ansCount = 1; + var type = array[i].type; + var selInput = $("").appendTo(newAnswer); - ansSpan = $("" + ansCount + ".").appendTo(newAnswer); - ansContent = $("
" + sankoreLang.answer + " " + ansCount + ".
").appendTo(newAnswer); - newAnswer.appendTo(ansDiv); + for(var j in array[i].answers){ + switch(type){ + case "1": + var local_state = ""; + var local_color = ""; + if(begin){ + local_state = array[i].answers[j].state; + local_color = (array[i].answers[j].value == array[i].rightAns)?((array[i].answers[j].was)?"style='background-color: #6c0;'":""):((array[i].answers[j].was)?"style='background-color: red;'":""); + } + newAnswer = $("
"); + var ansInput = $("").appendTo(newAnswer); + var ansSpan = $("" + ansCount + ".").appendTo(newAnswer); + var ansContent = $("
" + array[i].answers[j].text + "
").appendTo(newAnswer); + newAnswer.appendTo(ansDiv); + break; + case "2": + local_state = ""; + local_color = ""; + if(begin){ + local_state = (array[i].answers[j].state)?"checked":""; + local_color = (array[i].rightAns.replace(/,/g,"").indexOf(array[i].answers[j].value + " ", 0) != -1)?((array[i].answers[j].was)?"style='background-color: #6c0;'":""):((array[i].answers[j].was)?"style='background-color: red;'":""); + } + newAnswer = $("
"); + ansInput = $("").appendTo(newAnswer); + ansSpan = $("" + ansCount + ".").appendTo(newAnswer); + ansContent = $("
" + array[i].answers[j].text + "
").appendTo(newAnswer); + newAnswer.appendTo(ansDiv); + break; + case "3": + local_state = ""; + local_color = ""; + if(begin){ + local_state = (array[i].answers[j].state)?"selected":""; + local_color = (array[i].answers[j].value == array[i].rightAns)?((array[i].answers[j].was)?"#6c0":""):((array[i].answers[j].was)?"red":""); + } + ansInput = $("").appendTo(selInput); + if(local_state && local_color) + selInput.css("background-color",local_color); + break; + } ansCount++; } qstDiv.appendTo("#data"); + counter++; } + begin = false; } } diff --git a/resources/library/interactivities/Choisir.wgt/scripts/selQuestionApp.js b/resources/library/interactivities/Choisir.wgt/scripts/selQuestionApp.js index b1f64e10..a223b8bd 100644 --- a/resources/library/interactivities/Choisir.wgt/scripts/selQuestionApp.js +++ b/resources/library/interactivities/Choisir.wgt/scripts/selQuestionApp.js @@ -81,23 +81,26 @@ function init(){ //import saved data if(window.sankore){ - if(sankore.preference("qstArrayData","") && sankore.preference("qstArrayData","") != "[]"){ - questionArray = jQuery.parseJSON(sankore.preference("qstArrayData","")); - for(var i in questionArray){ - addQstBlock(questionArray[i].id, questionArray[i].text, questionArray[i].type,"style='display: none;'"); - for(var j in questionArray[i].answers) - addAnsBlock(questionArray[i].answers[j].id, questionArray[i].id, questionArray[i].answers[j].text, true, questionArray[i].rightAns, questionArray[i].type); - } - displayData(true); - } - else{ - displayData(false); - begin = false; + if(sankore.preference("qstArrayData","") && sankore.preference("qstArrayData","") != "[]") + questionArray = jQuery.parseJSON(sankore.preference("qstArrayData","")); + else + questionArray = jQuery.parseJSON('[{"text":"' + sankoreLang.example_question + '","type":"1","id":538,"rightAns":"2","answers":[{"id":953,"text":"' + sankoreLang.answer + ' 1.","value":1,"state":"","was":false},{"id":526,"text":"' + sankoreLang.answer + ' 2.","value":2,"state":"","was":false},{"id":473,"text":"' + sankoreLang.answer + ' 3.","value":3,"state":"","was":false}]}]'); + + for(i in questionArray){ + addQstBlock(questionArray[i].id, questionArray[i].text, questionArray[i].type,"style='display: none;'"); + for(j in questionArray[i].answers) + addAnsBlock(questionArray[i].answers[j].id, questionArray[i].id, questionArray[i].answers[j].text, true, questionArray[i].rightAns, questionArray[i].type); } + displayData(); } else{ - displayData(false); - begin = false; + questionArray = jQuery.parseJSON('[{"text":"' + sankoreLang.example_question + '","type":"1","id":538,"rightAns":"2","answers":[{"id":953,"text":"' + sankoreLang.answer + ' 1.","value":1,"state":"","was":false},{"id":526,"text":"' + sankoreLang.answer + ' 2.","value":2,"state":"","was":false},{"id":473,"text":"' + sankoreLang.answer + ' 3.","value":3,"state":"","was":false}]}]'); + for(i in questionArray){ + addQstBlock(questionArray[i].id, questionArray[i].text, questionArray[i].type,"style='display: none;'"); + for(j in questionArray[i].answers) + addAnsBlock(questionArray[i].answers[j].id, questionArray[i].id, questionArray[i].answers[j].text, true, questionArray[i].rightAns, questionArray[i].type); + } + displayData(); } //saving widget data into sankore object for a correct import @@ -432,10 +435,10 @@ function init(){ //toggle button click trigger //toggleButton.trigger("click"); //show data in display mode - function displayData(flag){ + function displayData(){ $("#addQstDiv").hide(); $(".qstDiv").hide(); - addToPage(questionArray, flag); + addToPage(questionArray); } //set widget in edit mode @@ -453,8 +456,7 @@ function init(){ } // show questions and answers in display mode - function addToPage(array, flag){ - if(flag){ + function addToPage(array){ var counter = 1; for(var i in array){ @@ -520,25 +522,6 @@ function init(){ counter++; } begin = false; - } else { - counter = 1; - qstDiv = $("
"); - spanOptConn = $("
").appendTo(qstDiv); - qstNumber = $("" + sankoreLang.question + " " + counter + "").appendTo(spanOptConn); - qstContent = $("
" + sankoreLang.example_question + "
").appendTo(qstDiv); - ansDiv = $("
").appendTo(qstDiv); - - ansCount = 1; - for(j = 0; j < 3; j++){ - newAnswer = $("
"); - ansInput = $("").appendTo(newAnswer); - ansSpan = $("" + ansCount + ".").appendTo(newAnswer); - ansContent = $("
" + sankoreLang.answer + " " + ansCount + ".
").appendTo(newAnswer); - newAnswer.appendTo(ansDiv); - ansCount++; - } - qstDiv.appendTo("#data"); - } } }