@caspingus/lt
Version:
A utility library of helpers and extensions useful when working with Learnosity APIs.
51 lines (50 loc) • 1.46 kB
JavaScript
import { r as e, t } from "../../extensionsFactory-hk5ijx1G.js";
//#region src/assessment/extensions/validation/checkAnswerValidation/index.js
var n = { message: {
header: "Please check your answers",
body: "<p>Before moving on, attempt all questions and click the \"Check Answer\" button.</p>\n <p>Note: the \"Check Answer\" button may not appear on every question.</p>"
} };
function r(e) {
let { header: r, body: a } = e?.message || {};
r?.length && (n.message.header = r), a?.length && (n.message.body = a), t.eventBus.on("item:beforeunload", (e) => {
i(e);
});
}
function i(e) {
a() && (o() || (t.utils.logger.debug("Disabling navigation."), e.preventDefault(), s()));
}
function a() {
let e = t.questions(), n = !1;
for (let r of e) {
let e = r.response_id;
if (t.hasCheckAnswer(e)) {
n = !0;
break;
}
}
return n;
}
function o() {
let e = t.questions();
for (let n of e) {
let e = n.response_id;
if (t.hasCheckAnswer(e) && (!t.questionResponse(e) || !t.questionResponse(e).hasOwnProperty("feedbackAttemptsCount"))) return !1;
}
return !0;
}
function s() {
t.dialog({
header: n.message.header,
body: n.message.body,
buttons: [{
button_id: "lt__check_answer_validation",
label: "Close",
is_primary: !1
}]
}), t.assessApp().on("button:lt__check_answer_validation:clicked", () => {
t.hideDialog();
});
}
var c = e("checkAnswerValidation", r);
//#endregion
export { c as checkAnswerValidation };