Bonjour
S’il était possible de voir ce que vous avez modifié exactement via une image ou un scar, ce serait plus pratique.
En gros si je comprend bien vous avez ajouté un champ valider à oui/non qui est sensé permettre de valider l’exercice et renvoyer vers l’étape correspondante.
Il y a effectivement un changement à faire dans : /mirage/web/transf/_xxx@countDown.xsl
ça se passe ici :
countDownMgr.fActionAfterCountDown = <xsl:value-of select="if(*/sp:countDown/*/sp:actionAfterCountDown/sp:next,concat('"',getUrl(gotoSubModel(*/sp:countDown/*/sp:actionAfterCountDown/sp:next)),'"'),if(*/sp:countDown/*/sp:actionAfterCountDown/sp:end,'"end"',*/sp:countDown/*/sp:actionAfterCountDown/sp:attemptsNumber))"/>;<xsl:if test="*/sp:countDown/*/sp:display">
Cela permet d’indiquer au javascript ce qui sera fait à la fin du décompte.
En admettant que vous ayez ajouter le champ au même endroit que : sp:actionAfterCountDown/sp:end, il faudrait donc rajouter une condition du type:
countDownMgr.fActionAfterCountDown = <xsl:value-of select="if(*/sp:countDown/*/sp:actionAfterCountDown/sp:next,concat('"',getUrl(gotoSubModel(*/sp:countDown/*/sp:actionAfterCountDown/sp:next)),'"'),if(*/sp:countDown/*/sp:actionAfterCountDown/sp:end,'"end"',if(*/sp:countDown/*/sp:actionAfterCountDown/sp:valid,'"valid"',*/sp:countDown/*/sp:actionAfterCountDown/sp:attemptsNumber)))"/>;<xsl:if test="*/sp:countDown/*/sp:display">
Cela dit comme il n’est pas prévu aujourd’hui de gérer la validation d’un exercice pour aller à l’étape suivante, il faut également modifier le javascript suivant : /mirage/web/wdt/mgr/countDownMgr.doss/countDownMgr.js
Cela se passe ligne 94 :
stop : function(){
if (countDownMgr.fActionAfterCountDown =='end') {
var vBarClassName = vRgt.className.indexOf("Open") != -1 ? "barOpened" : "barClosed";
vRgt.className = vBarClassName + " endArcFra";
vArc.innerHTML = '<div class="arcBk endArc"><h1 class="arcBk_ti"><span>'+countDownMgr.fStrings[0]+'</span></h1><div class="arcBk_co "><div class="endMsg">'+countDownMgr.fStrings[1]+'</div></div></div>';
}
else if(!isNaN(countDownMgr.fActionAfterCountDown)) {
if(vCounter<countDownMgr.fActionAfterCountDown || countDownMgr.fActionAfterCountDown==0){
vClock.reset();
vClock.start();
vCounter++;
}
}
else if(scServices.scPreload) scServices.scPreload.goTo(scServices.scLoad.resolveDestUri("/co/"+countDownMgr.fActionAfterCountDown));
else window.location.href = scServices.scLoad.resolveDestUri("/co/"+countDownMgr.fActionAfterCountDown);
},
Il faudrait probablement rajouter une condition du type:
if (countDownMgr.fActionAfterCountDown === 'valid') {
document.querySelector('.validBtn').click();
}
Attention je ne sais pas si la classe validBtn existe, il faudrait vérifier qu’elle existe bien sur le bouton de validation
Par ailleurs, ce code n’est absolument pas testé et est donné à titre indicatif.
Cordialement,
Nicolas