/**
*
* Despegable HTML5
*
* @version: 1.1
* @Fecha 2020-11-17
*/
var data;
var correctAnswer = 0;
var grownAnswer = 0;
var totalAnswers = 0;
//Obtenemos valores del json
var json;
//imagaen de fondo
var imgBack ;
//elements valores id y texto
var elm;
//boxes valore id
var box;
var respuestas = [];
var rCorrectas = 0;
var rErrores = 0;
var datosrespuesta;
function inicializarVarsActividad(tipo){
data = datos;
json = $.each( data, function( key, val ) { data = val });
//imagen de fondo ........
//imgBack = 'style="background:url('+data.parameters.image._href+') no-repeat; background-size: 70%"';
//Ajuste para concidencia con el Flash
//no-repeat; background-size: contain;background-position-x: 50%;
imgBack = 'style="background:url('+data.parameters.image._href+') no-repeat; background-size: contain;background-position-x: 50%"';
//elements valores id y texto
elm = data.parameters.elements.element;
//boxes valore id
box = data.parameters.boxes.box;
titulo = data.wording;
}
function inicializarActiviadad(){
//$('#exit').append($('
Cerrar
'));
$('#cerrar').click(function(){
window.close();
});
if ($modulo == "rceAssessManager"){
//crear boton de envío
$('#exit').append($('Guardar
'));
$("#guardar").one("click", guardar);
$("#guardar").addClass($plantilla);
}else{
//crear boton de Solución
$('#exit').append($('Solución
'));
$("#solucion").one("click", eventOne);
$("#solucion").addClass($plantilla);
}
//crear título de actividad
$('#exit').append($(' ' + titulo + '
'));
//crear div de salida de resultados
$('#exit').append($(''));
//craer contenedor drag and drop
$('#exit').append($(''));
//inicializamos el drag and drop
$(init);
}
function init() {
$('#salida-resultados').hide();
// Reset a cero al iniciar el juego
correctAnswer = 0;
grownAnswer = 0;
totalAnswers = 0;
answers = [];
var maxlargo = 0;
$('#elements').html( '' );
$('#boxes').html( '' );
//Crear las cajas de los elementos para Drag
for ( var i=0; i' + elm[i].text + '').data( 'number', elm[i]._id ).attr( 'id', elm[i]._id ).appendTo( '#elements' ).draggable( {
containment: '#draganddrop',
stack: '#elements div',
cursor: 'move',
revert: false
//revert: true
} );
//console.log($('' + numbers[i] + '
').data( 'number', numbers[i] ));
$("#" + elm[i]._id).one("click", activardrag);
}
//Evalua cual es el largo maximo de los campos
for ( var y=0; y= 1 && maxlargo <=3){
tamano = 55;
}
if(maxlargo >= 4 && maxlargo <=7){
tamano = 70;
}
if (maxlargo > 7 && maxlargo <= 10){
tamano = 80;
}
if (maxlargo > 10 && maxlargo <= 13){
tamano = 90;
}
if (maxlargo > 13 && maxlargo <= 16){
tamano = 100;
}
if (maxlargo > 16 && maxlargo <= 20){
tamano = 110;
}
if (maxlargo > 20 && maxlargo <= 25){
tamano = 140;
}
if (maxlargo > 25 && maxlargo <= 30){
tamano = 160;
}
if (maxlargo > 30 ){
tamano = 260;
}
if (maxlargo > 40){
tamano = 320;
}
var ajustex = 0;
ajustex += Math.round(130/2);
var mtop = Number(box[i]._y);
var mleft = Number(box[i]._x) + ajustex;
$('').data( 'number', box[i]._id ).attr( 'id', box[i]._id ).appendTo( '#boxes' ).droppable( {
accept: '#elements div',
hoverClass: 'hovered',
drop: handleCardDrop //Función a realizar en el evento drop
} );
}
function handleCardDrop( event, ui ) {
//Obtenemos la data id de los elemnts y boxes
var boxDrop = $(this).data( 'number' );
var elmDrag = ui.draggable.data( 'number' );
var textom = ui.draggable.text();
console.log(textom);
$(this).empty();
$(this).append(textom);
// --Cambio
//Deshabilitamos el drag and drop para usarse solo una vez por elemento
// $(this).droppable( 'disable' );
ui.draggable.draggable( 'disable' );
// ui.draggable.draggable( 'option', 'revert', false );
_top = $(this).css("top");
_left = $(this).css("left");
ui.draggable.one("click", activardrag);
//ui.draggable.css({'top': _top ,'left': _left, 'position':'absolute'});
if ( boxDrop == elmDrag ) {
correctAnswer++;
console.log('Correct = ' + 'Box: ' + boxDrop + ' ' + 'Elment: ' + elmDrag + ' ' + correctAnswer);
answers.push(elmDrag);
console.log(answers);
var ofs = $(this).offsetWidth;
//var x = ui.draggable.find('div')
var x = ui.draggable.find('div').clone();
$(this).append(x);
x.css('width', '230px');
} else {
grownAnswer++;
console.log('Grown = ' + 'Box: ' + boxDrop + ' ' + 'Elment: ' + elmDrag + ' ' + grownAnswer);
answers.push(elmDrag);
console.log(answers);
}
console.log(correctAnswer + grownAnswer);
//Salida de resuttados
// if ( answers.length == elm.length ) {
// $('#salida-resultados').show();
// $('#salida-resultados').animate( {
// opacity: 1
// }, 'slow' );
// $('.yes').css('background', 'green');
// $('.boxdrop').css('background', 'transparent');
// if(correctAnswer > 1) {
// $('#salida-resultados').removeClass('bummer').addClass('good').html(correctAnswer + ' ' + 'respuestas correctas.');
// } else if(correctAnswer < 1) {
// $('#salida-resultados').removeClass('good').addClass('bummer').html(correctAnswer + ' ' + 'respuestas correctas.');
// } else {
// $('#salida-resultados').removeClass('bummer').addClass('good').html(correctAnswer + ' ' + 'respuesta correcta.');
// }
// } Salida de resultados
}
} //init
function activardrag(){
$(this).draggable( 'enable' );
//$(this).draggable( 'option', 'revert', true );
}
function solutions() {
$("i").remove(".fa-check-circle");
$("i").remove(".fa-times-circle");
for ( var i=0; i 20){
//maxlargo = (maxlargo * 6)/9;
maxlargo = 320;
}
//return Math.round(maxlargo);
console.log("Salida:"+ maxlargo);
return maxlargo;
}
function leerRespuestas(){
respuestas=[];
for ( var i=0; i"
xml = xml + x2js.json2xml_str(respuestajson);
console.log("guardado en json");
console.log(respuestajson);
console.log("guardado en xml");
console.log(x2js.json2xml_str(respuestajson));
$.ajax({
url: $guardarurl, //archivo de ejemplo
type: "POST",
data: {
input: xml,
timeStamp: $tmsActividad[1]
},
cache: false,
success: function(respuestaxml) {
//mensaje de éxito
console.log(respuestaxml.childNodes[0].childNodes[0].data);
alert(respuestaxml.childNodes[0].childNodes[0].data);
// Comentario para prueba window.close();
doFinish();
},
error: function(e, xhr, opt) {
// mensaje de error
alert("Error requesting " + opt.url + ": " + xhr.status + " " + xhr.statusText);
//alert('Ha ocurrido un error, intenta nuevamente.');
},
})
}
function colocarAnswers(datos){
var respuestasAlumno = [];
if(typeof datos["activity-result"] === 'undefined'){
respuestasAlumno = datos.answers.answer.drags.drag;
console.log("Sin: activity-result");
}else{
if(typeof datos["activity-result"].answer.drags.drag === 'undefined'){
}else{
respuestasAlumno = datos["activity-result"].answer.drags.drag;
}
}
for (var i = 0; i < respuestasAlumno.length; i++) {
//var idCajaresp = respuestasAlumno[i]._id-box;
var idCajaresp = respuestasAlumno[i]["_id-box"];
var idElemntoresp = respuestasAlumno[i]["_id-element"];
$('div#boxes div#'+ idCajaresp)[0].innerText = "";
for (var j = 0; j < elm.length; j++) {
var idElementoAct = elm[j]._id;
if(idElemntoresp == idElementoAct){
$('div#boxes div#'+ idCajaresp)[0].innerText = elm[j].text;
}
}
}
}
function calificarRespuesta(){
respuestas=[];
for ( var i=0; i');
//$('div#boxes div#'+ elmDrag).append($(''));
rCalifica = true;
}
console.log({Correctas: rCorrectas});
}
}//for j
if(rCalifica){
$('div#boxes div#'+ elmDrag).append($(''));
}else{
$('div#boxes div#'+ elmDrag).append($(''));
}
}// for i
}