File "tib-student-quizzes.min.js"

Path: /ThinkIB/bio_psych/js/tib-student-quizzesminjs
File size: 6.31 KB
MIME-type: text/plain
Charset: utf-8

 
Open Back
function untickCheckbox(container,activeCheckboxIndex){var nCorrectCheckBoxes=container.find("input:checkbox.c").length,nCheckedCheckBoxes=container.find("input:checkbox:checked").length,nCheckBoxes=container.find("input:checkbox").length;if(nCheckedCheckBoxes>nCorrectCheckBoxes){var randomNumber=getRandomArbitrary(0,nCheckBoxes);container.find("input:checkbox").eq(randomNumber).prop("checked",!1)}}function getRandomArbitrary(min,max){return min=Math.ceil(min),max=Math.floor(max),Math.floor(Math.random()*(max-min))+min}function insertActivityLog(){var ticket=$("#ticket").val(),userId=$("#user-id").val(),userType=$("#user-type").val(),groupId=$("#group-id").val(),quizId=$("#quiz-id").val(),quizTitle=$("h1.section-title").text(),quizDescription=$("p.section-description").text();$.post("pages/std/tib-student-quizzes-actions.php?action=insert-activity-log-qbank",{ticket:ticket,"user-id":userId,"user-type":userType,"group-id":groupId,"quiz-id":quizId,"quiz-title":quizTitle,"quiz-description":quizDescription},(function(data){"0"==data.success?alert(data.msg):$("#log-id").val(data["log-id"])}),"json")}function updateActivityLog(quizHtml,score){var ticket=$("#ticket").val(),logId=$("#log-id").val();$.post("pages/std/tib-student-quizzes-actions.php?action=update-activity-log-qbank",{ticket:ticket,"log-id":logId,"quiz-html":quizHtml,score:score},(function(data){"0"==data.success&&alert(data.msg)}),"json")}function saveQuizLog(stdTaskStudentId,quizHtml,score){$.post("pages/std/std-tasks.php?action=save-quiz-log",{ticket:$("#ticket").val(),"std-task-student-id":stdTaskStudentId,score:score,"start-time":$("#start-time").val(),html:quizHtml},(function(response){"1"==response.success?($("html, body").animate({scrollTop:$(document).height()-$(window).height()}),$("a.next-assignment").show(0),setTimeout((function(){$("html, body").animate({scrollTop:0},"slow")}),5e3)):"0"==response.success&&alert(response.msg)}),"json")}$(document).ready((function(){var nExercises=$(".exercise").length,nChecked=nExercises,i=0,quizMode="quiz",domElement=$("#mode");void 0!==domElement&&null!=domElement&&"task"==domElement.val()&&(quizMode=domElement.val());var doNotRepeatCheckTotal=!1,quizAlreadyStarted=!1,hasArrived=!1;$(".tib-quiz").each((function(){$(this).children(".exercise").each((function(){$(this).find('input[type="radio"]').length>0&&$(this).find('input[type="radio"]').attr("name","e-"+i),i++}));var dragContainers=[]})),$('.tib-quiz .exercise .q-answer input[type="text"]').each((function(){if(!$(this).hasClass("fixed-width")){var c=$(this).data("c"),l=70*Math.ceil(9.8*c.length/70);$(this).width(l)}})),$(".exercise .btn.check").click((function(e){quizAlreadyStarted||("quiz"==quizMode&&insertActivityLog(),quizAlreadyStarted=!0);var e,answers=(e=$(this).closest("div.exercise")).find(".q-answer"),explanation="";$.trim(e.find(".q-explanation").html())&&(explanation='<div class="explanation">'+$.trim(e.find(".q-explanation").html())+"</div>");var nCorrect=0,nAnswers=0,isRadioQuestion=!1;if(e.find("label").length>0&&e.find("label").each((function(){$(this).find("input").hasClass("c")&&($(this).addClass("correct"),$(this).hasClass("radio")?(isRadioQuestion||(nAnswers+=1),isRadioQuestion=!0):$(this).hasClass("checkbox")&&(nAnswers+=1)),$(this).find("input").is(":checked")&&($(this).addClass("checked"),$(this).find("input").hasClass("c")?($(this).append('&nbsp;<i class="fa fa-check colored"></i>'),nCorrect+=1):($(this).addClass("fail"),nCorrect-=1,$(this).append('&nbsp;<i class="fa fa-remove colored"></i>')))})),e.find('input[type="text"]').length>0){var nAnswers=e.find('input[type="text"]').length;e.find('input[type="text"]').each((function(){var inputValue=$(this).val();$(this).attr("value",inputValue);var c=$.trim($(this).data("c")),a=$.trim(inputValue);if(c.toLowerCase()==a.toLowerCase())$(this).addClass("correct"),$(this).val(c),nCorrect+=1;else{var add='&nbsp;[<strong style="color: #444;">'+c+"</strong>]&nbsp;";$(this).addClass("fail"),$(this).next(".review").append(add)}}))}nCorrect<0&&(nCorrect=0);var score=(1e4*nCorrect/nAnswers|0)/100,scoreContainer=e.find(".actions .score");scoreContainer.attr("data-score",score),100==score?scoreContainer.addClass("A"):score>70?scoreContainer.addClass("B"):score>50?scoreContainer.addClass("C"):score>30?scoreContainer.addClass("D"):scoreContainer.addClass("E"),answers.append(explanation),$(this).remove(),0!=(nChecked-=1)||doNotRepeatCheckTotal||e.parents(".tib-quiz").find(".check-total").trigger("click")})),$(".tib-quiz .check-total").click((function(){doNotRepeatCheckTotal=!0;var quiz=$(this).closest(".tib-quiz"),s=0;$.when(quiz.find(".btn.check").trigger("click")).then(quiz.find(".actions .score").each((function(){s+=parseFloat($(this).data("score"))}))),score=(s/nExercises*100|0)/100,scoreContainer=$(this).prev("span.score"),100==score?scoreContainer.addClass("A"):score>70?scoreContainer.addClass("B"):score>50?scoreContainer.addClass("C"):score>30?scoreContainer.addClass("D"):scoreContainer.addClass("E"),$(this).prev("span.score").append("<strong>"+score+" %</strong>");var quizHtml=$(this).closest("div.tib-quiz").find("div.tib-quiz").html(),stdTaskStudentId;""!=$("#log-id").val()&&"quiz"==quizMode?updateActivityLog(quizHtml,score):($(document).ajaxComplete((function(event,request,settings){hasArrived||("quiz"==quizMode&&updateActivityLog(quizHtml,score),hasArrived=!0)})),"task"==quizMode&&saveQuizLog($("#std-task-id").val(),quizHtml,score));$(this).remove()}));var bindDraggables=function(){$(".draggable").off("dragstart").on("dragstart",(function(e){e.target.id||(e.target.id=(new Date).getTime()),e.originalEvent.dataTransfer.setData("elementId",e.target.id),$(this).css("opacity",".7")}))};$('input[type="text"]').on("dragover",(function(e){return e.preventDefault(),$(this).focus(),!1})),$('input[type="text"]').on("drop",(function(e){var event=e.originalEvent;if(event.dataTransfer.getData("elementId").length>1){event.preventDefault();var id=event.dataTransfer.getData("elementId"),content=$("#"+id).text();$(this).get(0).focus(),$(this).val(content),bindDraggables()}})),bindDraggables(),$("input:checkbox").on("click",(function(){var parentsArrayUntilDivAnswers=$(this).parentsUntil("div.q-answer").map((function(){return this.tagName})).get();if(jQuery.inArray("TR",parentsArrayUntilDivAnswers)>=0)var parentElement=$(this).closest("tr");else var parentElement=$(this).closest("div.q-answer");untickCheckbox(parentElement,$(this))}))}));