touchstudy-core 0.1.150 → 0.1.152
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.
- package/dist/containers/ExamResult/components/MyAnswer/Textbook.d.ts +0 -2
- package/dist/containers/ExamResult/components/MyAnswer/configs/interfaces.d.ts +1 -1
- package/dist/containers/ExamResult/configs/types.d.ts +5 -2
- package/dist/index.js +60 -58
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +60 -58
- package/dist/index.modern.js.map +1 -1
- package/dist/utils/functions/common.d.ts +1 -1
- package/dist/utils/types/format.d.ts +2 -1
- package/package.json +1 -1
@@ -1,10 +1,8 @@
|
|
1
1
|
import { FC } from "react";
|
2
|
-
import { CategoryResponse } from "../../../../utils/types/examResults";
|
3
2
|
import { TextbookResult } from "../../configs/types";
|
4
3
|
interface Props {
|
5
4
|
data: TextbookResult;
|
6
5
|
questionIdContextMenu?: number;
|
7
|
-
categories: CategoryResponse[];
|
8
6
|
itemProps?: any;
|
9
7
|
isStudent: boolean;
|
10
8
|
}
|
@@ -14,7 +14,7 @@ export interface TextbookAnswerItemProps extends TextbookAnswerItemBaseProps {
|
|
14
14
|
nextData?: StudentQuestionResult;
|
15
15
|
isLast?: boolean;
|
16
16
|
isFirst?: boolean;
|
17
|
-
|
17
|
+
questionGroupId: number;
|
18
18
|
}
|
19
19
|
export interface TextbookAnswerItemBaseProps {
|
20
20
|
menuContextActions?: Action<StudentQuestionResult>[];
|
@@ -55,8 +55,11 @@ export declare type TextbookResult = {
|
|
55
55
|
};
|
56
56
|
export declare type StudentQuestionResult = {
|
57
57
|
id: number;
|
58
|
-
|
59
|
-
|
58
|
+
questionGroupId: number;
|
59
|
+
selectedAnswers?: number[] | string;
|
60
|
+
correctAnswers?: number[] | string;
|
61
|
+
textualAnswers?: string[];
|
62
|
+
correctTextualAnswers?: string[];
|
60
63
|
isStar: boolean;
|
61
64
|
duration: number;
|
62
65
|
classAverageTime: number;
|
package/dist/index.js
CHANGED
@@ -6516,26 +6516,23 @@ var formatDataMyAnswer = function formatDataMyAnswer(inputData, categories) {
|
|
6516
6516
|
});
|
6517
6517
|
return questionsByCategory;
|
6518
6518
|
};
|
6519
|
-
var formatTextbookDataMyAnswer = function formatTextbookDataMyAnswer(inputData,
|
6520
|
-
var
|
6521
|
-
|
6522
|
-
|
6523
|
-
|
6524
|
-
|
6525
|
-
|
6526
|
-
|
6527
|
-
|
6528
|
-
|
6519
|
+
var formatTextbookDataMyAnswer = function formatTextbookDataMyAnswer(inputData, questionGroupIds) {
|
6520
|
+
var questionsByCategories = questionGroupIds.map(function (questionGroupId) {
|
6521
|
+
var _questions$, _questions$$categorie, _questions$2, _questions$2$categori;
|
6522
|
+
var questions = inputData.studentQuestionResults.filter(function (question) {
|
6523
|
+
return question.questionGroupId === questionGroupId;
|
6524
|
+
});
|
6525
|
+
var category = questions === null || questions === void 0 ? void 0 : (_questions$ = questions[0]) === null || _questions$ === void 0 ? void 0 : (_questions$$categorie = _questions$.categories) === null || _questions$$categorie === void 0 ? void 0 : _questions$$categorie[0];
|
6526
|
+
var subcategory = !category ? null : questions === null || questions === void 0 ? void 0 : (_questions$2 = questions[0]) === null || _questions$2 === void 0 ? void 0 : (_questions$2$categori = _questions$2.categories) === null || _questions$2$categori === void 0 ? void 0 : _questions$2$categori.find(function (c) {
|
6527
|
+
return !!c.parentCategoryId && c.parentCategoryId === (category === null || category === void 0 ? void 0 : category.id);
|
6528
|
+
});
|
6529
6529
|
return {
|
6530
|
-
category: category,
|
6531
|
-
questions:
|
6532
|
-
|
6533
|
-
return i.name === category.name;
|
6534
|
-
});
|
6535
|
-
})
|
6530
|
+
categories: category && subcategory ? [category, subcategory] : category ? [category] : [],
|
6531
|
+
questions: questions,
|
6532
|
+
questionGroupId: questionGroupId
|
6536
6533
|
};
|
6537
6534
|
});
|
6538
|
-
return
|
6535
|
+
return questionsByCategories;
|
6539
6536
|
};
|
6540
6537
|
var totalSolveTimeCategories = function totalSolveTimeCategories(inputData, categories) {
|
6541
6538
|
var uniqueCategories = new Set();
|
@@ -18493,11 +18490,12 @@ var TimeOrderChart = function TimeOrderChart(_ref) {
|
|
18493
18490
|
};
|
18494
18491
|
|
18495
18492
|
var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
|
18493
|
+
var _data$selectedAnswers, _data$textualAnswers, _data$selectedAnswers2, _data$textualAnswers2, _data$selectedAnswers3, _data$textualAnswers3;
|
18496
18494
|
var data = _ref.data,
|
18497
18495
|
nextData = _ref.nextData,
|
18498
18496
|
isFirst = _ref.isFirst,
|
18499
18497
|
isLast = _ref.isLast,
|
18500
|
-
|
18498
|
+
questionGroupId = _ref.questionGroupId,
|
18501
18499
|
_ref$menuContextActio = _ref.menuContextActions,
|
18502
18500
|
menuContextActions = _ref$menuContextActio === void 0 ? [] : _ref$menuContextActio,
|
18503
18501
|
openContextMenu = _ref.openContextMenu,
|
@@ -18509,14 +18507,14 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
|
|
18509
18507
|
var isLearningSpace = getLearningSpace();
|
18510
18508
|
var handleCloseContextMenu = function handleCloseContextMenu() {
|
18511
18509
|
onCloseContextMenu === null || onCloseContextMenu === void 0 ? void 0 : onCloseContextMenu(_extends({}, data, {
|
18512
|
-
id: ((data === null || data === void 0 ? void 0 : data.id) || 0) +
|
18510
|
+
id: ((data === null || data === void 0 ? void 0 : data.id) || 0) + questionGroupId
|
18513
18511
|
}));
|
18514
18512
|
};
|
18515
18513
|
var handleMoreClick = function handleMoreClick(e) {
|
18516
18514
|
e.preventDefault();
|
18517
18515
|
e.stopPropagation();
|
18518
18516
|
onOpenContextMenu === null || onOpenContextMenu === void 0 ? void 0 : onOpenContextMenu(_extends({}, data, {
|
18519
|
-
id: ((data === null || data === void 0 ? void 0 : data.id) || 0) +
|
18517
|
+
id: ((data === null || data === void 0 ? void 0 : data.id) || 0) + questionGroupId
|
18520
18518
|
}));
|
18521
18519
|
};
|
18522
18520
|
return React__default.createElement("div", {
|
@@ -18546,11 +18544,11 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
|
|
18546
18544
|
alignItems: "center",
|
18547
18545
|
gap: "4px"
|
18548
18546
|
}
|
18549
|
-
}, data.isCorrect && data.selectedAnswers !==
|
18547
|
+
}, 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
18548
|
className: styles$4["answerCorrect"]
|
18551
|
-
}, t("correct"))), !data.isCorrect && data.selectedAnswers !==
|
18549
|
+
}, 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
18550
|
className: styles$4["answerIncorrect"]
|
18553
|
-
}, t("incorrect"))), data.selectedAnswers
|
18551
|
+
}, 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
18552
|
className: styles$4["answerNograss"]
|
18555
18553
|
}, t("no_solution")))), React__default.createElement("div", {
|
18556
18554
|
className: styles["custom-col-2"],
|
@@ -18643,24 +18641,28 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
|
|
18643
18641
|
|
18644
18642
|
var TextbookMyAnswer = function TextbookMyAnswer(_ref) {
|
18645
18643
|
var data = _ref.data,
|
18646
|
-
categories = _ref.categories,
|
18647
18644
|
itemProps = _ref.itemProps,
|
18648
18645
|
questionIdContextMenu = _ref.questionIdContextMenu,
|
18649
18646
|
isStudent = _ref.isStudent;
|
18650
|
-
var
|
18647
|
+
var questionGroupIds = Array.from(new Set(data.studentQuestionResults.map(function (i) {
|
18648
|
+
return i.questionGroupId;
|
18649
|
+
}))).sort(function (a, b) {
|
18650
|
+
return a - b;
|
18651
|
+
});
|
18652
|
+
var formattedData = formatTextbookDataMyAnswer(data, questionGroupIds);
|
18651
18653
|
var _useTranslation = reactI18next.useTranslation(),
|
18652
18654
|
t = _useTranslation.t;
|
18653
|
-
var renderAnswer = function renderAnswer(item, index, questions,
|
18655
|
+
var renderAnswer = function renderAnswer(item, index, questions, questionGroupId) {
|
18654
18656
|
var nextItem = index < questions.length - 1 ? questions[index + 1] : undefined;
|
18655
18657
|
var isLast = index === questions.length - 1;
|
18656
18658
|
var isFirst = index === 0;
|
18657
|
-
var isSelected = (item === null || item === void 0 ? void 0 : item.id) +
|
18659
|
+
var isSelected = (item === null || item === void 0 ? void 0 : item.id) + questionGroupId === questionIdContextMenu;
|
18658
18660
|
return React__default.createElement(TextbookAnswerItem, Object.assign({
|
18659
18661
|
key: index
|
18660
18662
|
}, itemProps, {
|
18661
18663
|
openContextMenu: isSelected,
|
18662
18664
|
data: item,
|
18663
|
-
|
18665
|
+
questionGroupId: questionGroupId,
|
18664
18666
|
nextData: nextItem,
|
18665
18667
|
isLast: isLast,
|
18666
18668
|
isFirst: isFirst,
|
@@ -18670,8 +18672,9 @@ var TextbookMyAnswer = function TextbookMyAnswer(_ref) {
|
|
18670
18672
|
return React__default.createElement("div", {
|
18671
18673
|
className: "" + styles$4["myanswer"]
|
18672
18674
|
}, formattedData && formattedData.length > 0 && formattedData.map(function (item) {
|
18675
|
+
var _item$categories;
|
18673
18676
|
return React__default.createElement("div", {
|
18674
|
-
key: item.
|
18677
|
+
key: item.questionGroupId
|
18675
18678
|
}, React__default.createElement("div", {
|
18676
18679
|
className: "" + printStyles["avoid-break-inside"]
|
18677
18680
|
}, React__default.createElement(material.Stack, {
|
@@ -18769,12 +18772,14 @@ var TextbookMyAnswer = function TextbookMyAnswer(_ref) {
|
|
18769
18772
|
fontSize: "12px",
|
18770
18773
|
fontWeight: 700
|
18771
18774
|
}
|
18772
|
-
}, item.
|
18775
|
+
}, (_item$categories = item.categories) === null || _item$categories === void 0 ? void 0 : _item$categories.map(function (i) {
|
18776
|
+
return i.name;
|
18777
|
+
}).join(" / ")))), React__default.createElement("div", {
|
18773
18778
|
className: styles$4["contentMyAnswer"]
|
18774
18779
|
}, React__default.createElement(ListView, {
|
18775
18780
|
data: item.questions,
|
18776
18781
|
render: function render(question, index) {
|
18777
|
-
return renderAnswer(question, index, item.questions, item.
|
18782
|
+
return renderAnswer(question, index, item.questions, item.questionGroupId);
|
18778
18783
|
}
|
18779
18784
|
})));
|
18780
18785
|
}));
|
@@ -18934,11 +18939,30 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
|
|
18934
18939
|
var isOpen = openProblem === keyOpen;
|
18935
18940
|
var incorrectQuestions = React.useMemo(function () {
|
18936
18941
|
return data === null || data === void 0 ? void 0 : data.studentQuestionResults.filter(function (i) {
|
18937
|
-
|
18942
|
+
var _i$selectedAnswers, _i$textualAnswers;
|
18943
|
+
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
18944
|
}).sort(function (q1, q2) {
|
18939
18945
|
return q2.overallCorrectRate === q1.overallCorrectRate ? q1.questionOrder - q2.questionOrder : q2.overallCorrectRate - q1.overallCorrectRate;
|
18940
18946
|
}).slice(0, limitQuestions$1);
|
18941
18947
|
}, [JSON.stringify(data === null || data === void 0 ? void 0 : data.studentQuestionResults)]);
|
18948
|
+
var renderTextbookAnswer = function renderTextbookAnswer(type, answers, textualAnswers, isCorrect) {
|
18949
|
+
var _textualAnswers$;
|
18950
|
+
switch (type) {
|
18951
|
+
case exports.QuestionAnswerType.ShortAnswer:
|
18952
|
+
case exports.QuestionAnswerType.SynonymProcessing:
|
18953
|
+
return isCorrect ? textualAnswers === null || textualAnswers === void 0 ? void 0 : textualAnswers.join(" | ") : (_textualAnswers$ = textualAnswers === null || textualAnswers === void 0 ? void 0 : textualAnswers[0]) != null ? _textualAnswers$ : "";
|
18954
|
+
case exports.QuestionAnswerType.SingleChoice:
|
18955
|
+
case exports.QuestionAnswerType.MultipleChoice:
|
18956
|
+
if (!(answers !== null && answers !== void 0 && answers.length)) return "";
|
18957
|
+
return answers.map(function (i) {
|
18958
|
+
return t("number_question", {
|
18959
|
+
number: i
|
18960
|
+
});
|
18961
|
+
}).join(",");
|
18962
|
+
default:
|
18963
|
+
return textualAnswers === null || textualAnswers === void 0 ? void 0 : textualAnswers.join(", ");
|
18964
|
+
}
|
18965
|
+
};
|
18942
18966
|
var renderAnswer = function renderAnswer(type, content) {
|
18943
18967
|
var _content$split, _content$split$map;
|
18944
18968
|
if (!content) return "";
|
@@ -18995,12 +19019,12 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
|
|
18995
19019
|
fontSize: "13px",
|
18996
19020
|
fontWeight: 500
|
18997
19021
|
}
|
18998
|
-
},
|
19022
|
+
}, typeof item.selectedAnswers === "string" ? renderAnswer(item.questionAnswerType, item.selectedAnswers) : renderTextbookAnswer(item.questionAnswerType, item.selectedAnswers, item.textualAnswers)), React__default.createElement("td", {
|
18999
19023
|
style: {
|
19000
19024
|
textAlign: "center",
|
19001
19025
|
color: styles$4.gray_700
|
19002
19026
|
}
|
19003
|
-
},
|
19027
|
+
}, typeof item.correctAnswers === "string" ? renderAnswer(item.questionAnswerType, item.correctAnswers) : renderTextbookAnswer(item.questionAnswerType, item.correctAnswers, item.correctTextualAnswers, true)), React__default.createElement("td", {
|
19004
19028
|
style: {
|
19005
19029
|
textAlign: "center",
|
19006
19030
|
color: styles$4.gray_700
|
@@ -19012,7 +19036,6 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
|
|
19012
19036
|
};
|
19013
19037
|
var renderQuestions = function renderQuestions(questions) {
|
19014
19038
|
return questions.map(function (question) {
|
19015
|
-
var _question$selectedAns, _question$selectedAns2, _question$selectedAns3, _question$correctAnsw, _question$correctAnsw2, _question$correctAnsw3;
|
19016
19039
|
return React__default.createElement(material.Grid, {
|
19017
19040
|
container: true,
|
19018
19041
|
flexWrap: "nowrap",
|
@@ -19039,29 +19062,9 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
|
|
19039
19062
|
className: styles$4["span2"]
|
19040
19063
|
}, t("my_wrong_answer"))), React__default.createElement("div", null, React__default.createElement("span", {
|
19041
19064
|
className: styles$4["overallCorrectRate"]
|
19042
|
-
}, question.overallCorrectRate.toFixed(2), "%"),
|
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", {
|
19065
|
+
}, question.overallCorrectRate.toFixed(2), "%"), React__default.createElement("span", {
|
19059
19066
|
className: styles$4["answer"]
|
19060
|
-
}, t("
|
19061
|
-
number: question.selectedAnswers
|
19062
|
-
}), " ", "(", t("answer"), " ", t("number_question", {
|
19063
|
-
number: question.correctAnswers
|
19064
|
-
}), ")"))));
|
19067
|
+
}, 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
19068
|
});
|
19066
19069
|
};
|
19067
19070
|
var handleToggle = function handleToggle() {
|
@@ -20888,7 +20891,6 @@ var ExamResultV2 = function ExamResultV2(props) {
|
|
20888
20891
|
index: 0
|
20889
20892
|
}, chapterId ? textbookResult && React__default.createElement(TextbookMyAnswer, {
|
20890
20893
|
data: textbookResult,
|
20891
|
-
categories: categoryResponses,
|
20892
20894
|
isStudent: isStudent,
|
20893
20895
|
questionIdContextMenu: questionIdContextMenu,
|
20894
20896
|
itemProps: questionItemProp
|