catchup-library-web 2.0.6 → 2.0.8
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/index.d.mts +22 -22
- package/dist/index.d.ts +22 -22
- package/dist/index.js +286 -472
- package/dist/index.mjs +286 -472
- package/package.json +1 -1
- package/src/components/activities/ActivityPreviewByAnswerData.tsx +118 -121
- package/src/components/activities/ActivityPreviewByData.tsx +10 -10
- package/src/components/activities/DropdownActivityContent.tsx +9 -35
- package/src/components/activities/FillInTheBlanksActivityContent.tsx +9 -34
- package/src/components/activities/GroupingActivityContent.tsx +4 -8
- package/src/components/activities/MCMAActivityContent.tsx +8 -8
- package/src/components/activities/MCSAActivityContent.tsx +8 -8
- package/src/components/activities/MatchingActivityContent.tsx +4 -8
- package/src/components/activities/OpenEndedActivityContent.tsx +4 -8
- package/src/components/activities/OrderingActivityContent.tsx +4 -8
- package/src/components/activities/TrueFalseActivityContent.tsx +4 -12
- package/src/components/activities/material-contents/DropdownActivityMaterialContent.tsx +9 -19
- package/src/components/activities/material-contents/FillInTheBlanksActivityMaterialContent.tsx +9 -24
- package/src/components/activities/material-contents/GroupingActivityMaterialContent.tsx +7 -18
- package/src/components/activities/material-contents/MCMAActivityMaterialContent.tsx +2 -10
- package/src/components/activities/material-contents/MCSAActivityMaterialContent.tsx +2 -10
- package/src/components/activities/material-contents/MatchingActivityMaterialContent.tsx +7 -17
- package/src/components/activities/material-contents/OpenEndedActivityMaterialContent.tsx +2 -21
- package/src/components/activities/material-contents/OrderingActivityMaterialContent.tsx +4 -16
- package/src/components/activities/material-contents/TrueFalseActivityMaterialContent.tsx +4 -27
- package/src/properties/ActivityProperties.ts +21 -20
- package/src/utilization/CatchtivityUtilization.ts +49 -84
- package/src/utilization/ManagementUtilization.ts +1 -1
package/dist/index.mjs
CHANGED
|
@@ -2127,45 +2127,29 @@ var retrieveDefaultOpenEndedMap = () => {
|
|
|
2127
2127
|
var retrieveDefaultTrueFalseMap = () => {
|
|
2128
2128
|
return { trueList: [], falseList: [] };
|
|
2129
2129
|
};
|
|
2130
|
-
var retrieveCurrentDefaultDataMap = (
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
if (
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
);
|
|
2139
|
-
} else if (
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
);
|
|
2143
|
-
} else if (
|
|
2144
|
-
|
|
2145
|
-
activityData.MCSAMaterialMap
|
|
2146
|
-
);
|
|
2147
|
-
} else if (activityTemplate.type === "MCMA") {
|
|
2148
|
-
defaultDataMap.answerMap = retrieveDefaultMCMAMap(
|
|
2149
|
-
activityData.MCMAMaterialMap
|
|
2150
|
-
);
|
|
2151
|
-
} else if (activityTemplate.type === "MATCHING") {
|
|
2152
|
-
defaultDataMap.answerMap = retrieveDefaultMatchingMap(
|
|
2153
|
-
activityData.matchingMaterialMap
|
|
2154
|
-
);
|
|
2155
|
-
} else if (activityTemplate.type === "GROUPING") {
|
|
2156
|
-
defaultDataMap.answerMap = retrieveDefaultGroupingMap(
|
|
2157
|
-
activityData.groupingMaterialMap
|
|
2158
|
-
);
|
|
2159
|
-
} else if (activityTemplate.type === "FILL_IN_THE_BLANKS") {
|
|
2160
|
-
defaultDataMap.answerMap = retrieveDefaultFillInTheBlanksMap(
|
|
2130
|
+
var retrieveCurrentDefaultDataMap = (activityTemplateType, activityData) => {
|
|
2131
|
+
if (activityTemplateType === "ORDERING") {
|
|
2132
|
+
return retrieveDefaultOrderingDataMap(activityData.orderingMaterialMap);
|
|
2133
|
+
} else if (activityTemplateType === "DROPDOWN") {
|
|
2134
|
+
return retrieveDefaultDropdownMap(activityData.dropdownMaterialMap);
|
|
2135
|
+
} else if (activityTemplateType === "MCSA") {
|
|
2136
|
+
return retrieveDefaultMCSAMap(activityData.MCSAMaterialMap);
|
|
2137
|
+
} else if (activityTemplateType === "MCMA") {
|
|
2138
|
+
return retrieveDefaultMCMAMap(activityData.MCMAMaterialMap);
|
|
2139
|
+
} else if (activityTemplateType === "MATCHING") {
|
|
2140
|
+
return retrieveDefaultMatchingMap(activityData.matchingMaterialMap);
|
|
2141
|
+
} else if (activityTemplateType === "GROUPING") {
|
|
2142
|
+
return retrieveDefaultGroupingMap(activityData.groupingMaterialMap);
|
|
2143
|
+
} else if (activityTemplateType === "FILL_IN_THE_BLANKS") {
|
|
2144
|
+
return retrieveDefaultFillInTheBlanksMap(
|
|
2161
2145
|
activityData.fillInTheBlanksMaterialMap
|
|
2162
2146
|
);
|
|
2163
|
-
} else if (
|
|
2164
|
-
|
|
2165
|
-
} else if (
|
|
2166
|
-
|
|
2147
|
+
} else if (activityTemplateType === "OPEN_ENDED") {
|
|
2148
|
+
return retrieveDefaultOpenEndedMap();
|
|
2149
|
+
} else if (activityTemplateType === "TRUE_FALSE") {
|
|
2150
|
+
return retrieveDefaultTrueFalseMap();
|
|
2167
2151
|
}
|
|
2168
|
-
return
|
|
2152
|
+
return {};
|
|
2169
2153
|
};
|
|
2170
2154
|
var constructActivityAnswerMap = (activityTemplate, activityData) => {
|
|
2171
2155
|
if (activityTemplate.type === "ORDERING") {
|
|
@@ -2197,7 +2181,7 @@ var constructActivityAnswerMap = (activityTemplate, activityData) => {
|
|
|
2197
2181
|
} else if (activityTemplate.type === "TRUE_FALSE") {
|
|
2198
2182
|
activityData.trueFalseMaterialMap = { trueList: [], falseList: [] };
|
|
2199
2183
|
}
|
|
2200
|
-
return retrieveCurrentDefaultDataMap(activityTemplate, activityData);
|
|
2184
|
+
return retrieveCurrentDefaultDataMap(activityTemplate.type, activityData);
|
|
2201
2185
|
};
|
|
2202
2186
|
var ignoreMathematicalExpression = (inputText) => {
|
|
2203
2187
|
return inputText.replaceAll("{", "").replaceAll("}", "").replaceAll("_", "").replaceAll("^", "").replaceAll("\\frac", "").replaceAll("\\text", "").replaceAll("\\sqrt", "");
|
|
@@ -2819,82 +2803,63 @@ var constructActivityData = (activityTemplateType, contentMap, bodyMap, material
|
|
|
2819
2803
|
return constructedData;
|
|
2820
2804
|
};
|
|
2821
2805
|
var constructAnswerBasedOnData = (data) => {
|
|
2822
|
-
const answer = { data: [] };
|
|
2823
2806
|
if (Object.keys(data).find((dataKey) => dataKey === "orderingMaterialMap")) {
|
|
2824
|
-
|
|
2825
|
-
|
|
2826
|
-
|
|
2827
|
-
JSON.parse(JSON.stringify(data))
|
|
2828
|
-
)
|
|
2807
|
+
return constructActivityAnswerMap(
|
|
2808
|
+
{ type: "ORDERING" },
|
|
2809
|
+
JSON.parse(JSON.stringify(data))
|
|
2829
2810
|
);
|
|
2830
2811
|
}
|
|
2831
2812
|
if (Object.keys(data).find((dataKey) => dataKey === "dropdownMaterialMap")) {
|
|
2832
|
-
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
JSON.parse(JSON.stringify(data))
|
|
2836
|
-
)
|
|
2813
|
+
return constructActivityAnswerMap(
|
|
2814
|
+
{ type: "DROPDOWN" },
|
|
2815
|
+
JSON.parse(JSON.stringify(data))
|
|
2837
2816
|
);
|
|
2838
2817
|
}
|
|
2839
2818
|
if (Object.keys(data).find((dataKey) => dataKey === "MCSAMaterialMap")) {
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
|
|
2843
|
-
JSON.parse(JSON.stringify(data))
|
|
2844
|
-
)
|
|
2819
|
+
return constructActivityAnswerMap(
|
|
2820
|
+
{ type: "MCSA" },
|
|
2821
|
+
JSON.parse(JSON.stringify(data))
|
|
2845
2822
|
);
|
|
2846
2823
|
}
|
|
2847
2824
|
if (Object.keys(data).find((dataKey) => dataKey === "MCMAMaterialMap")) {
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
JSON.parse(JSON.stringify(data))
|
|
2852
|
-
)
|
|
2825
|
+
return constructActivityAnswerMap(
|
|
2826
|
+
{ type: "MCMA" },
|
|
2827
|
+
JSON.parse(JSON.stringify(data))
|
|
2853
2828
|
);
|
|
2854
2829
|
}
|
|
2855
2830
|
if (Object.keys(data).find((dataKey) => dataKey === "matchingMaterialMap")) {
|
|
2856
|
-
|
|
2857
|
-
|
|
2858
|
-
|
|
2859
|
-
JSON.parse(JSON.stringify(data))
|
|
2860
|
-
)
|
|
2831
|
+
return constructActivityAnswerMap(
|
|
2832
|
+
{ type: "MATCHING" },
|
|
2833
|
+
JSON.parse(JSON.stringify(data))
|
|
2861
2834
|
);
|
|
2862
2835
|
}
|
|
2863
2836
|
if (Object.keys(data).find((dataKey) => dataKey === "groupingMaterialMap")) {
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
JSON.parse(JSON.stringify(data))
|
|
2868
|
-
)
|
|
2837
|
+
return constructActivityAnswerMap(
|
|
2838
|
+
{ type: "GROUPING" },
|
|
2839
|
+
JSON.parse(JSON.stringify(data))
|
|
2869
2840
|
);
|
|
2870
2841
|
}
|
|
2871
2842
|
if (Object.keys(data).find(
|
|
2872
2843
|
(dataKey) => dataKey === "fillInTheBlanksMaterialMap"
|
|
2873
2844
|
)) {
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
|
|
2877
|
-
JSON.parse(JSON.stringify(data))
|
|
2878
|
-
)
|
|
2845
|
+
return constructActivityAnswerMap(
|
|
2846
|
+
{ type: "FILL_IN_THE_BLANKS" },
|
|
2847
|
+
JSON.parse(JSON.stringify(data))
|
|
2879
2848
|
);
|
|
2880
2849
|
}
|
|
2881
2850
|
if (Object.keys(data).find((dataKey) => dataKey === "openEndedMaterialMap")) {
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
JSON.parse(JSON.stringify(data))
|
|
2886
|
-
)
|
|
2851
|
+
return constructActivityAnswerMap(
|
|
2852
|
+
{ type: "OPEN_ENDED" },
|
|
2853
|
+
JSON.parse(JSON.stringify(data))
|
|
2887
2854
|
);
|
|
2888
2855
|
}
|
|
2889
2856
|
if (Object.keys(data).find((dataKey) => dataKey === "trueFalseMaterialMap")) {
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
|
|
2893
|
-
JSON.parse(JSON.stringify(data))
|
|
2894
|
-
)
|
|
2857
|
+
return constructActivityAnswerMap(
|
|
2858
|
+
{ type: "TRUE_FALSE" },
|
|
2859
|
+
JSON.parse(JSON.stringify(data))
|
|
2895
2860
|
);
|
|
2896
2861
|
}
|
|
2897
|
-
return
|
|
2862
|
+
return {};
|
|
2898
2863
|
};
|
|
2899
2864
|
var constructActivityItemListBodyOnly = (bodyMap) => {
|
|
2900
2865
|
const itemList = [];
|
|
@@ -4445,7 +4410,7 @@ var ShowMaterialMediaByContentType_default = ShowMaterialMediaByContentType;
|
|
|
4445
4410
|
import { jsx as jsx25, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
4446
4411
|
var DropdownActivityMaterialContent = ({
|
|
4447
4412
|
uniqueValue,
|
|
4448
|
-
|
|
4413
|
+
answerMap,
|
|
4449
4414
|
materialMap,
|
|
4450
4415
|
contentMap,
|
|
4451
4416
|
checkCanAnswerQuestion,
|
|
@@ -4456,27 +4421,16 @@ var DropdownActivityMaterialContent = ({
|
|
|
4456
4421
|
const [updated, setUpdated] = useState15(false);
|
|
4457
4422
|
useEffect6(() => {
|
|
4458
4423
|
if (!showCorrectAnswer) return;
|
|
4459
|
-
|
|
4460
|
-
(answerData) => answerData.type === "DROPDOWN"
|
|
4461
|
-
);
|
|
4462
|
-
if (foundAnswer.answerMap.length === 0) return;
|
|
4463
|
-
if (Object.keys(materialMap).length === 0) return;
|
|
4464
|
-
foundAnswer.answerMap = Object.keys(materialMap).map(
|
|
4424
|
+
answerMap = Object.keys(materialMap).map(
|
|
4465
4425
|
(materialMapKey, index) => Object.keys(materialMap[materialMapKey])[0]
|
|
4466
4426
|
);
|
|
4467
|
-
onChange(
|
|
4427
|
+
onChange(answerMap, 0, Object.keys(materialMap[0])[0]);
|
|
4468
4428
|
setUpdated(true);
|
|
4469
4429
|
}, [showCorrectAnswer]);
|
|
4470
4430
|
useEffect6(() => {
|
|
4471
4431
|
if (!updated) return;
|
|
4472
4432
|
setUpdated(false);
|
|
4473
4433
|
}, [updated]);
|
|
4474
|
-
const retrieveAnswerMap = () => {
|
|
4475
|
-
const foundIndex = answer.data.findIndex(
|
|
4476
|
-
(answerData) => answerData.type === "DROPDOWN"
|
|
4477
|
-
);
|
|
4478
|
-
return answer.data[foundIndex].answerMap;
|
|
4479
|
-
};
|
|
4480
4434
|
const checkAnswerState = (correctAnswer, learnerAnswer) => {
|
|
4481
4435
|
if (!isPreview) return null;
|
|
4482
4436
|
if (correctAnswer === learnerAnswer) {
|
|
@@ -4484,7 +4438,6 @@ var DropdownActivityMaterialContent = ({
|
|
|
4484
4438
|
}
|
|
4485
4439
|
return "INCORRECT";
|
|
4486
4440
|
};
|
|
4487
|
-
const answerMap = retrieveAnswerMap();
|
|
4488
4441
|
return /* @__PURE__ */ jsxs15("div", { className: "flex flex-row flex-wrap items-center", children: [
|
|
4489
4442
|
/* @__PURE__ */ jsx25("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx25("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_dropdown_text") }) }),
|
|
4490
4443
|
/* @__PURE__ */ jsx25("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx25(DividerLine_default, {}) }),
|
|
@@ -4526,7 +4479,11 @@ var DropdownActivityMaterialContent = ({
|
|
|
4526
4479
|
value: materialOption
|
|
4527
4480
|
})),
|
|
4528
4481
|
onChange: (e) => {
|
|
4529
|
-
onChange(
|
|
4482
|
+
onChange(
|
|
4483
|
+
answerMap,
|
|
4484
|
+
materialKey,
|
|
4485
|
+
e.target.value
|
|
4486
|
+
);
|
|
4530
4487
|
}
|
|
4531
4488
|
}
|
|
4532
4489
|
) }) : /* @__PURE__ */ jsx25(
|
|
@@ -4556,7 +4513,7 @@ var DropdownActivityMaterialContent = ({
|
|
|
4556
4513
|
) }, index2),
|
|
4557
4514
|
onClick: (e) => {
|
|
4558
4515
|
onChange(
|
|
4559
|
-
|
|
4516
|
+
answerMap,
|
|
4560
4517
|
materialKey,
|
|
4561
4518
|
e.target.currentSrc
|
|
4562
4519
|
);
|
|
@@ -4600,7 +4557,7 @@ var DropdownActivityMaterialContent_default = DropdownActivityMaterialContent;
|
|
|
4600
4557
|
import { useState as useState16, useEffect as useEffect7 } from "react";
|
|
4601
4558
|
import { jsx as jsx26, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
4602
4559
|
var DropdownActivityContent = ({
|
|
4603
|
-
|
|
4560
|
+
answerMap,
|
|
4604
4561
|
data,
|
|
4605
4562
|
canAnswerQuestion,
|
|
4606
4563
|
changeAnswer,
|
|
@@ -4611,35 +4568,15 @@ var DropdownActivityContent = ({
|
|
|
4611
4568
|
const contentMap = parseContentMapFromData(data);
|
|
4612
4569
|
const dropdownBodyMap = parseBodyMapFromData(data, "DROPDOWN");
|
|
4613
4570
|
const dropdownMaterialMap = parseMaterialMapFromData(data, "DROPDOWN");
|
|
4614
|
-
const [currentAnswerMap, setCurrentAnswerMap] = useState16(
|
|
4615
|
-
return retrieveCurrentAnswerMap();
|
|
4616
|
-
});
|
|
4617
|
-
function retrieveCurrentAnswerMap() {
|
|
4618
|
-
let foundIndex = answer.data.findIndex(
|
|
4619
|
-
(answerData) => answerData.type === "DROPDOWN"
|
|
4620
|
-
);
|
|
4621
|
-
return answer.data[foundIndex].answerMap;
|
|
4622
|
-
}
|
|
4571
|
+
const [currentAnswerMap, setCurrentAnswerMap] = useState16(answerMap);
|
|
4623
4572
|
useEffect7(() => {
|
|
4624
|
-
setCurrentAnswerMap(
|
|
4625
|
-
}, [
|
|
4626
|
-
const handleDropdownAnswerOnChange = (
|
|
4573
|
+
setCurrentAnswerMap(answerMap);
|
|
4574
|
+
}, [answerMap]);
|
|
4575
|
+
const handleDropdownAnswerOnChange = (answerMap2, key, value) => {
|
|
4627
4576
|
if (isPreview) return;
|
|
4628
|
-
|
|
4629
|
-
|
|
4630
|
-
|
|
4631
|
-
return __spreadProps(__spreadValues({}, item), {
|
|
4632
|
-
answerMap: __spreadProps(__spreadValues({}, item.answerMap), {
|
|
4633
|
-
[key]: value
|
|
4634
|
-
})
|
|
4635
|
-
});
|
|
4636
|
-
}
|
|
4637
|
-
return item;
|
|
4638
|
-
})
|
|
4639
|
-
});
|
|
4640
|
-
const newAnswerMap = __spreadProps(__spreadValues({}, currentAnswerMap), { [key]: value });
|
|
4641
|
-
setCurrentAnswerMap(newAnswerMap);
|
|
4642
|
-
changeAnswer(newAnswer);
|
|
4577
|
+
answerMap2 = __spreadProps(__spreadValues({}, currentAnswerMap), { [key]: value });
|
|
4578
|
+
setCurrentAnswerMap(answerMap2);
|
|
4579
|
+
changeAnswer(answerMap2);
|
|
4643
4580
|
};
|
|
4644
4581
|
return /* @__PURE__ */ jsxs16("div", { className: "flex flex-row flex-wrap", children: [
|
|
4645
4582
|
/* @__PURE__ */ jsx26("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ jsx26(
|
|
@@ -4657,7 +4594,7 @@ var DropdownActivityContent = ({
|
|
|
4657
4594
|
DropdownActivityMaterialContent_default,
|
|
4658
4595
|
{
|
|
4659
4596
|
uniqueValue: JSON.stringify(data.contentMap),
|
|
4660
|
-
|
|
4597
|
+
answerMap,
|
|
4661
4598
|
materialMap: dropdownMaterialMap,
|
|
4662
4599
|
contentMap,
|
|
4663
4600
|
checkCanAnswerQuestion: canAnswerQuestion,
|
|
@@ -4702,7 +4639,7 @@ var InputWithSpecialExpression_default = InputWithSpecialExpression;
|
|
|
4702
4639
|
import { jsx as jsx28, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
4703
4640
|
var FillInTheBlanksActivityMaterialContent = ({
|
|
4704
4641
|
uniqueValue,
|
|
4705
|
-
|
|
4642
|
+
answerMap,
|
|
4706
4643
|
optionList,
|
|
4707
4644
|
materialMap,
|
|
4708
4645
|
contentMap,
|
|
@@ -4732,22 +4669,11 @@ var FillInTheBlanksActivityMaterialContent = ({
|
|
|
4732
4669
|
}, [optionList]);
|
|
4733
4670
|
useEffect8(() => {
|
|
4734
4671
|
if (!showCorrectAnswer) return;
|
|
4735
|
-
|
|
4736
|
-
(answerData) => answerData.type === "FILL_IN_THE_BLANKS"
|
|
4737
|
-
);
|
|
4738
|
-
if (!foundAnswer || foundAnswer.answerMap.length === 0) return;
|
|
4739
|
-
if (Object.keys(materialMap).length === 0) return;
|
|
4740
|
-
foundAnswer.answerMap = Object.keys(materialMap).map(
|
|
4672
|
+
answerMap = Object.keys(materialMap).map(
|
|
4741
4673
|
(materialMapKey) => JSON.parse(materialMap[materialMapKey])[0]
|
|
4742
4674
|
);
|
|
4743
|
-
onChange(
|
|
4744
|
-
}, [showCorrectAnswer
|
|
4745
|
-
const retrieveAnswerMap = () => {
|
|
4746
|
-
const foundIndex = answer.data.findIndex(
|
|
4747
|
-
(answerData) => answerData.type === "FILL_IN_THE_BLANKS"
|
|
4748
|
-
);
|
|
4749
|
-
return answer.data[foundIndex].answerMap;
|
|
4750
|
-
};
|
|
4675
|
+
onChange(answerMap, 0, JSON.parse(materialMap[0])[0]);
|
|
4676
|
+
}, [showCorrectAnswer]);
|
|
4751
4677
|
const checkAnswerState = (correctAnswerList, learnerAnswer) => {
|
|
4752
4678
|
if (!isPreview) return null;
|
|
4753
4679
|
const foundIndex = correctAnswerList.findIndex(
|
|
@@ -4781,7 +4707,7 @@ var FillInTheBlanksActivityMaterialContent = ({
|
|
|
4781
4707
|
};
|
|
4782
4708
|
const handleMouseUp = () => {
|
|
4783
4709
|
if (dropTargetIndex !== null && draggedOption !== null) {
|
|
4784
|
-
onChange(
|
|
4710
|
+
onChange(answerMap, dropTargetIndex, draggedOption);
|
|
4785
4711
|
}
|
|
4786
4712
|
setDraggedOption(null);
|
|
4787
4713
|
setDropTargetIndex(null);
|
|
@@ -4812,7 +4738,7 @@ var FillInTheBlanksActivityMaterialContent = ({
|
|
|
4812
4738
|
};
|
|
4813
4739
|
const handleTouchEnd = () => {
|
|
4814
4740
|
if (dropTargetIndex !== null && draggedOption !== null) {
|
|
4815
|
-
onChange(
|
|
4741
|
+
onChange(answerMap, dropTargetIndex, draggedOption);
|
|
4816
4742
|
}
|
|
4817
4743
|
setDraggedOption(null);
|
|
4818
4744
|
setDropTargetIndex(null);
|
|
@@ -4825,11 +4751,10 @@ var FillInTheBlanksActivityMaterialContent = ({
|
|
|
4825
4751
|
};
|
|
4826
4752
|
const handleDropZoneClick = (index) => {
|
|
4827
4753
|
if (selectedOption !== null) {
|
|
4828
|
-
onChange(
|
|
4754
|
+
onChange(answerMap, index, selectedOption);
|
|
4829
4755
|
setSelectedOption(null);
|
|
4830
4756
|
}
|
|
4831
4757
|
};
|
|
4832
|
-
const answerMap = retrieveAnswerMap();
|
|
4833
4758
|
return /* @__PURE__ */ jsxs17(
|
|
4834
4759
|
"div",
|
|
4835
4760
|
{
|
|
@@ -4968,7 +4893,7 @@ var FillInTheBlanksActivityMaterialContent = ({
|
|
|
4968
4893
|
onClick: (e) => {
|
|
4969
4894
|
if (answerMap[materialKey]) {
|
|
4970
4895
|
e.stopPropagation();
|
|
4971
|
-
onChange(
|
|
4896
|
+
onChange(answerMap, materialKey, "");
|
|
4972
4897
|
}
|
|
4973
4898
|
},
|
|
4974
4899
|
children: answerMap[materialKey] ? /* @__PURE__ */ jsx28(
|
|
@@ -5007,7 +4932,7 @@ var FillInTheBlanksActivityMaterialContent = ({
|
|
|
5007
4932
|
className: "flex-1 cursor-pointer",
|
|
5008
4933
|
onClick: (e) => {
|
|
5009
4934
|
e.stopPropagation();
|
|
5010
|
-
onChange(
|
|
4935
|
+
onChange(answerMap, materialKey, "");
|
|
5011
4936
|
},
|
|
5012
4937
|
children: /* @__PURE__ */ jsx28(
|
|
5013
4938
|
ShowMaterialMediaByContentType_default,
|
|
@@ -5043,7 +4968,7 @@ var FillInTheBlanksActivityMaterialContent_default = FillInTheBlanksActivityMate
|
|
|
5043
4968
|
import { useState as useState18, useEffect as useEffect9 } from "react";
|
|
5044
4969
|
import { jsx as jsx29, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
5045
4970
|
var FillInTheBlanksActivityContent = ({
|
|
5046
|
-
|
|
4971
|
+
answerMap,
|
|
5047
4972
|
data,
|
|
5048
4973
|
canAnswerQuestion,
|
|
5049
4974
|
changeAnswer,
|
|
@@ -5061,18 +4986,10 @@ var FillInTheBlanksActivityContent = ({
|
|
|
5061
4986
|
"FILL_IN_THE_BLANKS"
|
|
5062
4987
|
);
|
|
5063
4988
|
const fillInTheBlanksIncorrectList = data.fillInTheBlanksIncorrectList ? JSON.parse(data.fillInTheBlanksIncorrectList) : [];
|
|
5064
|
-
const [currentAnswerMap, setCurrentAnswerMap] = useState18(
|
|
5065
|
-
return retrieveCurrentAnswerMap();
|
|
5066
|
-
});
|
|
5067
|
-
function retrieveCurrentAnswerMap() {
|
|
5068
|
-
let foundIndex = answer.data.findIndex(
|
|
5069
|
-
(answerData) => answerData.type === "FILL_IN_THE_BLANKS"
|
|
5070
|
-
);
|
|
5071
|
-
return answer.data[foundIndex].answerMap;
|
|
5072
|
-
}
|
|
4989
|
+
const [currentAnswerMap, setCurrentAnswerMap] = useState18(answerMap);
|
|
5073
4990
|
useEffect9(() => {
|
|
5074
|
-
setCurrentAnswerMap(
|
|
5075
|
-
}, [
|
|
4991
|
+
setCurrentAnswerMap(answerMap);
|
|
4992
|
+
}, [answerMap]);
|
|
5076
4993
|
const constructAnswerOptionList = () => {
|
|
5077
4994
|
const optionList = [];
|
|
5078
4995
|
Object.keys(fillInTheBlanksMaterialMap).forEach((key) => {
|
|
@@ -5091,23 +5008,11 @@ var FillInTheBlanksActivityContent = ({
|
|
|
5091
5008
|
});
|
|
5092
5009
|
return optionList;
|
|
5093
5010
|
};
|
|
5094
|
-
const handleFillInTheBlanksAnswerOnChange = (
|
|
5011
|
+
const handleFillInTheBlanksAnswerOnChange = (answerMap2, key, value) => {
|
|
5095
5012
|
if (isPreview) return;
|
|
5096
|
-
|
|
5097
|
-
|
|
5098
|
-
|
|
5099
|
-
return __spreadProps(__spreadValues({}, item), {
|
|
5100
|
-
answerMap: __spreadProps(__spreadValues({}, item.answerMap), {
|
|
5101
|
-
[key]: value
|
|
5102
|
-
})
|
|
5103
|
-
});
|
|
5104
|
-
}
|
|
5105
|
-
return item;
|
|
5106
|
-
})
|
|
5107
|
-
});
|
|
5108
|
-
const newAnswerMap = __spreadProps(__spreadValues({}, currentAnswerMap), { [key]: value });
|
|
5109
|
-
setCurrentAnswerMap(newAnswerMap);
|
|
5110
|
-
changeAnswer(newAnswer);
|
|
5013
|
+
answerMap2 = __spreadProps(__spreadValues({}, currentAnswerMap), { [key]: value });
|
|
5014
|
+
setCurrentAnswerMap(answerMap2);
|
|
5015
|
+
changeAnswer(answerMap2);
|
|
5111
5016
|
};
|
|
5112
5017
|
return /* @__PURE__ */ jsxs18("div", { className: "flex flex-row flex-wrap", children: [
|
|
5113
5018
|
/* @__PURE__ */ jsx29("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ jsx29(
|
|
@@ -5125,7 +5030,7 @@ var FillInTheBlanksActivityContent = ({
|
|
|
5125
5030
|
FillInTheBlanksActivityMaterialContent_default,
|
|
5126
5031
|
{
|
|
5127
5032
|
uniqueValue: JSON.stringify(data.contentMap),
|
|
5128
|
-
|
|
5033
|
+
answerMap,
|
|
5129
5034
|
optionList: constructAnswerOptionList(),
|
|
5130
5035
|
materialMap: fillInTheBlanksMaterialMap,
|
|
5131
5036
|
contentMap,
|
|
@@ -5145,7 +5050,7 @@ import { InlineMath as InlineMath5 } from "react-katex";
|
|
|
5145
5050
|
import { Fragment as Fragment3, jsx as jsx30, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
5146
5051
|
var GroupingActivityMaterialContent = ({
|
|
5147
5052
|
uniqueValue,
|
|
5148
|
-
|
|
5053
|
+
answerMap,
|
|
5149
5054
|
materialMap,
|
|
5150
5055
|
contentMap,
|
|
5151
5056
|
checkCanAnswerQuestion,
|
|
@@ -5195,10 +5100,8 @@ var GroupingActivityMaterialContent = ({
|
|
|
5195
5100
|
}, [materialMap, isShuffled]);
|
|
5196
5101
|
useEffect10(() => {
|
|
5197
5102
|
if (!showCorrectAnswer) return;
|
|
5198
|
-
|
|
5199
|
-
|
|
5200
|
-
).answerMap = materialMap;
|
|
5201
|
-
}, [showCorrectAnswer, answer, materialMap]);
|
|
5103
|
+
answerMap = materialMap;
|
|
5104
|
+
}, [showCorrectAnswer, answerMap, materialMap]);
|
|
5202
5105
|
useEffect10(() => {
|
|
5203
5106
|
if (!dropTargetKey || !dropZoneRefs.current[dropTargetKey]) return;
|
|
5204
5107
|
const dropZoneElement = dropZoneRefs.current[dropTargetKey];
|
|
@@ -5243,13 +5146,6 @@ var GroupingActivityMaterialContent = ({
|
|
|
5243
5146
|
};
|
|
5244
5147
|
requestAnimationFrame(animate);
|
|
5245
5148
|
}, [dropTargetKey]);
|
|
5246
|
-
const retrieveAnswerMap = () => {
|
|
5247
|
-
const foundIndex = answer.data.findIndex(
|
|
5248
|
-
(answerData) => answerData.type === "GROUPING"
|
|
5249
|
-
);
|
|
5250
|
-
const answerMap2 = answer.data[foundIndex].answerMap;
|
|
5251
|
-
return answerMap2;
|
|
5252
|
-
};
|
|
5253
5149
|
const retrieveFilteredMaterialList = (answerMap2) => {
|
|
5254
5150
|
const selectedValueList = [];
|
|
5255
5151
|
Object.keys(answerMap2).forEach((key) => {
|
|
@@ -5294,7 +5190,7 @@ var GroupingActivityMaterialContent = ({
|
|
|
5294
5190
|
};
|
|
5295
5191
|
const handleMouseUp = () => {
|
|
5296
5192
|
if (dropTargetKey !== null && draggedValue !== null) {
|
|
5297
|
-
onChange(
|
|
5193
|
+
onChange(answerMap, dropTargetKey, draggedValue, null);
|
|
5298
5194
|
}
|
|
5299
5195
|
setDraggedValue(null);
|
|
5300
5196
|
setDropTargetKey(null);
|
|
@@ -5326,7 +5222,7 @@ var GroupingActivityMaterialContent = ({
|
|
|
5326
5222
|
};
|
|
5327
5223
|
const handleTouchEnd = () => {
|
|
5328
5224
|
if (dropTargetKey !== null && draggedValue !== null) {
|
|
5329
|
-
onChange(
|
|
5225
|
+
onChange(answerMap, dropTargetKey, draggedValue, null);
|
|
5330
5226
|
}
|
|
5331
5227
|
setDraggedValue(null);
|
|
5332
5228
|
setDropTargetKey(null);
|
|
@@ -5340,11 +5236,10 @@ var GroupingActivityMaterialContent = ({
|
|
|
5340
5236
|
};
|
|
5341
5237
|
const handleDropZoneClick = (answerMapKey) => {
|
|
5342
5238
|
if (selectedValue !== null) {
|
|
5343
|
-
onChange(
|
|
5239
|
+
onChange(answerMap, answerMapKey, selectedValue, null);
|
|
5344
5240
|
setSelectedValue(null);
|
|
5345
5241
|
}
|
|
5346
5242
|
};
|
|
5347
|
-
const answerMap = retrieveAnswerMap();
|
|
5348
5243
|
const filteredMaterialList = retrieveFilteredMaterialList(answerMap);
|
|
5349
5244
|
return /* @__PURE__ */ jsxs19("div", { onMouseMove: handleMouseMove, onMouseUp: handleMouseUp, children: [
|
|
5350
5245
|
draggedValue && mousePosition.x > 0 && /* @__PURE__ */ jsx30(
|
|
@@ -5492,7 +5387,7 @@ var GroupingActivityMaterialContent = ({
|
|
|
5492
5387
|
e.stopPropagation();
|
|
5493
5388
|
if (checkCanAnswerQuestion()) {
|
|
5494
5389
|
onChange(
|
|
5495
|
-
|
|
5390
|
+
answerMap,
|
|
5496
5391
|
answerMapKey,
|
|
5497
5392
|
null,
|
|
5498
5393
|
answerMapIndex
|
|
@@ -5539,7 +5434,7 @@ var GroupingActivityMaterialContent_default = GroupingActivityMaterialContent;
|
|
|
5539
5434
|
// src/components/activities/GroupingActivityContent.tsx
|
|
5540
5435
|
import { Fragment as Fragment4, jsx as jsx31, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
5541
5436
|
var GroupingActivityContent = ({
|
|
5542
|
-
|
|
5437
|
+
answerMap,
|
|
5543
5438
|
data,
|
|
5544
5439
|
canAnswerQuestion,
|
|
5545
5440
|
changeAnswer,
|
|
@@ -5549,18 +5444,14 @@ var GroupingActivityContent = ({
|
|
|
5549
5444
|
const contentMap = parseContentMapFromData(data);
|
|
5550
5445
|
const groupingBodyMap = parseBodyMapFromData(data, "GROUPING");
|
|
5551
5446
|
const groupingMaterialMap = parseMaterialMapFromData(data, "GROUPING");
|
|
5552
|
-
const handleGroupingAnswerOnChange = (
|
|
5447
|
+
const handleGroupingAnswerOnChange = (answerMap2, key, value, index) => {
|
|
5553
5448
|
if (isPreview) return;
|
|
5554
|
-
let foundIndex = answer2.data.findIndex(
|
|
5555
|
-
(answerData) => answerData.type === "GROUPING"
|
|
5556
|
-
);
|
|
5557
|
-
const answerMap = answer2.data[foundIndex].answerMap;
|
|
5558
5449
|
if (value) {
|
|
5559
|
-
|
|
5450
|
+
answerMap2[key].push(value);
|
|
5560
5451
|
} else {
|
|
5561
|
-
|
|
5452
|
+
answerMap2[key].splice(index, 1);
|
|
5562
5453
|
}
|
|
5563
|
-
changeAnswer(
|
|
5454
|
+
changeAnswer(answerMap2);
|
|
5564
5455
|
};
|
|
5565
5456
|
return /* @__PURE__ */ jsxs20(Fragment4, { children: [
|
|
5566
5457
|
/* @__PURE__ */ jsx31(
|
|
@@ -5575,7 +5466,7 @@ var GroupingActivityContent = ({
|
|
|
5575
5466
|
GroupingActivityMaterialContent_default,
|
|
5576
5467
|
{
|
|
5577
5468
|
uniqueValue: JSON.stringify(data.contentMap),
|
|
5578
|
-
|
|
5469
|
+
answerMap,
|
|
5579
5470
|
materialMap: groupingMaterialMap,
|
|
5580
5471
|
contentMap,
|
|
5581
5472
|
checkCanAnswerQuestion: canAnswerQuestion,
|
|
@@ -5594,7 +5485,7 @@ import { InlineMath as InlineMath6 } from "react-katex";
|
|
|
5594
5485
|
import { Fragment as Fragment5, jsx as jsx32, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
5595
5486
|
var MatchingActivityMaterialContent = ({
|
|
5596
5487
|
uniqueValue,
|
|
5597
|
-
|
|
5488
|
+
answerMap,
|
|
5598
5489
|
materialMap,
|
|
5599
5490
|
contentMap,
|
|
5600
5491
|
checkCanAnswerQuestion,
|
|
@@ -5642,10 +5533,8 @@ var MatchingActivityMaterialContent = ({
|
|
|
5642
5533
|
}, [materialMap, isShuffled]);
|
|
5643
5534
|
useEffect11(() => {
|
|
5644
5535
|
if (!showCorrectAnswer) return;
|
|
5645
|
-
|
|
5646
|
-
|
|
5647
|
-
).answerMap = materialMap;
|
|
5648
|
-
}, [showCorrectAnswer, answer, materialMap]);
|
|
5536
|
+
answerMap = materialMap;
|
|
5537
|
+
}, [showCorrectAnswer]);
|
|
5649
5538
|
useEffect11(() => {
|
|
5650
5539
|
if (!dropTargetKey || !dropZoneRefs.current[dropTargetKey]) return;
|
|
5651
5540
|
const dropZoneElement = dropZoneRefs.current[dropTargetKey];
|
|
@@ -5690,12 +5579,6 @@ var MatchingActivityMaterialContent = ({
|
|
|
5690
5579
|
};
|
|
5691
5580
|
requestAnimationFrame(animate);
|
|
5692
5581
|
}, [dropTargetKey]);
|
|
5693
|
-
const retrieveAnswerMap = () => {
|
|
5694
|
-
const foundIndex = answer.data.findIndex(
|
|
5695
|
-
(answerData) => answerData.type === "MATCHING"
|
|
5696
|
-
);
|
|
5697
|
-
return answer.data[foundIndex].answerMap;
|
|
5698
|
-
};
|
|
5699
5582
|
const retrieveFilteredMaterialList = (answerMap2) => {
|
|
5700
5583
|
const selectedValueList = [];
|
|
5701
5584
|
Object.keys(answerMap2).forEach((key) => {
|
|
@@ -5734,7 +5617,7 @@ var MatchingActivityMaterialContent = ({
|
|
|
5734
5617
|
};
|
|
5735
5618
|
const handleMouseUp = () => {
|
|
5736
5619
|
if (dropTargetKey !== null && draggedValue !== null) {
|
|
5737
|
-
onChange(
|
|
5620
|
+
onChange(answerMap, dropTargetKey, draggedValue);
|
|
5738
5621
|
}
|
|
5739
5622
|
setDraggedValue(null);
|
|
5740
5623
|
setDropTargetKey(null);
|
|
@@ -5766,7 +5649,7 @@ var MatchingActivityMaterialContent = ({
|
|
|
5766
5649
|
};
|
|
5767
5650
|
const handleTouchEnd = () => {
|
|
5768
5651
|
if (dropTargetKey !== null && draggedValue !== null) {
|
|
5769
|
-
onChange(
|
|
5652
|
+
onChange(answerMap, dropTargetKey, draggedValue);
|
|
5770
5653
|
}
|
|
5771
5654
|
setDraggedValue(null);
|
|
5772
5655
|
setDropTargetKey(null);
|
|
@@ -5780,11 +5663,10 @@ var MatchingActivityMaterialContent = ({
|
|
|
5780
5663
|
};
|
|
5781
5664
|
const handleDropZoneClick = (answerMapKey) => {
|
|
5782
5665
|
if (selectedValue !== null) {
|
|
5783
|
-
onChange(
|
|
5666
|
+
onChange(answerMap, answerMapKey, selectedValue);
|
|
5784
5667
|
setSelectedValue(null);
|
|
5785
5668
|
}
|
|
5786
5669
|
};
|
|
5787
|
-
const answerMap = retrieveAnswerMap();
|
|
5788
5670
|
const filteredMaterialList = retrieveFilteredMaterialList(answerMap);
|
|
5789
5671
|
return /* @__PURE__ */ jsxs21("div", { onMouseMove: handleMouseMove, onMouseUp: handleMouseUp, children: [
|
|
5790
5672
|
draggedValue && mousePosition.x > 0 && /* @__PURE__ */ jsx32(
|
|
@@ -5931,7 +5813,7 @@ var MatchingActivityMaterialContent = ({
|
|
|
5931
5813
|
onClick: (e) => {
|
|
5932
5814
|
e.stopPropagation();
|
|
5933
5815
|
if (checkCanAnswerQuestion() && answerMap[answerMapKey]) {
|
|
5934
|
-
onChange(
|
|
5816
|
+
onChange(answerMap, answerMapKey, null);
|
|
5935
5817
|
setSelectedValue(null);
|
|
5936
5818
|
}
|
|
5937
5819
|
},
|
|
@@ -5966,7 +5848,7 @@ var MatchingActivityMaterialContent_default = MatchingActivityMaterialContent;
|
|
|
5966
5848
|
// src/components/activities/MatchingActivityContent.tsx
|
|
5967
5849
|
import { Fragment as Fragment6, jsx as jsx33, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
5968
5850
|
var MatchingActivityContent = ({
|
|
5969
|
-
|
|
5851
|
+
answerMap,
|
|
5970
5852
|
data,
|
|
5971
5853
|
canAnswerQuestion,
|
|
5972
5854
|
changeAnswer,
|
|
@@ -5976,14 +5858,10 @@ var MatchingActivityContent = ({
|
|
|
5976
5858
|
const contentMap = parseContentMapFromData(data);
|
|
5977
5859
|
const matchingBodyMap = parseBodyMapFromData(data, "MATCHING");
|
|
5978
5860
|
const matchingMaterialMap = parseMaterialMapFromData(data, "MATCHING");
|
|
5979
|
-
const handleMatchingAnswerOnChange = (
|
|
5861
|
+
const handleMatchingAnswerOnChange = (answerMap2, key, value) => {
|
|
5980
5862
|
if (isPreview) return;
|
|
5981
|
-
|
|
5982
|
-
|
|
5983
|
-
);
|
|
5984
|
-
const answerMap = answer2.data[foundIndex].answerMap;
|
|
5985
|
-
answerMap[key] = value;
|
|
5986
|
-
changeAnswer(answer2);
|
|
5863
|
+
answerMap2[key] = value;
|
|
5864
|
+
changeAnswer(answerMap2);
|
|
5987
5865
|
};
|
|
5988
5866
|
return /* @__PURE__ */ jsxs22(Fragment6, { children: [
|
|
5989
5867
|
/* @__PURE__ */ jsx33(
|
|
@@ -5998,7 +5876,7 @@ var MatchingActivityContent = ({
|
|
|
5998
5876
|
MatchingActivityMaterialContent_default,
|
|
5999
5877
|
{
|
|
6000
5878
|
uniqueValue: JSON.stringify(data.contentMap),
|
|
6001
|
-
|
|
5879
|
+
answerMap,
|
|
6002
5880
|
materialMap: matchingMaterialMap,
|
|
6003
5881
|
contentMap,
|
|
6004
5882
|
checkCanAnswerQuestion: canAnswerQuestion,
|
|
@@ -6016,19 +5894,13 @@ import { InlineMath as InlineMath7 } from "react-katex";
|
|
|
6016
5894
|
import { jsx as jsx34, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
6017
5895
|
var MCMAActivityMaterialContent = ({
|
|
6018
5896
|
uniqueValue,
|
|
6019
|
-
|
|
5897
|
+
answerMap,
|
|
6020
5898
|
materialMap,
|
|
6021
5899
|
contentMap,
|
|
6022
5900
|
checkCanAnswerQuestion,
|
|
6023
5901
|
onChange,
|
|
6024
5902
|
isPreview
|
|
6025
5903
|
}) => {
|
|
6026
|
-
const retrieveAnswerMap = () => {
|
|
6027
|
-
const foundIndex = answer.data.findIndex(
|
|
6028
|
-
(answerData) => answerData.type === "MCMA"
|
|
6029
|
-
);
|
|
6030
|
-
return answer.data[foundIndex].answerMap;
|
|
6031
|
-
};
|
|
6032
5904
|
const retrieveCorrectAnswerList = () => {
|
|
6033
5905
|
return JSON.parse(Object.keys(materialMap)[0]);
|
|
6034
5906
|
};
|
|
@@ -6043,7 +5915,6 @@ var MCMAActivityMaterialContent = ({
|
|
|
6043
5915
|
}
|
|
6044
5916
|
return "INCORRECT";
|
|
6045
5917
|
};
|
|
6046
|
-
const answerMap = retrieveAnswerMap();
|
|
6047
5918
|
const correctAnswerList = retrieveCorrectAnswerList();
|
|
6048
5919
|
return Object.keys(materialMap).map((materialKey, index) => {
|
|
6049
5920
|
return /* @__PURE__ */ jsx34("div", { className: "flex flex-row items-center my-1", children: /* @__PURE__ */ jsxs23("div", { className: "flex-1 flex flex-col justify-center border-catchup-lighter-gray rounded-catchup-xlarge px-5 md:px-0", children: [
|
|
@@ -6067,7 +5938,7 @@ var MCMAActivityMaterialContent = ({
|
|
|
6067
5938
|
{
|
|
6068
5939
|
className: `w-full flex flex-row items-center justify-center cursor-pointer my-2 gap-x-2 ${learnerAnswerState === "EMPTY" && foundIndex !== -1 || learnerAnswerState === "CORRECT" ? "border-2 border-catchup-green rounded-catchup-xlarge p-2" : learnerAnswerState === "INCORRECT" ? "border-2 border-catchup-red rounded-catchup-xlarge p-2" : ""}`,
|
|
6069
5940
|
onClick: () => {
|
|
6070
|
-
onChange(
|
|
5941
|
+
onChange(answerMap, materialKey, materialSubKey);
|
|
6071
5942
|
},
|
|
6072
5943
|
children: [
|
|
6073
5944
|
/* @__PURE__ */ jsx34(
|
|
@@ -6121,7 +5992,7 @@ var MCMAActivityMaterialContent_default = MCMAActivityMaterialContent;
|
|
|
6121
5992
|
// src/components/activities/MCMAActivityContent.tsx
|
|
6122
5993
|
import { jsx as jsx35, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
6123
5994
|
var MCMAActivityContent = ({
|
|
6124
|
-
|
|
5995
|
+
answerMap,
|
|
6125
5996
|
data,
|
|
6126
5997
|
canAnswerQuestion,
|
|
6127
5998
|
changeAnswer,
|
|
@@ -6131,21 +6002,17 @@ var MCMAActivityContent = ({
|
|
|
6131
6002
|
const contentMap = parseContentMapFromData(data);
|
|
6132
6003
|
const MCMABodyMap = parseBodyMapFromData(data, "MCMA");
|
|
6133
6004
|
const MCMAMaterialMap = parseMaterialMapFromData(data, "MCMA");
|
|
6134
|
-
const handleMCMAAnswerOnChange = (
|
|
6005
|
+
const handleMCMAAnswerOnChange = (answerMap2, key, value) => {
|
|
6135
6006
|
if (isPreview) return;
|
|
6136
|
-
|
|
6137
|
-
(answerData) => answerData.type === "MCMA"
|
|
6138
|
-
);
|
|
6139
|
-
const answerMap = answer2.data[foundIndex].answerMap;
|
|
6140
|
-
const foundSubIndex = answerMap[key].findIndex(
|
|
6007
|
+
const foundSubIndex = answerMap2[key].findIndex(
|
|
6141
6008
|
(answerMaterialKey) => answerMaterialKey === value
|
|
6142
6009
|
);
|
|
6143
6010
|
if (foundSubIndex === -1) {
|
|
6144
|
-
|
|
6011
|
+
answerMap2[key].push(value);
|
|
6145
6012
|
} else {
|
|
6146
|
-
|
|
6013
|
+
answerMap2[key].splice(foundSubIndex, 1);
|
|
6147
6014
|
}
|
|
6148
|
-
changeAnswer(
|
|
6015
|
+
changeAnswer(answerMap2);
|
|
6149
6016
|
};
|
|
6150
6017
|
return /* @__PURE__ */ jsxs24("div", { className: "flex flex-row flex-wrap", children: [
|
|
6151
6018
|
/* @__PURE__ */ jsx35("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ jsx35(ActivityBodyContent_default, { bodyMap: MCMABodyMap, templateType: "MCMA" }) }),
|
|
@@ -6155,7 +6022,7 @@ var MCMAActivityContent = ({
|
|
|
6155
6022
|
MCMAActivityMaterialContent_default,
|
|
6156
6023
|
{
|
|
6157
6024
|
uniqueValue: JSON.stringify(data.contentMap),
|
|
6158
|
-
|
|
6025
|
+
answerMap,
|
|
6159
6026
|
materialMap: MCMAMaterialMap,
|
|
6160
6027
|
contentMap,
|
|
6161
6028
|
checkCanAnswerQuestion: canAnswerQuestion,
|
|
@@ -6172,19 +6039,13 @@ import { InlineMath as InlineMath8 } from "react-katex";
|
|
|
6172
6039
|
import { jsx as jsx36, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
6173
6040
|
var MCSAActivityMaterialContent = ({
|
|
6174
6041
|
uniqueValue,
|
|
6175
|
-
|
|
6042
|
+
answerMap,
|
|
6176
6043
|
materialMap,
|
|
6177
6044
|
contentMap,
|
|
6178
6045
|
checkCanAnswerQuestion,
|
|
6179
6046
|
onChange,
|
|
6180
6047
|
isPreview
|
|
6181
6048
|
}) => {
|
|
6182
|
-
const retrieveAnswerMap = () => {
|
|
6183
|
-
const foundIndex = answer.data.findIndex(
|
|
6184
|
-
(answerData) => answerData.type === "MCSA"
|
|
6185
|
-
);
|
|
6186
|
-
return answer.data[foundIndex].answerMap;
|
|
6187
|
-
};
|
|
6188
6049
|
const retrieveCorrectAnswer = () => {
|
|
6189
6050
|
return Object.keys(materialMap)[0];
|
|
6190
6051
|
};
|
|
@@ -6196,7 +6057,6 @@ var MCSAActivityMaterialContent = ({
|
|
|
6196
6057
|
}
|
|
6197
6058
|
return "INCORRECT";
|
|
6198
6059
|
};
|
|
6199
|
-
const answerMap = retrieveAnswerMap();
|
|
6200
6060
|
const correctAnswer = retrieveCorrectAnswer();
|
|
6201
6061
|
return Object.keys(materialMap).map((materialKey, index) => {
|
|
6202
6062
|
return /* @__PURE__ */ jsx36("div", { className: "flex flex-row items-center my-1", children: /* @__PURE__ */ jsxs25("div", { className: "flex-1 flex flex-col justify-center border-catchup-lighter-gray rounded-catchup-xlarge px-5 md:px-0", children: [
|
|
@@ -6218,7 +6078,7 @@ var MCSAActivityMaterialContent = ({
|
|
|
6218
6078
|
{
|
|
6219
6079
|
className: `w-full flex flex-row items-center justify-center cursor-pointer my-2 gap-x-2 ${learnerAnswerState === "EMPTY" && materialSubKey === correctAnswer || learnerAnswerState === "CORRECT" ? "border-2 border-catchup-green rounded-catchup-xlarge p-2" : learnerAnswerState === "INCORRECT" ? "border-2 border-catchup-red rounded-catchup-xlarge p-2" : ""}`,
|
|
6220
6080
|
onClick: () => {
|
|
6221
|
-
onChange(
|
|
6081
|
+
onChange(answerMap, materialKey, materialSubKey);
|
|
6222
6082
|
},
|
|
6223
6083
|
children: [
|
|
6224
6084
|
/* @__PURE__ */ jsx36(
|
|
@@ -6274,7 +6134,7 @@ var MCSAActivityMaterialContent_default = MCSAActivityMaterialContent;
|
|
|
6274
6134
|
// src/components/activities/MCSAActivityContent.tsx
|
|
6275
6135
|
import { jsx as jsx37, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
6276
6136
|
var MCSAActivityContent = ({
|
|
6277
|
-
|
|
6137
|
+
answerMap,
|
|
6278
6138
|
data,
|
|
6279
6139
|
canAnswerQuestion,
|
|
6280
6140
|
changeAnswer,
|
|
@@ -6284,14 +6144,10 @@ var MCSAActivityContent = ({
|
|
|
6284
6144
|
const contentMap = parseContentMapFromData(data);
|
|
6285
6145
|
const MCSABodyMap = parseBodyMapFromData(data, "MCSA");
|
|
6286
6146
|
const MCSAMaterialMap = parseMaterialMapFromData(data, "MCSA");
|
|
6287
|
-
const handleMCSAAnswerOnChange = (
|
|
6147
|
+
const handleMCSAAnswerOnChange = (answerMap2, key, value) => {
|
|
6288
6148
|
if (isPreview) return;
|
|
6289
|
-
|
|
6290
|
-
|
|
6291
|
-
);
|
|
6292
|
-
const answerMap = answer2.data[foundIndex].answerMap;
|
|
6293
|
-
answerMap[key] = value;
|
|
6294
|
-
changeAnswer(answer2);
|
|
6149
|
+
answerMap2[key] = value;
|
|
6150
|
+
changeAnswer(answerMap2);
|
|
6295
6151
|
};
|
|
6296
6152
|
return /* @__PURE__ */ jsxs26("div", { className: "flex flex-row flex-wrap", children: [
|
|
6297
6153
|
/* @__PURE__ */ jsx37("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ jsx37(ActivityBodyContent_default, { bodyMap: MCSABodyMap, templateType: "MCSA" }) }),
|
|
@@ -6301,7 +6157,7 @@ var MCSAActivityContent = ({
|
|
|
6301
6157
|
MCSAActivityMaterialContent_default,
|
|
6302
6158
|
{
|
|
6303
6159
|
uniqueValue: JSON.stringify(data.contentMap),
|
|
6304
|
-
|
|
6160
|
+
answerMap,
|
|
6305
6161
|
materialMap: MCSAMaterialMap,
|
|
6306
6162
|
contentMap,
|
|
6307
6163
|
checkCanAnswerQuestion: canAnswerQuestion,
|
|
@@ -6344,26 +6200,11 @@ var retrieveDocumentTypeFromExtension = (format) => {
|
|
|
6344
6200
|
// src/components/activities/material-contents/OpenEndedActivityMaterialContent.tsx
|
|
6345
6201
|
import { Fragment as Fragment7, jsx as jsx38, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
6346
6202
|
var OpenEndedActivityMaterialContent = ({
|
|
6347
|
-
|
|
6203
|
+
answerMap,
|
|
6348
6204
|
contentMap,
|
|
6349
6205
|
checkCanAnswerQuestion,
|
|
6350
6206
|
onChange
|
|
6351
6207
|
}) => {
|
|
6352
|
-
const retrieveAnswer = () => {
|
|
6353
|
-
if (!answer)
|
|
6354
|
-
return {
|
|
6355
|
-
answerMap: {
|
|
6356
|
-
ANSWER: ""
|
|
6357
|
-
}
|
|
6358
|
-
};
|
|
6359
|
-
return answer.data.find(
|
|
6360
|
-
(answerData) => answerData.type === "OPEN_ENDED"
|
|
6361
|
-
);
|
|
6362
|
-
};
|
|
6363
|
-
const retrieveAnswerMap = () => {
|
|
6364
|
-
const { answerMap: answerMap2 } = retrieveAnswer();
|
|
6365
|
-
return answerMap2;
|
|
6366
|
-
};
|
|
6367
6208
|
const RenderTextContent = (answerMap2) => {
|
|
6368
6209
|
const answerMapAnswer = answerMap2["ANSWER"];
|
|
6369
6210
|
let documentType = "TEXT";
|
|
@@ -6403,7 +6244,7 @@ var OpenEndedActivityMaterialContent = ({
|
|
|
6403
6244
|
useMinHeight: true,
|
|
6404
6245
|
onChange: (e) => {
|
|
6405
6246
|
if (checkCanAnswerQuestion()) {
|
|
6406
|
-
onChange(
|
|
6247
|
+
onChange(answerMap2, e.target.value);
|
|
6407
6248
|
}
|
|
6408
6249
|
}
|
|
6409
6250
|
}
|
|
@@ -6437,7 +6278,6 @@ var OpenEndedActivityMaterialContent = ({
|
|
|
6437
6278
|
}
|
|
6438
6279
|
) });
|
|
6439
6280
|
};
|
|
6440
|
-
const answerMap = retrieveAnswerMap();
|
|
6441
6281
|
return /* @__PURE__ */ jsx38(Fragment7, { children: /* @__PURE__ */ jsxs27("div", { className: "", children: [
|
|
6442
6282
|
/* @__PURE__ */ jsx38("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx38("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_open_ended_text") }) }),
|
|
6443
6283
|
/* @__PURE__ */ jsx38("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx38(DividerLine_default, {}) }),
|
|
@@ -6449,7 +6289,7 @@ var OpenEndedActivityMaterialContent_default = OpenEndedActivityMaterialContent;
|
|
|
6449
6289
|
// src/components/activities/OpenEndedActivityContent.tsx
|
|
6450
6290
|
import { Fragment as Fragment8, jsx as jsx39, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
6451
6291
|
var OpenEndedActivityContent = ({
|
|
6452
|
-
|
|
6292
|
+
answerMap,
|
|
6453
6293
|
data,
|
|
6454
6294
|
changeAnswer,
|
|
6455
6295
|
canAnswerQuestion,
|
|
@@ -6459,14 +6299,10 @@ var OpenEndedActivityContent = ({
|
|
|
6459
6299
|
}) => {
|
|
6460
6300
|
const contentMap = parseContentMapFromData(data);
|
|
6461
6301
|
const openEndedBodyMap = parseBodyMapFromData(data, "OPEN_ENDED");
|
|
6462
|
-
const handleOpenEndedAnswerOnChange = (
|
|
6302
|
+
const handleOpenEndedAnswerOnChange = (answerMap2, value) => {
|
|
6463
6303
|
if (isPreview) return;
|
|
6464
|
-
|
|
6465
|
-
|
|
6466
|
-
);
|
|
6467
|
-
const answerMap = answer2.data[foundIndex].answerMap;
|
|
6468
|
-
answerMap["ANSWER"] = value;
|
|
6469
|
-
changeAnswer(answer2);
|
|
6304
|
+
answerMap2["ANSWER"] = value;
|
|
6305
|
+
changeAnswer(answerMap2);
|
|
6470
6306
|
};
|
|
6471
6307
|
return /* @__PURE__ */ jsxs28("div", { className: "flex flex-row flex-wrap", children: [
|
|
6472
6308
|
/* @__PURE__ */ jsx39(
|
|
@@ -6494,7 +6330,7 @@ var OpenEndedActivityContent = ({
|
|
|
6494
6330
|
/* @__PURE__ */ jsx39("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx39(
|
|
6495
6331
|
OpenEndedActivityMaterialContent_default,
|
|
6496
6332
|
{
|
|
6497
|
-
|
|
6333
|
+
answerMap,
|
|
6498
6334
|
contentMap,
|
|
6499
6335
|
checkCanAnswerQuestion: canAnswerQuestion,
|
|
6500
6336
|
onChange: handleOpenEndedAnswerOnChange
|
|
@@ -6548,7 +6384,7 @@ var useScreenSize_default = useScreenSize;
|
|
|
6548
6384
|
import { jsx as jsx40, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
6549
6385
|
var OrderingActivityMaterialContent = ({
|
|
6550
6386
|
uniqueValue,
|
|
6551
|
-
|
|
6387
|
+
answerMap,
|
|
6552
6388
|
materialMap,
|
|
6553
6389
|
contentMap,
|
|
6554
6390
|
checkCanAnswerQuestion,
|
|
@@ -6583,19 +6419,10 @@ var OrderingActivityMaterialContent = ({
|
|
|
6583
6419
|
}, [screenSize]);
|
|
6584
6420
|
useEffect13(() => {
|
|
6585
6421
|
if (!showCorrectAnswer) return;
|
|
6586
|
-
|
|
6587
|
-
|
|
6588
|
-
).answerMap;
|
|
6589
|
-
Object.keys(answerMap2).forEach((answerKey, index) => {
|
|
6590
|
-
answerMap2[answerKey] = index;
|
|
6422
|
+
Object.keys(answerMap).forEach((answerKey, index) => {
|
|
6423
|
+
answerMap[answerKey] = index;
|
|
6591
6424
|
});
|
|
6592
6425
|
}, [showCorrectAnswer]);
|
|
6593
|
-
const retrieveAnswerMap = () => {
|
|
6594
|
-
const foundIndex = answer.data.findIndex(
|
|
6595
|
-
(answerData) => answerData.type === "ORDERING"
|
|
6596
|
-
);
|
|
6597
|
-
return answer.data[foundIndex].answerMap;
|
|
6598
|
-
};
|
|
6599
6426
|
const checkAnswerState = (correctAnswer, learnerAnswer) => {
|
|
6600
6427
|
if (!isPreview) return null;
|
|
6601
6428
|
if (correctAnswer === learnerAnswer) {
|
|
@@ -6644,7 +6471,7 @@ var OrderingActivityMaterialContent = ({
|
|
|
6644
6471
|
};
|
|
6645
6472
|
const handleMouseUp = () => {
|
|
6646
6473
|
if (dropTargetKey !== null && draggedKey !== null && dropTargetKey !== draggedKey) {
|
|
6647
|
-
onChange(
|
|
6474
|
+
onChange(answerMap, draggedKey, dropTargetKey);
|
|
6648
6475
|
}
|
|
6649
6476
|
setDraggedKey(null);
|
|
6650
6477
|
setDropTargetKey(null);
|
|
@@ -6676,7 +6503,7 @@ var OrderingActivityMaterialContent = ({
|
|
|
6676
6503
|
};
|
|
6677
6504
|
const handleTouchEnd = () => {
|
|
6678
6505
|
if (dropTargetKey !== null && draggedKey !== null && dropTargetKey !== draggedKey) {
|
|
6679
|
-
onChange(
|
|
6506
|
+
onChange(answerMap, draggedKey, dropTargetKey);
|
|
6680
6507
|
}
|
|
6681
6508
|
setDraggedKey(null);
|
|
6682
6509
|
setDropTargetKey(null);
|
|
@@ -6690,12 +6517,11 @@ var OrderingActivityMaterialContent = ({
|
|
|
6690
6517
|
} else if (selectedKey === materialKey) {
|
|
6691
6518
|
setSelectedKey(null);
|
|
6692
6519
|
} else {
|
|
6693
|
-
onChange(
|
|
6520
|
+
onChange(answerMap, selectedKey, materialKey);
|
|
6694
6521
|
setSelectedKey(null);
|
|
6695
6522
|
}
|
|
6696
6523
|
setDraggedKey(null);
|
|
6697
6524
|
};
|
|
6698
|
-
const answerMap = retrieveAnswerMap();
|
|
6699
6525
|
return /* @__PURE__ */ jsxs29(
|
|
6700
6526
|
"div",
|
|
6701
6527
|
{
|
|
@@ -6833,7 +6659,7 @@ var OrderingActivityMaterialContent_default = OrderingActivityMaterialContent;
|
|
|
6833
6659
|
// src/components/activities/OrderingActivityContent.tsx
|
|
6834
6660
|
import { Fragment as Fragment9, jsx as jsx41, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
6835
6661
|
var OrderingActivityContent = ({
|
|
6836
|
-
|
|
6662
|
+
answerMap,
|
|
6837
6663
|
data,
|
|
6838
6664
|
canAnswerQuestion,
|
|
6839
6665
|
changeAnswer,
|
|
@@ -6844,16 +6670,12 @@ var OrderingActivityContent = ({
|
|
|
6844
6670
|
const contentMap = parseContentMapFromData(data);
|
|
6845
6671
|
const orderingBodyMap = parseBodyMapFromData(data, "ORDERING");
|
|
6846
6672
|
const orderingMaterialMap = parseMaterialMapFromData(data, "ORDERING");
|
|
6847
|
-
const handleOrderingAnswerOnChange = (
|
|
6673
|
+
const handleOrderingAnswerOnChange = (answerMap2, primaryKey, secondaryKey) => {
|
|
6848
6674
|
if (isPreview) return;
|
|
6849
|
-
|
|
6850
|
-
|
|
6851
|
-
|
|
6852
|
-
|
|
6853
|
-
const prevValue = answerMap[primaryKey];
|
|
6854
|
-
answerMap[primaryKey] = answerMap[secondaryKey];
|
|
6855
|
-
answerMap[secondaryKey] = prevValue;
|
|
6856
|
-
changeAnswer(answer2);
|
|
6675
|
+
const prevValue = answerMap2[primaryKey];
|
|
6676
|
+
answerMap2[primaryKey] = answerMap2[secondaryKey];
|
|
6677
|
+
answerMap2[secondaryKey] = prevValue;
|
|
6678
|
+
changeAnswer(answerMap2);
|
|
6857
6679
|
};
|
|
6858
6680
|
return /* @__PURE__ */ jsxs30(Fragment9, { children: [
|
|
6859
6681
|
/* @__PURE__ */ jsx41(
|
|
@@ -6868,7 +6690,7 @@ var OrderingActivityContent = ({
|
|
|
6868
6690
|
OrderingActivityMaterialContent_default,
|
|
6869
6691
|
{
|
|
6870
6692
|
uniqueValue: JSON.stringify(data.contentMap),
|
|
6871
|
-
|
|
6693
|
+
answerMap,
|
|
6872
6694
|
materialMap: orderingMaterialMap,
|
|
6873
6695
|
contentMap,
|
|
6874
6696
|
checkCanAnswerQuestion: canAnswerQuestion,
|
|
@@ -6887,7 +6709,7 @@ import { InlineMath as InlineMath10 } from "react-katex";
|
|
|
6887
6709
|
import { Fragment as Fragment10, jsx as jsx42, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
6888
6710
|
var TrueFalseActivityMaterialContent = ({
|
|
6889
6711
|
uniqueValue,
|
|
6890
|
-
|
|
6712
|
+
answerMap,
|
|
6891
6713
|
materialMap,
|
|
6892
6714
|
contentMap,
|
|
6893
6715
|
checkCanAnswerQuestion,
|
|
@@ -6895,7 +6717,6 @@ var TrueFalseActivityMaterialContent = ({
|
|
|
6895
6717
|
isPreview,
|
|
6896
6718
|
showCorrectAnswer
|
|
6897
6719
|
}) => {
|
|
6898
|
-
const { screenSize } = useScreenSize_default();
|
|
6899
6720
|
const [shuffleOptionList, setShuffleOptionList] = useState23([]);
|
|
6900
6721
|
useEffect14(() => {
|
|
6901
6722
|
const optionList = [];
|
|
@@ -6909,26 +6730,8 @@ var TrueFalseActivityMaterialContent = ({
|
|
|
6909
6730
|
}, []);
|
|
6910
6731
|
useEffect14(() => {
|
|
6911
6732
|
if (!showCorrectAnswer) return;
|
|
6912
|
-
|
|
6913
|
-
(answerData) => answerData.type === "TRUE_FALSE"
|
|
6914
|
-
).answerMap = materialMap;
|
|
6733
|
+
answerMap = materialMap;
|
|
6915
6734
|
}, [showCorrectAnswer]);
|
|
6916
|
-
const retrieveAnswer = () => {
|
|
6917
|
-
if (!answer)
|
|
6918
|
-
return {
|
|
6919
|
-
answerMap: {
|
|
6920
|
-
trueList: [],
|
|
6921
|
-
falseList: []
|
|
6922
|
-
}
|
|
6923
|
-
};
|
|
6924
|
-
return answer.data.find(
|
|
6925
|
-
(answerData) => answerData.type === "TRUE_FALSE"
|
|
6926
|
-
);
|
|
6927
|
-
};
|
|
6928
|
-
const retrieveAnswerMap = () => {
|
|
6929
|
-
const { answerMap: answerMap2 } = retrieveAnswer();
|
|
6930
|
-
return answerMap2;
|
|
6931
|
-
};
|
|
6932
6735
|
const checkAnswerState = (correctAnswer, learnerAnswer) => {
|
|
6933
6736
|
if (!isPreview) return null;
|
|
6934
6737
|
if (correctAnswer === learnerAnswer) {
|
|
@@ -6936,7 +6739,6 @@ var TrueFalseActivityMaterialContent = ({
|
|
|
6936
6739
|
}
|
|
6937
6740
|
return "INCORRECT";
|
|
6938
6741
|
};
|
|
6939
|
-
const answerMap = retrieveAnswerMap();
|
|
6940
6742
|
return /* @__PURE__ */ jsxs31("div", { className: "", children: [
|
|
6941
6743
|
/* @__PURE__ */ jsx42("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx42("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_true_false_text") }) }),
|
|
6942
6744
|
/* @__PURE__ */ jsx42("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx42(DividerLine_default, {}) }),
|
|
@@ -6986,7 +6788,7 @@ var TrueFalseActivityMaterialContent = ({
|
|
|
6986
6788
|
alt: "checkbox",
|
|
6987
6789
|
size: "small",
|
|
6988
6790
|
onClick: () => {
|
|
6989
|
-
onChange(
|
|
6791
|
+
onChange(answerMap, "TRUE", shuffleOption);
|
|
6990
6792
|
}
|
|
6991
6793
|
}
|
|
6992
6794
|
) }) }),
|
|
@@ -6997,7 +6799,7 @@ var TrueFalseActivityMaterialContent = ({
|
|
|
6997
6799
|
alt: "checkbox",
|
|
6998
6800
|
size: "small",
|
|
6999
6801
|
onClick: () => {
|
|
7000
|
-
onChange(
|
|
6802
|
+
onChange(answerMap, "FALSE", shuffleOption);
|
|
7001
6803
|
}
|
|
7002
6804
|
}
|
|
7003
6805
|
) }) })
|
|
@@ -7023,7 +6825,7 @@ var TrueFalseActivityMaterialContent_default = TrueFalseActivityMaterialContent;
|
|
|
7023
6825
|
// src/components/activities/TrueFalseActivityContent.tsx
|
|
7024
6826
|
import { jsx as jsx43, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
7025
6827
|
var TrueFalseActivityContent = ({
|
|
7026
|
-
|
|
6828
|
+
answerMap,
|
|
7027
6829
|
data,
|
|
7028
6830
|
canAnswerQuestion,
|
|
7029
6831
|
changeAnswer,
|
|
@@ -7034,43 +6836,36 @@ var TrueFalseActivityContent = ({
|
|
|
7034
6836
|
const contentMap = parseContentMapFromData(data);
|
|
7035
6837
|
const trueFalseBodyMap = parseBodyMapFromData(data, "TRUE_FALSE");
|
|
7036
6838
|
const trueFalseMaterialMap = parseMaterialMapFromData(data, "TRUE_FALSE");
|
|
7037
|
-
const
|
|
7038
|
-
let foundIndex = answer.data.findIndex(
|
|
7039
|
-
(answerData) => answerData.type === "TRUE_FALSE"
|
|
7040
|
-
);
|
|
7041
|
-
return answer.data[foundIndex].answerMap;
|
|
7042
|
-
};
|
|
7043
|
-
const handleTrueFalseAnswerOnChange = (answer2, key, value) => {
|
|
6839
|
+
const handleTrueFalseAnswerOnChange = (answerMap2, key, value) => {
|
|
7044
6840
|
if (isPreview) return;
|
|
7045
|
-
const answerMap = retrieveCurrentAnswerMap();
|
|
7046
6841
|
if (key === "TRUE") {
|
|
7047
|
-
const foundFalseIndex =
|
|
6842
|
+
const foundFalseIndex = answerMap2.falseList.findIndex(
|
|
7048
6843
|
(item) => item === value
|
|
7049
6844
|
);
|
|
7050
6845
|
if (foundFalseIndex !== -1) {
|
|
7051
|
-
|
|
6846
|
+
answerMap2.falseList.splice(foundFalseIndex, 1);
|
|
7052
6847
|
}
|
|
7053
|
-
const foundTrueIndex =
|
|
6848
|
+
const foundTrueIndex = answerMap2.falseList.findIndex(
|
|
7054
6849
|
(item) => item === value
|
|
7055
6850
|
);
|
|
7056
6851
|
if (foundTrueIndex === -1) {
|
|
7057
|
-
|
|
6852
|
+
answerMap2.trueList.push(value);
|
|
7058
6853
|
}
|
|
7059
6854
|
} else if (key === "FALSE") {
|
|
7060
|
-
const foundTrueIndex =
|
|
6855
|
+
const foundTrueIndex = answerMap2.trueList.findIndex(
|
|
7061
6856
|
(item) => item === value
|
|
7062
6857
|
);
|
|
7063
6858
|
if (foundTrueIndex !== -1) {
|
|
7064
|
-
|
|
6859
|
+
answerMap2.trueList.splice(foundTrueIndex, 1);
|
|
7065
6860
|
}
|
|
7066
|
-
const foundFalseIndex =
|
|
6861
|
+
const foundFalseIndex = answerMap2.falseList.findIndex(
|
|
7067
6862
|
(item) => item === value
|
|
7068
6863
|
);
|
|
7069
6864
|
if (foundFalseIndex === -1) {
|
|
7070
|
-
|
|
6865
|
+
answerMap2.falseList.push(value);
|
|
7071
6866
|
}
|
|
7072
6867
|
}
|
|
7073
|
-
changeAnswer(
|
|
6868
|
+
changeAnswer(answerMap2);
|
|
7074
6869
|
};
|
|
7075
6870
|
return /* @__PURE__ */ jsxs32("div", { className: "flex flex-row flex-wrap", children: [
|
|
7076
6871
|
/* @__PURE__ */ jsx43("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[40%]"}`, children: /* @__PURE__ */ jsx43(
|
|
@@ -7086,7 +6881,7 @@ var TrueFalseActivityContent = ({
|
|
|
7086
6881
|
TrueFalseActivityMaterialContent_default,
|
|
7087
6882
|
{
|
|
7088
6883
|
uniqueValue: JSON.stringify(data.contentMap),
|
|
7089
|
-
|
|
6884
|
+
answerMap,
|
|
7090
6885
|
materialMap: trueFalseMaterialMap,
|
|
7091
6886
|
contentMap,
|
|
7092
6887
|
checkCanAnswerQuestion: canAnswerQuestion,
|
|
@@ -7314,7 +7109,7 @@ var ActivityPreviewByData = ({
|
|
|
7314
7109
|
}
|
|
7315
7110
|
}, [data, lockedType, typeOptionList, showDifficulty]);
|
|
7316
7111
|
if (!data) return;
|
|
7317
|
-
const
|
|
7112
|
+
const answerMap = constructAnswerBasedOnData(data);
|
|
7318
7113
|
return /* @__PURE__ */ jsxs36("div", { children: [
|
|
7319
7114
|
showType ? /* @__PURE__ */ jsxs36(Fragment11, { children: [
|
|
7320
7115
|
/* @__PURE__ */ jsxs36("div", { className: "mb-4", children: [
|
|
@@ -7335,7 +7130,7 @@ var ActivityPreviewByData = ({
|
|
|
7335
7130
|
selectedType ? /* @__PURE__ */ jsx47("div", { className: "", children: selectedType === "ORDERING" && data["orderingBodyMap"] != null && data["orderingMaterialMap"] != null ? /* @__PURE__ */ jsx47(
|
|
7336
7131
|
OrderingActivityContent_default,
|
|
7337
7132
|
{
|
|
7338
|
-
|
|
7133
|
+
answerMap,
|
|
7339
7134
|
changeAnswer: () => {
|
|
7340
7135
|
},
|
|
7341
7136
|
canAnswerQuestion: () => {
|
|
@@ -7349,7 +7144,7 @@ var ActivityPreviewByData = ({
|
|
|
7349
7144
|
) : selectedType === "DROPDOWN" && data["dropdownBodyMap"] != null && data["dropdownMaterialMap"] != null ? /* @__PURE__ */ jsx47(
|
|
7350
7145
|
DropdownActivityContent_default,
|
|
7351
7146
|
{
|
|
7352
|
-
|
|
7147
|
+
answerMap,
|
|
7353
7148
|
changeAnswer: () => {
|
|
7354
7149
|
},
|
|
7355
7150
|
canAnswerQuestion: () => {
|
|
@@ -7363,7 +7158,7 @@ var ActivityPreviewByData = ({
|
|
|
7363
7158
|
) : selectedType === "MCSA" && data["MCSABodyMap"] != null && data["MCSAMaterialMap"] != null ? /* @__PURE__ */ jsx47(
|
|
7364
7159
|
MCSAActivityContent_default,
|
|
7365
7160
|
{
|
|
7366
|
-
|
|
7161
|
+
answerMap,
|
|
7367
7162
|
changeAnswer: () => {
|
|
7368
7163
|
},
|
|
7369
7164
|
canAnswerQuestion: () => {
|
|
@@ -7377,7 +7172,7 @@ var ActivityPreviewByData = ({
|
|
|
7377
7172
|
) : selectedType === "MCMA" && data["MCMABodyMap"] != null && data["MCMAMaterialMap"] != null ? /* @__PURE__ */ jsx47(
|
|
7378
7173
|
MCMAActivityContent_default,
|
|
7379
7174
|
{
|
|
7380
|
-
|
|
7175
|
+
answerMap,
|
|
7381
7176
|
changeAnswer: () => {
|
|
7382
7177
|
},
|
|
7383
7178
|
canAnswerQuestion: () => {
|
|
@@ -7391,7 +7186,7 @@ var ActivityPreviewByData = ({
|
|
|
7391
7186
|
) : selectedType === "MATCHING" && data["matchingBodyMap"] != null && data["matchingMaterialMap"] != null ? /* @__PURE__ */ jsx47(
|
|
7392
7187
|
MatchingActivityContent_default,
|
|
7393
7188
|
{
|
|
7394
|
-
|
|
7189
|
+
answerMap,
|
|
7395
7190
|
changeAnswer: () => {
|
|
7396
7191
|
},
|
|
7397
7192
|
canAnswerQuestion: () => {
|
|
@@ -7404,7 +7199,7 @@ var ActivityPreviewByData = ({
|
|
|
7404
7199
|
) : selectedType === "GROUPING" && data["groupingBodyMap"] != null && data["groupingMaterialMap"] != null ? /* @__PURE__ */ jsx47(
|
|
7405
7200
|
GroupingActivityContent_default,
|
|
7406
7201
|
{
|
|
7407
|
-
|
|
7202
|
+
answerMap,
|
|
7408
7203
|
changeAnswer: () => {
|
|
7409
7204
|
},
|
|
7410
7205
|
canAnswerQuestion: () => {
|
|
@@ -7417,7 +7212,7 @@ var ActivityPreviewByData = ({
|
|
|
7417
7212
|
) : selectedType === "FILL_IN_THE_BLANKS" && data["fillInTheBlanksBodyMap"] != null && data["fillInTheBlanksMaterialMap"] != null ? /* @__PURE__ */ jsx47(
|
|
7418
7213
|
FillInTheBlanksActivityContent_default,
|
|
7419
7214
|
{
|
|
7420
|
-
|
|
7215
|
+
answerMap,
|
|
7421
7216
|
changeAnswer: () => {
|
|
7422
7217
|
},
|
|
7423
7218
|
canAnswerQuestion: () => {
|
|
@@ -7431,7 +7226,7 @@ var ActivityPreviewByData = ({
|
|
|
7431
7226
|
) : selectedType === "OPEN_ENDED" && data["openEndedBodyMap"] != null ? /* @__PURE__ */ jsx47(
|
|
7432
7227
|
OpenEndedActivityContent_default,
|
|
7433
7228
|
{
|
|
7434
|
-
|
|
7229
|
+
answerMap,
|
|
7435
7230
|
canAnswerQuestion: () => false,
|
|
7436
7231
|
changeAnswer: () => {
|
|
7437
7232
|
},
|
|
@@ -7443,7 +7238,7 @@ var ActivityPreviewByData = ({
|
|
|
7443
7238
|
) : selectedType === "TRUE_FALSE" && data["trueFalseBodyMap"] != null && data["trueFalseMaterialMap"] != null ? /* @__PURE__ */ jsx47(
|
|
7444
7239
|
TrueFalseActivityContent_default,
|
|
7445
7240
|
{
|
|
7446
|
-
|
|
7241
|
+
answerMap,
|
|
7447
7242
|
changeAnswer: () => {
|
|
7448
7243
|
},
|
|
7449
7244
|
canAnswerQuestion: () => {
|
|
@@ -7476,135 +7271,157 @@ var ActivityPreviewByData_default = ActivityPreviewByData;
|
|
|
7476
7271
|
// src/components/activities/ActivityPreviewByAnswerData.tsx
|
|
7477
7272
|
import { useEffect as useEffect16, useState as useState25 } from "react";
|
|
7478
7273
|
import { Fragment as Fragment12, jsx as jsx48, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
7274
|
+
var ACTIVITY_TEMPLATE_LIST = [
|
|
7275
|
+
{ type: "ORDERING", materialMap: "orderingMaterialMap" },
|
|
7276
|
+
{ type: "DROPDOWN", materialMap: "dropdownMaterialMap" },
|
|
7277
|
+
{ type: "MCSA", materialMap: "MCSAMaterialMap" },
|
|
7278
|
+
{ type: "MCMA", materialMap: "MCMAMaterialMap" },
|
|
7279
|
+
{ type: "MATCHING", materialMap: "matchingMaterialMap" },
|
|
7280
|
+
{ type: "GROUPING", materialMap: "groupingMaterialMap" },
|
|
7281
|
+
{
|
|
7282
|
+
type: "FILL_IN_THE_BLANKS",
|
|
7283
|
+
materialMap: "fillInTheBlanksMaterialMap"
|
|
7284
|
+
},
|
|
7285
|
+
{ type: "OPEN_ENDED", materialMap: "openEndedMaterialMap" },
|
|
7286
|
+
{ type: "TRUE_FALSE", materialMap: "trueFalseMaterialMap" }
|
|
7287
|
+
];
|
|
7479
7288
|
var ActivityPreviewByAnswerData = ({
|
|
7480
7289
|
data,
|
|
7290
|
+
answerType = null,
|
|
7481
7291
|
showType = true,
|
|
7482
7292
|
showDescription = true,
|
|
7483
|
-
|
|
7484
|
-
typeOptionList = [],
|
|
7293
|
+
lockedTypeList = [],
|
|
7485
7294
|
showSolution = false,
|
|
7486
7295
|
showEvaluationRubric = false,
|
|
7487
7296
|
showDifficulty = true,
|
|
7488
7297
|
isFullScreen = false,
|
|
7489
7298
|
showCorrectAnswer = false
|
|
7490
7299
|
}) => {
|
|
7491
|
-
var _a;
|
|
7492
|
-
const [key, setKey] = useState25((/* @__PURE__ */ new Date()).getTime());
|
|
7493
7300
|
const [selectedType, setSelectedType] = useState25(null);
|
|
7494
7301
|
const [optionList, setOptionList] = useState25([]);
|
|
7495
|
-
const [
|
|
7302
|
+
const [answerMapMap, setAnswerMapMap] = useState25({});
|
|
7303
|
+
const [activityTemplateTypeList, setActivityTemplateTypeList] = useState25([]);
|
|
7496
7304
|
useEffect16(() => {
|
|
7497
7305
|
if (!data) return;
|
|
7498
|
-
|
|
7499
|
-
|
|
7500
|
-
|
|
7501
|
-
if (
|
|
7502
|
-
|
|
7503
|
-
(
|
|
7306
|
+
let currentActivityTemplateMapList = JSON.parse(
|
|
7307
|
+
JSON.stringify(ACTIVITY_TEMPLATE_LIST)
|
|
7308
|
+
);
|
|
7309
|
+
if (lockedTypeList.length > 0) {
|
|
7310
|
+
currentActivityTemplateMapList = currentActivityTemplateMapList.filter(
|
|
7311
|
+
(activityTemplateMap) => lockedTypeList.includes(activityTemplateMap.type)
|
|
7504
7312
|
);
|
|
7505
|
-
return foundAnswer || null;
|
|
7506
7313
|
}
|
|
7507
|
-
|
|
7508
|
-
|
|
7509
|
-
|
|
7510
|
-
|
|
7511
|
-
const constructAnswerBasedOnData2 = () => {
|
|
7512
|
-
const newAnswer = { data: [] };
|
|
7513
|
-
const activityTypes = [
|
|
7514
|
-
{ type: "ORDERING", materialMap: "orderingMaterialMap" },
|
|
7515
|
-
{ type: "DROPDOWN", materialMap: "dropdownMaterialMap" },
|
|
7516
|
-
{ type: "MCSA", materialMap: "MCSAMaterialMap" },
|
|
7517
|
-
{ type: "MCMA", materialMap: "MCMAMaterialMap" },
|
|
7518
|
-
{ type: "MATCHING", materialMap: "matchingMaterialMap" },
|
|
7519
|
-
{ type: "GROUPING", materialMap: "groupingMaterialMap" },
|
|
7520
|
-
{
|
|
7521
|
-
type: "FILL_IN_THE_BLANKS",
|
|
7522
|
-
materialMap: "fillInTheBlanksMaterialMap"
|
|
7523
|
-
},
|
|
7524
|
-
{ type: "OPEN_ENDED", materialMap: "openEndedMaterialMap" },
|
|
7525
|
-
{ type: "TRUE_FALSE", materialMap: "trueFalseMaterialMap" }
|
|
7526
|
-
];
|
|
7527
|
-
activityTypes.forEach(({ type, materialMap }) => {
|
|
7528
|
-
if (data[materialMap]) {
|
|
7529
|
-
const foundAnswer = checkAnswerMapExists(type);
|
|
7530
|
-
const answerItem = foundAnswer || constructActivityAnswerMap(
|
|
7531
|
-
{ type },
|
|
7532
|
-
JSON.parse(JSON.stringify(data))
|
|
7533
|
-
);
|
|
7534
|
-
newAnswer.data.push(answerItem);
|
|
7535
|
-
}
|
|
7536
|
-
});
|
|
7537
|
-
setAnswer(newAnswer);
|
|
7538
|
-
if (newAnswer.data.length > 0) {
|
|
7539
|
-
if (lockedType && newAnswer.data.find((item) => item.type === lockedType)) {
|
|
7540
|
-
setSelectedType(lockedType);
|
|
7541
|
-
} else {
|
|
7542
|
-
setSelectedType(newAnswer.data[0].type);
|
|
7543
|
-
}
|
|
7314
|
+
const currentActivityTemplateTypeList = [];
|
|
7315
|
+
for (const activityTemplateMap of currentActivityTemplateMapList) {
|
|
7316
|
+
if (data[activityTemplateMap.materialMap]) {
|
|
7317
|
+
currentActivityTemplateTypeList.push(activityTemplateMap);
|
|
7544
7318
|
}
|
|
7545
|
-
};
|
|
7546
|
-
constructAnswerBasedOnData2();
|
|
7547
|
-
}, [data, lockedType]);
|
|
7548
|
-
useEffect16(() => {
|
|
7549
|
-
if (!data || !answer.data.length) return;
|
|
7550
|
-
let currentTypeOptionList = typeOptionList || answer.data.map((item) => ({
|
|
7551
|
-
id: item.type,
|
|
7552
|
-
text: i18n_default.t(item.type)
|
|
7553
|
-
}));
|
|
7554
|
-
if (lockedType) {
|
|
7555
|
-
currentTypeOptionList = currentTypeOptionList.filter(
|
|
7556
|
-
(typeOption) => typeOption.id === lockedType
|
|
7557
|
-
);
|
|
7558
7319
|
}
|
|
7559
|
-
|
|
7560
|
-
|
|
7561
|
-
|
|
7562
|
-
|
|
7563
|
-
|
|
7320
|
+
setActivityTemplateTypeList(currentActivityTemplateMapList);
|
|
7321
|
+
}, [data, answerType, lockedTypeList]);
|
|
7322
|
+
useEffect16(() => {
|
|
7323
|
+
if (activityTemplateTypeList.length === 0) return;
|
|
7324
|
+
const currentOptionList = [];
|
|
7325
|
+
for (const activityTemplateType of activityTemplateTypeList) {
|
|
7326
|
+
const currentTypeOption = {
|
|
7327
|
+
id: activityTemplateType.type,
|
|
7328
|
+
value: i18n_default.t(activityTemplateType.type)
|
|
7329
|
+
};
|
|
7330
|
+
if (showDifficulty) {
|
|
7331
|
+
currentTypeOption.subText = i18n_default.t(
|
|
7332
|
+
retrieveDifficultyByActivityTypeFromData(
|
|
7333
|
+
activityTemplateType.type,
|
|
7334
|
+
data
|
|
7564
7335
|
)
|
|
7565
|
-
|
|
7566
|
-
|
|
7567
|
-
|
|
7568
|
-
setOptionList(currentTypeOptionList);
|
|
7336
|
+
);
|
|
7337
|
+
}
|
|
7338
|
+
currentOptionList.push(currentTypeOption);
|
|
7569
7339
|
}
|
|
7570
|
-
|
|
7340
|
+
setOptionList(currentOptionList);
|
|
7341
|
+
}, [activityTemplateTypeList, showDifficulty]);
|
|
7342
|
+
useEffect16(() => {
|
|
7343
|
+
if (optionList.length === 0) return;
|
|
7344
|
+
setSelectedType(optionList[0].id);
|
|
7345
|
+
}, [optionList]);
|
|
7346
|
+
useEffect16(() => {
|
|
7347
|
+
if (activityTemplateTypeList.length === 0) return;
|
|
7348
|
+
const currentAnswerMapMap = {};
|
|
7349
|
+
for (const activityTemplateMap of activityTemplateTypeList) {
|
|
7350
|
+
if (answerType === activityTemplateMap.type) {
|
|
7351
|
+
currentAnswerMapMap[activityTemplateMap.type] = data.answerMap;
|
|
7352
|
+
} else {
|
|
7353
|
+
currentAnswerMapMap[activityTemplateMap.type] = constructActivityAnswerMap(
|
|
7354
|
+
{ type: activityTemplateMap.type },
|
|
7355
|
+
JSON.parse(JSON.stringify(data))
|
|
7356
|
+
);
|
|
7357
|
+
}
|
|
7358
|
+
}
|
|
7359
|
+
setAnswerMapMap(currentAnswerMapMap);
|
|
7360
|
+
}, [activityTemplateTypeList]);
|
|
7571
7361
|
const RenderSelectedActivityContent = () => {
|
|
7362
|
+
if (!selectedType) return null;
|
|
7572
7363
|
const commonProps = {
|
|
7573
|
-
|
|
7364
|
+
answerMap: answerMapMap[selectedType],
|
|
7574
7365
|
data,
|
|
7575
7366
|
canAnswerQuestion: () => true,
|
|
7576
|
-
// changeAnswer: (newAnswer: Answer) =>
|
|
7577
|
-
// setAnswer(JSON.parse(JSON.stringify(newAnswer))),
|
|
7578
7367
|
changeAnswer: () => {
|
|
7579
7368
|
},
|
|
7580
7369
|
isPreview: true,
|
|
7581
7370
|
showCorrectAnswer,
|
|
7582
7371
|
isFullScreen
|
|
7583
7372
|
};
|
|
7373
|
+
const isEmpty = answerMapMap[selectedType].isEmpty;
|
|
7584
7374
|
switch (selectedType) {
|
|
7585
7375
|
case "ORDERING":
|
|
7586
|
-
return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */
|
|
7376
|
+
return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ jsxs37(Fragment12, { children: [
|
|
7377
|
+
isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
|
|
7378
|
+
/* @__PURE__ */ jsx48(OrderingActivityContent_default, __spreadValues({}, commonProps))
|
|
7379
|
+
] }) : null;
|
|
7587
7380
|
case "DROPDOWN":
|
|
7588
|
-
return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */
|
|
7381
|
+
return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ jsxs37(Fragment12, { children: [
|
|
7382
|
+
isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
|
|
7383
|
+
/* @__PURE__ */ jsx48(DropdownActivityContent_default, __spreadValues({}, commonProps))
|
|
7384
|
+
] }) : null;
|
|
7589
7385
|
case "MCSA":
|
|
7590
|
-
return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */
|
|
7386
|
+
return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ jsxs37(Fragment12, { children: [
|
|
7387
|
+
isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
|
|
7388
|
+
/* @__PURE__ */ jsx48(MCSAActivityContent_default, __spreadValues({}, commonProps))
|
|
7389
|
+
] }) : null;
|
|
7591
7390
|
case "MCMA":
|
|
7592
|
-
return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */
|
|
7391
|
+
return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ jsxs37(Fragment12, { children: [
|
|
7392
|
+
isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
|
|
7393
|
+
/* @__PURE__ */ jsx48(MCMAActivityContent_default, __spreadValues({}, commonProps))
|
|
7394
|
+
] }) : null;
|
|
7593
7395
|
case "MATCHING":
|
|
7594
|
-
return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */
|
|
7396
|
+
return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ jsxs37(Fragment12, { children: [
|
|
7397
|
+
isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
|
|
7398
|
+
/* @__PURE__ */ jsx48(MatchingActivityContent_default, __spreadValues({}, commonProps))
|
|
7399
|
+
] }) : null;
|
|
7595
7400
|
case "GROUPING":
|
|
7596
|
-
return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */
|
|
7401
|
+
return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ jsxs37(Fragment12, { children: [
|
|
7402
|
+
isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
|
|
7403
|
+
/* @__PURE__ */ jsx48(GroupingActivityContent_default, __spreadValues({}, commonProps))
|
|
7404
|
+
] }) : null;
|
|
7597
7405
|
case "FILL_IN_THE_BLANKS":
|
|
7598
|
-
return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */
|
|
7406
|
+
return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ jsxs37(Fragment12, { children: [
|
|
7407
|
+
isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
|
|
7408
|
+
/* @__PURE__ */ jsx48(FillInTheBlanksActivityContent_default, __spreadValues({}, commonProps))
|
|
7409
|
+
] }) : null;
|
|
7599
7410
|
case "OPEN_ENDED":
|
|
7600
|
-
return data.openEndedBodyMap ? /* @__PURE__ */
|
|
7601
|
-
|
|
7602
|
-
|
|
7603
|
-
|
|
7604
|
-
|
|
7605
|
-
|
|
7411
|
+
return data.openEndedBodyMap ? /* @__PURE__ */ jsxs37(Fragment12, { children: [
|
|
7412
|
+
isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
|
|
7413
|
+
/* @__PURE__ */ jsx48(
|
|
7414
|
+
OpenEndedActivityContent_default,
|
|
7415
|
+
__spreadProps(__spreadValues({}, commonProps), {
|
|
7416
|
+
showMaterialContent: true
|
|
7417
|
+
})
|
|
7418
|
+
)
|
|
7419
|
+
] }) : null;
|
|
7606
7420
|
case "TRUE_FALSE":
|
|
7607
|
-
return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */
|
|
7421
|
+
return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ jsxs37(Fragment12, { children: [
|
|
7422
|
+
isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
|
|
7423
|
+
/* @__PURE__ */ jsx48(TrueFalseActivityContent_default, __spreadValues({}, commonProps))
|
|
7424
|
+
] }) : null;
|
|
7608
7425
|
default:
|
|
7609
7426
|
return null;
|
|
7610
7427
|
}
|
|
@@ -7627,10 +7444,7 @@ var ActivityPreviewByAnswerData = ({
|
|
|
7627
7444
|
] }),
|
|
7628
7445
|
/* @__PURE__ */ jsx48(DividerLine_default, {})
|
|
7629
7446
|
] }) : null,
|
|
7630
|
-
/* @__PURE__ */
|
|
7631
|
-
((_a = answer == null ? void 0 : answer.data[0]) == null ? void 0 : _a.isEmpty) ? /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}) : null,
|
|
7632
|
-
selectedType ? /* @__PURE__ */ jsx48("div", { children: RenderSelectedActivityContent() }, selectedType) : null
|
|
7633
|
-
] }),
|
|
7447
|
+
/* @__PURE__ */ jsx48("div", { className: "flex flex-col my-2 w-full p-5", children: RenderSelectedActivityContent() }),
|
|
7634
7448
|
selectedType && showSolution ? /* @__PURE__ */ jsx48("div", { className: "my-4", children: /* @__PURE__ */ jsx48(
|
|
7635
7449
|
ActivitySolutionContent_default,
|
|
7636
7450
|
{
|
|
@@ -7645,7 +7459,7 @@ var ActivityPreviewByAnswerData = ({
|
|
|
7645
7459
|
data
|
|
7646
7460
|
}
|
|
7647
7461
|
) }) : null
|
|
7648
|
-
] }
|
|
7462
|
+
] });
|
|
7649
7463
|
};
|
|
7650
7464
|
var ActivityPreviewByAnswerData_default = ActivityPreviewByAnswerData;
|
|
7651
7465
|
|
|
@@ -8629,7 +8443,7 @@ var retrieveProvinceNameOptionList = () => {
|
|
|
8629
8443
|
{ parent: "TURKEY", value: "BURSA", text: "Bursa", code: "16" },
|
|
8630
8444
|
// { parent: "TURKEY", value: "CANAKKALE", text: "Çanakkale", code: "17" },
|
|
8631
8445
|
// { parent: "TURKEY", value: "CANKIRI", text: "Çankırı", code: "18" },
|
|
8632
|
-
|
|
8446
|
+
{ parent: "TURKEY", value: "CORUM", text: "\xC7orum", code: "19" },
|
|
8633
8447
|
{ parent: "TURKEY", value: "DENIZLI", text: "Denizli", code: "20" },
|
|
8634
8448
|
{ parent: "TURKEY", value: "DIYARBAKIR", text: "Diyarbak\u0131r", code: "21" },
|
|
8635
8449
|
// { parent: "TURKEY", value: "EDIRNE", text: "Edirne", code: "22" },
|