@cuemath/leap 3.0.27-beta-0.4 → 3.0.27-beta-0.6
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/features/milestone/create/comps/add-custom-chapter/course-catalog.js +53 -54
- package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js +23 -22
- package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/utils.js +49 -47
- package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
- package/dist/features/milestone/create/comps/class-details-step/class-details-step.js +70 -66
- package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-helpers.js +101 -101
- package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
- package/package.json +1 -1
@@ -1,10 +1,10 @@
|
|
1
1
|
import { jsx as X } from "react/jsx-runtime";
|
2
|
-
import { memo as Y, useContext as Z, useMemo as
|
2
|
+
import { memo as Y, useContext as Z, useMemo as C, useCallback as i } from "react";
|
3
3
|
import { convertToTitleCase as M } from "../../../../../helpers/label-text.js";
|
4
4
|
import { useUIContext as $ } from "../../../../ui/context/context.js";
|
5
|
-
import { WARNING_MESSAGES as
|
5
|
+
import { WARNING_MESSAGES as I } from "../../../constants.js";
|
6
6
|
import h from "../../milestone-create-context.js";
|
7
|
-
import { getGradesBasedOnGoalAvailability as n, appendPrimaryGoalCategoryToFormState as
|
7
|
+
import { getGradesBasedOnGoalAvailability as n, appendPrimaryGoalCategoryToFormState as v } from "../../milestone-create-helpers.js";
|
8
8
|
import { computeChangeDetection as T, getCountriesWhereCurrentGradeNCategoryIsAvailable as E } from "../chapters-selection-step/utils.js";
|
9
9
|
import { getTestTypeBasedCategory as x } from "../test-type-step/test-type-utils.js";
|
10
10
|
import W from "./class-details-selectors.js";
|
@@ -15,129 +15,133 @@ const ye = Y(
|
|
15
15
|
formData: g,
|
16
16
|
currentStep: j,
|
17
17
|
courseStream: r,
|
18
|
-
classRatio:
|
18
|
+
classRatio: U,
|
19
19
|
onChapterExitWarning: o,
|
20
|
-
onFormDataChange:
|
20
|
+
onFormDataChange: _,
|
21
21
|
enrollmentType: a
|
22
22
|
}) => {
|
23
|
-
const { onEvent:
|
24
|
-
testType:
|
23
|
+
const { onEvent: D } = $(), { flow: c } = Z(h), {
|
24
|
+
testType: u,
|
25
25
|
grade: d,
|
26
|
-
board:
|
26
|
+
board: m,
|
27
27
|
schoolInfo: B,
|
28
28
|
region: H,
|
29
29
|
primaryChaptersList: P,
|
30
30
|
chapterGoalCategory: R = {}
|
31
|
-
} = g, { primaryGoalCategory: k } = R,
|
31
|
+
} = g, { primaryGoalCategory: k } = R, G = x(u), { countryCode: F } = B || {}, t = H || F, { name: L } = j, y = T(P, k), O = C(
|
32
32
|
() => ({
|
33
33
|
step: L
|
34
34
|
}),
|
35
35
|
[L]
|
36
|
-
), S =
|
36
|
+
), S = C(
|
37
37
|
() => ee(s, {
|
38
38
|
grade: d ?? "",
|
39
39
|
countryCode: t ?? "",
|
40
|
-
goalCategory:
|
40
|
+
goalCategory: G,
|
41
41
|
courseStream: r,
|
42
|
-
classRatio:
|
42
|
+
classRatio: U,
|
43
43
|
enrollmentType: a,
|
44
|
-
flow:
|
44
|
+
flow: c
|
45
45
|
}),
|
46
46
|
[
|
47
|
-
|
47
|
+
U,
|
48
48
|
s,
|
49
49
|
r,
|
50
50
|
t,
|
51
51
|
d,
|
52
52
|
a,
|
53
|
-
|
54
|
-
|
53
|
+
G,
|
54
|
+
c
|
55
55
|
]
|
56
|
-
),
|
56
|
+
), f = C(
|
57
57
|
() => E(
|
58
58
|
r,
|
59
59
|
s,
|
60
|
-
|
60
|
+
G,
|
61
61
|
a,
|
62
62
|
d,
|
63
63
|
t
|
64
64
|
),
|
65
|
-
[r, s,
|
66
|
-
), w =
|
65
|
+
[r, s, G, a, d, t]
|
66
|
+
), w = C(() => n(
|
67
67
|
s,
|
68
|
-
|
68
|
+
G,
|
69
69
|
r,
|
70
70
|
a
|
71
|
-
), [s, r, a,
|
71
|
+
), [s, r, a, G]), z = C(() => {
|
72
72
|
var e;
|
73
|
-
return (e = Object.entries(
|
74
|
-
id:
|
75
|
-
label: M(
|
76
|
-
})).sort((
|
77
|
-
}, [
|
73
|
+
return (e = Object.entries(f)) == null ? void 0 : e.map(([p, A]) => ({
|
74
|
+
id: p,
|
75
|
+
label: M(A)
|
76
|
+
})).sort((p, A) => p.label.localeCompare(A.label));
|
77
|
+
}, [f]), q = C(() => t && f[t] ? M(f[t] ?? "") : "", [f, t]), l = i(
|
78
78
|
({
|
79
79
|
updatedData: e,
|
80
|
-
gradeUpdated:
|
81
|
-
boardUpdated:
|
80
|
+
gradeUpdated: p,
|
81
|
+
boardUpdated: A,
|
82
82
|
countryUpdated: V
|
83
83
|
}) => {
|
84
|
-
let
|
85
|
-
|
84
|
+
let N, b;
|
85
|
+
p ? (N = v(
|
86
86
|
s,
|
87
|
-
|
87
|
+
u,
|
88
88
|
e,
|
89
89
|
r,
|
90
90
|
a,
|
91
|
-
|
92
|
-
t
|
93
|
-
|
91
|
+
m,
|
92
|
+
t,
|
93
|
+
c
|
94
|
+
), b = {
|
94
95
|
grade: e
|
95
|
-
}) :
|
96
|
+
}) : A ? (N = v(
|
96
97
|
s,
|
97
|
-
|
98
|
+
u,
|
98
99
|
d,
|
99
100
|
r,
|
100
101
|
a,
|
101
102
|
e,
|
102
|
-
t
|
103
|
-
|
103
|
+
t,
|
104
|
+
c
|
105
|
+
), b = {
|
104
106
|
board: e,
|
105
107
|
major: void 0
|
106
|
-
}) : V && (
|
108
|
+
}) : V && (N = v(
|
107
109
|
s,
|
108
|
-
|
110
|
+
u,
|
109
111
|
d,
|
110
112
|
r,
|
111
113
|
a,
|
112
|
-
|
113
|
-
e
|
114
|
-
|
114
|
+
m,
|
115
|
+
e,
|
116
|
+
c
|
117
|
+
), b = {
|
115
118
|
region: e
|
116
|
-
}),
|
117
|
-
...
|
119
|
+
}), D("onchange", O), _({
|
120
|
+
...b,
|
118
121
|
chapterGoalCategory: {
|
119
|
-
primaryGoalCategory:
|
122
|
+
primaryGoalCategory: N
|
120
123
|
},
|
121
124
|
primaryChaptersList: void 0
|
122
125
|
});
|
123
126
|
},
|
124
127
|
[
|
125
128
|
O,
|
126
|
-
|
129
|
+
m,
|
127
130
|
s,
|
128
131
|
r,
|
129
132
|
t,
|
130
133
|
a,
|
131
134
|
d,
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
+
_,
|
136
|
+
u,
|
137
|
+
D,
|
138
|
+
c
|
135
139
|
]
|
136
|
-
), J =
|
140
|
+
), J = i(
|
137
141
|
(e) => {
|
138
142
|
if (e === d) return null;
|
139
|
-
|
140
|
-
description:
|
143
|
+
y ? o == null || o({
|
144
|
+
description: I.GOAL_CHANGE_WARNING,
|
141
145
|
onSuccess: () => {
|
142
146
|
l({
|
143
147
|
updatedData: e,
|
@@ -149,12 +153,12 @@ const ye = Y(
|
|
149
153
|
gradeUpdated: !0
|
150
154
|
});
|
151
155
|
},
|
152
|
-
[o, l, d,
|
153
|
-
), K =
|
156
|
+
[o, l, d, y]
|
157
|
+
), K = i(
|
154
158
|
(e) => {
|
155
|
-
if (e ===
|
156
|
-
|
157
|
-
description:
|
159
|
+
if (e === m) return null;
|
160
|
+
y ? o == null || o({
|
161
|
+
description: I.GOAL_CHANGE_WARNING,
|
158
162
|
onSuccess: () => {
|
159
163
|
l({
|
160
164
|
updatedData: e,
|
@@ -166,12 +170,12 @@ const ye = Y(
|
|
166
170
|
boardUpdated: !0
|
167
171
|
});
|
168
172
|
},
|
169
|
-
[o, l,
|
170
|
-
), Q =
|
173
|
+
[o, l, m, y]
|
174
|
+
), Q = i(
|
171
175
|
(e) => {
|
172
176
|
if (e === t) return null;
|
173
|
-
|
174
|
-
description:
|
177
|
+
y ? o == null || o({
|
178
|
+
description: I.GOAL_CHANGE_WARNING,
|
175
179
|
onSuccess: () => {
|
176
180
|
l({
|
177
181
|
updatedData: e,
|
@@ -183,15 +187,15 @@ const ye = Y(
|
|
183
187
|
countryUpdated: !0
|
184
188
|
});
|
185
189
|
},
|
186
|
-
[o, l, t,
|
190
|
+
[o, l, t, y]
|
187
191
|
);
|
188
192
|
return /* @__PURE__ */ X(
|
189
193
|
W,
|
190
194
|
{
|
191
|
-
testType:
|
195
|
+
testType: u,
|
192
196
|
grade: d,
|
193
197
|
grades: w,
|
194
|
-
board:
|
198
|
+
board: m,
|
195
199
|
boards: S,
|
196
200
|
countryLabel: q,
|
197
201
|
countries: z,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"class-details-step.js","sources":["../../../../../../src/features/milestone/create/comps/class-details-step/class-details-step.tsx"],"sourcesContent":["import type { IFormStepProps } from '../../milestone-create-types';\n\nimport React, { memo, useCallback, useContext, useMemo } from 'react';\n\nimport { convertToTitleCase } from '../../../../../helpers/label-text';\nimport { useUIContext } from '../../../../ui/context/context';\nimport { WARNING_MESSAGES } from '../../../constants';\nimport MilestoneCreateContext from '../../milestone-create-context';\nimport {\n appendPrimaryGoalCategoryToFormState,\n getGradesBasedOnGoalAvailability,\n} from '../../milestone-create-helpers';\nimport {\n computeChangeDetection,\n getCountriesWhereCurrentGradeNCategoryIsAvailable,\n} from '../chapters-selection-step/utils';\nimport { getTestTypeBasedCategory } from '../test-type-step/test-type-utils';\nimport ClassDetailsSelectors from './class-details-selectors';\nimport { getCategorizedCurriculumStandards } from './class-details-utils';\n\nconst ClassDetailsStep: React.FC<IFormStepProps> = memo(\n ({\n config,\n formData,\n currentStep,\n courseStream,\n classRatio,\n onChapterExitWarning,\n onFormDataChange,\n enrollmentType,\n }) => {\n const { onEvent: trackEvent } = useUIContext();\n const { flow } = useContext(MilestoneCreateContext);\n\n const {\n testType,\n grade,\n board,\n schoolInfo,\n region,\n primaryChaptersList,\n chapterGoalCategory = {},\n } = formData;\n\n const { primaryGoalCategory } = chapterGoalCategory;\n\n const selectedGoalCategory = getTestTypeBasedCategory(testType);\n const { countryCode: schoolInfoCountryCode } = schoolInfo || {};\n const currentCountryCode = region || schoolInfoCountryCode; //TODO: remove all school related code, this might lead to some drafts (which were created earlier) asking user to fill country/board again but if they carry on with same details data will be prefilled\n const { name } = currentStep;\n\n const changesDetected = computeChangeDetection(primaryChaptersList, primaryGoalCategory);\n\n const analyticsProps = useMemo(\n () => ({\n step: name,\n }),\n [name],\n );\n\n const boards = useMemo(\n () =>\n getCategorizedCurriculumStandards(config, {\n grade: grade ?? '',\n countryCode: currentCountryCode ?? '',\n goalCategory: selectedGoalCategory,\n courseStream,\n classRatio,\n enrollmentType,\n flow,\n }),\n [\n classRatio,\n config,\n courseStream,\n currentCountryCode,\n grade,\n enrollmentType,\n selectedGoalCategory,\n flow,\n ],\n );\n\n const filteredCountryCodeToNameMap = useMemo(\n () =>\n getCountriesWhereCurrentGradeNCategoryIsAvailable(\n courseStream,\n config,\n selectedGoalCategory,\n enrollmentType,\n grade,\n currentCountryCode,\n ),\n [courseStream, config, selectedGoalCategory, enrollmentType, grade, currentCountryCode],\n );\n\n const grades = useMemo(() => {\n return getGradesBasedOnGoalAvailability(\n config,\n selectedGoalCategory,\n courseStream,\n enrollmentType,\n );\n }, [config, courseStream, enrollmentType, selectedGoalCategory]);\n\n const countries = useMemo(() => {\n return Object.entries(filteredCountryCodeToNameMap)\n ?.map(([countryCode, countryName]) => ({\n id: countryCode,\n label: convertToTitleCase(countryName),\n }))\n .sort((a, b) => {\n return a.label.localeCompare(b.label);\n });\n }, [filteredCountryCodeToNameMap]);\n\n const countryLabel = useMemo(() => {\n return currentCountryCode && filteredCountryCodeToNameMap[currentCountryCode]\n ? convertToTitleCase(filteredCountryCodeToNameMap[currentCountryCode] ?? '')\n : '';\n }, [filteredCountryCodeToNameMap, currentCountryCode]);\n\n const handleOnFormDataChange = useCallback(\n ({\n updatedData,\n gradeUpdated,\n boardUpdated,\n countryUpdated,\n }: {\n updatedData: string;\n gradeUpdated?: boolean;\n boardUpdated?: boolean;\n countryUpdated?: boolean;\n majorUpdated?: boolean;\n }) => {\n let updatedPrimaryGoalCategory;\n let updatedFormData;\n\n if (gradeUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n updatedData,\n courseStream,\n enrollmentType,\n board,\n currentCountryCode,\n );\n\n updatedFormData = {\n grade: updatedData,\n };\n } else if (boardUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n grade,\n courseStream,\n enrollmentType,\n updatedData,\n currentCountryCode,\n );\n\n updatedFormData = {\n board: updatedData,\n major: undefined,\n };\n } else if (countryUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n grade,\n courseStream,\n enrollmentType,\n board,\n updatedData,\n );\n\n updatedFormData = {\n region: updatedData,\n };\n }\n\n trackEvent('onchange', analyticsProps);\n\n onFormDataChange({\n ...updatedFormData,\n chapterGoalCategory: {\n primaryGoalCategory: updatedPrimaryGoalCategory,\n },\n primaryChaptersList: undefined,\n });\n },\n [\n analyticsProps,\n board,\n config,\n courseStream,\n currentCountryCode,\n enrollmentType,\n grade,\n onFormDataChange,\n testType,\n trackEvent,\n ],\n );\n\n const handleGradeSelect = useCallback(\n (selectedGrade: string) => {\n if (selectedGrade === grade) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: selectedGrade,\n gradeUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: selectedGrade,\n gradeUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, grade, changesDetected],\n );\n\n const handleBoardChange = useCallback(\n (boardCode: string) => {\n if (boardCode === board) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: boardCode,\n boardUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: boardCode,\n boardUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, board, changesDetected],\n );\n\n const handleCountryChange = useCallback(\n (updatedCountryCode: string) => {\n if (updatedCountryCode === currentCountryCode) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: updatedCountryCode,\n countryUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: updatedCountryCode,\n countryUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, currentCountryCode, changesDetected],\n );\n\n return (\n <ClassDetailsSelectors\n testType={testType}\n grade={grade}\n grades={grades}\n board={board}\n boards={boards}\n countryLabel={countryLabel}\n countries={countries}\n currentCountryCode={currentCountryCode}\n handleCountryChange={handleCountryChange}\n handleBoardChange={handleBoardChange}\n handleGradeSelect={handleGradeSelect}\n />\n );\n },\n);\n\nexport default ClassDetailsStep;\n"],"names":["ClassDetailsStep","memo","config","formData","currentStep","courseStream","classRatio","onChapterExitWarning","onFormDataChange","enrollmentType","trackEvent","useUIContext","flow","useContext","MilestoneCreateContext","testType","grade","board","schoolInfo","region","primaryChaptersList","chapterGoalCategory","primaryGoalCategory","selectedGoalCategory","getTestTypeBasedCategory","schoolInfoCountryCode","currentCountryCode","name","changesDetected","computeChangeDetection","analyticsProps","useMemo","boards","getCategorizedCurriculumStandards","filteredCountryCodeToNameMap","getCountriesWhereCurrentGradeNCategoryIsAvailable","grades","getGradesBasedOnGoalAvailability","countries","_a","countryCode","countryName","convertToTitleCase","a","b","countryLabel","handleOnFormDataChange","useCallback","updatedData","gradeUpdated","boardUpdated","countryUpdated","updatedPrimaryGoalCategory","updatedFormData","appendPrimaryGoalCategoryToFormState","handleGradeSelect","selectedGrade","WARNING_MESSAGES","handleBoardChange","boardCode","handleCountryChange","updatedCountryCode","jsx","ClassDetailsSelectors"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"class-details-step.js","sources":["../../../../../../src/features/milestone/create/comps/class-details-step/class-details-step.tsx"],"sourcesContent":["import type { IFormStepProps } from '../../milestone-create-types';\n\nimport React, { memo, useCallback, useContext, useMemo } from 'react';\n\nimport { convertToTitleCase } from '../../../../../helpers/label-text';\nimport { useUIContext } from '../../../../ui/context/context';\nimport { WARNING_MESSAGES } from '../../../constants';\nimport MilestoneCreateContext from '../../milestone-create-context';\nimport {\n appendPrimaryGoalCategoryToFormState,\n getGradesBasedOnGoalAvailability,\n} from '../../milestone-create-helpers';\nimport {\n computeChangeDetection,\n getCountriesWhereCurrentGradeNCategoryIsAvailable,\n} from '../chapters-selection-step/utils';\nimport { getTestTypeBasedCategory } from '../test-type-step/test-type-utils';\nimport ClassDetailsSelectors from './class-details-selectors';\nimport { getCategorizedCurriculumStandards } from './class-details-utils';\n\nconst ClassDetailsStep: React.FC<IFormStepProps> = memo(\n ({\n config,\n formData,\n currentStep,\n courseStream,\n classRatio,\n onChapterExitWarning,\n onFormDataChange,\n enrollmentType,\n }) => {\n const { onEvent: trackEvent } = useUIContext();\n const { flow } = useContext(MilestoneCreateContext);\n\n const {\n testType,\n grade,\n board,\n schoolInfo,\n region,\n primaryChaptersList,\n chapterGoalCategory = {},\n } = formData;\n\n const { primaryGoalCategory } = chapterGoalCategory;\n\n const selectedGoalCategory = getTestTypeBasedCategory(testType);\n const { countryCode: schoolInfoCountryCode } = schoolInfo || {};\n const currentCountryCode = region || schoolInfoCountryCode; //TODO: remove all school related code, this might lead to some drafts (which were created earlier) asking user to fill country/board again but if they carry on with same details data will be prefilled\n const { name } = currentStep;\n\n const changesDetected = computeChangeDetection(primaryChaptersList, primaryGoalCategory);\n\n const analyticsProps = useMemo(\n () => ({\n step: name,\n }),\n [name],\n );\n\n const boards = useMemo(\n () =>\n getCategorizedCurriculumStandards(config, {\n grade: grade ?? '',\n countryCode: currentCountryCode ?? '',\n goalCategory: selectedGoalCategory,\n courseStream,\n classRatio,\n enrollmentType,\n flow,\n }),\n [\n classRatio,\n config,\n courseStream,\n currentCountryCode,\n grade,\n enrollmentType,\n selectedGoalCategory,\n flow,\n ],\n );\n\n const filteredCountryCodeToNameMap = useMemo(\n () =>\n getCountriesWhereCurrentGradeNCategoryIsAvailable(\n courseStream,\n config,\n selectedGoalCategory,\n enrollmentType,\n grade,\n currentCountryCode,\n ),\n [courseStream, config, selectedGoalCategory, enrollmentType, grade, currentCountryCode],\n );\n\n const grades = useMemo(() => {\n return getGradesBasedOnGoalAvailability(\n config,\n selectedGoalCategory,\n courseStream,\n enrollmentType,\n );\n }, [config, courseStream, enrollmentType, selectedGoalCategory]);\n\n const countries = useMemo(() => {\n return Object.entries(filteredCountryCodeToNameMap)\n ?.map(([countryCode, countryName]) => ({\n id: countryCode,\n label: convertToTitleCase(countryName),\n }))\n .sort((a, b) => {\n return a.label.localeCompare(b.label);\n });\n }, [filteredCountryCodeToNameMap]);\n\n const countryLabel = useMemo(() => {\n return currentCountryCode && filteredCountryCodeToNameMap[currentCountryCode]\n ? convertToTitleCase(filteredCountryCodeToNameMap[currentCountryCode] ?? '')\n : '';\n }, [filteredCountryCodeToNameMap, currentCountryCode]);\n\n const handleOnFormDataChange = useCallback(\n ({\n updatedData,\n gradeUpdated,\n boardUpdated,\n countryUpdated,\n }: {\n updatedData: string;\n gradeUpdated?: boolean;\n boardUpdated?: boolean;\n countryUpdated?: boolean;\n majorUpdated?: boolean;\n }) => {\n let updatedPrimaryGoalCategory;\n let updatedFormData;\n\n if (gradeUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n updatedData,\n courseStream,\n enrollmentType,\n board,\n currentCountryCode,\n flow,\n );\n\n updatedFormData = {\n grade: updatedData,\n };\n } else if (boardUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n grade,\n courseStream,\n enrollmentType,\n updatedData,\n currentCountryCode,\n flow,\n );\n\n updatedFormData = {\n board: updatedData,\n major: undefined,\n };\n } else if (countryUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n grade,\n courseStream,\n enrollmentType,\n board,\n updatedData,\n flow,\n );\n\n updatedFormData = {\n region: updatedData,\n };\n }\n\n trackEvent('onchange', analyticsProps);\n\n onFormDataChange({\n ...updatedFormData,\n chapterGoalCategory: {\n primaryGoalCategory: updatedPrimaryGoalCategory,\n },\n primaryChaptersList: undefined,\n });\n },\n [\n analyticsProps,\n board,\n config,\n courseStream,\n currentCountryCode,\n enrollmentType,\n grade,\n onFormDataChange,\n testType,\n trackEvent,\n flow,\n ],\n );\n\n const handleGradeSelect = useCallback(\n (selectedGrade: string) => {\n if (selectedGrade === grade) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: selectedGrade,\n gradeUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: selectedGrade,\n gradeUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, grade, changesDetected],\n );\n\n const handleBoardChange = useCallback(\n (boardCode: string) => {\n if (boardCode === board) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: boardCode,\n boardUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: boardCode,\n boardUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, board, changesDetected],\n );\n\n const handleCountryChange = useCallback(\n (updatedCountryCode: string) => {\n if (updatedCountryCode === currentCountryCode) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: updatedCountryCode,\n countryUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: updatedCountryCode,\n countryUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, currentCountryCode, changesDetected],\n );\n\n return (\n <ClassDetailsSelectors\n testType={testType}\n grade={grade}\n grades={grades}\n board={board}\n boards={boards}\n countryLabel={countryLabel}\n countries={countries}\n currentCountryCode={currentCountryCode}\n handleCountryChange={handleCountryChange}\n handleBoardChange={handleBoardChange}\n handleGradeSelect={handleGradeSelect}\n />\n );\n },\n);\n\nexport default ClassDetailsStep;\n"],"names":["ClassDetailsStep","memo","config","formData","currentStep","courseStream","classRatio","onChapterExitWarning","onFormDataChange","enrollmentType","trackEvent","useUIContext","flow","useContext","MilestoneCreateContext","testType","grade","board","schoolInfo","region","primaryChaptersList","chapterGoalCategory","primaryGoalCategory","selectedGoalCategory","getTestTypeBasedCategory","schoolInfoCountryCode","currentCountryCode","name","changesDetected","computeChangeDetection","analyticsProps","useMemo","boards","getCategorizedCurriculumStandards","filteredCountryCodeToNameMap","getCountriesWhereCurrentGradeNCategoryIsAvailable","grades","getGradesBasedOnGoalAvailability","countries","_a","countryCode","countryName","convertToTitleCase","a","b","countryLabel","handleOnFormDataChange","useCallback","updatedData","gradeUpdated","boardUpdated","countryUpdated","updatedPrimaryGoalCategory","updatedFormData","appendPrimaryGoalCategoryToFormState","handleGradeSelect","selectedGrade","WARNING_MESSAGES","handleBoardChange","boardCode","handleCountryChange","updatedCountryCode","jsx","ClassDetailsSelectors"],"mappings":"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"}
|
@@ -1,91 +1,91 @@
|
|
1
|
-
import { COUNTRY_MAP as
|
2
|
-
import { getStudentEnrollmentSupported as
|
3
|
-
import { checkEnrollmentAvailable as
|
4
|
-
import { GOAL_EDIT_FLOWS as
|
5
|
-
const
|
1
|
+
import { COUNTRY_MAP as y } from "../../../constants/country.js";
|
2
|
+
import { getStudentEnrollmentSupported as S, getIfGoalCurriculumStandardIsAccessible as h } from "./comps/chapters-selection-step/utils.js";
|
3
|
+
import { checkEnrollmentAvailable as C, getTestTypeBasedCategory as G } from "./comps/test-type-step/test-type-utils.js";
|
4
|
+
import { GOAL_EDIT_FLOWS as A } from "./milestone-create-constants.js";
|
5
|
+
const E = (t, r) => {
|
6
6
|
r.forEach((e) => {
|
7
|
-
|
7
|
+
t[e] = void 0;
|
8
8
|
});
|
9
|
-
},
|
10
|
-
const { isLeafNode: i, next: o, reset: c } =
|
9
|
+
}, F = (t, r, e, l, n = []) => {
|
10
|
+
const { isLeafNode: i, next: o, reset: c } = t, s = { ...r };
|
11
11
|
if (i)
|
12
|
-
return
|
12
|
+
return E(s, [...c, ...n]), s;
|
13
13
|
if (o) {
|
14
14
|
let f = l, m;
|
15
|
-
if (o.every((
|
15
|
+
if (o.every((a) => {
|
16
16
|
var u;
|
17
17
|
let d = !1;
|
18
|
-
return
|
19
|
-
|
20
|
-
}) : e === (
|
18
|
+
return a.when !== void 0 ? d = a.when.every(([_, g]) => s[_] === g) : d = !0, d ? (f ? (u = a == null ? void 0 : a.reset) == null || u.forEach((_) => {
|
19
|
+
n.push(_);
|
20
|
+
}) : e === (a == null ? void 0 : a.name) && (f = !0), m = a, !1) : !0;
|
21
21
|
}), m)
|
22
|
-
return
|
22
|
+
return F(
|
23
23
|
m,
|
24
24
|
s,
|
25
25
|
e,
|
26
26
|
f,
|
27
|
-
|
27
|
+
n
|
28
28
|
);
|
29
29
|
}
|
30
|
-
},
|
31
|
-
const { isLeafNode: l, required:
|
30
|
+
}, T = (t, r, e) => {
|
31
|
+
const { isLeafNode: l, required: n, next: i } = t;
|
32
32
|
if (l)
|
33
|
-
return
|
34
|
-
const o =
|
35
|
-
if (
|
36
|
-
const c =
|
33
|
+
return t;
|
34
|
+
const o = n.every((c) => r[c] !== void 0);
|
35
|
+
if (A.includes(e)) {
|
36
|
+
const c = n.every(
|
37
37
|
(s) => r.reviewed[s] === !0
|
38
38
|
);
|
39
39
|
if (!o || !c)
|
40
40
|
return {
|
41
|
-
...
|
41
|
+
...t,
|
42
42
|
next: void 0
|
43
43
|
};
|
44
44
|
} else {
|
45
|
-
const c =
|
45
|
+
const c = n.every(
|
46
46
|
(s) => r.committed[s] === !0
|
47
47
|
);
|
48
48
|
if (!o || !c)
|
49
49
|
return {
|
50
|
-
...
|
50
|
+
...t,
|
51
51
|
next: void 0
|
52
52
|
};
|
53
53
|
}
|
54
54
|
if (i) {
|
55
55
|
let c;
|
56
56
|
if (i.every((s) => s.when === void 0 || s.when.every(
|
57
|
-
([m,
|
57
|
+
([m, a]) => r[m] === a
|
58
58
|
) ? (c = s, !1) : !0), c)
|
59
|
-
return
|
59
|
+
return T(c, r, e);
|
60
60
|
}
|
61
|
-
},
|
62
|
-
const { id: l, event_name:
|
61
|
+
}, R = (t) => t.academic_events.reduce((r, e) => {
|
62
|
+
const { id: l, event_name: n, event_type: i } = e;
|
63
63
|
return i === "SCHOOL_TEST" && r.push({
|
64
64
|
id: l,
|
65
|
-
label:
|
65
|
+
label: n
|
66
66
|
}), r;
|
67
|
-
}, []),
|
68
|
-
const { currentGoalData: r, enrollmentType: e, currentCountryCode: l, grade:
|
67
|
+
}, []), B = (t) => {
|
68
|
+
const { currentGoalData: r, enrollmentType: e, currentCountryCode: l, grade: n, selectedCategory: i } = t, {
|
69
69
|
blocked_countries: o,
|
70
70
|
available_countries: c,
|
71
71
|
available_grades: s,
|
72
72
|
goal_category: f,
|
73
73
|
available_enrollment_types: m,
|
74
|
-
blocked_enrollment_types:
|
75
|
-
} = r, d =
|
76
|
-
|
74
|
+
blocked_enrollment_types: a
|
75
|
+
} = r, d = S(
|
76
|
+
a,
|
77
77
|
m,
|
78
78
|
e
|
79
79
|
), u = o.some(
|
80
80
|
(v) => v === l
|
81
|
-
), _ = c.length > 0 ? c.some((v) => v === l) : !0, g = s.some((v) => v ===
|
81
|
+
), _ = c.length > 0 ? c.some((v) => v === l) : !0, g = s.some((v) => v === n);
|
82
82
|
return d && !u && _ && g && i === f;
|
83
|
-
},
|
84
|
-
const { goal_curriculum_map: s, curriculum_standards: f } =
|
85
|
-
const u = d.course_stream ===
|
83
|
+
}, N = (t, { grade: r, countryCode: e, goalCategory: l, courseStream: n, classRatio: i, enrollmentType: o, flow: c }) => {
|
84
|
+
const { goal_curriculum_map: s, curriculum_standards: f } = t, m = s.filter((d) => {
|
85
|
+
const u = d.course_stream === n;
|
86
86
|
return c === "CREATE" ? u && d.is_live : u;
|
87
|
-
}),
|
88
|
-
return f.filter(
|
87
|
+
}), a = (d) => m.some((u) => u.goal_category !== l || i && u.available_class_ratios.length > 0 && !u.available_class_ratios.includes(i) || u.goal_curriculum_standard && u.goal_curriculum_standard !== d.code || l === "SCHOOL_SUCCESS" && !u.goal_curriculum_standard || u.available_countries.length > 0 && !u.available_countries.includes(e) || u.available_countries.length === 0 && u.blocked_countries.includes(e) || !u.available_grades.includes(r) ? !1 : C(u, o));
|
88
|
+
return f.filter(a).map(
|
89
89
|
({
|
90
90
|
code: d,
|
91
91
|
name: u,
|
@@ -98,62 +98,62 @@ const A = (n, r) => {
|
|
98
98
|
isRecommended: g.includes(e)
|
99
99
|
})
|
100
100
|
).sort((d, u) => d.label.toUpperCase() > u.label.toUpperCase() ? 1 : -1);
|
101
|
-
},
|
102
|
-
const { goal_curriculum_map: e } =
|
103
|
-
return f == null ? void 0 : f.filter(m).map(({ goal_code:
|
104
|
-
id:
|
101
|
+
}, P = (t, r) => {
|
102
|
+
const { goal_curriculum_map: e } = t, { grade: l, countryCode: n, goalCategory: i, curriculumStandard: o, courseStream: c, enrollmentType: s } = r, f = e.filter((a) => a.course_stream === c), m = (a) => a.goal_category !== i || o && a.goal_curriculum_standard !== o || a.available_countries.length > 0 && !a.available_countries.includes(n) || a.available_countries.length === 0 && a.blocked_countries.includes(n) || !a.available_grades.includes(l) ? !1 : C(a, s);
|
103
|
+
return f == null ? void 0 : f.filter(m).map(({ goal_code: a, goal_name: d }) => ({
|
104
|
+
id: a,
|
105
105
|
label: d
|
106
|
-
})).sort((
|
107
|
-
},
|
106
|
+
})).sort((a, d) => a.label.toUpperCase() > d.label.toUpperCase() ? 1 : -1);
|
107
|
+
}, O = (t) => t.grades.reduce((r, e) => (e === "-1" || e === "0" ? r.push({
|
108
108
|
id: e,
|
109
109
|
label: e === "-1" ? "Pre-K" : "KG"
|
110
110
|
}) : r.push({
|
111
111
|
id: e,
|
112
112
|
label: `Grade ${e}`
|
113
|
-
}), r), []),
|
114
|
-
const { preference_config: e } =
|
113
|
+
}), r), []), U = (t, r) => {
|
114
|
+
const { preference_config: e } = t, l = (n) => {
|
115
115
|
const { grade: i, courseStream: o, preferenceCategory: c } = r;
|
116
|
-
return !(
|
116
|
+
return !(n.course_stream !== o || n.preference_category !== c || n.preference_grades.length > 0 && !n.preference_grades.includes(i) || !n.is_live);
|
117
117
|
};
|
118
118
|
return e == null ? void 0 : e.filter(l).map(
|
119
|
-
({ preference_code:
|
120
|
-
id:
|
119
|
+
({ preference_code: n, preference_name: i, preference_description: o }) => ({
|
120
|
+
id: n,
|
121
121
|
label: i,
|
122
122
|
description: o
|
123
123
|
})
|
124
124
|
);
|
125
|
-
},
|
126
|
-
const { goal_curriculum_map:
|
125
|
+
}, q = (t, r, e, l) => {
|
126
|
+
const { goal_curriculum_map: n } = t, i = O(t), o = ({ id: c }) => n.filter((s) => s.course_stream === e).some((s) => {
|
127
127
|
const {
|
128
128
|
available_grades: f,
|
129
129
|
goal_category: m,
|
130
|
-
available_enrollment_types:
|
130
|
+
available_enrollment_types: a,
|
131
131
|
blocked_enrollment_types: d
|
132
132
|
} = s;
|
133
|
-
return
|
133
|
+
return a.length > 0 && !a.includes(l) || a.length === 0 && d.includes(l) ? !1 : m === r && f.includes(c);
|
134
134
|
});
|
135
135
|
return i.filter(o);
|
136
|
-
},
|
136
|
+
}, M = (t, r, e, l, n) => {
|
137
137
|
if (e === "KG" || Number(e) < 7) return [];
|
138
|
-
const { goal_curriculum_map: i } =
|
138
|
+
const { goal_curriculum_map: i } = t, o = (s) => s.course_stream !== l ? !1 : C(s, n);
|
139
139
|
return i.filter(o).reduce((s, f) => {
|
140
140
|
const {
|
141
141
|
available_grades: m,
|
142
|
-
goal_curriculum_standard:
|
142
|
+
goal_curriculum_standard: a,
|
143
143
|
program_name: d,
|
144
144
|
program_code: u
|
145
145
|
} = f;
|
146
|
-
return m.some((
|
146
|
+
return m.some((b) => b === e) && a === r && s.push({
|
147
147
|
id: u,
|
148
148
|
label: d
|
149
149
|
}), s;
|
150
150
|
}, []);
|
151
|
-
},
|
151
|
+
}, k = (t) => {
|
152
152
|
var e;
|
153
|
-
return (e =
|
154
|
-
},
|
155
|
-
if (
|
156
|
-
const { country_code: i, place_id: o } =
|
153
|
+
return (e = y.find((l) => l.country_code === t)) == null ? void 0 : e.region_code;
|
154
|
+
}, W = (t, r, e, l) => {
|
155
|
+
if (t && e) {
|
156
|
+
const { country_code: i, place_id: o } = t;
|
157
157
|
return {
|
158
158
|
committed: {},
|
159
159
|
reviewed: {},
|
@@ -167,74 +167,74 @@ const A = (n, r) => {
|
|
167
167
|
board: r ?? void 0
|
168
168
|
};
|
169
169
|
}
|
170
|
-
const
|
170
|
+
const n = l ? k(l) : void 0;
|
171
171
|
return e ? {
|
172
172
|
committed: {},
|
173
173
|
reviewed: {},
|
174
174
|
grade: e,
|
175
|
-
region:
|
175
|
+
region: n,
|
176
176
|
board: r ?? void 0
|
177
177
|
} : {
|
178
178
|
committed: {},
|
179
179
|
reviewed: {}
|
180
180
|
};
|
181
|
-
},
|
181
|
+
}, j = (t, r, e, l) => {
|
182
182
|
if (r && l) {
|
183
|
-
const { country_code:
|
183
|
+
const { country_code: n, place_id: i } = r;
|
184
184
|
return {
|
185
|
-
...
|
185
|
+
...t,
|
186
186
|
grade: l,
|
187
187
|
schoolInfo: {
|
188
|
-
countryCode:
|
188
|
+
countryCode: n,
|
189
189
|
stateCode: "",
|
190
190
|
id: i
|
191
191
|
},
|
192
|
-
board:
|
192
|
+
board: t.board ?? e ?? void 0
|
193
193
|
};
|
194
194
|
}
|
195
|
-
return
|
196
|
-
},
|
197
|
-
const { goal_curriculum_map:
|
198
|
-
return
|
199
|
-
const
|
200
|
-
currentGoalData:
|
195
|
+
return t;
|
196
|
+
}, K = (t, r, e, l, n, i, o, c) => {
|
197
|
+
const { goal_curriculum_map: s } = t, f = r === "no-test", m = G(r);
|
198
|
+
return s.find((d) => {
|
199
|
+
const u = B({
|
200
|
+
currentGoalData: d,
|
201
201
|
grade: e,
|
202
202
|
currentCountryCode: o,
|
203
|
-
selectedCategory:
|
204
|
-
enrollmentType:
|
205
|
-
}), { goal_curriculum_standard:
|
206
|
-
goalCurriculumStandard:
|
203
|
+
selectedCategory: m,
|
204
|
+
enrollmentType: n
|
205
|
+
}), { goal_curriculum_standard: _, is_live: g } = d, b = h({
|
206
|
+
goalCurriculumStandard: _,
|
207
207
|
referenceStandard: i
|
208
|
-
}),
|
209
|
-
return
|
208
|
+
}), v = d.course_stream === l, p = c === "CREATE" ? g : !0;
|
209
|
+
return f ? v && u && b && p : v && u && p;
|
210
210
|
});
|
211
|
-
},
|
212
|
-
var
|
211
|
+
}, H = (t) => {
|
212
|
+
var n, i;
|
213
213
|
let r = [], e = [];
|
214
|
-
for (const o of
|
214
|
+
for (const o of t)
|
215
215
|
o.title === "recommended" ? r = o.data : o.title === "others" && (e = o.data);
|
216
216
|
const l = r.find((o) => o.isDefault && o.isRecommended);
|
217
217
|
if (l)
|
218
218
|
return l.id;
|
219
219
|
if (r.length > 0)
|
220
|
-
return (
|
220
|
+
return (n = r[0]) == null ? void 0 : n.id;
|
221
221
|
if (e.length > 0)
|
222
222
|
return (i = e[0]) == null ? void 0 : i.id;
|
223
223
|
};
|
224
224
|
export {
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
225
|
+
K as appendPrimaryGoalCategoryToFormState,
|
226
|
+
j as appendSchoolDataToFormState,
|
227
|
+
F as clearNextFields,
|
228
|
+
W as generateFormStateWithPrefilledSchoolData,
|
229
|
+
T as getCurrenStep,
|
230
|
+
N as getCurriculumStandardsFromConfig,
|
231
|
+
H as getDefaultBoard,
|
232
|
+
P as getGoalsFromConfig,
|
233
|
+
q as getGradesBasedOnGoalAvailability,
|
234
|
+
O as getGradesFromConfig,
|
235
|
+
M as getMajorsFromConfigBasedOnBoardAndGrade,
|
236
|
+
U as getPreferencesFromConfig,
|
237
|
+
k as getRegionCodeBasedOnCountryCode,
|
238
|
+
R as getSchoolTestsFromConfig
|
239
239
|
};
|
240
240
|
//# sourceMappingURL=milestone-create-helpers.js.map
|