touchstudy-core 0.1.150 → 0.1.151

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.
@@ -55,8 +55,10 @@ export declare type TextbookResult = {
55
55
  };
56
56
  export declare type StudentQuestionResult = {
57
57
  id: number;
58
- selectedAnswers: string;
59
- correctAnswers: string;
58
+ selectedAnswers?: number[] | string;
59
+ correctAnswers?: number[] | string;
60
+ textualAnswers?: string[];
61
+ correctTextualAnswers?: string[];
60
62
  isStar: boolean;
61
63
  duration: number;
62
64
  classAverageTime: number;
package/dist/index.js CHANGED
@@ -18493,6 +18493,7 @@ var TimeOrderChart = function TimeOrderChart(_ref) {
18493
18493
  };
18494
18494
 
18495
18495
  var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
18496
+ var _data$selectedAnswers, _data$textualAnswers, _data$selectedAnswers2, _data$textualAnswers2, _data$selectedAnswers3, _data$textualAnswers3;
18496
18497
  var data = _ref.data,
18497
18498
  nextData = _ref.nextData,
18498
18499
  isFirst = _ref.isFirst,
@@ -18546,11 +18547,11 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
18546
18547
  alignItems: "center",
18547
18548
  gap: "4px"
18548
18549
  }
18549
- }, data.isCorrect && data.selectedAnswers !== "" && React__default.createElement(React.Fragment, null, React__default.createElement(iconCorrectAnswer, null), React__default.createElement("span", {
18550
+ }, data.isCorrect && (!!((_data$selectedAnswers = data.selectedAnswers) !== null && _data$selectedAnswers !== void 0 && _data$selectedAnswers.length) || !!((_data$textualAnswers = data.textualAnswers) !== null && _data$textualAnswers !== void 0 && _data$textualAnswers.length)) && React__default.createElement(React.Fragment, null, React__default.createElement(iconCorrectAnswer, null), React__default.createElement("span", {
18550
18551
  className: styles$4["answerCorrect"]
18551
- }, t("correct"))), !data.isCorrect && data.selectedAnswers !== "" && React__default.createElement(React.Fragment, null, React__default.createElement(iconCorrectAnswer$1, null), React__default.createElement("span", {
18552
+ }, t("correct"))), !data.isCorrect && (!!((_data$selectedAnswers2 = data.selectedAnswers) !== null && _data$selectedAnswers2 !== void 0 && _data$selectedAnswers2.length) || !!((_data$textualAnswers2 = data.textualAnswers) !== null && _data$textualAnswers2 !== void 0 && _data$textualAnswers2.length)) && React__default.createElement(React.Fragment, null, React__default.createElement(iconCorrectAnswer$1, null), React__default.createElement("span", {
18552
18553
  className: styles$4["answerIncorrect"]
18553
- }, t("incorrect"))), data.selectedAnswers === "" && React__default.createElement(React.Fragment, null, React__default.createElement(iconNoGrass, null), React__default.createElement("span", {
18554
+ }, t("incorrect"))), !((_data$selectedAnswers3 = data.selectedAnswers) !== null && _data$selectedAnswers3 !== void 0 && _data$selectedAnswers3.length) && !((_data$textualAnswers3 = data.textualAnswers) !== null && _data$textualAnswers3 !== void 0 && _data$textualAnswers3.length) && React__default.createElement(React.Fragment, null, React__default.createElement(iconNoGrass, null), React__default.createElement("span", {
18554
18555
  className: styles$4["answerNograss"]
18555
18556
  }, t("no_solution")))), React__default.createElement("div", {
18556
18557
  className: styles["custom-col-2"],
@@ -18934,11 +18935,30 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
18934
18935
  var isOpen = openProblem === keyOpen;
18935
18936
  var incorrectQuestions = React.useMemo(function () {
18936
18937
  return data === null || data === void 0 ? void 0 : data.studentQuestionResults.filter(function (i) {
18937
- return i.selectedAnswers !== "" && i.isCorrect === false && i.isStar === false && i.overallCorrectRate >= correctRateThreshHold$1;
18938
+ var _i$selectedAnswers, _i$textualAnswers;
18939
+ return (((_i$selectedAnswers = i.selectedAnswers) === null || _i$selectedAnswers === void 0 ? void 0 : _i$selectedAnswers.length) || ((_i$textualAnswers = i.textualAnswers) === null || _i$textualAnswers === void 0 ? void 0 : _i$textualAnswers.length)) && i.isCorrect === false && i.isStar === false && i.overallCorrectRate >= correctRateThreshHold$1;
18938
18940
  }).sort(function (q1, q2) {
18939
18941
  return q2.overallCorrectRate === q1.overallCorrectRate ? q1.questionOrder - q2.questionOrder : q2.overallCorrectRate - q1.overallCorrectRate;
18940
18942
  }).slice(0, limitQuestions$1);
18941
18943
  }, [JSON.stringify(data === null || data === void 0 ? void 0 : data.studentQuestionResults)]);
18944
+ var renderTextbookAnswer = function renderTextbookAnswer(type, answers, textualAnswers, isCorrect) {
18945
+ var _textualAnswers$;
18946
+ switch (type) {
18947
+ case exports.QuestionAnswerType.ShortAnswer:
18948
+ case exports.QuestionAnswerType.SynonymProcessing:
18949
+ return isCorrect ? textualAnswers === null || textualAnswers === void 0 ? void 0 : textualAnswers.join(" | ") : (_textualAnswers$ = textualAnswers === null || textualAnswers === void 0 ? void 0 : textualAnswers[0]) != null ? _textualAnswers$ : "";
18950
+ case exports.QuestionAnswerType.SingleChoice:
18951
+ case exports.QuestionAnswerType.MultipleChoice:
18952
+ if (!(answers !== null && answers !== void 0 && answers.length)) return "";
18953
+ return answers.map(function (i) {
18954
+ return t("number_question", {
18955
+ number: i
18956
+ });
18957
+ }).join(",");
18958
+ default:
18959
+ return textualAnswers === null || textualAnswers === void 0 ? void 0 : textualAnswers.join(", ");
18960
+ }
18961
+ };
18942
18962
  var renderAnswer = function renderAnswer(type, content) {
18943
18963
  var _content$split, _content$split$map;
18944
18964
  if (!content) return "";
@@ -18995,12 +19015,12 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
18995
19015
  fontSize: "13px",
18996
19016
  fontWeight: 500
18997
19017
  }
18998
- }, renderAnswer(item === null || item === void 0 ? void 0 : item.questionAnswerType, item === null || item === void 0 ? void 0 : item.selectedAnswers)), React__default.createElement("td", {
19018
+ }, typeof item.selectedAnswers === "string" ? renderAnswer(item.questionAnswerType, item.selectedAnswers) : renderTextbookAnswer(item.questionAnswerType, item.selectedAnswers, item.textualAnswers)), React__default.createElement("td", {
18999
19019
  style: {
19000
19020
  textAlign: "center",
19001
19021
  color: styles$4.gray_700
19002
19022
  }
19003
- }, renderAnswer(item === null || item === void 0 ? void 0 : item.questionAnswerType, item === null || item === void 0 ? void 0 : item.correctAnswers)), React__default.createElement("td", {
19023
+ }, typeof item.correctAnswers === "string" ? renderAnswer(item.questionAnswerType, item.correctAnswers) : renderTextbookAnswer(item.questionAnswerType, item.correctAnswers, item.correctTextualAnswers, true)), React__default.createElement("td", {
19004
19024
  style: {
19005
19025
  textAlign: "center",
19006
19026
  color: styles$4.gray_700
@@ -19012,7 +19032,6 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
19012
19032
  };
19013
19033
  var renderQuestions = function renderQuestions(questions) {
19014
19034
  return questions.map(function (question) {
19015
- var _question$selectedAns, _question$selectedAns2, _question$selectedAns3, _question$correctAnsw, _question$correctAnsw2, _question$correctAnsw3;
19016
19035
  return React__default.createElement(material.Grid, {
19017
19036
  container: true,
19018
19037
  flexWrap: "nowrap",
@@ -19039,29 +19058,9 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
19039
19058
  className: styles$4["span2"]
19040
19059
  }, t("my_wrong_answer"))), React__default.createElement("div", null, React__default.createElement("span", {
19041
19060
  className: styles$4["overallCorrectRate"]
19042
- }, question.overallCorrectRate.toFixed(2), "%"), (question === null || question === void 0 ? void 0 : question.questionAnswerType) === exports.QuestionAnswerType.ShortAnswer ? React__default.createElement("span", {
19043
- className: styles$4["answer"]
19044
- }, React__default.createElement(MathJaxContainer, {
19045
- content: question === null || question === void 0 ? void 0 : question.selectedAnswers
19046
- }), " ", React__default.createElement(MathJaxContainer, {
19047
- content: question === null || question === void 0 ? void 0 : question.correctAnswers
19048
- })) : exports.QuestionAnswerType.MultipleChoice ? React__default.createElement("span", {
19049
- className: styles$4["answer"]
19050
- }, (_question$selectedAns = question.selectedAnswers) === null || _question$selectedAns === void 0 ? void 0 : (_question$selectedAns2 = _question$selectedAns.split("|")) === null || _question$selectedAns2 === void 0 ? void 0 : (_question$selectedAns3 = _question$selectedAns2.map(function (i) {
19051
- return t("number_question", {
19052
- number: i
19053
- });
19054
- })) === null || _question$selectedAns3 === void 0 ? void 0 : _question$selectedAns3.join(","), " ", "(", t("answer"), " ", (_question$correctAnsw = question.correctAnswers) === null || _question$correctAnsw === void 0 ? void 0 : (_question$correctAnsw2 = _question$correctAnsw.split("|")) === null || _question$correctAnsw2 === void 0 ? void 0 : (_question$correctAnsw3 = _question$correctAnsw2.map(function (i) {
19055
- return t("number_question", {
19056
- number: i
19057
- });
19058
- })) === null || _question$correctAnsw3 === void 0 ? void 0 : _question$correctAnsw3.join(","), ")", " ") : React__default.createElement("span", {
19061
+ }, question.overallCorrectRate.toFixed(2), "%"), React__default.createElement("span", {
19059
19062
  className: styles$4["answer"]
19060
- }, t("number_question", {
19061
- number: question.selectedAnswers
19062
- }), " ", "(", t("answer"), " ", t("number_question", {
19063
- number: question.correctAnswers
19064
- }), ")"))));
19063
+ }, typeof question.selectedAnswers === "string" ? renderAnswer(question.questionAnswerType, question.selectedAnswers) : renderTextbookAnswer(question.questionAnswerType, question.selectedAnswers, question.textualAnswers), " ", t("answer"), " ", typeof question.correctAnswers === "string" ? renderAnswer(question.questionAnswerType, question.correctAnswers) : renderTextbookAnswer(question.questionAnswerType, question.correctAnswers, question.correctTextualAnswers, true)))));
19065
19064
  });
19066
19065
  };
19067
19066
  var handleToggle = function handleToggle() {