catchup-library-web 2.5.14 → 2.5.16
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 +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +10 -8
- package/dist/index.mjs +31 -29
- package/package.json +1 -1
- package/src/components/activities/GroupingActivityContent.tsx +28 -17
- package/src/components/activities/body-contents/ActivityBodyContent.tsx +8 -8
- package/src/properties/ActivityProperties.ts +1 -0
package/dist/index.d.mts
CHANGED
|
@@ -171,6 +171,7 @@ interface IGroupingActivityProps {
|
|
|
171
171
|
changeAnswer: (e: any) => void;
|
|
172
172
|
isPreview: boolean;
|
|
173
173
|
showCorrectAnswer: boolean;
|
|
174
|
+
isFullScreen: boolean;
|
|
174
175
|
}
|
|
175
176
|
interface IMatchingActivityProps {
|
|
176
177
|
answerMap: any;
|
|
@@ -238,7 +239,7 @@ declare const DropdownActivityContent: ({ answerMap, data, canAnswerQuestion, ch
|
|
|
238
239
|
|
|
239
240
|
declare const FillInTheBlanksActivityContent: ({ answerMap, data, canAnswerQuestion, changeAnswer, isPreview, showCorrectAnswer, isFullScreen, }: IFillInTheBlanksActivityProps) => react_jsx_runtime.JSX.Element;
|
|
240
241
|
|
|
241
|
-
declare const GroupingActivityContent: ({ answerMap, data, canAnswerQuestion, changeAnswer, isPreview, showCorrectAnswer, }: IGroupingActivityProps) => react_jsx_runtime.JSX.Element;
|
|
242
|
+
declare const GroupingActivityContent: ({ answerMap, data, canAnswerQuestion, changeAnswer, isPreview, showCorrectAnswer, isFullScreen, }: IGroupingActivityProps) => react_jsx_runtime.JSX.Element;
|
|
242
243
|
|
|
243
244
|
declare const MatchingActivityContent: ({ answerMap, data, canAnswerQuestion, changeAnswer, isPreview, showCorrectAnswer, isFullScreen, }: IMatchingActivityProps) => react_jsx_runtime.JSX.Element;
|
|
244
245
|
|
package/dist/index.d.ts
CHANGED
|
@@ -171,6 +171,7 @@ interface IGroupingActivityProps {
|
|
|
171
171
|
changeAnswer: (e: any) => void;
|
|
172
172
|
isPreview: boolean;
|
|
173
173
|
showCorrectAnswer: boolean;
|
|
174
|
+
isFullScreen: boolean;
|
|
174
175
|
}
|
|
175
176
|
interface IMatchingActivityProps {
|
|
176
177
|
answerMap: any;
|
|
@@ -238,7 +239,7 @@ declare const DropdownActivityContent: ({ answerMap, data, canAnswerQuestion, ch
|
|
|
238
239
|
|
|
239
240
|
declare const FillInTheBlanksActivityContent: ({ answerMap, data, canAnswerQuestion, changeAnswer, isPreview, showCorrectAnswer, isFullScreen, }: IFillInTheBlanksActivityProps) => react_jsx_runtime.JSX.Element;
|
|
240
241
|
|
|
241
|
-
declare const GroupingActivityContent: ({ answerMap, data, canAnswerQuestion, changeAnswer, isPreview, showCorrectAnswer, }: IGroupingActivityProps) => react_jsx_runtime.JSX.Element;
|
|
242
|
+
declare const GroupingActivityContent: ({ answerMap, data, canAnswerQuestion, changeAnswer, isPreview, showCorrectAnswer, isFullScreen, }: IGroupingActivityProps) => react_jsx_runtime.JSX.Element;
|
|
242
243
|
|
|
243
244
|
declare const MatchingActivityContent: ({ answerMap, data, canAnswerQuestion, changeAnswer, isPreview, showCorrectAnswer, isFullScreen, }: IMatchingActivityProps) => react_jsx_runtime.JSX.Element;
|
|
244
245
|
|
package/dist/index.js
CHANGED
|
@@ -3819,7 +3819,7 @@ var ActivityBodyContent = ({
|
|
|
3819
3819
|
key
|
|
3820
3820
|
});
|
|
3821
3821
|
}).filter(Boolean);
|
|
3822
|
-
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex flex-col
|
|
3822
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex flex-col h-full overflow-y-auto", children: processedBodies.map((body, index) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3823
3823
|
ShowBodyMediaByContentType_default,
|
|
3824
3824
|
{
|
|
3825
3825
|
index,
|
|
@@ -5670,7 +5670,8 @@ var GroupingActivityContent = ({
|
|
|
5670
5670
|
canAnswerQuestion,
|
|
5671
5671
|
changeAnswer,
|
|
5672
5672
|
isPreview,
|
|
5673
|
-
showCorrectAnswer
|
|
5673
|
+
showCorrectAnswer,
|
|
5674
|
+
isFullScreen
|
|
5674
5675
|
}) => {
|
|
5675
5676
|
const contentMap = parseContentMapFromData(data);
|
|
5676
5677
|
const groupingBodyMap = parseBodyMapFromData(data, "GROUPING");
|
|
@@ -5684,16 +5685,17 @@ var GroupingActivityContent = ({
|
|
|
5684
5685
|
}
|
|
5685
5686
|
changeAnswer(answerMap2);
|
|
5686
5687
|
};
|
|
5687
|
-
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
5688
|
-
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
5688
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-row flex-wrap h-full", children: [
|
|
5689
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[30%] md:overflow-y-auto"}`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
5689
5690
|
ActivityBodyContent_default,
|
|
5690
5691
|
{
|
|
5691
5692
|
bodyMap: groupingBodyMap,
|
|
5692
5693
|
templateType: "GROUPING"
|
|
5693
5694
|
}
|
|
5694
|
-
),
|
|
5695
|
-
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DividerLine_default, {}),
|
|
5696
|
-
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
5695
|
+
) }),
|
|
5696
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DividerLine_default, {}) }),
|
|
5697
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(VerticalDividerLine_default, {}) }),
|
|
5698
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1 md:overflow-y-auto"}`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
5697
5699
|
GroupingActivityMaterialContent_default,
|
|
5698
5700
|
{
|
|
5699
5701
|
uniqueValue: JSON.stringify(data.contentMap),
|
|
@@ -5705,7 +5707,7 @@ var GroupingActivityContent = ({
|
|
|
5705
5707
|
isPreview,
|
|
5706
5708
|
showCorrectAnswer
|
|
5707
5709
|
}
|
|
5708
|
-
)
|
|
5710
|
+
) })
|
|
5709
5711
|
] });
|
|
5710
5712
|
};
|
|
5711
5713
|
var GroupingActivityContent_default = GroupingActivityContent;
|
package/dist/index.mjs
CHANGED
|
@@ -3585,7 +3585,7 @@ var ActivityBodyContent = ({
|
|
|
3585
3585
|
key
|
|
3586
3586
|
});
|
|
3587
3587
|
}).filter(Boolean);
|
|
3588
|
-
return /* @__PURE__ */ jsx21("div", { className: "flex flex-col
|
|
3588
|
+
return /* @__PURE__ */ jsx21("div", { className: "flex flex-col h-full overflow-y-auto", children: processedBodies.map((body, index) => /* @__PURE__ */ jsx21(
|
|
3589
3589
|
ShowBodyMediaByContentType_default,
|
|
3590
3590
|
{
|
|
3591
3591
|
index,
|
|
@@ -5429,14 +5429,15 @@ var GroupingActivityMaterialContent = ({
|
|
|
5429
5429
|
var GroupingActivityMaterialContent_default = GroupingActivityMaterialContent;
|
|
5430
5430
|
|
|
5431
5431
|
// src/components/activities/GroupingActivityContent.tsx
|
|
5432
|
-
import {
|
|
5432
|
+
import { jsx as jsx32, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
5433
5433
|
var GroupingActivityContent = ({
|
|
5434
5434
|
answerMap,
|
|
5435
5435
|
data,
|
|
5436
5436
|
canAnswerQuestion,
|
|
5437
5437
|
changeAnswer,
|
|
5438
5438
|
isPreview,
|
|
5439
|
-
showCorrectAnswer
|
|
5439
|
+
showCorrectAnswer,
|
|
5440
|
+
isFullScreen
|
|
5440
5441
|
}) => {
|
|
5441
5442
|
const contentMap = parseContentMapFromData(data);
|
|
5442
5443
|
const groupingBodyMap = parseBodyMapFromData(data, "GROUPING");
|
|
@@ -5450,16 +5451,17 @@ var GroupingActivityContent = ({
|
|
|
5450
5451
|
}
|
|
5451
5452
|
changeAnswer(answerMap2);
|
|
5452
5453
|
};
|
|
5453
|
-
return /* @__PURE__ */ jsxs22(
|
|
5454
|
-
/* @__PURE__ */ jsx32(
|
|
5454
|
+
return /* @__PURE__ */ jsxs22("div", { className: "flex flex-row flex-wrap h-full", children: [
|
|
5455
|
+
/* @__PURE__ */ jsx32("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[30%] md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx32(
|
|
5455
5456
|
ActivityBodyContent_default,
|
|
5456
5457
|
{
|
|
5457
5458
|
bodyMap: groupingBodyMap,
|
|
5458
5459
|
templateType: "GROUPING"
|
|
5459
5460
|
}
|
|
5460
|
-
),
|
|
5461
|
-
/* @__PURE__ */ jsx32(DividerLine_default, {}),
|
|
5462
|
-
/* @__PURE__ */ jsx32(
|
|
5461
|
+
) }),
|
|
5462
|
+
/* @__PURE__ */ jsx32("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx32(DividerLine_default, {}) }),
|
|
5463
|
+
/* @__PURE__ */ jsx32("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx32(VerticalDividerLine_default, {}) }),
|
|
5464
|
+
/* @__PURE__ */ jsx32("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1 md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx32(
|
|
5463
5465
|
GroupingActivityMaterialContent_default,
|
|
5464
5466
|
{
|
|
5465
5467
|
uniqueValue: JSON.stringify(data.contentMap),
|
|
@@ -5471,7 +5473,7 @@ var GroupingActivityContent = ({
|
|
|
5471
5473
|
isPreview,
|
|
5472
5474
|
showCorrectAnswer
|
|
5473
5475
|
}
|
|
5474
|
-
)
|
|
5476
|
+
) })
|
|
5475
5477
|
] });
|
|
5476
5478
|
};
|
|
5477
5479
|
var GroupingActivityContent_default = GroupingActivityContent;
|
|
@@ -5479,7 +5481,7 @@ var GroupingActivityContent_default = GroupingActivityContent;
|
|
|
5479
5481
|
// src/components/activities/material-contents/MatchingActivityMaterialContent.tsx
|
|
5480
5482
|
import { useEffect as useEffect11, useRef as useRef6, useState as useState20 } from "react";
|
|
5481
5483
|
import { InlineMath as InlineMath6 } from "react-katex";
|
|
5482
|
-
import { Fragment as
|
|
5484
|
+
import { Fragment as Fragment4, jsx as jsx33, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
5483
5485
|
var MatchingActivityMaterialContent = ({
|
|
5484
5486
|
uniqueValue,
|
|
5485
5487
|
answerMap,
|
|
@@ -5726,7 +5728,7 @@ var MatchingActivityMaterialContent = ({
|
|
|
5726
5728
|
) })
|
|
5727
5729
|
}
|
|
5728
5730
|
),
|
|
5729
|
-
filteredMaterialList.length > 0 ? /* @__PURE__ */ jsxs23(
|
|
5731
|
+
filteredMaterialList.length > 0 ? /* @__PURE__ */ jsxs23(Fragment4, { children: [
|
|
5730
5732
|
/* @__PURE__ */ jsx33(
|
|
5731
5733
|
"div",
|
|
5732
5734
|
{
|
|
@@ -6289,7 +6291,7 @@ var retrieveAcceptedFormats = (fileType) => {
|
|
|
6289
6291
|
};
|
|
6290
6292
|
|
|
6291
6293
|
// src/components/activities/material-contents/OpenEndedActivityMaterialContent.tsx
|
|
6292
|
-
import { Fragment as
|
|
6294
|
+
import { Fragment as Fragment5, jsx as jsx39, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
6293
6295
|
var OpenEndedActivityMaterialContent = ({
|
|
6294
6296
|
answerMap,
|
|
6295
6297
|
contentMap,
|
|
@@ -6346,7 +6348,7 @@ var OpenEndedActivityMaterialContent = ({
|
|
|
6346
6348
|
const answerMapAnswer = answerMap2["ANSWER"];
|
|
6347
6349
|
const extension = answerMapAnswer.split(".").pop();
|
|
6348
6350
|
const fileType = retrieveFileTypeFromExtension(extension);
|
|
6349
|
-
return /* @__PURE__ */ jsx39(
|
|
6351
|
+
return /* @__PURE__ */ jsx39(Fragment5, { children: fileType === "IMAGE" ? /* @__PURE__ */ jsx39("div", { className: "flex flex-col justify-center items-center my-5", children: /* @__PURE__ */ jsx39(
|
|
6350
6352
|
BaseImage_default,
|
|
6351
6353
|
{
|
|
6352
6354
|
src: answerMapAnswer,
|
|
@@ -6369,7 +6371,7 @@ var OpenEndedActivityMaterialContent = ({
|
|
|
6369
6371
|
}
|
|
6370
6372
|
) });
|
|
6371
6373
|
};
|
|
6372
|
-
return /* @__PURE__ */ jsx39(
|
|
6374
|
+
return /* @__PURE__ */ jsx39(Fragment5, { children: /* @__PURE__ */ jsxs29("div", { className: "", children: [
|
|
6373
6375
|
/* @__PURE__ */ jsx39("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx39("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_open_ended_text") }) }),
|
|
6374
6376
|
/* @__PURE__ */ jsx39("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx39(DividerLine_default, {}) }),
|
|
6375
6377
|
contentMap.type === "TEXT" ? RenderTextContent(answerMap) : contentMap.type === "IMAGE" ? RenderImageContent(answerMap) : contentMap.type === "AUDIO" ? RenderAudioContent(answerMap) : null
|
|
@@ -6378,7 +6380,7 @@ var OpenEndedActivityMaterialContent = ({
|
|
|
6378
6380
|
var OpenEndedActivityMaterialContent_default = OpenEndedActivityMaterialContent;
|
|
6379
6381
|
|
|
6380
6382
|
// src/components/activities/OpenEndedActivityContent.tsx
|
|
6381
|
-
import { Fragment as
|
|
6383
|
+
import { Fragment as Fragment6, jsx as jsx40, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
6382
6384
|
var OpenEndedActivityContent = ({
|
|
6383
6385
|
answerMap,
|
|
6384
6386
|
data,
|
|
@@ -6409,7 +6411,7 @@ var OpenEndedActivityContent = ({
|
|
|
6409
6411
|
)
|
|
6410
6412
|
}
|
|
6411
6413
|
),
|
|
6412
|
-
showMaterialContent ? /* @__PURE__ */ jsxs30(
|
|
6414
|
+
showMaterialContent ? /* @__PURE__ */ jsxs30(Fragment6, { children: [
|
|
6413
6415
|
/* @__PURE__ */ jsx40(
|
|
6414
6416
|
"div",
|
|
6415
6417
|
{
|
|
@@ -6734,7 +6736,7 @@ var OrderingActivityContent_default = OrderingActivityContent;
|
|
|
6734
6736
|
// src/components/activities/material-contents/TrueFalseActivityMaterialContent.tsx
|
|
6735
6737
|
import { useEffect as useEffect15, useState as useState24 } from "react";
|
|
6736
6738
|
import { InlineMath as InlineMath10 } from "react-katex";
|
|
6737
|
-
import { Fragment as
|
|
6739
|
+
import { Fragment as Fragment7, jsx as jsx43, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
6738
6740
|
var TrueFalseActivityMaterialContent = ({
|
|
6739
6741
|
uniqueValue,
|
|
6740
6742
|
answerMap,
|
|
@@ -6840,7 +6842,7 @@ var TrueFalseActivityMaterialContent = ({
|
|
|
6840
6842
|
},
|
|
6841
6843
|
index
|
|
6842
6844
|
);
|
|
6843
|
-
}) }) : /* @__PURE__ */ jsxs33(
|
|
6845
|
+
}) }) : /* @__PURE__ */ jsxs33(Fragment7, { children: [
|
|
6844
6846
|
displayAnswerMap.trueList.map((item) => /* @__PURE__ */ jsxs33("div", { className: "flex flex-row items-center gap-x-2", children: [
|
|
6845
6847
|
/* @__PURE__ */ jsx43("div", { className: "flex-1", children: /* @__PURE__ */ jsx43("p", { children: item }) }),
|
|
6846
6848
|
/* @__PURE__ */ jsx43("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx43("p", { className: "underline", children: i18n_default.t("true") }) })
|
|
@@ -7093,7 +7095,7 @@ var SelectionBox = ({
|
|
|
7093
7095
|
var SelectionBox_default = SelectionBox;
|
|
7094
7096
|
|
|
7095
7097
|
// src/components/activities/ActivityPreviewByData.tsx
|
|
7096
|
-
import { Fragment as
|
|
7098
|
+
import { Fragment as Fragment8, jsx as jsx48, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
7097
7099
|
var ACTIVITY_TEMPLATE_LIST = [
|
|
7098
7100
|
{ type: "ORDERING", materialMap: "orderingMaterialMap" },
|
|
7099
7101
|
{ type: "DROPDOWN", materialMap: "dropdownMaterialMap" },
|
|
@@ -7202,42 +7204,42 @@ var ActivityPreviewByData = ({
|
|
|
7202
7204
|
}
|
|
7203
7205
|
switch (selectedType) {
|
|
7204
7206
|
case "ORDERING":
|
|
7205
|
-
return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ jsxs38(
|
|
7207
|
+
return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
|
|
7206
7208
|
isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
|
|
7207
7209
|
/* @__PURE__ */ jsx48(OrderingActivityContent_default, __spreadValues({}, commonProps))
|
|
7208
7210
|
] }) : null;
|
|
7209
7211
|
case "DROPDOWN":
|
|
7210
|
-
return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ jsxs38(
|
|
7212
|
+
return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
|
|
7211
7213
|
isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
|
|
7212
7214
|
/* @__PURE__ */ jsx48(DropdownActivityContent_default, __spreadValues({}, commonProps))
|
|
7213
7215
|
] }) : null;
|
|
7214
7216
|
case "MCSA":
|
|
7215
|
-
return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ jsxs38(
|
|
7217
|
+
return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
|
|
7216
7218
|
isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
|
|
7217
7219
|
/* @__PURE__ */ jsx48(MCSAActivityContent_default, __spreadValues({}, commonProps))
|
|
7218
7220
|
] }) : null;
|
|
7219
7221
|
case "MCMA":
|
|
7220
|
-
return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ jsxs38(
|
|
7222
|
+
return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
|
|
7221
7223
|
isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
|
|
7222
7224
|
/* @__PURE__ */ jsx48(MCMAActivityContent_default, __spreadValues({}, commonProps))
|
|
7223
7225
|
] }) : null;
|
|
7224
7226
|
case "MATCHING":
|
|
7225
|
-
return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ jsxs38(
|
|
7227
|
+
return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
|
|
7226
7228
|
isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
|
|
7227
7229
|
/* @__PURE__ */ jsx48(MatchingActivityContent_default, __spreadValues({}, commonProps))
|
|
7228
7230
|
] }) : null;
|
|
7229
7231
|
case "GROUPING":
|
|
7230
|
-
return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ jsxs38(
|
|
7232
|
+
return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
|
|
7231
7233
|
isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
|
|
7232
7234
|
/* @__PURE__ */ jsx48(GroupingActivityContent_default, __spreadValues({}, commonProps))
|
|
7233
7235
|
] }) : null;
|
|
7234
7236
|
case "FILL_IN_THE_BLANKS":
|
|
7235
|
-
return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ jsxs38(
|
|
7237
|
+
return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
|
|
7236
7238
|
isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
|
|
7237
7239
|
/* @__PURE__ */ jsx48(FillInTheBlanksActivityContent_default, __spreadValues({}, commonProps))
|
|
7238
7240
|
] }) : null;
|
|
7239
7241
|
case "OPEN_ENDED":
|
|
7240
|
-
return data.openEndedBodyMap ? /* @__PURE__ */ jsxs38(
|
|
7242
|
+
return data.openEndedBodyMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
|
|
7241
7243
|
isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
|
|
7242
7244
|
/* @__PURE__ */ jsx48(
|
|
7243
7245
|
OpenEndedActivityContent_default,
|
|
@@ -7247,7 +7249,7 @@ var ActivityPreviewByData = ({
|
|
|
7247
7249
|
)
|
|
7248
7250
|
] }) : null;
|
|
7249
7251
|
case "TRUE_FALSE":
|
|
7250
|
-
return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ jsxs38(
|
|
7252
|
+
return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
|
|
7251
7253
|
isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
|
|
7252
7254
|
/* @__PURE__ */ jsx48(TrueFalseActivityContent_default, __spreadValues({}, commonProps))
|
|
7253
7255
|
] }) : null;
|
|
@@ -7257,7 +7259,7 @@ var ActivityPreviewByData = ({
|
|
|
7257
7259
|
};
|
|
7258
7260
|
if (!data) return null;
|
|
7259
7261
|
return /* @__PURE__ */ jsxs38("div", { children: [
|
|
7260
|
-
showType && optionList.length > 0 ? /* @__PURE__ */ jsxs38(
|
|
7262
|
+
showType && optionList.length > 0 ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
|
|
7261
7263
|
/* @__PURE__ */ jsxs38("div", { className: "mb-2", children: [
|
|
7262
7264
|
showDescription ? /* @__PURE__ */ jsx48("div", { className: "my-2", children: /* @__PURE__ */ jsx48("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
|
|
7263
7265
|
/* @__PURE__ */ jsx48(
|
package/package.json
CHANGED
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
parseMaterialMapFromData,
|
|
6
6
|
} from "../../utilization/CatchtivityUtilization";
|
|
7
7
|
import DividerLine from "../dividers/DividerLine";
|
|
8
|
+
import VerticalDividerLine from "../dividers/VerticalDividerLine";
|
|
8
9
|
import ActivityBodyContent from "./body-contents/ActivityBodyContent";
|
|
9
10
|
import GroupingActivityMaterialContent from "./material-contents/GroupingActivityMaterialContent";
|
|
10
11
|
|
|
@@ -15,6 +16,7 @@ const GroupingActivityContent = ({
|
|
|
15
16
|
changeAnswer,
|
|
16
17
|
isPreview,
|
|
17
18
|
showCorrectAnswer,
|
|
19
|
+
isFullScreen,
|
|
18
20
|
}: IGroupingActivityProps) => {
|
|
19
21
|
const contentMap = parseContentMapFromData(data);
|
|
20
22
|
const groupingBodyMap = parseBodyMapFromData(data, "GROUPING");
|
|
@@ -36,23 +38,32 @@ const GroupingActivityContent = ({
|
|
|
36
38
|
};
|
|
37
39
|
|
|
38
40
|
return (
|
|
39
|
-
|
|
40
|
-
<
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
41
|
+
<div className="flex flex-row flex-wrap h-full">
|
|
42
|
+
<div className={`${isFullScreen ? "w-full" : "w-full md:w-[30%] md:overflow-y-auto"}`}>
|
|
43
|
+
<ActivityBodyContent
|
|
44
|
+
bodyMap={groupingBodyMap}
|
|
45
|
+
templateType={"GROUPING"}
|
|
46
|
+
/>
|
|
47
|
+
</div>
|
|
48
|
+
<div className={`${isFullScreen ? "contents" : "contents md:hidden"}`}>
|
|
49
|
+
<DividerLine />
|
|
50
|
+
</div>
|
|
51
|
+
<div className={`${isFullScreen ? "hidden" : "hidden md:block"}`}>
|
|
52
|
+
<VerticalDividerLine />
|
|
53
|
+
</div>
|
|
54
|
+
<div className={`${isFullScreen ? "w-full" : "w-full md:flex-1 md:overflow-y-auto"}`}>
|
|
55
|
+
<GroupingActivityMaterialContent
|
|
56
|
+
uniqueValue={JSON.stringify(data.contentMap)}
|
|
57
|
+
answerMap={answerMap}
|
|
58
|
+
materialMap={groupingMaterialMap}
|
|
59
|
+
contentMap={contentMap}
|
|
60
|
+
checkCanAnswerQuestion={canAnswerQuestion}
|
|
61
|
+
onChange={handleGroupingAnswerOnChange}
|
|
62
|
+
isPreview={isPreview}
|
|
63
|
+
showCorrectAnswer={showCorrectAnswer}
|
|
64
|
+
/>
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
56
67
|
);
|
|
57
68
|
};
|
|
58
69
|
|
|
@@ -13,7 +13,7 @@ const ActivityBodyContent = ({
|
|
|
13
13
|
bodyValue: string,
|
|
14
14
|
contentType: string,
|
|
15
15
|
answerMap: string[],
|
|
16
|
-
startIndex: number
|
|
16
|
+
startIndex: number,
|
|
17
17
|
) => {
|
|
18
18
|
let currentQQIndex = startIndex;
|
|
19
19
|
let processedValue = bodyValue;
|
|
@@ -31,7 +31,7 @@ const ActivityBodyContent = ({
|
|
|
31
31
|
if (isEmpty) {
|
|
32
32
|
processedValue = processedValue.replace(
|
|
33
33
|
"@@",
|
|
34
|
-
() => `----(${currentQQIndex + 1})
|
|
34
|
+
() => `----(${currentQQIndex + 1})----`,
|
|
35
35
|
);
|
|
36
36
|
} else {
|
|
37
37
|
const trimmedAnswer =
|
|
@@ -41,25 +41,25 @@ const ActivityBodyContent = ({
|
|
|
41
41
|
case "TEXT":
|
|
42
42
|
processedValue = processedValue.replace(
|
|
43
43
|
"@@",
|
|
44
|
-
() => `--TEXT--${trimmedAnswer}--TEXT
|
|
44
|
+
() => `--TEXT--${trimmedAnswer}--TEXT--`,
|
|
45
45
|
);
|
|
46
46
|
break;
|
|
47
47
|
case "IMAGE":
|
|
48
48
|
processedValue = processedValue.replace(
|
|
49
49
|
"@@",
|
|
50
|
-
() => `--IMAGE--${trimmedAnswer}--IMAGE
|
|
50
|
+
() => `--IMAGE--${trimmedAnswer}--IMAGE--`,
|
|
51
51
|
);
|
|
52
52
|
break;
|
|
53
53
|
case "VIDEO":
|
|
54
54
|
processedValue = processedValue.replace(
|
|
55
55
|
"@@",
|
|
56
|
-
() => `--VIDEO--${trimmedAnswer}--VIDEO
|
|
56
|
+
() => `--VIDEO--${trimmedAnswer}--VIDEO--`,
|
|
57
57
|
);
|
|
58
58
|
break;
|
|
59
59
|
case "AUDIO":
|
|
60
60
|
processedValue = processedValue.replace(
|
|
61
61
|
"@@",
|
|
62
|
-
() => `--AUDIO--${trimmedAnswer}--AUDIO
|
|
62
|
+
() => `--AUDIO--${trimmedAnswer}--AUDIO--`,
|
|
63
63
|
);
|
|
64
64
|
break;
|
|
65
65
|
default:
|
|
@@ -93,7 +93,7 @@ const ActivityBodyContent = ({
|
|
|
93
93
|
body.value,
|
|
94
94
|
contentType,
|
|
95
95
|
answerMap,
|
|
96
|
-
globalAnswerIndex
|
|
96
|
+
globalAnswerIndex,
|
|
97
97
|
);
|
|
98
98
|
body.value = result.processedValue;
|
|
99
99
|
globalAnswerIndex = result.currentQQIndex;
|
|
@@ -107,7 +107,7 @@ const ActivityBodyContent = ({
|
|
|
107
107
|
.filter(Boolean);
|
|
108
108
|
|
|
109
109
|
return (
|
|
110
|
-
<div className="flex flex-col
|
|
110
|
+
<div className="flex flex-col h-full overflow-y-auto">
|
|
111
111
|
{processedBodies.map((body, index) => (
|
|
112
112
|
<ShowBodyMediaByContentType
|
|
113
113
|
key={`body-${body.key}-${index}`}
|