catchup-library-web 1.13.1 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,7 +13,10 @@ import ActivitySolutionContent from "./solution-content/ActivitySolutionContent"
13
13
  import ActivityEvaluationRubricContent from "./evaluation-rubric-content/ActivityEvaluationRubricContent";
14
14
  import DividerLine from "../dividers/DividerLine";
15
15
  import i18n from "../../language/i18n";
16
- import { constructActivityAnswerMap } from "../../utilization/CatchtivityUtilization";
16
+ import {
17
+ constructActivityAnswerMap,
18
+ retrieveDifficultyByActivityTypeFromData,
19
+ } from "../../utilization/CatchtivityUtilization";
17
20
  import { IActivityPreviewByAnswerDataProps } from "../../properties/ActivityProperties";
18
21
  import ActivityEmptyContent from "./empty-content/ActivityEmptyContent";
19
22
 
@@ -25,14 +28,13 @@ const ActivityPreviewByAnswerData = ({
25
28
  typeOptionList = [],
26
29
  showSolution = false,
27
30
  showEvaluationRubric = false,
28
- showTaxonomy = true,
31
+ showDifficulty = true,
29
32
  isFullScreen = false,
30
33
  showCorrectAnswer = false,
31
34
  }: IActivityPreviewByAnswerDataProps) => {
32
35
  const [key, setKey] = useState(new Date().getTime());
33
36
  const [selectedType, setSelectedType] = useState<string | null>(null);
34
37
  const [optionList, setOptionList] = useState<any[]>([]);
35
- // Define proper types for answer data
36
38
  interface AnswerItem {
37
39
  type: string;
38
40
  isEmpty?: boolean;
@@ -46,13 +48,11 @@ const ActivityPreviewByAnswerData = ({
46
48
 
47
49
  const [answer, setAnswer] = useState<Answer>({ data: [] });
48
50
 
49
- // Reset component when data changes
50
51
  useEffect(() => {
51
52
  if (!data) return;
52
53
  setKey(new Date().getTime());
53
54
  }, [data]);
54
55
 
55
- // Helper function to check if answer map exists for a specific type
56
56
  const checkAnswerMapExists = (type: string): AnswerItem | null => {
57
57
  if (data && data.answerMap && Array.isArray(data.answerMap)) {
58
58
  const foundAnswer = data.answerMap.find(
@@ -63,37 +63,6 @@ const ActivityPreviewByAnswerData = ({
63
63
  return null;
64
64
  };
65
65
 
66
- // Helper function to retrieve taxonomy name from activity type
67
- const retrieveTaxonomyNameFromActivityType = (type: string) => {
68
- if (!data) return "";
69
-
70
- let taxonomyMap = { name: "" };
71
-
72
- const taxonomyMapNames: { [key: string]: string } = {
73
- ORDERING: "orderingTaxonomyMap",
74
- DROPDOWN: "dropdownTaxonomyMap",
75
- MCSA: "MCSATaxonomyMap",
76
- MCMA: "MCMATaxonomyMap",
77
- MATCHING: "matchingTaxonomyMap",
78
- GROUPING: "groupingTaxonomyMap",
79
- FILL_IN_THE_BLANKS: "fillInTheBlanksTaxonomyMap",
80
- OPEN_ENDED: "openEndedTaxonomyMap",
81
- TRUE_FALSE: "trueFalseTaxonomyMap",
82
- };
83
-
84
- const mapName = taxonomyMapNames[type];
85
- if (mapName && data[mapName]) {
86
- try {
87
- taxonomyMap = JSON.parse(data[mapName]);
88
- } catch (error) {
89
- console.error(`Error parsing taxonomy map for ${type}:`, error);
90
- }
91
- }
92
-
93
- return taxonomyMap.name || "";
94
- };
95
-
96
- // Construct answer data based on available activity types
97
66
  useEffect(() => {
98
67
  if (!data) return;
99
68
 
@@ -146,7 +115,6 @@ const ActivityPreviewByAnswerData = ({
146
115
  constructAnswerBasedOnData();
147
116
  }, [data, lockedType]);
148
117
 
149
- // Set up option list for type selection
150
118
  useEffect(() => {
151
119
  if (!data || !answer.data.length) return;
152
120
 
@@ -163,19 +131,20 @@ const ActivityPreviewByAnswerData = ({
163
131
  );
164
132
  }
165
133
 
166
- if (showTaxonomy) {
134
+ if (showDifficulty) {
167
135
  setOptionList(
168
136
  currentTypeOptionList.map((typeOption: any) => ({
169
137
  ...typeOption,
170
- subText: i18n.t(retrieveTaxonomyNameFromActivityType(typeOption.id)),
138
+ subText: i18n.t(
139
+ retrieveDifficultyByActivityTypeFromData(typeOption.id, data)
140
+ ),
171
141
  }))
172
142
  );
173
143
  } else {
174
144
  setOptionList(currentTypeOptionList);
175
145
  }
176
- }, [data, answer.data, lockedType, typeOptionList, showTaxonomy]);
146
+ }, [data, answer.data, lockedType, typeOptionList, showDifficulty]);
177
147
 
178
- // Render the appropriate activity content based on selected type
179
148
  const RenderSelectedActivityContent = () => {
180
149
  const commonProps = {
181
150
  answer,
@@ -1,5 +1,8 @@
1
1
  import { useEffect, useState } from "react";
2
- import { constructAnswerBasedOnData } from "../../utilization/CatchtivityUtilization";
2
+ import {
3
+ constructAnswerBasedOnData,
4
+ retrieveDifficultyByActivityTypeFromData,
5
+ } from "../../utilization/CatchtivityUtilization";
3
6
  import DropdownActivityContent from "./DropdownActivityContent";
4
7
  import FillInTheBlanksActivityContent from "./FillInTheBlanksActivityContent";
5
8
  import GroupingActivityContent from "./GroupingActivityContent";
@@ -23,7 +26,7 @@ const ActivityPreviewByData = ({
23
26
  typeOptionList,
24
27
  showSolution,
25
28
  showEvaluationRubric,
26
- showTaxonomy,
29
+ showDifficulty,
27
30
  isFullScreen,
28
31
  }: IActivityPreviewByDataProps) => {
29
32
  const [key, setKey] = useState(new Date().getTime());
@@ -52,33 +55,6 @@ const ActivityPreviewByData = ({
52
55
  }, [typeOptionList, lockedType]);
53
56
 
54
57
  useEffect(() => {
55
- const retrieveTaxonomyNameByActivityTypeFromData = (
56
- type: string | null
57
- ) => {
58
- let taxonomyMap = {
59
- name: "",
60
- };
61
- if (type === "ORDERING") {
62
- taxonomyMap = JSON.parse(data["orderingTaxonomyMap"]);
63
- } else if (type === "DROPDOWN") {
64
- taxonomyMap = JSON.parse(data["dropdownTaxonomyMap"]);
65
- } else if (type === "MCSA") {
66
- taxonomyMap = JSON.parse(data["MCSATaxonomyMap"]);
67
- } else if (type === "MCMA") {
68
- taxonomyMap = JSON.parse(data["MCMATaxonomyMap"]);
69
- } else if (type === "MATCHING") {
70
- taxonomyMap = JSON.parse(data["matchingTaxonomyMap"]);
71
- } else if (type === "GROUPING") {
72
- taxonomyMap = JSON.parse(data["groupingTaxonomyMap"]);
73
- } else if (type === "FILL_IN_THE_BLANKS") {
74
- taxonomyMap = JSON.parse(data["fillInTheBlanksTaxonomyMap"]);
75
- } else if (type === "OPEN_ENDED") {
76
- taxonomyMap = JSON.parse(data["openEndedTaxonomyMap"]);
77
- } else if (type === "TRUE_FALSE") {
78
- taxonomyMap = JSON.parse(data["trueFalseTaxonomyMap"]);
79
- }
80
- return taxonomyMap.name;
81
- };
82
58
  if (!data) return;
83
59
  if (!typeOptionList) return;
84
60
  if (typeOptionList.length === 0) return;
@@ -88,19 +64,19 @@ const ActivityPreviewByData = ({
88
64
  (typeOption: any) => typeOption.id === lockedType
89
65
  );
90
66
  }
91
- if (showTaxonomy) {
67
+ if (showDifficulty) {
92
68
  setOptionList(
93
69
  currentTypeOptionList.map((typeOption: any) => ({
94
70
  ...typeOption,
95
71
  subText: i18n.t(
96
- retrieveTaxonomyNameByActivityTypeFromData(typeOption.id)
72
+ retrieveDifficultyByActivityTypeFromData(typeOption.id, data)
97
73
  ),
98
74
  }))
99
75
  );
100
76
  } else {
101
77
  setOptionList(currentTypeOptionList);
102
78
  }
103
- }, [data, lockedType, typeOptionList, showTaxonomy]);
79
+ }, [data, lockedType, typeOptionList, showDifficulty]);
104
80
 
105
81
  if (!data) return;
106
82
  const answer = constructAnswerBasedOnData(data);
@@ -223,7 +223,7 @@ export interface IActivityPreviewByDataProps {
223
223
  showDescription: boolean;
224
224
  lockedType: string;
225
225
  typeOptionList: any[];
226
- showTaxonomy: boolean;
226
+ showDifficulty: boolean;
227
227
  showSolution: boolean;
228
228
  showEvaluationRubric: boolean;
229
229
  isFullScreen: boolean;
@@ -237,7 +237,7 @@ export interface IActivityPreviewByAnswerDataProps {
237
237
  typeOptionList?: any[];
238
238
  showSolution?: boolean;
239
239
  showEvaluationRubric?: boolean;
240
- showTaxonomy?: boolean;
240
+ showDifficulty?: boolean;
241
241
  isFullScreen?: boolean;
242
242
  showCorrectAnswer?: boolean;
243
243
  }
@@ -109,93 +109,6 @@ export const retrieveDurationInSecondsOptionList = () => {
109
109
  ];
110
110
  };
111
111
 
112
- export const retrieveTaxonomyType = () => {
113
- return [
114
- {
115
- value: "BLOOM",
116
- text: i18n.t("BLOOM"),
117
- },
118
- ];
119
- };
120
-
121
- export const retrieveTaxonomyGroupName = () => {
122
- return [
123
- {
124
- type: "BLOOM",
125
- value: "BLOOM",
126
- text: i18n.t("BLOOM"),
127
- },
128
- ];
129
- };
130
-
131
- export const retrieveTaxonomyName = () => {
132
- return [
133
- {
134
- stage: 1,
135
- groupName: "BLOOM",
136
- value: "REMEMBER",
137
- text: i18n.t("REMEMBER"),
138
- },
139
- {
140
- stage: 2,
141
- groupName: "BLOOM",
142
- value: "UNDERSTAND",
143
- text: i18n.t("UNDERSTAND"),
144
- },
145
- {
146
- stage: 3,
147
- groupName: "BLOOM",
148
- value: "APPLY",
149
- text: i18n.t("APPLY"),
150
- },
151
- {
152
- stage: 4,
153
- groupName: "BLOOM",
154
- value: "ANALYZE",
155
- text: i18n.t("ANALYZE"),
156
- },
157
- {
158
- stage: 5,
159
- groupName: "BLOOM",
160
- value: "EVALUATE",
161
- text: i18n.t("EVALUATE"),
162
- },
163
- {
164
- stage: 6,
165
- groupName: "BLOOM",
166
- value: "CREATE",
167
- text: i18n.t("CREATE"),
168
- },
169
- ];
170
- };
171
-
172
- // export const constructInputWithSpecialExpressionList = (inputText: string) => {
173
- // const inputPartList = [];
174
- // if (!inputText) return [];
175
- // const splittedBold = inputText.split("**");
176
- // let isBold = false;
177
- // for (let i = 0; i < splittedBold.length; i++) {
178
- // let isUnderline = false;
179
- // const splittedUnderline = splittedBold[i].split("__");
180
- // for (let j = 0; j < splittedUnderline.length; j++) {
181
- // let isEquation = false;
182
- // const splittedEquation = splittedUnderline[j].split("$$");
183
- // for (let k = 0; k < splittedEquation.length; k++) {
184
- // inputPartList.push({
185
- // value: splittedEquation[k],
186
- // isEquation,
187
- // isUnderline,
188
- // isBold,
189
- // });
190
- // isEquation = !isEquation;
191
- // }
192
- // isUnderline = !isUnderline;
193
- // }
194
- // isBold = !isBold;
195
- // }
196
- // return inputPartList;
197
- // };
198
-
199
112
  export const constructInputWithSpecialExpressionList = (inputText: string) => {
200
113
  const inputPartList = [];
201
114
  if (!inputText) return [];
@@ -1477,45 +1390,45 @@ export const findBestFitActivity = (
1477
1390
  activity;
1478
1391
  const parsedData = JSON.parse(data);
1479
1392
  const {
1480
- orderingTaxonomyMap,
1481
- dropdownTaxonomyMap,
1482
- MCSATaxonomyMap,
1483
- MCMATaxonomyMap,
1484
- matchingTaxonomyMap,
1485
- groupingTaxonomyMap,
1486
- fillInTheBlanksTaxonomyMap,
1487
- openEndedTaxonomyMap,
1488
- trueFalseTaxonomyMap,
1393
+ orderingDifficulty,
1394
+ dropdownDifficulty,
1395
+ MCSADifficulty,
1396
+ MCMADifficulty,
1397
+ matchingDifficulty,
1398
+ groupingDifficulty,
1399
+ fillInTheBlanksDifficulty,
1400
+ openEndedDifficulty,
1401
+ trueFalseDifficulty,
1489
1402
  } = parsedData;
1490
- const taxonomyMap: any = {};
1491
- if (orderingTaxonomyMap) {
1492
- taxonomyMap["orderingTaxonomyMap"] = JSON.parse(orderingTaxonomyMap);
1403
+ const difficultyMap: any = {};
1404
+ if (orderingDifficulty) {
1405
+ difficultyMap["orderingDifficulty"] = JSON.parse(orderingDifficulty);
1493
1406
  }
1494
- if (dropdownTaxonomyMap) {
1495
- taxonomyMap["dropdownTaxonomyMap"] = JSON.parse(dropdownTaxonomyMap);
1407
+ if (dropdownDifficulty) {
1408
+ difficultyMap["dropdownDifficulty"] = JSON.parse(dropdownDifficulty);
1496
1409
  }
1497
- if (MCSATaxonomyMap) {
1498
- taxonomyMap["MCSATaxonomyMap"] = JSON.parse(MCSATaxonomyMap);
1410
+ if (MCSADifficulty) {
1411
+ difficultyMap["MCSADifficulty"] = JSON.parse(MCSADifficulty);
1499
1412
  }
1500
- if (MCMATaxonomyMap) {
1501
- taxonomyMap["MCMATaxonomyMap"] = JSON.parse(MCMATaxonomyMap);
1413
+ if (MCMADifficulty) {
1414
+ difficultyMap["MCMADifficulty"] = JSON.parse(MCMADifficulty);
1502
1415
  }
1503
- if (matchingTaxonomyMap) {
1504
- taxonomyMap["matchingTaxonomyMap"] = JSON.parse(matchingTaxonomyMap);
1416
+ if (matchingDifficulty) {
1417
+ difficultyMap["matchingDifficulty"] = JSON.parse(matchingDifficulty);
1505
1418
  }
1506
- if (groupingTaxonomyMap) {
1507
- taxonomyMap["groupingTaxonomyMap"] = JSON.parse(groupingTaxonomyMap);
1419
+ if (groupingDifficulty) {
1420
+ difficultyMap["groupingDifficulty"] = JSON.parse(groupingDifficulty);
1508
1421
  }
1509
- if (fillInTheBlanksTaxonomyMap) {
1510
- taxonomyMap["fillInTheBlanksTaxonomyMap"] = JSON.parse(
1511
- fillInTheBlanksTaxonomyMap
1422
+ if (fillInTheBlanksDifficulty) {
1423
+ difficultyMap["fillInTheBlanksDifficulty"] = JSON.parse(
1424
+ fillInTheBlanksDifficulty
1512
1425
  );
1513
1426
  }
1514
- if (trueFalseTaxonomyMap) {
1515
- taxonomyMap["trueFalseTaxonomyMap"] = JSON.parse(trueFalseTaxonomyMap);
1427
+ if (trueFalseDifficulty) {
1428
+ difficultyMap["trueFalseDifficulty"] = JSON.parse(trueFalseDifficulty);
1516
1429
  }
1517
- if (openEndedTaxonomyMap) {
1518
- taxonomyMap["openEndedTaxonomyMap"] = JSON.parse(openEndedTaxonomyMap);
1430
+ if (openEndedDifficulty) {
1431
+ difficultyMap["openEndedDifficulty"] = JSON.parse(openEndedDifficulty);
1519
1432
  }
1520
1433
  let coterieField = "VERBAL";
1521
1434
  if (
@@ -1550,40 +1463,28 @@ export const findBestFitActivity = (
1550
1463
  const activityTemplateValueMap: any = {};
1551
1464
  for (const activityTemplateDTO of activityTemplateDTOList) {
1552
1465
  const { type } = activityTemplateDTO;
1553
- let currentTaxonomyMap;
1466
+ let currentDifficulty: string = "";
1554
1467
  if (type === "ORDERING") {
1555
- currentTaxonomyMap = taxonomyMap["orderingTaxonomyMap"];
1468
+ currentDifficulty = difficultyMap["orderingDifficulty"];
1556
1469
  } else if (type === "DROPDOWN") {
1557
- currentTaxonomyMap = taxonomyMap["dropdownTaxonomyMap"];
1470
+ currentDifficulty = difficultyMap["dropdownDifficulty"];
1558
1471
  } else if (type === "MCSA") {
1559
- currentTaxonomyMap = taxonomyMap["MCSATaxonomyMap"];
1472
+ currentDifficulty = difficultyMap["MCSADifficulty"];
1560
1473
  } else if (type === "MCMA") {
1561
- currentTaxonomyMap = taxonomyMap["MCMATaxonomyMap"];
1474
+ currentDifficulty = difficultyMap["MCMADifficulty"];
1562
1475
  } else if (type === "MATCHING") {
1563
- currentTaxonomyMap = taxonomyMap["matchingTaxonomyMap"];
1476
+ currentDifficulty = difficultyMap["matchingDifficulty"];
1564
1477
  } else if (type === "GROUPING") {
1565
- currentTaxonomyMap = taxonomyMap["groupingTaxonomyMap"];
1478
+ currentDifficulty = difficultyMap["groupingDifficulty"];
1566
1479
  } else if (type === "FILL_IN_THE_BLANKS") {
1567
- currentTaxonomyMap = taxonomyMap["fillInTheBlanksTaxonomyMap"];
1480
+ currentDifficulty = difficultyMap["fillInTheBlanksDifficulty"];
1568
1481
  } else if (type === "OPEN_ENDED") {
1569
- currentTaxonomyMap = taxonomyMap["openEndedTaxonomyMap"];
1482
+ currentDifficulty = difficultyMap["openEndedDifficulty"];
1570
1483
  } else if (type === "TRUE_FALSE") {
1571
- currentTaxonomyMap = taxonomyMap["trueFalseTaxonomyMap"];
1484
+ currentDifficulty = difficultyMap["trueFalseDifficulty"];
1572
1485
  }
1573
1486
 
1574
- const {
1575
- type: taxonomyType,
1576
- groupName: taxonomyGroupName,
1577
- name: taxonomyName,
1578
- } = currentTaxonomyMap;
1579
- const taxonomyString =
1580
- taxonomyType.toLowerCase() +
1581
- taxonomyGroupName.toLowerCase().charAt(0).toUpperCase() +
1582
- taxonomyGroupName.toLowerCase().substring(1) +
1583
- taxonomyName.toLowerCase().charAt(0).toUpperCase() +
1584
- taxonomyName.toLowerCase().substring(1);
1585
-
1586
- const currentTaxonomyScore = foundModel[taxonomyString];
1487
+ const currentDifficultyScore = foundModel[currentDifficulty];
1587
1488
  const splittedTypeList = type.split("_");
1588
1489
  let activityTemplateString = "";
1589
1490
  for (let i = 0; i < splittedTypeList.length; i++) {
@@ -1596,7 +1497,7 @@ export const findBestFitActivity = (
1596
1497
  }
1597
1498
  }
1598
1499
  const currentActivityTemplateScore = foundModel[activityTemplateString];
1599
- const currentScore = currentTaxonomyScore * currentActivityTemplateScore;
1500
+ const currentScore = currentDifficultyScore * currentActivityTemplateScore;
1600
1501
  activityTemplateValueMap[type] = currentScore;
1601
1502
  if (currentScore < bestScore) {
1602
1503
  bestScore = currentScore;
@@ -2389,3 +2290,30 @@ export const constructActivityItemListSolutionOnly = (solutionMap: any) => {
2389
2290
  });
2390
2291
  return itemList;
2391
2292
  };
2293
+
2294
+ export const retrieveDifficultyByActivityTypeFromData = (
2295
+ type: string,
2296
+ data: any
2297
+ ) => {
2298
+ let difficulty = "";
2299
+ if (type === "ORDERING") {
2300
+ difficulty = data["orderingDifficulty"];
2301
+ } else if (type === "DROPDOWN") {
2302
+ difficulty = data["dropdownDifficulty"];
2303
+ } else if (type === "MCSA") {
2304
+ difficulty = data["MCSADifficulty"];
2305
+ } else if (type === "MCMA") {
2306
+ difficulty = data["MCMADifficulty"];
2307
+ } else if (type === "MATCHING") {
2308
+ difficulty = data["matchingDifficulty"];
2309
+ } else if (type === "GROUPING") {
2310
+ difficulty = data["groupingDifficulty"];
2311
+ } else if (type === "FILL_IN_THE_BLANKS") {
2312
+ difficulty = data["fillInTheBlanksDifficulty"];
2313
+ } else if (type === "OPEN_ENDED") {
2314
+ difficulty = data["openEndedDifficulty"];
2315
+ } else if (type === "TRUE_FALSE") {
2316
+ difficulty = data["trueFalseDifficulty"];
2317
+ }
2318
+ return difficulty;
2319
+ };
@@ -7,25 +7,25 @@ export const retrieveCategoryVersionCodeOptionList = () => {
7
7
  value: "MEB-IO-MAT-2024",
8
8
  text: i18n.t("MEB-IO-MAT-2024"),
9
9
  type: "MATHEMATICS",
10
- availableLevelList: [5],
10
+ availableLevelList: [5, 6],
11
11
  },
12
12
  {
13
13
  value: "MEB-IO-MAT-2018",
14
14
  text: i18n.t("MEB-IO-MAT-2018"),
15
15
  type: "MATHEMATICS",
16
- availableLevelList: [4, 6, 7, 8],
16
+ availableLevelList: [4, 7, 8],
17
17
  },
18
18
  {
19
19
  value: "MEB-IO-TUR-2024",
20
20
  text: i18n.t("MEB-IO-TUR-2024"),
21
21
  type: "TURKISH",
22
- availableLevelList: [5],
22
+ availableLevelList: [5, 6],
23
23
  },
24
24
  {
25
25
  value: "MEB-IO-TUR-2019",
26
26
  text: i18n.t("MEB-IO-TUR-2019"),
27
27
  type: "TURKISH",
28
- availableLevelList: [4, 6, 7, 8],
28
+ availableLevelList: [4, 7, 8],
29
29
  },
30
30
  {
31
31
  value: "MEB-IO-HAY-2018",
@@ -43,25 +43,25 @@ export const retrieveCategoryVersionCodeOptionList = () => {
43
43
  value: "MEB-IO-FEN-2024",
44
44
  text: i18n.t("MEB-IO-FEN-2024"),
45
45
  type: "SCIENCE",
46
- availableLevelList: [5],
46
+ availableLevelList: [5, 6],
47
47
  },
48
48
  {
49
49
  value: "MEB-IO-SCI-2018",
50
50
  text: i18n.t("MEB-IO-SCI-2018"),
51
51
  type: "SCIENCE",
52
- availableLevelList: [4, 6, 7, 8],
52
+ availableLevelList: [4, 7, 8],
53
53
  },
54
54
  {
55
55
  value: "MEB-IO-SOS-2024",
56
56
  text: i18n.t("MEB-IO-SOS-2024"),
57
57
  type: "SOCIAL_STUDIES",
58
- availableLevelList: [5],
58
+ availableLevelList: [5, 6],
59
59
  },
60
60
  {
61
61
  value: "MEB-IO-SOS-2018",
62
62
  text: i18n.t("MEB-IO-SOS-2018"),
63
63
  type: "SOCIAL_STUDIES",
64
- availableLevelList: [4, 6, 7],
64
+ availableLevelList: [4, 7],
65
65
  },
66
66
  {
67
67
  value: "MEB-IO-ITA-2018",
@@ -79,61 +79,61 @@ export const retrieveCategoryVersionCodeOptionList = () => {
79
79
  value: "MEB-AL-MAT-2024",
80
80
  text: i18n.t("MEB-AL-MAT-2024"),
81
81
  type: "MATHEMATICS",
82
- availableLevelList: [9],
82
+ availableLevelList: [9, 10],
83
83
  },
84
84
  {
85
85
  value: "MEB-AL-MAT-2018",
86
86
  text: i18n.t("MEB-AL-MAT-2018"),
87
87
  type: "MATHEMATICS",
88
- availableLevelList: [10, 11, 12],
88
+ availableLevelList: [11, 12],
89
89
  },
90
90
  {
91
91
  value: "MEB-AL-FİZ-2024",
92
92
  text: i18n.t("MEB-AL-FİZ-2024"),
93
93
  type: "PHYSICS",
94
- availableLevelList: [9],
94
+ availableLevelList: [9, 10],
95
95
  },
96
96
  {
97
97
  value: "MEB-AL-FIZ-2018",
98
98
  text: i18n.t("MEB-AL-FIZ-2018"),
99
99
  type: "PHYSICS",
100
- availableLevelList: [10, 11, 12],
100
+ availableLevelList: [11, 12],
101
101
  },
102
102
  {
103
103
  value: "MEB-AL-BİY-2024",
104
104
  text: i18n.t("MEB-AL-BİY-2024"),
105
105
  type: "BIOLOGY",
106
- availableLevelList: [9],
106
+ availableLevelList: [9, 10],
107
107
  },
108
108
  {
109
109
  value: "MEB-AL-BIO-2018",
110
110
  text: i18n.t("MEB-AL-BIO-2018"),
111
111
  type: "BIOLOGY",
112
- availableLevelList: [10, 11, 12],
112
+ availableLevelList: [11, 12],
113
113
  },
114
114
  {
115
115
  value: "MEB-AL-KİM-2024",
116
116
  text: i18n.t("MEB-AL-KİM-2024"),
117
117
  type: "CHEMISTRY",
118
- availableLevelList: [9],
118
+ availableLevelList: [9, 10],
119
119
  },
120
120
  {
121
121
  value: "MEB-AL-KIM-2018",
122
122
  text: i18n.t("MEB-AL-KIM-2018"),
123
123
  type: "CHEMISTRY",
124
- availableLevelList: [10, 11, 12],
124
+ availableLevelList: [11, 12],
125
125
  },
126
126
  {
127
127
  value: "MEB-AL-TAR-2024",
128
128
  text: i18n.t("MEB-AL-TAR-2024"),
129
129
  type: "HISTORY",
130
- availableLevelList: [9],
130
+ availableLevelList: [9, 10],
131
131
  },
132
132
  {
133
133
  value: "MEB-AL-TAR-2018",
134
134
  text: i18n.t("MEB-AL-TAR-2018"),
135
135
  type: "HISTORY",
136
- availableLevelList: [10, 11],
136
+ availableLevelList: [11],
137
137
  },
138
138
  {
139
139
  value: "MEB-AL-ITA-2018",
@@ -145,13 +145,13 @@ export const retrieveCategoryVersionCodeOptionList = () => {
145
145
  value: "MEB-AL-COĞ-2024",
146
146
  text: i18n.t("MEB-AL-COĞ-2024"),
147
147
  type: "GEOGRAPHY",
148
- availableLevelList: [9],
148
+ availableLevelList: [9, 10],
149
149
  },
150
150
  {
151
151
  value: "MEB-AL-COĞ-2018",
152
152
  text: i18n.t("MEB-AL-COĞ-2018"),
153
153
  type: "GEOGRAPHY",
154
- availableLevelList: [10, 11, 12],
154
+ availableLevelList: [11, 12],
155
155
  },
156
156
  {
157
157
  value: "MEB-IO-DKAB-2018",
@@ -169,25 +169,25 @@ export const retrieveCategoryVersionCodeOptionList = () => {
169
169
  value: "MEB-AL-FEL-2024",
170
170
  text: i18n.t("MEB-AL-FEL-2024"),
171
171
  type: "PHILOSOPHY",
172
- availableLevelList: [9],
172
+ availableLevelList: [9, 10],
173
173
  },
174
174
  {
175
175
  value: "MEB-AL-FEL-2018",
176
176
  text: i18n.t("MEB-AL-FEL-2018"),
177
177
  type: "PHILOSOPHY",
178
- availableLevelList: [10, 11],
178
+ availableLevelList: [11],
179
179
  },
180
180
  {
181
181
  value: "MEB-AL-TDE-2024",
182
182
  text: i18n.t("MEB-AL-TDE-2024"),
183
183
  type: "LITERATURE",
184
- availableLevelList: [9],
184
+ availableLevelList: [9, 10],
185
185
  },
186
186
  {
187
187
  value: "MEB-AL-LIT-2018",
188
188
  text: i18n.t("MEB-AL-LIT-2018"),
189
189
  type: "LITERATURE",
190
- availableLevelList: [10, 11, 12],
190
+ availableLevelList: [11, 12],
191
191
  },
192
192
  // {
193
193
  // value: "CEFR-STANDARDS-A1",
@@ -1,16 +1,13 @@
1
1
  const NUMBER_OF_ACTIVITY_TEMPLATE = 9;
2
- const NUMBER_OF_TAXONOMY = 6;
3
- const INITIAL_TAXONOMY_VALUE = 1 / NUMBER_OF_TAXONOMY;
2
+ const NUMBER_OF_DIFFICULTY = 3;
3
+ const INITIAL_DIFFICULTY_VALUE = 1 / NUMBER_OF_DIFFICULTY;
4
4
  const INITIAL_TEMPLATE_VALUE = 1 / NUMBER_OF_ACTIVITY_TEMPLATE;
5
5
 
6
6
  export const constructBaseVerbalIndvidualModel = (userId: any) => {
7
7
  return {
8
- bloomBloomAnalyze: INITIAL_TAXONOMY_VALUE,
9
- bloomBloomApply: INITIAL_TAXONOMY_VALUE,
10
- bloomBloomCreate: INITIAL_TAXONOMY_VALUE,
11
- bloomBloomEvaluate: INITIAL_TAXONOMY_VALUE,
12
- bloomBloomRemember: INITIAL_TAXONOMY_VALUE,
13
- bloomBloomUnderstand: INITIAL_TAXONOMY_VALUE,
8
+ easy: INITIAL_DIFFICULTY_VALUE,
9
+ medium: INITIAL_DIFFICULTY_VALUE,
10
+ hard: INITIAL_DIFFICULTY_VALUE,
14
11
  dropdown: INITIAL_TEMPLATE_VALUE,
15
12
  coterieField: "VERBAL",
16
13
  fillInTheBlanks: INITIAL_TEMPLATE_VALUE,
@@ -27,12 +24,9 @@ export const constructBaseVerbalIndvidualModel = (userId: any) => {
27
24
 
28
25
  export const constructBaseNumericIndividualModel = (userId: any) => {
29
26
  return {
30
- bloomBloomAnalyze: INITIAL_TAXONOMY_VALUE,
31
- bloomBloomApply: INITIAL_TAXONOMY_VALUE,
32
- bloomBloomCreate: INITIAL_TAXONOMY_VALUE,
33
- bloomBloomEvaluate: INITIAL_TAXONOMY_VALUE,
34
- bloomBloomRemember: INITIAL_TAXONOMY_VALUE,
35
- bloomBloomUnderstand: INITIAL_TAXONOMY_VALUE,
27
+ easy: INITIAL_DIFFICULTY_VALUE,
28
+ medium: INITIAL_DIFFICULTY_VALUE,
29
+ hard: INITIAL_DIFFICULTY_VALUE,
36
30
  dropdown: INITIAL_TEMPLATE_VALUE,
37
31
  coterieField: "NUMERIC",
38
32
  fillInTheBlanks: INITIAL_TEMPLATE_VALUE,