70 lines
2.2 KiB
JavaScript
70 lines
2.2 KiB
JavaScript
frappe.ready(() => {
|
|
|
|
/* Save Lesson Progress */
|
|
if ($(".title").attr("data-membership") && !$(".title").hasClass("is_mentor")) {
|
|
frappe.call({
|
|
method: "community.lms.doctype.lesson.lesson.save_progress",
|
|
args: {
|
|
lesson: $(".title").attr("data-lesson"),
|
|
course: $(".title").attr("data-course")
|
|
}
|
|
})
|
|
}
|
|
|
|
/* Save Current Lesson */
|
|
if ($(".title").attr("data-membership")) {
|
|
frappe.call("community.lms.api.save_current_lesson", {
|
|
course_name: $(".title").attr("data-course"),
|
|
lesson_name: $(".title").attr("data-lesson")
|
|
})
|
|
}
|
|
|
|
/* Submit Quiz */
|
|
$("#submit-quiz").click((e) => {
|
|
e.preventDefault();
|
|
console.log("click")
|
|
var result = [];
|
|
$('.question').each((i, element) => {
|
|
var options = $(element).find(".option");
|
|
var answers = [];
|
|
options.filter((i, op) => $(op).prop("checked")).each((i, elem) => answers.push(decodeURIComponent(elem.value)));
|
|
result.push({
|
|
"question": element.dataset.question,
|
|
"answer": answers
|
|
});
|
|
});
|
|
frappe.call({
|
|
method: "community.lms.doctype.lms_quiz.lms_quiz.submit",
|
|
args: {
|
|
quiz: $("#title").text(),
|
|
result: result
|
|
},
|
|
callback: (data) => {
|
|
$("#submit-quiz").addClass("hide");
|
|
$("#try-again").removeClass("hide");
|
|
$(":input[type='checkbox']").prop("disabled", true);
|
|
$(":input[type='radio']").prop("disabled", true);
|
|
if (data.message == result.length) {
|
|
$(".success-message").text("Congratulations, you cleared the quiz!");
|
|
}
|
|
else {
|
|
$(".success-message").text("Some of your answers weren't correct. You can give it another shot.");
|
|
}
|
|
$(".score").text(`Score: ${data.message}/${result.length}`);
|
|
}
|
|
})
|
|
})
|
|
|
|
/* Try the quiz again */
|
|
$("#try-again").click((e) => {
|
|
e.preventDefault();
|
|
$(":input[type='checkbox']").prop("disabled", false);
|
|
$(":input[type='radio']").prop("disabled", false);
|
|
$("#quiz-form").trigger("reset");
|
|
$(".success-message").text("");
|
|
$(".score").text("");
|
|
$("#submit-quiz").removeClass("hide");
|
|
$("#try-again").addClass("hide");
|
|
})
|
|
})
|