@elice/material-quiz 1.241022.0 → 1.241023.0

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.
@@ -512,7 +512,7 @@ var MaterialQuizSelectMultipleOrder = function MaterialQuizSelectMultipleOrder(_
512
512
  if (isHideStatus) {
513
513
  return 'default';
514
514
  }
515
- var status = (_a = index.getQuizSelectMultipleOrderOptionResultStatus(option, materialQuizResponse)) !== null && _a !== void 0 ? _a : index.getQuizResultStatus(materialQuizResponse);
515
+ var status = (_a = index.getQuizSelectMultipleOrderOptionResultStatus(index$1, option, materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.answerInfo, materialQuizResponse)) !== null && _a !== void 0 ? _a : index.getQuizResultStatus(materialQuizResponse);
516
516
  switch (status) {
517
517
  case index.QuizResultStatus.Correct:
518
518
  return 'correct';
@@ -58,6 +58,7 @@ var MaterialQuizGroupDesktop = function MaterialQuizGroupDesktop(_ref3) {
58
58
  materialQuizResponse = _ref3.materialQuizResponse;
59
59
  var intl$1 = intl.useRawEliceIntl();
60
60
  var _useMaterialQuizState = MaterialQuizContext.useMaterialQuizState(),
61
+ materialQuiz = _useMaterialQuizState.materialQuiz,
61
62
  userId = _useMaterialQuizState.userId,
62
63
  lecture = _useMaterialQuizState.lecture;
63
64
  var _React$useContext = React__default.default.useContext(context.default),
@@ -126,7 +127,7 @@ var MaterialQuizGroupDesktop = function MaterialQuizGroupDesktop(_ref3) {
126
127
  isGroupAnswer: isGroupAnswer,
127
128
  children: isGroupAnswer ? (_b = currentAnswerList[dropzoneIndex]) === null || _b === void 0 ? void 0 : _b.map(function (answer, index$1) {
128
129
  var isHideStatus = !userId && (isActive || isTestLecture);
129
- var status = isHideStatus ? undefined : index.getQuizGroupOptionResultStatus(dropzoneIndex, index$1, materialQuizResponse);
130
+ var status = isHideStatus ? undefined : index.getQuizGroupOptionResultStatus(dropzoneIndex, index$1, answer.order, materialQuizResponse, materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.answerInfo);
130
131
  return jsxRuntime.jsx(MaterialQuizGroupOptionItem.default, {
131
132
  status: status,
132
133
  option: answer
@@ -105,7 +105,7 @@ var MaterialQuizGroupMobile = function MaterialQuizGroupMobile(_ref3) {
105
105
  isCurrentOptionList: isCurrentOptionList,
106
106
  children: isCurrentOptionList ? currentAnswerList[index$1].map(function (answer, answerIndex) {
107
107
  var isHideStatus = !userId && (isActive || isTestLecture);
108
- var status = isHideStatus ? undefined : index.getQuizGroupOptionResultStatus(index$1, answerIndex, materialQuizResponse);
108
+ var status = isHideStatus ? undefined : index.getQuizGroupOptionResultStatus(index$1, answerIndex, answer.order, materialQuizResponse, materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.answerInfo);
109
109
  return jsxRuntime.jsx(MaterialQuizGroupOptionItem.default, {
110
110
  option: answer,
111
111
  status: status,
@@ -24,8 +24,8 @@ export declare enum QuizResultStatus {
24
24
  }
25
25
  export declare function getQuizResultStatus(materialQuizResponse?: GetOrgMaterialQuizResponseGetResponses['quizResponse']): QuizResultStatus.Correct | QuizResultStatus.Wrong | QuizResultStatus.Submitted | QuizResultStatus.NotSubmitted;
26
26
  export declare function getQuizSelectMultipleOptionResultStatus(index: number, materialQuizResponse?: GetOrgMaterialQuizResponseGetResponses['quizResponse']): "correct" | undefined;
27
- export declare function getQuizSelectMultipleOrderOptionResultStatus(option: Answer, materialQuizResponse?: GetOrgMaterialQuizResponseGetResponses['quizResponse']): QuizResultStatus.Correct | QuizResultStatus.Wrong;
28
- export declare function getQuizGroupOptionResultStatus(dropzoneIndex: number, index: number, materialQuizResponse?: GetOrgMaterialQuizResponseGetResponses['quizResponse']): "correct" | "wrong";
27
+ export declare function getQuizSelectMultipleOrderOptionResultStatus(index: number, option: Answer, answerInfo: number[], materialQuizResponse?: GetOrgMaterialQuizResponseGetResponses['quizResponse']): QuizResultStatus.Correct | QuizResultStatus.Wrong;
28
+ export declare function getQuizGroupOptionResultStatus(dropzoneIndex: number, index: number, answerOrder: number, materialQuizResponse?: GetOrgMaterialQuizResponseGetResponses['quizResponse'], answerInfo?: number[][]): "correct" | "wrong";
29
29
  export declare const getOptionStatus: ({ isSelected, isActive, materialQuizResponse, }: {
30
30
  isSelected: boolean;
31
31
  isActive: boolean;
@@ -33,20 +33,32 @@ function getQuizSelectMultipleOptionResultStatus(index, materialQuizResponse) {
33
33
  }
34
34
  return;
35
35
  }
36
- function getQuizSelectMultipleOrderOptionResultStatus(option, materialQuizResponse) {
36
+ function getQuizSelectMultipleOrderOptionResultStatus(index, option, answerInfo, materialQuizResponse) {
37
37
  var _a, _b;
38
38
  var answerIndex = (_a = materialQuizResponse === null || materialQuizResponse === void 0 ? void 0 : materialQuizResponse.answer) === null || _a === void 0 ? void 0 : _a.findIndex(function (answer) {
39
39
  return answer === option.initialOrder;
40
40
  });
41
+ // for tutoring
42
+ if (answerInfo) {
43
+ var _isCorrect = answerInfo[index] === option.initialOrder;
44
+ return _isCorrect ? exports.QuizResultStatus.Correct : exports.QuizResultStatus.Wrong;
45
+ }
46
+ // for submission
41
47
  var isCorrect = (_b = materialQuizResponse === null || materialQuizResponse === void 0 ? void 0 : materialQuizResponse.optionCorrectness) === null || _b === void 0 ? void 0 : _b[answerIndex];
42
48
  if (isCorrect) {
43
49
  return exports.QuizResultStatus.Correct;
44
50
  }
45
51
  return exports.QuizResultStatus.Wrong;
46
52
  }
47
- function getQuizGroupOptionResultStatus(dropzoneIndex, index, materialQuizResponse) {
48
- var _a;
49
- var dropzoneAnswerResult = (_a = materialQuizResponse === null || materialQuizResponse === void 0 ? void 0 : materialQuizResponse.optionCorrectness) === null || _a === void 0 ? void 0 : _a[dropzoneIndex];
53
+ function getQuizGroupOptionResultStatus(dropzoneIndex, index, answerOrder, materialQuizResponse, answerInfo) {
54
+ var _a, _b;
55
+ // for tutoring
56
+ if (answerInfo) {
57
+ var _isCorrect2 = (_a = answerInfo[dropzoneIndex]) === null || _a === void 0 ? void 0 : _a.includes(answerOrder);
58
+ return _isCorrect2 ? 'correct' : 'wrong';
59
+ }
60
+ // for submission
61
+ var dropzoneAnswerResult = (_b = materialQuizResponse === null || materialQuizResponse === void 0 ? void 0 : materialQuizResponse.optionCorrectness) === null || _b === void 0 ? void 0 : _b[dropzoneIndex];
50
62
  var isCorrect = dropzoneAnswerResult === null || dropzoneAnswerResult === void 0 ? void 0 : dropzoneAnswerResult[index];
51
63
  if (isCorrect) {
52
64
  return 'correct';
@@ -503,7 +503,7 @@ var MaterialQuizSelectMultipleOrder = function MaterialQuizSelectMultipleOrder(_
503
503
  if (isHideStatus) {
504
504
  return 'default';
505
505
  }
506
- var status = (_a = getQuizSelectMultipleOrderOptionResultStatus(option, materialQuizResponse)) !== null && _a !== void 0 ? _a : getQuizResultStatus(materialQuizResponse);
506
+ var status = (_a = getQuizSelectMultipleOrderOptionResultStatus(index, option, materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.answerInfo, materialQuizResponse)) !== null && _a !== void 0 ? _a : getQuizResultStatus(materialQuizResponse);
507
507
  switch (status) {
508
508
  case QuizResultStatus.Correct:
509
509
  return 'correct';
@@ -49,6 +49,7 @@ var MaterialQuizGroupDesktop = function MaterialQuizGroupDesktop(_ref3) {
49
49
  materialQuizResponse = _ref3.materialQuizResponse;
50
50
  var intl = useRawEliceIntl();
51
51
  var _useMaterialQuizState = useMaterialQuizState(),
52
+ materialQuiz = _useMaterialQuizState.materialQuiz,
52
53
  userId = _useMaterialQuizState.userId,
53
54
  lecture = _useMaterialQuizState.lecture;
54
55
  var _React$useContext = React.useContext(QuizGroupContext),
@@ -117,7 +118,7 @@ var MaterialQuizGroupDesktop = function MaterialQuizGroupDesktop(_ref3) {
117
118
  isGroupAnswer: isGroupAnswer,
118
119
  children: isGroupAnswer ? (_b = currentAnswerList[dropzoneIndex]) === null || _b === void 0 ? void 0 : _b.map(function (answer, index) {
119
120
  var isHideStatus = !userId && (isActive || isTestLecture);
120
- var status = isHideStatus ? undefined : getQuizGroupOptionResultStatus(dropzoneIndex, index, materialQuizResponse);
121
+ var status = isHideStatus ? undefined : getQuizGroupOptionResultStatus(dropzoneIndex, index, answer.order, materialQuizResponse, materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.answerInfo);
121
122
  return jsx(MaterialQuizGroupOptionItem, {
122
123
  status: status,
123
124
  option: answer
@@ -96,7 +96,7 @@ var MaterialQuizGroupMobile = function MaterialQuizGroupMobile(_ref3) {
96
96
  isCurrentOptionList: isCurrentOptionList,
97
97
  children: isCurrentOptionList ? currentAnswerList[index].map(function (answer, answerIndex) {
98
98
  var isHideStatus = !userId && (isActive || isTestLecture);
99
- var status = isHideStatus ? undefined : getQuizGroupOptionResultStatus(index, answerIndex, materialQuizResponse);
99
+ var status = isHideStatus ? undefined : getQuizGroupOptionResultStatus(index, answerIndex, answer.order, materialQuizResponse, materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.answerInfo);
100
100
  return jsx(MaterialQuizGroupOptionItem, {
101
101
  option: answer,
102
102
  status: status,
@@ -24,8 +24,8 @@ export declare enum QuizResultStatus {
24
24
  }
25
25
  export declare function getQuizResultStatus(materialQuizResponse?: GetOrgMaterialQuizResponseGetResponses['quizResponse']): QuizResultStatus.Correct | QuizResultStatus.Wrong | QuizResultStatus.Submitted | QuizResultStatus.NotSubmitted;
26
26
  export declare function getQuizSelectMultipleOptionResultStatus(index: number, materialQuizResponse?: GetOrgMaterialQuizResponseGetResponses['quizResponse']): "correct" | undefined;
27
- export declare function getQuizSelectMultipleOrderOptionResultStatus(option: Answer, materialQuizResponse?: GetOrgMaterialQuizResponseGetResponses['quizResponse']): QuizResultStatus.Correct | QuizResultStatus.Wrong;
28
- export declare function getQuizGroupOptionResultStatus(dropzoneIndex: number, index: number, materialQuizResponse?: GetOrgMaterialQuizResponseGetResponses['quizResponse']): "correct" | "wrong";
27
+ export declare function getQuizSelectMultipleOrderOptionResultStatus(index: number, option: Answer, answerInfo: number[], materialQuizResponse?: GetOrgMaterialQuizResponseGetResponses['quizResponse']): QuizResultStatus.Correct | QuizResultStatus.Wrong;
28
+ export declare function getQuizGroupOptionResultStatus(dropzoneIndex: number, index: number, answerOrder: number, materialQuizResponse?: GetOrgMaterialQuizResponseGetResponses['quizResponse'], answerInfo?: number[][]): "correct" | "wrong";
29
29
  export declare const getOptionStatus: ({ isSelected, isActive, materialQuizResponse, }: {
30
30
  isSelected: boolean;
31
31
  isActive: boolean;
@@ -31,20 +31,32 @@ function getQuizSelectMultipleOptionResultStatus(index, materialQuizResponse) {
31
31
  }
32
32
  return;
33
33
  }
34
- function getQuizSelectMultipleOrderOptionResultStatus(option, materialQuizResponse) {
34
+ function getQuizSelectMultipleOrderOptionResultStatus(index, option, answerInfo, materialQuizResponse) {
35
35
  var _a, _b;
36
36
  var answerIndex = (_a = materialQuizResponse === null || materialQuizResponse === void 0 ? void 0 : materialQuizResponse.answer) === null || _a === void 0 ? void 0 : _a.findIndex(function (answer) {
37
37
  return answer === option.initialOrder;
38
38
  });
39
+ // for tutoring
40
+ if (answerInfo) {
41
+ var _isCorrect = answerInfo[index] === option.initialOrder;
42
+ return _isCorrect ? QuizResultStatus.Correct : QuizResultStatus.Wrong;
43
+ }
44
+ // for submission
39
45
  var isCorrect = (_b = materialQuizResponse === null || materialQuizResponse === void 0 ? void 0 : materialQuizResponse.optionCorrectness) === null || _b === void 0 ? void 0 : _b[answerIndex];
40
46
  if (isCorrect) {
41
47
  return QuizResultStatus.Correct;
42
48
  }
43
49
  return QuizResultStatus.Wrong;
44
50
  }
45
- function getQuizGroupOptionResultStatus(dropzoneIndex, index, materialQuizResponse) {
46
- var _a;
47
- var dropzoneAnswerResult = (_a = materialQuizResponse === null || materialQuizResponse === void 0 ? void 0 : materialQuizResponse.optionCorrectness) === null || _a === void 0 ? void 0 : _a[dropzoneIndex];
51
+ function getQuizGroupOptionResultStatus(dropzoneIndex, index, answerOrder, materialQuizResponse, answerInfo) {
52
+ var _a, _b;
53
+ // for tutoring
54
+ if (answerInfo) {
55
+ var _isCorrect2 = (_a = answerInfo[dropzoneIndex]) === null || _a === void 0 ? void 0 : _a.includes(answerOrder);
56
+ return _isCorrect2 ? 'correct' : 'wrong';
57
+ }
58
+ // for submission
59
+ var dropzoneAnswerResult = (_b = materialQuizResponse === null || materialQuizResponse === void 0 ? void 0 : materialQuizResponse.optionCorrectness) === null || _b === void 0 ? void 0 : _b[dropzoneIndex];
48
60
  var isCorrect = dropzoneAnswerResult === null || dropzoneAnswerResult === void 0 ? void 0 : dropzoneAnswerResult[index];
49
61
  if (isCorrect) {
50
62
  return 'correct';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elice/material-quiz",
3
- "version": "1.241022.0",
3
+ "version": "1.241023.0",
4
4
  "description": "User view and editing components of Elice material quiz",
5
5
  "repository": "https://git.elicer.io/elice/frontend/library/elice-material",
6
6
  "license": "UNLICENSED",
@@ -70,8 +70,8 @@
70
70
  "@elice/icons-legacy": "npm:@elice/icons@0.230814.0",
71
71
  "@elice/intl": "0.240710.0",
72
72
  "@elice/markdown": "1.241015.0",
73
- "@elice/material-shared-types": "1.241022.0",
74
- "@elice/material-shared-utils": "1.241022.0",
73
+ "@elice/material-shared-types": "1.241023.0",
74
+ "@elice/material-shared-utils": "1.241023.0",
75
75
  "@elice/mui-elements": "^5.240820.0",
76
76
  "@elice/mui-system": "^5.240820.0",
77
77
  "@elice/openapi-client-course": "^1.230814.0",