@pie-element/categorize 13.2.0-next.15 → 13.2.0-next.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -107,7 +107,7 @@ var { translator: p } = s, m = (e, t) => {
107
107
  let m = g(e, t, n);
108
108
  return r.push(`Final score: ${m}.`), r;
109
109
  }, S = (e, t, n) => n.mode === "evaluate" ? new Promise((r) => {
110
- if (!t || c(t)) r({
110
+ if (!t || c(t) || !t.answers) r({
111
111
  score: 0,
112
112
  empty: !0,
113
113
  traceLog: ["Student did not place any choices into categories. Score is 0."]
@@ -53,18 +53,18 @@ var u = l(a, "EnableAudioAutoplayImage") || l(p.EnableAudioAutoplayImage, "Enabl
53
53
  this._model = e, this.eliminateBlindAnswersFromSession(), this.dispatchEvent(new o(this.tagName.toLowerCase(), this.isComplete(), !!this._model)), this._audioInitialized = !1, this.render();
54
54
  }
55
55
  isComplete() {
56
- let { autoplayAudioEnabled: e, choices: t, completeAudioEnabled: n, hasUnplacedChoices: r, possibleResponses: i, responseAreasToBeFilled: a } = this._model || {}, o = this;
57
- if (e && n && !this.audioComplete && o) {
58
- let e = o.querySelector("audio"), t = e && e.closest(".preview-prompt");
56
+ let { choices: e, completeAudioEnabled: t, hasUnplacedChoices: n, possibleResponses: r, responseAreasToBeFilled: i } = this._model || {}, a = this;
57
+ if (t && !this.audioComplete && a) {
58
+ let e = a.querySelector("audio"), t = e && e.closest(".preview-prompt");
59
59
  if (e && t) return !1;
60
60
  }
61
61
  if (!this._session || !this._session.answers) return !1;
62
- let { answers: s } = this._session;
63
- if (!Array.isArray(s)) return !1;
64
- let c = s.filter((e) => e.choices.length).length >= a;
65
- if ((t || []).some((e) => e.categoryCount === 0) || r) return c;
66
- let l = s.map((e) => e.choices).flat();
67
- return (i || []).some((e) => e.every((e) => l.includes(e)));
62
+ let { answers: o } = this._session;
63
+ if (!Array.isArray(o)) return !1;
64
+ let s = o.filter((e) => e.choices.length).length >= i;
65
+ if ((e || []).some((e) => e.categoryCount === 0) || n) return s;
66
+ let c = o.map((e) => e.choices).flat();
67
+ return (r || []).some((e) => e.every((e) => c.includes(e)));
68
68
  }
69
69
  set session(e) {
70
70
  e && !e.answers && (e.answers = []), this._session = e, this.render();
@@ -105,25 +105,27 @@ var u = l(a, "EnableAudioAutoplayImage") || l(p.EnableAudioAutoplayImage, "Enabl
105
105
  if (e.type === "childList") {
106
106
  if (this._audioInitialized) return;
107
107
  let e = this.querySelector("audio"), n = e && e.closest(".preview-prompt");
108
- if (!this._model || !this._model.autoplayAudioEnabled || e && !n || !e) return;
109
- let r = this._createAudioInfoToast(), i = this.querySelector("#main-container"), a = () => {
110
- this.querySelector("#play-audio-info") && (e.play(), i.removeChild(r)), document.removeEventListener("click", a);
108
+ if (!this._model) return;
109
+ let { autoplayAudioEnabled: r, completeAudioEnabled: i } = this._model;
110
+ if (!r && !i || e && !n || !e) return;
111
+ let a = this._createAudioInfoToast(), o = this.querySelector("#main-container"), c = () => {
112
+ this.querySelector("#play-audio-info") && (e.play(), o.removeChild(a)), document.removeEventListener("click", c);
111
113
  };
112
- setTimeout(() => {
113
- e.paused && !this.querySelector("#play-audio-info") ? (i.appendChild(r), document.addEventListener("click", a)) : document.removeEventListener("click", a);
114
+ r && setTimeout(() => {
115
+ e.paused && !this.querySelector("#play-audio-info") ? (o.appendChild(a), document.addEventListener("click", c)) : document.removeEventListener("click", c);
114
116
  }, 500);
115
- let o = () => {
117
+ let l = () => {
116
118
  this._session.audioStartTime = this._session.audioStartTime || (/* @__PURE__ */ new Date()).getTime();
117
119
  let t = this.querySelector("#play-audio-info");
118
- t && i.removeChild(t), e.removeEventListener("playing", o);
120
+ t && o.removeChild(t), e.removeEventListener("playing", l);
119
121
  };
120
- e.addEventListener("playing", o);
121
- let c = () => {
122
+ e.addEventListener("playing", l);
123
+ let u = () => {
122
124
  this._session.audioEndTime = this._session.audioEndTime || (/* @__PURE__ */ new Date()).getTime();
123
125
  let { audioStartTime: t, audioEndTime: n, waitTime: r } = this._session;
124
- !r && t && n && (this._session.waitTime = n - t), this.audioComplete = !0, this.dispatchEvent(new s(this.tagName.toLowerCase(), this.isComplete())), e.removeEventListener("ended", c);
126
+ !r && t && n && (this._session.waitTime = n - t), this.audioComplete = !0, this.dispatchEvent(new s(this.tagName.toLowerCase(), this.isComplete())), e.removeEventListener("ended", u);
125
127
  };
126
- e.addEventListener("ended", c), this._audio = e, this._handlePlaying = o, this._handleEnded = c, this._enableAudio = a, this._audioInitialized = !0, t.disconnect();
128
+ e.addEventListener("ended", u), this._audio = e, this._handlePlaying = l, this._handleEnded = u, this._enableAudio = c, this._audioInitialized = !0, t.disconnect();
127
129
  }
128
130
  });
129
131
  }).observe(this, {