@caspingus/lt
Version:
A utility library of helpers and extensions useful when working with Learnosity APIs.
49 lines (48 loc) • 1.62 kB
JavaScript
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 };