%PDF- %PDF-
Direktori : /var/www/html/ceaa/wp-content/plugins/learnpress/assets/js/frontend/ |
Current File : /var/www/html/ceaa/wp-content/plugins/learnpress/assets/js/frontend/single-quiz.min.js |
if(typeof LP=="undefined"){var LP={}}(function(d){var e=window.LP_Model_Quiz=Backbone.Model.extend({defaults:{},data:null,view:false,url:function(){},urlRoot:"",questions:null,initialize:function(){this.createQuestionsList()},createQuestionsList:function(){this.questions=new c();_.each(this.get("questions"),function(g,h){var f=new a(d.extend({quiz_id:this.get("id"),user_id:this.get("user_id")},g));f.urlRoot=this.get("ajaxurl");f.view=this.view;this.questions.add(f)},this)},next:function(i){if(!this.isLast()){var g=this.findNext(),f=this.questions.findWhere({id:g}),h=this;f.submit({data:{save_id:h.get("question_id"),question_answer:this.view.$("form").serializeJSON(),time_remaining:h.get("time_remaining")},complete:function(){h.set("question_id",g);d.isFunction(i)&&i.apply(h);LP.Hook.doAction("learn_press_next_question",g,h)}})}},prev:function(i){if(!this.isFirst()){var h=this.findPrev(),f=this.questions.findWhere({id:h}),g=this;f.submit({data:{save_id:g.get("question_id"),question_answer:this.view.$("form").serializeJSON(),time_remaining:g.get("time_remaining")},complete:function(){g.set("question_id",h);d.isFunction(i)&&i.apply(g);LP.Hook.doAction("learn_press_previous_question",h,g)}})}},select:function(i,h){var f=this.questions.findWhere({id:i}),g=this;f&&f.submit({data:{save_id:g.get("question_id"),question_answer:this.view.$("form").serializeJSON(),time_remaining:g.get("time_remaining")},complete:function(j){g.set("question_id",i);d.isFunction(h)&&h.apply(g,[j])}})},getQuestionPosition:function(f){f=f||this.get("question_id");return _.indexOf(this.getIds(),f)},countQuestions:function(){return this.questions.length},isLast:function(f){f=f||this.get("question_id");return this.getQuestionPosition(f)==(this.countQuestions()-1)},isFirst:function(f){f=f||this.get("question_id");return this.getQuestionPosition(f)==0},findNext:function(f){f=f||this.get("question_id");var g=this.getIds(),h=this.getQuestionPosition(f);h++;if(typeof g[h]=="undefined"){return false}return g[h]},findPrev:function(f){f=f||this.get("question_id");var g=this.getIds(),h=this.getQuestionPosition(f);h--;if(typeof g[h]=="undefined"){return false}return g[h]},current:function(){return this.questions.findWhere({id:parseInt(this.get("question_id"))})},getIds:function(){return d.map(this.get("questions"),function(g,f){return parseInt(g.id)})}});var a=window.LP_Model_Question=Backbone.Model.extend({defaults:{},data:null,view:false,url:function(){return this.urlRoot},urlRoot:"",initialize:function(){},element:function(){return d(this.get("content"))},submit:function(f){var g=this;f=d.extend({complete:null,data:{}},f||{});this.fetch({data:d.extend({action:"learnpress_load_quiz_question",user_id:this.get("user_id"),quiz_id:this.get("quiz_id"),question_id:this.get("id")},f.data||{}),complete:(function(i){var h=LP.parseJSON(i.responseText);if(h.result=="success"){g.set(h.question);if(h.permalink){LP.setUrl(h.permalink)}d.isFunction(f.complete)&&f.complete.call(g,h)}})})},check:function(f){var g=this;if(d.isFunction(f)){f={complete:f}}else{f=d.extend({complete:null,data:{}},f||{})}LP.doAjax({data:d.extend({"lp-ajax":"check-question",user_id:this.get("user_id"),quiz_id:this.get("quiz_id"),question_id:this.get("id"),save_id:this.get("id"),question_answer:d("form#learn-press-quiz-question").serializeJSON()},f.data||{}),success:function(h,i){g.set("checked",h.checked);d.isFunction(f.complete)&&f.complete.call(g,h)}})}});var c=window.LP_Collection_Questions=Backbone.Collection.extend({url:"admin-ajax.php",model:a});var b=window.LP_View_Quiz=Backbone.View.extend({model:{},events:{"click .button-start-quiz":"_startQuiz","click .button-finish-quiz":"_finishQuiz","click .button-retake-quiz":"_retakeQuiz","click .next-question":"_nextQuestion","click .prev-question":"_prevQuestion","click .check-question":"_checkQuestion","click .quiz-questions-list li a":"_selectQuestion","click .hint-question":"_hintQuestion","click .explain-question":"_explainQuestion"},el:".single-quiz",isRendered:false,$buttons:{},initialize:function(f){this.model=f;this.model.view=this;this.listenTo(this.model,"change:question_id",this.changeQuestion);this.listenTo(this.model,"change",this.render);this.listenTo(this.model,"change",this.updateCountdown);LP.Hook.addAction("learn_press_check_question",function(g,h){h.updateAnswer.apply(h,[g])}).addAction("learn_press_update_question_content",function(h,g,j){var i=j.model.current();setTimeout(function(){if(i.get("checked")){j.updateAnswer.apply(j,[{checked:i.get("checked"),result:"success"}])}},100)});_.bindAll(this,"render","_timeOver","_checkQuestion","_hintQuestion","updateAnswer","updateCountdown");this._create();this.render();this.updateCountdown(true)},_create:function(){this.$buttons={start:this.$(".button-start-quiz"),finish:this.$(".button-finish-quiz"),retake:this.$(".button-retake-quiz"),next:this.$(".next-question"),prev:this.$(".prev-question"),check:this.$(".check-question"),hint:this.$(".hint-question"),explain:this.$(".explain-question")};if(this.model.get("status")=="started"){this.initCountdown();var f=this.model.current();if(f){f.set({content:d("#learn-press-quiz-question .question-"+f.get("id"))});this._updateQuestion(f.element())}}var g=this;this.setButtonsState()},changeQuestion:function(){var f=this.model.current();if(f){this._updateQuestion(f.element())}},updateCountdown:function(f){if(!this.model.hasChanged("status")&&!f){return}if(this.model.get("status")=="started"){if(!this.$countdown){this.initCountdown()}this.$countdown.backward_timer("start")}},render:function(){if(!this.model.hasChanged("question_id")&&!this.model.hasChanged("status")){}var f=this.model.current();this.setButtonsState();switch(this.model.get("status")){case"started":this.$(".quiz-intro").remove();this.$(".quiz-countdown").removeClass("hide-if-js")}if(f&&this.model.get("status")=="started"){this.$('form[name="learn-press-quiz-question"]').html(f.get("content"));this.$('#learn-press-quiz-questions li[data-id="'+f.get("id")+'"]').addClass("current").siblings(".current").removeClass("current")}this.isRendered=true;this.$el.css("visibility","visible")},setButtonsState:function(){var f="hide-if-js",g=this.model.current();switch(this.model.get("status").toLowerCase()){case"completed":this.$buttons.start.addClass(f);this.$buttons.finish.addClass(f);this.$buttons.check.addClass(f);this.$buttons.retake.removeClass(f);break;case"started":this.$buttons.start.addClass(f);this.$buttons.finish.removeClass(f);this.$buttons.retake.addClass(f);if(this.model.countQuestions()<=1){this.$buttons.next.addClass(f);this.$buttons.prev.addClass(f)}else{this.$buttons.next.removeClass(f);this.$buttons.prev.removeClass(f);if(this.model.isLast()){this.$buttons.next.addClass(f);this.$buttons.finish.filter('[data-area="nav"]').removeClass(f)}else{this.$buttons.finish.filter('[data-area="nav"]').addClass(f)}if(this.model.isFirst()){this.$buttons.prev.addClass(f)}}if(g&&g.get("check_answer")){this.$buttons.check.removeClass(f)}else{this.$buttons.check.addClass(f)}if(g&&g.get("hint")){this.$buttons.hint.removeClass(f)}else{this.$buttons.hint.addClass(f)}if(g&&g.get("explanation")){this.$buttons.explain.removeClass(f)}else{this.$buttons.explain.addClass(f)}break;default:this.$buttons.next.addClass(f);this.$buttons.prev.addClass(f);this.$buttons.start.removeClass(f);this.$buttons.finish.addClass(f);this.$buttons.retake.addClass(f);this.$(".quiz-questions .qq.current").removeClass("current")}},startQuiz:function(f){this.block_page();f=d.extend({complete:false},f||{});var g=this,h=d.extend({"lp-ajax":"start-quiz",quiz_id:this.model.get("id"),nonce:this.model.get("nonce")},f.data||{});LP.doAjax({url:window.location.href,data:h,success:function(i,j){LP.MessageBox.hide();var i=LP.Hook.applyFilters("learn_press_start_quiz_results",i,g);if(i.result=="success"){g.model.current().set(i.question);g.model.set({status:i.data.status,question_id:i.question.id});LP.setUrl(i.question.permalink)}d.isFunction(f.complete)&&f.complete.call(g,i)}})},finishQuiz:function(f){this.pause();this.block_page();f=d.extend({complete:false},f||{});var g=this,h=d.extend({"lp-ajax":"finish-quiz",quiz_id:this.model.get("id"),nonce:this.model.get("nonce")},f.data||{});LP.doAjax({data:h,success:function(i){var j=undefined;d.isFunction(f.complete)&&(j=f.complete.call(LP.Quiz,i));LP.Hook.doAction("learn_press_finish_quiz",g.model.get("id"),g);LP.MessageBox.show(single_quiz_localize.finished_quiz,{autohide:2000,onHide:function(){if(j&&j.redirect){LP.reload(j.redirect)}else{if(j==undefined&&i.redirect){LP.reload(i.redirect)}}}})}})},retakeQuiz:function(f){this.block_page();f=d.extend({complete:false},f||{});var g=this,h=d.extend({"lp-ajax":"retake-quiz",quiz_id:this.model.get("id"),nonce:this.model.get("nonce")},f.data||{});LP.doAjax({data:h,success:function(i,j){LP.MessageBox.hide();if(i.result=="success"){d.isFunction(f.complete)&&f.complete.call(LP.Quiz,i);LP.MessageBox.show(single_quiz_localize.retaken_quiz,{autohide:2000,onHide:function(){LP.reload(i.redirect)}})}else{LP.alert(i.message)}}})},updateAnswer:function(f){if(!f||f.result!="success"){return}var h=this.model.current(),g=d(h.get("content"));switch(h.get("type")){case"true_or_false":case"single_choice":case"multi_choice":d.each(f.checked,function(j,i){var m=g.find('input[value="'+i.value+'"]'),l=m.closest("li").removeClass("answer-true user-answer-false");if(i.is_true=="yes"){l.addClass("answer-true")}if(f.answered){if(typeof f.answered=="string"){if(f.answered==i.value){m.prop("checked",true)}}else{if(d.inArray(i.value,f.answered)!=-1){m.prop("checked",true)}}}if(m.is(":checked")&&i.is_true=="yes"){}else{l.addClass("user-answer-false")}});g.addClass("checked").find("input, select, textarea").prop("disabled",true);h.set({content:g})}this.render()},_checkQuestion:function(){if(LP.Hook.applyFilters("learn_press_before_check_question",true,this)!==false){var f=this;this.$buttons.next.prop("disabled",true);this.$buttons.prev.prop("disabled",true);this.$buttons.finish.prop("disabled",true);this.$buttons.check.prop("disabled",true);this.pause();this.block_page();this.model.current().check({complete:function(g){f.$buttons.next.prop("disabled",false);f.$buttons.prev.prop("disabled",false);f.$buttons.finish.prop("disabled",false);f.$buttons.check.prop("disabled",false);LP.Hook.doAction("learn_press_check_question",g,f);f.resume()},data:{nonce:this.model.get("nonce")}})}},_hintQuestion:function(g){g.preventDefault();var f=this.model.current();if(f&&f.get("hint")){d("#learn-press-question-hint-"+f.get("id")).toggleClass("hide-if-js")}},_explainQuestion:function(g){g.preventDefault();var f=this.model.current();if(f&&f.get("explanation")){d("#learn-press-question-explanation-"+f.get("id")).toggleClass("hide-if-js")}},_nextQuestion:function(){if(LP.Hook.applyFilters("learn_press_before_next_question",true,this)!==false){var f=this;this.$buttons.next.prop("disabled",true);this.$buttons.prev.prop("disabled",true);this.$buttons.finish.prop("disabled",true);this.pause();this.block_page();this.model.next(function(){f.$buttons.next.prop("disabled",false);f.$buttons.prev.prop("disabled",false);f.$buttons.finish.prop("disabled",false)})}},_prevQuestion:function(){if(LP.Hook.applyFilters("learn_press_before_prev_question",true,this)!==false){var f=this;this.$buttons.next.prop("disabled",true);this.$buttons.prev.prop("disabled",true);this.$buttons.finish.prop("disabled",true);this.pause();this.block_page();this.model.prev(function(){f.$buttons.next.prop("disabled",false);f.$buttons.prev.prop("disabled",false);f.$buttons.finish.prop("disabled",false)})}},_selectQuestion:function(g){g.preventDefault();var f=this,h=d(g.target).closest(".learn-press-question-wrap").data("id");if(this.model.get("status")!="started"){return false}if(LP.Hook.applyFilters("learn_press_before_select_question",true,f)!==false){this.pause();this.$buttons.next.prop("disabled",true);this.$buttons.prev.prop("disabled",true);this.$buttons.finish.prop("disabled",true);this.pause();this.model.select(h,function(i){LP.Hook.doAction("learn_press_selected_question",h,f);f.$buttons.next.prop("disabled",false);f.$buttons.prev.prop("disabled",false);f.$buttons.finish.prop("disabled",false)})}},_getNonce:function(f){return this.$("input#"+f+"-nonce").val()},_startQuiz:function(){var f=this;if(LP.Hook.applyFilters("learn_press_before_start_quiz",true,f)!==false){f.$buttons.next.prop("disabled",true);f.$buttons.prev.prop("disabled",true);f.$buttons.finish.prop("disabled",true);LP.MessageBox.blockUI();f.startQuiz({complete:function(g){LP.MessageBox.hide();if(g.message){LP.alert(g.message,function(){if(g.redirect){LP.reload(g.redirect)}})}else{if(g.redirect){LP.reload(g.redirect)}}f.$buttons.next.prop("disabled",false);f.$buttons.prev.prop("disabled",false);f.$buttons.finish.prop("disabled",false);LP.Hook.doAction("learn_press_start_quiz",g,f)}})}},_retakeQuiz:function(){var f=this;if(LP.Hook.applyFilters("learn_press_before_retake_quiz",true,f)!==false){LP.confirm(single_quiz_localize.confirm_retake_quiz,function(g){if(!g){return}f.$buttons.retake.prop("disabled",true);LP.MessageBox.blockUI();f.retakeQuiz({complete:function(h){LP.MessageBox.hide();LP.Hook.doAction("learn_press_user_retaken_quiz",h,f)}})})}},_finishQuiz:function(){var f=this;if(LP.Hook.applyFilters("learn_press_before_finish_quiz",true,f)!==false){LP.confirm(single_quiz_localize.confirm_finish_quiz,function(g){if(!g){return}f.$buttons.next.prop("disabled",true);f.$buttons.prev.prop("disabled",true);f.$buttons.finish.prop("disabled",true);LP.MessageBox.blockUI();f.finishQuiz({data:{save_id:f.model.get("question_id"),question_answer:f.$("form").serializeJSON(),time_remaining:f.model.get("time_remaining")},complete:function(h){LP.MessageBox.hide();LP.Hook.doAction("learn_press_user_finished_quiz",h,f)}})})}},_updateQuestion:function(g){var h=this.$(".quiz-question-content form"),f=h.find(".learn-press-question-wrap");if(f.length){f.replaceWith(g)}else{h.append(g)}LP.Hook.doAction("learn_press_update_question_content",g,f,this);LP.setUrl(g.find('input[name="learn-press-question-permalink"]').val())},initCountdown:function(){var g=this,f=this.$countdown;if(!f){this.$countdown=d("#quiz-countdown-value");this.$countdown.backward_timer({seconds:parseInt(this.model.get("time_remaining")),format:g.model.get("time_format"),on_exhausted:function(h){g._timeOver(h)},on_tick:function(i){var h=(i.seconds_left<=5)?"#F00":"";if(h){i.target.css("color",h)}}})}},pause:function(){this.$countdown.backward_timer("cancel")},resume:function(){this.$countdown.backward_timer("start")},loadPage:function(f){f=f||window.location.href;window.location.href=f},_timeOver:function(f){f.target.css("color","#F00");LP.MessageBox.blockUI(single_quiz_localize.quiz_time_is_over_message);this.finishQuiz({complete:function(g){LP.MessageBox.hide();if(g.redirect){LP.reload(g.redirect)}}})},block_page:function(){},unblock_page:function(){}});LP.Quiz={init:function(g){var f=new e(g);new b(f)}};d(document).ready(function(){var f=JSON.stringify(single_quiz_params);LP.Quiz.init(single_quiz_params)})})(jQuery);