UNPKG

@caspingus/lt

Version:

A utility library of helpers and extensions useful when working with Learnosity APIs.

51 lines (50 loc) 1.46 kB
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 };