UNPKG

@caspingus/lt

Version:

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

49 lines (48 loc) 1.62 kB
import { r as e, t } from "../../extensionsFactory-hk5ijx1G.js"; //#region src/assessment/extensions/accessibility/ux/resetResponse/index.js var n = { class: "lrn__resetResponse", label: "Reset question", logPrefix: "LRN Reset Responses:", types: ["mcq"] }; function r(e) { let { label: r, types: a } = e || {}; r && typeof r == "string" && (n.label = r), a && Array.isArray(a) && (n.types = a), t.eventBus.on("item:load", i, "resetResponse"); } function i() { let e = t.questions(); try { for (let r of e) if (n.types.includes("*") || n.types.includes(r.type)) { let e = r.response_id, i = document.getElementById(e); if (i) { let e = i.querySelector(".lrn_response"), t = i.querySelector(`.${n.class}`); t || (e.append(a()), t = i.querySelector(`.${n.class}`), t.addEventListener("click", o)); } else t.utils.logger.warn(n.logPrefix, "Question element not found"); } } catch (e) { t.utils.logger.error(e); } } function a() { let e = document.createElement("button"), t = document.createElement("span"); return e.classList.add("lds-btn", "lds-btn-secondary", "lrn_btn", n.class), t.append(n.label), e.append(t), e; } function o(e) { let n = e.srcElement.closest(".lrn_widget").getAttribute("id"); t.questionsApp().question(n).resetResponse(); } function s() { return ` /* Learnosity reset question styles */ .lrn .lrn_btn.${n.class} { margin-top: 1em; margin-bottom: 0.5em; clear: both; display: block; } `; } var c = e("resetResponse", r, { getStyles: s }); //#endregion export { c as resetResponse };