@cuemath/leap 3.1.2-beta-0.5 → 3.1.2-j1
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/assets/illustrations/illustrations.js +1 -2
- package/dist/assets/illustrations/illustrations.js.map +1 -1
- package/dist/assets/line-icons/icons/check.js +3 -3
- package/dist/assets/line-icons/icons/check.js.map +1 -1
- package/dist/features/auth/account-selector/account-selector-styled.js +9 -0
- package/dist/features/auth/account-selector/account-selector-styled.js.map +1 -0
- package/dist/features/auth/account-selector/account-selector.js +56 -36
- package/dist/features/auth/account-selector/account-selector.js.map +1 -1
- package/dist/features/auth/comps/auth-page-layout/auth-page-layout-styled.js +21 -0
- package/dist/features/auth/comps/auth-page-layout/auth-page-layout-styled.js.map +1 -0
- package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js +8 -9
- package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js.map +1 -1
- package/dist/features/auth/comps/auth-static-panel/auth-static-panel.js +1 -1
- package/dist/features/auth/comps/auth-static-panel/auth-static-panel.js.map +1 -1
- package/dist/features/auth/forgot-password/forgot-password-styled.js +15 -3
- package/dist/features/auth/forgot-password/forgot-password-styled.js.map +1 -1
- package/dist/features/auth/forgot-password/otp-form/otp-form.js +29 -29
- package/dist/features/auth/forgot-password/otp-form/otp-form.js.map +1 -1
- package/dist/features/auth/forgot-password/reset-password-form/reset-password-form.js +14 -18
- package/dist/features/auth/forgot-password/reset-password-form/reset-password-form.js.map +1 -1
- package/dist/features/auth/forgot-password/user-identifier-form/user-identifier-form.js +23 -24
- package/dist/features/auth/forgot-password/user-identifier-form/user-identifier-form.js.map +1 -1
- package/dist/features/auth/login/identifier-otp-form/identifier-otp-form-styled.js +4 -2
- package/dist/features/auth/login/identifier-otp-form/identifier-otp-form-styled.js.map +1 -1
- package/dist/features/auth/login/identifier-otp-form/identifier-otp-form.js +85 -75
- package/dist/features/auth/login/identifier-otp-form/identifier-otp-form.js.map +1 -1
- package/dist/features/auth/login/login-styled.js +13 -0
- package/dist/features/auth/login/login-styled.js.map +1 -0
- package/dist/features/auth/login/social-account-not-found/social-account-not-found.js +24 -22
- package/dist/features/auth/login/social-account-not-found/social-account-not-found.js.map +1 -1
- package/dist/features/auth/login/social-login-methods/social-login-methods-styled.js +9 -0
- package/dist/features/auth/login/social-login-methods/social-login-methods-styled.js.map +1 -0
- package/dist/features/auth/login/social-login-methods/social-login-methods.js +43 -34
- package/dist/features/auth/login/social-login-methods/social-login-methods.js.map +1 -1
- package/dist/features/auth/login/username-password-form/username-password-form.js +22 -21
- package/dist/features/auth/login/username-password-form/username-password-form.js.map +1 -1
- package/dist/features/auth/user-list/user-item/user-item.js +25 -24
- package/dist/features/auth/user-list/user-item/user-item.js.map +1 -1
- package/dist/features/auth/user-list/user-list.js +60 -51
- package/dist/features/auth/user-list/user-list.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-context.js +5 -8
- package/dist/features/cue-canvas/cue-canvas-context.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-core.js +75 -80
- package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-helpers.js +25 -31
- package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-provider.js +12 -14
- package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas.js +65 -79
- package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
- package/dist/features/cue-canvas/cue-cavas-styled.js +42 -45
- package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
- package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +54 -61
- package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
- package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js +14 -18
- package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/grid-menu.js +13 -13
- package/dist/features/cue-canvas/toolbar/grid-menu.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/tool.js +20 -22
- package/dist/features/cue-canvas/toolbar/tool.js.map +1 -1
- package/dist/features/homework/styles.js +4 -5
- package/dist/features/homework/styles.js.map +1 -1
- package/dist/features/hooks/use-device-type.js +25 -0
- package/dist/features/hooks/use-device-type.js.map +1 -0
- package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +36 -38
- package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js +22 -24
- package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js +22 -23
- 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 +47 -49
- 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 +87 -94
- package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
- package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js +12 -13
- package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
- package/dist/features/milestone/create/comps/test-type-step/test-type-step.js +21 -23
- package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-helpers.js +162 -165
- package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +124 -103
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js +14 -15
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js.map +1 -1
- package/dist/features/trial-session/comps/pricing/pricing.js +35 -36
- package/dist/features/trial-session/comps/pricing/pricing.js.map +1 -1
- package/dist/features/ui/buttons/button/button-styled.js +29 -29
- package/dist/features/ui/buttons/button/button-styled.js.map +1 -1
- package/dist/features/ui/stepper/stepper.js +7 -7
- package/dist/features/utils/media.js +16 -0
- package/dist/features/utils/media.js.map +1 -0
- package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js +19 -22
- package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js.map +1 -1
- package/dist/index.d.ts +22 -78
- package/dist/index.js +265 -268
- package/dist/index.js.map +1 -1
- package/dist/static/cuemath-app-qr-code.7205ee79.svg +1 -0
- package/package.json +1 -1
- package/dist/assets/line-icons/icons/puzzle-icon.js +0 -51
- package/dist/assets/line-icons/icons/puzzle-icon.js.map +0 -1
- package/dist/assets/line-icons/icons/share.js +0 -48
- package/dist/assets/line-icons/icons/share.js.map +0 -1
- package/dist/assets/line-icons/icons/tile.js +0 -54
- package/dist/assets/line-icons/icons/tile.js.map +0 -1
- package/dist/features/auth/comps/auth-page-layout/auth-page-layout-styles.js +0 -12
- package/dist/features/auth/comps/auth-page-layout/auth-page-layout-styles.js.map +0 -1
- package/dist/features/cue-canvas/bottombar/homework-controls.js +0 -73
- package/dist/features/cue-canvas/bottombar/homework-controls.js.map +0 -1
- package/dist/features/cue-canvas/hooks/use-upload-helper.js +0 -23
- package/dist/features/cue-canvas/hooks/use-upload-helper.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/homework/helper.js +0 -20
- package/dist/features/cue-canvas/sidebar/homework/helper.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/homework/homework-menu.js +0 -33
- package/dist/features/cue-canvas/sidebar/homework/homework-menu.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/homework/homework-request.js +0 -68
- package/dist/features/cue-canvas/sidebar/homework/homework-request.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/homework/homework-styled.js +0 -25
- package/dist/features/cue-canvas/sidebar/homework/homework-styled.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/homework/homework.js +0 -39
- package/dist/features/cue-canvas/sidebar/homework/homework.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js +0 -13
- package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js +0 -60
- package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js +0 -44
- package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/filters.js +0 -107
- package/dist/features/cue-canvas/sidebar/puzzles/filters.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js +0 -42
- package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js +0 -84
- package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js +0 -36
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js +0 -133
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js +0 -96
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js +0 -29
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/utils.js +0 -120
- package/dist/features/cue-canvas/sidebar/puzzles/utils.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/sidebar-styled.js +0 -32
- package/dist/features/cue-canvas/sidebar/sidebar-styled.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/sidebar.js +0 -29
- package/dist/features/cue-canvas/sidebar/sidebar.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/tiles/tile.js +0 -16
- package/dist/features/cue-canvas/sidebar/tiles/tile.js.map +0 -1
- package/dist/features/hooks/use-debounce.js +0 -16
- package/dist/features/hooks/use-debounce.js.map +0 -1
- package/dist/features/milestone/milestone-list-container/api/get-past-milestone-count.js +0 -18
- package/dist/features/milestone/milestone-list-container/api/get-past-milestone-count.js.map +0 -1
- package/dist/features/trial-session/comps/pricing/india-pricing/index.js +0 -96
- package/dist/features/trial-session/comps/pricing/india-pricing/index.js.map +0 -1
- package/dist/features/trial-session/comps/pricing/india-pricing/india-pricing-styled.js +0 -59
- package/dist/features/trial-session/comps/pricing/india-pricing/india-pricing-styled.js.map +0 -1
- package/dist/static/ellipse-clip.dfb25608.svg +0 -1
package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js
CHANGED
@@ -1,41 +1,39 @@
|
|
1
1
|
import { useMemo as t } from "react";
|
2
|
-
import { GOAL_CATEGORY as
|
3
|
-
import { getGradesBasedOnGoalAvailability as
|
4
|
-
import { getCategorizedCurriculumStandards as
|
5
|
-
const
|
2
|
+
import { GOAL_CATEGORY as A } from "../../../../constants.js";
|
3
|
+
import { getGradesBasedOnGoalAvailability as S, getMajorsFromConfigBasedOnBoardAndGrade as e } from "../../../milestone-create-helpers.js";
|
4
|
+
import { getCategorizedCurriculumStandards as m } from "../../class-details-step/class-details-utils.js";
|
5
|
+
const _ = ({
|
6
6
|
config: r,
|
7
|
-
searchChapterFields:
|
8
|
-
region:
|
7
|
+
searchChapterFields: u,
|
8
|
+
region: o,
|
9
9
|
courseStream: d,
|
10
|
-
classRatio:
|
11
|
-
enrollmentType: a
|
12
|
-
flow: O
|
10
|
+
classRatio: s,
|
11
|
+
enrollmentType: a
|
13
12
|
}) => {
|
14
|
-
const { selectedCurriculum:
|
15
|
-
() =>
|
16
|
-
countryCode:
|
13
|
+
const { selectedCurriculum: O = "", selectedGrade: C = "" } = u, G = t(() => S(r, "SCHOOL_SUCCESS", d, a), [r, d, a]), g = t(
|
14
|
+
() => m(r, {
|
15
|
+
countryCode: o ?? "",
|
17
16
|
grade: C,
|
18
|
-
goalCategory:
|
17
|
+
goalCategory: A.SCHOOL_SUCCESS,
|
19
18
|
courseStream: d,
|
20
|
-
classRatio:
|
21
|
-
enrollmentType: a
|
22
|
-
flow: O
|
19
|
+
classRatio: s,
|
20
|
+
enrollmentType: a
|
23
21
|
}),
|
24
|
-
[r,
|
25
|
-
),
|
22
|
+
[r, o, C, d, s, a]
|
23
|
+
), i = t(() => e(
|
26
24
|
r,
|
27
|
-
|
25
|
+
O,
|
28
26
|
C,
|
29
27
|
d,
|
30
28
|
a
|
31
|
-
), [C, a,
|
29
|
+
), [C, a, O, r, d]);
|
32
30
|
return {
|
33
|
-
grades:
|
34
|
-
boards:
|
35
|
-
majors:
|
31
|
+
grades: G,
|
32
|
+
boards: g,
|
33
|
+
majors: i
|
36
34
|
};
|
37
35
|
};
|
38
36
|
export {
|
39
|
-
|
37
|
+
_ as useCatalogHelpers
|
40
38
|
};
|
41
39
|
//# sourceMappingURL=use-catalog-helpers.js.map
|
package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-catalog-helpers.js","sources":["../../../../../../../src/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.ts"],"sourcesContent":["import type { ISectionOption } from '../../../../../ui/section-list/section-list-types';\nimport type {\n IMilestoneConfig,\n ISearchChapterFields,\n TCourseStream,\n TCurriculumStandardOption,\n TEnrollmentTypes,\n
|
1
|
+
{"version":3,"file":"use-catalog-helpers.js","sources":["../../../../../../../src/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.ts"],"sourcesContent":["import type { ISectionOption } from '../../../../../ui/section-list/section-list-types';\nimport type {\n IMilestoneConfig,\n ISearchChapterFields,\n TCourseStream,\n TCurriculumStandardOption,\n TEnrollmentTypes,\n} from '../../../milestone-create-types';\n\nimport { useMemo } from 'react';\n\nimport { GOAL_CATEGORY } from '../../../../constants';\nimport {\n getGradesBasedOnGoalAvailability,\n getMajorsFromConfigBasedOnBoardAndGrade,\n} from '../../../milestone-create-helpers';\nimport { getCategorizedCurriculumStandards } from '../../class-details-step/class-details-utils';\n\ntype TOptions = { id: string; label: string };\n\ninterface IUseCatalogHelpers {\n (args: {\n config: IMilestoneConfig;\n searchChapterFields: Partial<ISearchChapterFields>;\n region: string;\n courseStream: TCourseStream;\n classRatio: number;\n enrollmentType: TEnrollmentTypes;\n }): {\n grades: TOptions[];\n boards: ISectionOption<TCurriculumStandardOption>[];\n majors: TOptions[];\n };\n}\n\nconst useCatalogHelpers: IUseCatalogHelpers = ({\n config,\n searchChapterFields,\n region,\n courseStream,\n classRatio,\n enrollmentType,\n}) => {\n const { selectedCurriculum = '', selectedGrade = '' } = searchChapterFields;\n\n const grades = useMemo(() => {\n //* We don't allow to add custom chapters to TEST_PREP & ENRICHMENT\n return getGradesBasedOnGoalAvailability(config, 'SCHOOL_SUCCESS', courseStream, enrollmentType);\n }, [config, courseStream, enrollmentType]);\n\n const boards = useMemo(\n () =>\n getCategorizedCurriculumStandards(config, {\n countryCode: region ?? '',\n grade: selectedGrade,\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream,\n classRatio,\n enrollmentType,\n }),\n [config, region, selectedGrade, courseStream, classRatio, enrollmentType],\n );\n\n const majors = useMemo(() => {\n return getMajorsFromConfigBasedOnBoardAndGrade(\n config,\n selectedCurriculum,\n selectedGrade,\n courseStream,\n enrollmentType,\n );\n }, [selectedGrade, enrollmentType, selectedCurriculum, config, courseStream]);\n\n return {\n grades,\n boards,\n majors,\n };\n};\n\nexport { useCatalogHelpers };\n"],"names":["useCatalogHelpers","config","searchChapterFields","region","courseStream","classRatio","enrollmentType","selectedCurriculum","selectedGrade","grades","useMemo","getGradesBasedOnGoalAvailability","boards","getCategorizedCurriculumStandards","GOAL_CATEGORY","majors","getMajorsFromConfigBasedOnBoardAndGrade"],"mappings":";;;;AAmCA,MAAMA,IAAwC,CAAC;AAAA,EAC7C,QAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,QAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,gBAAAC;AACF,MAAM;AACJ,QAAM,EAAE,oBAAAC,IAAqB,IAAI,eAAAC,IAAgB,OAAON,GAElDO,IAASC,EAAQ,MAEdC,EAAiCV,GAAQ,kBAAkBG,GAAcE,CAAc,GAC7F,CAACL,GAAQG,GAAcE,CAAc,CAAC,GAEnCM,IAASF;AAAA,IACb,MACEG,EAAkCZ,GAAQ;AAAA,MACxC,aAAaE,KAAU;AAAA,MACvB,OAAOK;AAAA,MACP,cAAcM,EAAc;AAAA,MAC5B,cAAAV;AAAA,MACA,YAAAC;AAAA,MACA,gBAAAC;AAAA,IAAA,CACD;AAAA,IACH,CAACL,GAAQE,GAAQK,GAAeJ,GAAcC,GAAYC,CAAc;AAAA,EAAA,GAGpES,IAASL,EAAQ,MACdM;AAAA,IACLf;AAAA,IACAM;AAAA,IACAC;AAAA,IACAJ;AAAA,IACAE;AAAA,EAAA,GAED,CAACE,GAAeF,GAAgBC,GAAoBN,GAAQG,CAAY,CAAC;AAErE,SAAA;AAAA,IACL,QAAAK;AAAA,IACA,QAAAG;AAAA,IACA,QAAAG;AAAA,EAAA;AAEJ;"}
|
@@ -1,13 +1,13 @@
|
|
1
1
|
import { jsx as c } from "react/jsx-runtime";
|
2
|
-
import { memo as E, useCallback as
|
2
|
+
import { memo as E, useCallback as f, useMemo as M } from "react";
|
3
3
|
import O from "../../../../../../ui/layout/flex-view.js";
|
4
4
|
import { WARNING_MESSAGES as $ } from "../../../../../constants.js";
|
5
5
|
import { useMilestoneContext as x } from "../../../../milestone-create-context.js";
|
6
6
|
import { getSelectedGoalCategoryData as F, computeChangeDetection as R, computeChapterGoalCategoryOnGradeNBoard as T } from "../../utils.js";
|
7
|
-
import
|
7
|
+
import h from "./category-card.js";
|
8
8
|
import { CategoryContainerWrapper as b } from "./chapter-category-styled.js";
|
9
|
-
const X = E((
|
10
|
-
const { onFormDataChange:
|
9
|
+
const X = E((G) => {
|
10
|
+
const { onFormDataChange: s, config: t, formData: y, onChapterExitWarning: r, courseStream: a, enrollmentType: n } = G, { flow: _ } = x(), { chapterGoalCategory: D, grade: p, board: C, testType: g, region: d, primaryChaptersList: u } = y, { primaryGoalCategory: e } = D || {}, i = f(
|
11
11
|
(o) => {
|
12
12
|
const l = F({
|
13
13
|
goalCode: o,
|
@@ -15,49 +15,48 @@ const X = E((y) => {
|
|
15
15
|
courseStream: a,
|
16
16
|
enrollmentType: n
|
17
17
|
});
|
18
|
-
|
18
|
+
s({
|
19
19
|
chapterGoalCategory: {
|
20
20
|
primaryGoalCategory: l
|
21
21
|
}
|
22
22
|
});
|
23
23
|
},
|
24
|
-
[t, a, n,
|
25
|
-
), N =
|
24
|
+
[t, a, n, s]
|
25
|
+
), N = f(
|
26
26
|
(o) => {
|
27
27
|
if (o === (e == null ? void 0 : e.goal_code)) return null;
|
28
|
-
R(
|
28
|
+
R(u, e) ? r == null || r({
|
29
29
|
description: $.GOAL_CHANGE_WARNING,
|
30
30
|
onSuccess: () => {
|
31
|
-
|
31
|
+
i(o);
|
32
32
|
}
|
33
|
-
}) :
|
33
|
+
}) : i(o);
|
34
34
|
},
|
35
|
-
[
|
35
|
+
[i, u, e, r]
|
36
36
|
), S = M(
|
37
37
|
() => T({
|
38
38
|
config: t,
|
39
|
-
testType:
|
39
|
+
testType: g,
|
40
40
|
courseStream: a,
|
41
41
|
enrollmentType: n,
|
42
|
-
grade:
|
43
|
-
board:
|
44
|
-
region:
|
45
|
-
flow: i
|
42
|
+
grade: p,
|
43
|
+
board: C,
|
44
|
+
region: d
|
46
45
|
}),
|
47
|
-
[t,
|
46
|
+
[t, g, p, n, C, d, a]
|
48
47
|
);
|
49
|
-
return e ? /* @__PURE__ */ c(b, { $widthX: 12.25, children:
|
50
|
-
const { goal_name: A, goal_code:
|
48
|
+
return e ? /* @__PURE__ */ c(b, { $widthX: 12.25, children: _ === "CREATE" ? S.map((o, l) => {
|
49
|
+
const { goal_name: A, goal_code: m } = o, w = m === e.goal_code;
|
51
50
|
return /* @__PURE__ */ c(
|
52
51
|
O,
|
53
52
|
{
|
54
|
-
onClick: () => N(
|
53
|
+
onClick: () => N(m),
|
55
54
|
$width: "100%",
|
56
|
-
children: /* @__PURE__ */ c(
|
55
|
+
children: /* @__PURE__ */ c(h, { selected: w, title: A })
|
57
56
|
},
|
58
|
-
`${
|
57
|
+
`${m}_${l}`
|
59
58
|
);
|
60
|
-
}) : /* @__PURE__ */ c(
|
59
|
+
}) : /* @__PURE__ */ c(h, { selected: !0, title: e.goal_name }) }) : null;
|
61
60
|
});
|
62
61
|
export {
|
63
62
|
X as default
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"chapter-category-container.js","sources":["../../../../../../../../src/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.tsx"],"sourcesContent":["import type { IChapterSelectionWrapper } from '../chapter-selection-step-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useMemo } from 'react';\n\nimport FlexView from '../../../../../../ui/layout/flex-view';\nimport { WARNING_MESSAGES } from '../../../../../constants';\nimport { useMilestoneContext } from '../../../../milestone-create-context';\nimport {\n computeChangeDetection,\n computeChapterGoalCategoryOnGradeNBoard,\n getSelectedGoalCategoryData,\n} from '../../utils';\nimport CategoryCard from './category-card';\nimport * as Styled from './chapter-category-styled';\n\nconst ChapterCategoryContainer: FC<IChapterSelectionWrapper> = memo(props => {\n const { onFormDataChange, config, formData, onChapterExitWarning, courseStream, enrollmentType } =\n props;\n\n const { flow } = useMilestoneContext();\n\n const { chapterGoalCategory, grade, board, testType, region, primaryChaptersList } = formData;\n const { primaryGoalCategory } = chapterGoalCategory || {};\n\n const handleOnFormDataChange = useCallback(\n (goalCode: string) => {\n const goalCategoryData = getSelectedGoalCategoryData({\n goalCode,\n config,\n courseStream,\n enrollmentType,\n });\n\n onFormDataChange({\n chapterGoalCategory: {\n primaryGoalCategory: goalCategoryData,\n },\n });\n },\n [config, courseStream, enrollmentType, onFormDataChange],\n );\n\n const handleOnGoalSelection = useCallback(\n (goalCode: string) => {\n if (goalCode === primaryGoalCategory?.goal_code) return null;\n\n const isChangeDetected = computeChangeDetection(primaryChaptersList, primaryGoalCategory);\n\n if (isChangeDetected) {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange(goalCode);\n },\n });\n } else {\n handleOnFormDataChange(goalCode);\n }\n },\n [handleOnFormDataChange, primaryChaptersList, primaryGoalCategory, onChapterExitWarning],\n );\n\n const filteredGoalCurriculumMap = useMemo(\n () =>\n computeChapterGoalCategoryOnGradeNBoard({\n config,\n testType,\n courseStream,\n enrollmentType,\n grade,\n board,\n region,\n
|
1
|
+
{"version":3,"file":"chapter-category-container.js","sources":["../../../../../../../../src/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.tsx"],"sourcesContent":["import type { IChapterSelectionWrapper } from '../chapter-selection-step-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useMemo } from 'react';\n\nimport FlexView from '../../../../../../ui/layout/flex-view';\nimport { WARNING_MESSAGES } from '../../../../../constants';\nimport { useMilestoneContext } from '../../../../milestone-create-context';\nimport {\n computeChangeDetection,\n computeChapterGoalCategoryOnGradeNBoard,\n getSelectedGoalCategoryData,\n} from '../../utils';\nimport CategoryCard from './category-card';\nimport * as Styled from './chapter-category-styled';\n\nconst ChapterCategoryContainer: FC<IChapterSelectionWrapper> = memo(props => {\n const { onFormDataChange, config, formData, onChapterExitWarning, courseStream, enrollmentType } =\n props;\n\n const { flow } = useMilestoneContext();\n\n const { chapterGoalCategory, grade, board, testType, region, primaryChaptersList } = formData;\n const { primaryGoalCategory } = chapterGoalCategory || {};\n\n const handleOnFormDataChange = useCallback(\n (goalCode: string) => {\n const goalCategoryData = getSelectedGoalCategoryData({\n goalCode,\n config,\n courseStream,\n enrollmentType,\n });\n\n onFormDataChange({\n chapterGoalCategory: {\n primaryGoalCategory: goalCategoryData,\n },\n });\n },\n [config, courseStream, enrollmentType, onFormDataChange],\n );\n\n const handleOnGoalSelection = useCallback(\n (goalCode: string) => {\n if (goalCode === primaryGoalCategory?.goal_code) return null;\n\n const isChangeDetected = computeChangeDetection(primaryChaptersList, primaryGoalCategory);\n\n if (isChangeDetected) {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange(goalCode);\n },\n });\n } else {\n handleOnFormDataChange(goalCode);\n }\n },\n [handleOnFormDataChange, primaryChaptersList, primaryGoalCategory, onChapterExitWarning],\n );\n\n const filteredGoalCurriculumMap = useMemo(\n () =>\n computeChapterGoalCategoryOnGradeNBoard({\n config,\n testType,\n courseStream,\n enrollmentType,\n grade,\n board,\n region,\n }),\n [config, testType, grade, enrollmentType, board, region, courseStream],\n );\n\n if (!primaryGoalCategory) return null;\n\n return (\n <Styled.CategoryContainerWrapper $widthX={12.25}>\n {flow === 'CREATE' ? (\n filteredGoalCurriculumMap.map((goalCurriculum, idx) => {\n const { goal_name: goalName, goal_code: goalCode } = goalCurriculum;\n const selected = goalCode === primaryGoalCategory.goal_code;\n\n return (\n <FlexView\n key={`${goalCode}_${idx}`}\n onClick={() => handleOnGoalSelection(goalCode)}\n $width=\"100%\"\n >\n <CategoryCard selected={selected} title={goalName} />\n </FlexView>\n );\n })\n ) : (\n <CategoryCard selected={true} title={primaryGoalCategory.goal_name} />\n )}\n </Styled.CategoryContainerWrapper>\n );\n});\n\nexport default ChapterCategoryContainer;\n"],"names":["ChapterCategoryContainer","memo","props","onFormDataChange","config","formData","onChapterExitWarning","courseStream","enrollmentType","flow","useMilestoneContext","chapterGoalCategory","grade","board","testType","region","primaryChaptersList","primaryGoalCategory","handleOnFormDataChange","useCallback","goalCode","goalCategoryData","getSelectedGoalCategoryData","handleOnGoalSelection","computeChangeDetection","WARNING_MESSAGES","filteredGoalCurriculumMap","useMemo","computeChapterGoalCategoryOnGradeNBoard","jsx","Styled.CategoryContainerWrapper","goalCurriculum","idx","goalName","selected","FlexView","CategoryCard"],"mappings":";;;;;;;;AAgBM,MAAAA,IAAyDC,EAAK,CAASC,MAAA;AAC3E,QAAM,EAAE,kBAAAC,GAAkB,QAAAC,GAAQ,UAAAC,GAAU,sBAAAC,GAAsB,cAAAC,GAAc,gBAAAC,EAC9E,IAAAN,GAEI,EAAE,MAAAO,MAASC,KAEX,EAAE,qBAAAC,GAAqB,OAAAC,GAAO,OAAAC,GAAO,UAAAC,GAAU,QAAAC,GAAQ,qBAAAC,EAAwB,IAAAX,GAC/E,EAAE,qBAAAY,EAAA,IAAwBN,KAAuB,IAEjDO,IAAyBC;AAAA,IAC7B,CAACC,MAAqB;AACpB,YAAMC,IAAmBC,EAA4B;AAAA,QACnD,UAAAF;AAAA,QACA,QAAAhB;AAAA,QACA,cAAAG;AAAA,QACA,gBAAAC;AAAA,MAAA,CACD;AAEgB,MAAAL,EAAA;AAAA,QACf,qBAAqB;AAAA,UACnB,qBAAqBkB;AAAA,QACvB;AAAA,MAAA,CACD;AAAA,IACH;AAAA,IACA,CAACjB,GAAQG,GAAcC,GAAgBL,CAAgB;AAAA,EAAA,GAGnDoB,IAAwBJ;AAAA,IAC5B,CAACC,MAAqB;AAChB,UAAAA,OAAaH,KAAA,gBAAAA,EAAqB,WAAkB,QAAA;AAIxD,MAFyBO,EAAuBR,GAAqBC,CAAmB,IAG/DX,KAAA,QAAAA,EAAA;AAAA,QACrB,aAAamB,EAAiB;AAAA,QAC9B,WAAW,MAAM;AACf,UAAAP,EAAuBE,CAAQ;AAAA,QACjC;AAAA,MAAA,KAGFF,EAAuBE,CAAQ;AAAA,IAEnC;AAAA,IACA,CAACF,GAAwBF,GAAqBC,GAAqBX,CAAoB;AAAA,EAAA,GAGnFoB,IAA4BC;AAAA,IAChC,MACEC,EAAwC;AAAA,MACtC,QAAAxB;AAAA,MACA,UAAAU;AAAA,MACA,cAAAP;AAAA,MACA,gBAAAC;AAAA,MACA,OAAAI;AAAA,MACA,OAAAC;AAAA,MACA,QAAAE;AAAA,IAAA,CACD;AAAA,IACH,CAACX,GAAQU,GAAUF,GAAOJ,GAAgBK,GAAOE,GAAQR,CAAY;AAAA,EAAA;AAGnE,SAACU,IAGF,gBAAAY,EAAAC,GAAA,EAAgC,SAAS,OACvC,UAASrB,MAAA,WACRiB,EAA0B,IAAI,CAACK,GAAgBC,MAAQ;AACrD,UAAM,EAAE,WAAWC,GAAU,WAAWb,MAAaW,GAC/CG,IAAWd,MAAaH,EAAoB;AAGhD,WAAA,gBAAAY;AAAA,MAACM;AAAA,MAAA;AAAA,QAEC,SAAS,MAAMZ,EAAsBH,CAAQ;AAAA,QAC7C,QAAO;AAAA,QAEP,UAAC,gBAAAS,EAAAO,GAAA,EAAa,UAAAF,GAAoB,OAAOD,GAAU;AAAA,MAAA;AAAA,MAJ9C,GAAGb,CAAQ,IAAIY,CAAG;AAAA,IAAA;AAAA,EAO5B,CAAA,IAEA,gBAAAH,EAAAO,GAAA,EAAa,UAAU,IAAM,OAAOnB,EAAoB,WAAW,EAExE,CAAA,IAtB+B;AAwBnC,CAAC;"}
|
@@ -1,20 +1,20 @@
|
|
1
1
|
import { GOAL_CATEGORY as M } from "../../../constants.js";
|
2
|
-
import { checkEnrollmentAvailable as
|
3
|
-
const
|
2
|
+
import { checkEnrollmentAvailable as E, getTestTypeBasedCategory as O } from "../test-type-step/test-type-utils.js";
|
3
|
+
const h = (e, t, o) => {
|
4
4
|
const a = e.some(
|
5
5
|
(l) => l === o
|
6
6
|
), n = t.length > 0 ? t.some(
|
7
7
|
(l) => l === o
|
8
8
|
) : !0;
|
9
9
|
return !a && n;
|
10
|
-
},
|
10
|
+
}, I = ({
|
11
11
|
goalCode: e,
|
12
12
|
config: t,
|
13
13
|
courseStream: o,
|
14
14
|
enrollmentType: a
|
15
15
|
}) => {
|
16
16
|
const { goal_curriculum_map: n } = t;
|
17
|
-
return n.find((r) => r.goal_code !== e || r.course_stream !== o ? !1 :
|
17
|
+
return n.find((r) => r.goal_code !== e || r.course_stream !== o ? !1 : E(r, a));
|
18
18
|
}, B = ({
|
19
19
|
goalCurriculumStandard: e,
|
20
20
|
referenceStandard: t
|
@@ -25,30 +25,28 @@ const T = (e, t, o) => {
|
|
25
25
|
enrollmentType: a,
|
26
26
|
grade: n,
|
27
27
|
board: l,
|
28
|
-
region: r
|
29
|
-
flow: _
|
28
|
+
region: r
|
30
29
|
}) => {
|
31
|
-
const { goal_curriculum_map:
|
32
|
-
return
|
30
|
+
const { goal_curriculum_map: g } = e, c = O(t);
|
31
|
+
return g.filter((u) => {
|
33
32
|
const {
|
34
|
-
available_grades:
|
35
|
-
available_countries:
|
36
|
-
goal_curriculum_standard:
|
37
|
-
goal_category:
|
38
|
-
blocked_enrollment_types:
|
39
|
-
available_enrollment_types:
|
40
|
-
|
41
|
-
|
42
|
-
goalCurriculumStandard: b,
|
33
|
+
available_grades: G,
|
34
|
+
available_countries: d,
|
35
|
+
goal_curriculum_standard: _,
|
36
|
+
goal_category: b,
|
37
|
+
blocked_enrollment_types: C,
|
38
|
+
available_enrollment_types: f
|
39
|
+
} = u, s = G.some((m) => m === n), i = d.some((m) => m === r), A = B({
|
40
|
+
goalCurriculumStandard: _,
|
43
41
|
referenceStandard: l
|
44
|
-
}),
|
45
|
-
|
46
|
-
|
42
|
+
}), p = b === c, v = u.course_stream === o, S = h(
|
43
|
+
C,
|
44
|
+
f,
|
47
45
|
a
|
48
46
|
);
|
49
|
-
return c === M.SCHOOL_SUCCESS ?
|
47
|
+
return c === M.SCHOOL_SUCCESS ? S && v && s && A && p : S && v && s && p && (d.length > 0 ? i : !0);
|
50
48
|
});
|
51
|
-
},
|
49
|
+
}, P = (e, t, o) => {
|
52
50
|
if (!e)
|
53
51
|
return {
|
54
52
|
customChaptersList: [],
|
@@ -75,51 +73,51 @@ const T = (e, t, o) => {
|
|
75
73
|
majorsPresent: n,
|
76
74
|
countryCode: l,
|
77
75
|
selectedCategory: r,
|
78
|
-
courseStream:
|
79
|
-
enrollmentType:
|
76
|
+
courseStream: g,
|
77
|
+
enrollmentType: c
|
80
78
|
}) => {
|
81
|
-
const { goal_curriculum_map:
|
82
|
-
return
|
79
|
+
const { goal_curriculum_map: u } = e;
|
80
|
+
return u.find((d) => {
|
83
81
|
const {
|
84
|
-
goal_curriculum_standard:
|
82
|
+
goal_curriculum_standard: _,
|
85
83
|
available_grades: b,
|
86
|
-
program_code:
|
87
|
-
available_countries:
|
84
|
+
program_code: C,
|
85
|
+
available_countries: f,
|
88
86
|
goal_category: s,
|
89
87
|
available_enrollment_types: i,
|
90
88
|
blocked_enrollment_types: A
|
91
89
|
} = d;
|
92
90
|
if (s !== r) return;
|
93
|
-
const p =
|
91
|
+
const p = h(
|
94
92
|
A,
|
95
93
|
i,
|
96
|
-
|
97
|
-
),
|
98
|
-
goalCurriculumStandard:
|
94
|
+
c
|
95
|
+
), v = b.some((k) => k === t), S = f.length > 0 ? f.some((k) => k === l) : !0, m = B({
|
96
|
+
goalCurriculumStandard: _,
|
99
97
|
referenceStandard: o
|
100
|
-
}),
|
101
|
-
return n ? a ? p &&
|
98
|
+
}), T = a === C, y = d.course_stream === g;
|
99
|
+
return n ? a ? p && y && S && v && m && T : void 0 : p && y && S && v && m;
|
102
100
|
});
|
103
101
|
}, D = (e, t, o, a, n, l) => {
|
104
102
|
if (!n && !o) return {};
|
105
|
-
const { country_code_to_name_map: r, goal_curriculum_map:
|
106
|
-
let
|
107
|
-
return
|
103
|
+
const { country_code_to_name_map: r, goal_curriculum_map: g } = t;
|
104
|
+
let c = {};
|
105
|
+
return g.filter((u) => u.course_stream !== e ? !1 : E(u, a)).forEach((u) => {
|
108
106
|
const {
|
109
|
-
available_grades:
|
107
|
+
available_grades: G,
|
110
108
|
available_countries: d,
|
111
|
-
blocked_countries:
|
109
|
+
blocked_countries: _,
|
112
110
|
goal_category: b
|
113
|
-
} =
|
114
|
-
!
|
111
|
+
} = u, C = G.some((s) => s === n);
|
112
|
+
!_.some(
|
115
113
|
(s) => s === l
|
116
|
-
) &&
|
114
|
+
) && C && b === o && (d.length > 0 ? d.reduce((s, i) => (s[i] || (s[i] = r[i] ?? ""), s), c) : c = {
|
117
115
|
...r,
|
118
|
-
...
|
116
|
+
...c
|
119
117
|
});
|
120
|
-
}),
|
118
|
+
}), c;
|
121
119
|
}, H = (e, t) => {
|
122
|
-
const { recommendedChaptersList: o, customChaptersList: a } =
|
120
|
+
const { recommendedChaptersList: o, customChaptersList: a } = P(
|
123
121
|
e,
|
124
122
|
t,
|
125
123
|
!0
|
@@ -129,11 +127,11 @@ const T = (e, t, o) => {
|
|
129
127
|
export {
|
130
128
|
H as computeChangeDetection,
|
131
129
|
j as computeChapterGoalCategoryOnGradeNBoard,
|
132
|
-
|
130
|
+
P as computeRecommendedNCustomChapters,
|
133
131
|
D as getCountriesWhereCurrentGradeNCategoryIsAvailable,
|
134
132
|
x as getGradeBoardAndMajorBasedProgramCode,
|
135
133
|
B as getIfGoalCurriculumStandardIsAccessible,
|
136
|
-
|
137
|
-
|
134
|
+
I as getSelectedGoalCategoryData,
|
135
|
+
h as getStudentEnrollmentSupported
|
138
136
|
};
|
139
137
|
//# sourceMappingURL=utils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../../src/features/milestone/create/comps/chapters-selection-step/utils.ts"],"sourcesContent":["import type { TTestType } from '../../../types';\nimport type {\n IGoalCurriculumMap,\n IMilestoneConfig,\n TCourseStream,\n TEnrollmentTypes,\n TGoalCategory,\n TMilestoneFormFlow,\n} from '../../milestone-create-types';\nimport type { IChapter } from '../chapter-item/chapter-item-types';\nimport type { TGradeBasedBoardInfo } from './types';\n\nimport { GOAL_CATEGORY } from '../../../constants';\nimport {\n getTestTypeBasedCategory,\n checkEnrollmentAvailable,\n} from '../test-type-step/test-type-utils';\n\nconst getStudentEnrollmentSupported = (\n blockedEnrollmentTypes: TEnrollmentTypes[],\n availableEnrollmentTypes: TEnrollmentTypes[],\n enrollmentType: TEnrollmentTypes,\n) => {\n const isBlocked = blockedEnrollmentTypes.some(\n blockedEnrollment => blockedEnrollment === enrollmentType,\n );\n\n const isAvailable =\n availableEnrollmentTypes.length > 0\n ? availableEnrollmentTypes.some(\n availableEnrollmentType => availableEnrollmentType === enrollmentType,\n )\n : true;\n\n return !isBlocked && isAvailable;\n};\n\ninterface IgetSelectedGoalCategoryData {\n goalCode: string;\n config: IMilestoneConfig;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n}\n\nconst getSelectedGoalCategoryData = ({\n goalCode,\n config,\n courseStream,\n enrollmentType,\n}: IgetSelectedGoalCategoryData) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n\n const selectedGoalCategoryInfo = goalCurriculumMap.find(goalInfo => {\n if (goalInfo.goal_code !== goalCode) return false;\n\n if (goalInfo.course_stream !== courseStream) return false;\n\n return checkEnrollmentAvailable(goalInfo, enrollmentType);\n });\n\n return selectedGoalCategoryInfo;\n};\n\nconst getIfGoalCurriculumStandardIsAccessible = ({\n goalCurriculumStandard,\n referenceStandard,\n}: {\n goalCurriculumStandard?: string;\n referenceStandard?: string;\n}) => {\n if (!goalCurriculumStandard) return true;\n\n return goalCurriculumStandard === referenceStandard;\n};\n\ninterface IcomputeChapterGoalCategoryOnGradeNBoard {\n config: IMilestoneConfig;\n testType: TTestType;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n grade?: string;\n board?: string;\n region?: string;\n flow?: TMilestoneFormFlow | null;\n}\n\nconst computeChapterGoalCategoryOnGradeNBoard = ({\n config,\n testType,\n courseStream,\n enrollmentType,\n grade,\n board,\n region,\n flow,\n}: IcomputeChapterGoalCategoryOnGradeNBoard) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n const selectedGoalCategory = getTestTypeBasedCategory(testType);\n\n return goalCurriculumMap.filter(goalInfo => {\n const {\n available_grades: availableGrades,\n available_countries: availableCountries,\n goal_curriculum_standard: goalCurriculumStandard,\n goal_category: goalCategory,\n blocked_enrollment_types: blockedEnrollmentTypes,\n available_enrollment_types: availableEnrollmentTypes,\n is_live: isLive,\n } = goalInfo;\n const canIncludeGoal = flow === 'CREATE' ? isLive : true;\n const gradePresent = availableGrades.some(gradeInfo => gradeInfo === grade);\n const regionPresent = availableCountries.some(country => country === region);\n const boardPreset = getIfGoalCurriculumStandardIsAccessible({\n goalCurriculumStandard,\n referenceStandard: board,\n });\n const selectedCategoryIsPresent = goalCategory === selectedGoalCategory;\n const isSameCourse = goalInfo.course_stream === courseStream;\n const isStudentEnrollmentTypeSupported = getStudentEnrollmentSupported(\n blockedEnrollmentTypes,\n availableEnrollmentTypes,\n enrollmentType,\n );\n\n if (selectedGoalCategory === GOAL_CATEGORY.SCHOOL_SUCCESS) {\n return (\n canIncludeGoal &&\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n gradePresent &&\n boardPreset &&\n selectedCategoryIsPresent\n );\n }\n\n return (\n canIncludeGoal &&\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n gradePresent &&\n selectedCategoryIsPresent &&\n (availableCountries.length > 0 ? regionPresent : true)\n );\n });\n};\n\nconst computeRecommendedNCustomChapters = (\n primaryChaptersList?: IChapter[],\n primaryGoalCategory?: IGoalCurriculumMap,\n isGoalCreation?: boolean,\n) => {\n if (!primaryChaptersList) {\n return {\n customChaptersList: [],\n recommendedChaptersList: [],\n };\n }\n\n //* To compensate old milestone flow during edit stage.\n if (!isGoalCreation) {\n return {\n customChaptersList: primaryChaptersList.filter(chapter => chapter.search_and_added),\n recommendedChaptersList: primaryChaptersList.filter(chapter => !chapter.search_and_added),\n };\n }\n\n const { program_id: programId } = primaryGoalCategory || {};\n\n const customChaptersList = primaryChaptersList?.filter(\n chapter => chapter.program_id !== programId,\n );\n const recommendedChaptersList = primaryChaptersList?.filter(\n chapter => chapter.program_id === programId,\n );\n\n return {\n customChaptersList,\n recommendedChaptersList,\n };\n};\n\ninterface IGetGradeBoardAndMajorBasedProgramCode {\n (\n config: IMilestoneConfig,\n props: {\n grade: string;\n board: string;\n major: string;\n countryCode: string;\n majorsPresent: boolean;\n selectedCategory: TGoalCategory;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n },\n ): IGoalCurriculumMap | undefined;\n}\n\nconst getGradeBoardAndMajorBasedProgramCode: IGetGradeBoardAndMajorBasedProgramCode = (\n config,\n {\n grade,\n board,\n major,\n majorsPresent,\n countryCode,\n selectedCategory,\n courseStream,\n enrollmentType,\n },\n) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n\n const programInfo = goalCurriculumMap.find(goalData => {\n const {\n goal_curriculum_standard: goalCurriculumStandard,\n available_grades: availableGrades,\n program_code: programCode,\n available_countries: availableCountries,\n goal_category: goalCategory,\n available_enrollment_types: availableEnrollmentTypes,\n blocked_enrollment_types: blockedEnrollmentTypes,\n } = goalData;\n\n if (goalCategory !== selectedCategory) return undefined;\n\n const isStudentEnrollmentTypeSupported = getStudentEnrollmentSupported(\n blockedEnrollmentTypes,\n availableEnrollmentTypes,\n enrollmentType,\n );\n\n const isGradeAvailable = availableGrades.some(availableGrade => availableGrade === grade);\n const isRegionAvailable =\n availableCountries.length > 0\n ? availableCountries.some(country => country === countryCode)\n : true;\n const isBoardAvailable = getIfGoalCurriculumStandardIsAccessible({\n goalCurriculumStandard,\n referenceStandard: board,\n });\n const isMajorAvailable = major === programCode;\n const isSameCourse = goalData.course_stream === courseStream;\n\n if (majorsPresent) {\n if (major)\n return (\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n isRegionAvailable &&\n isGradeAvailable &&\n isBoardAvailable &&\n isMajorAvailable\n );\n\n return undefined;\n }\n\n return (\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n isRegionAvailable &&\n isGradeAvailable &&\n isBoardAvailable\n );\n });\n\n return programInfo;\n};\n\nconst getProgramCodeBasedOnGradeAndBoard = (\n gradeBasedBoardInfo: TGradeBasedBoardInfo,\n grade: string,\n board: string,\n course?: string,\n) => {\n const { gradeSyllabusMap } = gradeBasedBoardInfo[board] || {};\n\n if (gradeSyllabusMap) {\n const programInfo = gradeSyllabusMap[grade];\n\n if (programInfo) {\n if (programInfo.majors) {\n return course;\n }\n\n return programInfo.program_code;\n }\n }\n\n return undefined;\n};\n\nconst getCountriesWhereCurrentGradeNCategoryIsAvailable = (\n courseStream: TCourseStream,\n config: IMilestoneConfig,\n selectedGoalCategory: string | undefined,\n enrollmentType: TEnrollmentTypes,\n grade?: string,\n currentCountryCode?: string,\n) => {\n if (!grade && !selectedGoalCategory) return {};\n\n const { country_code_to_name_map: countryCodeToNameMap, goal_curriculum_map: goalCurriculumMap } =\n config;\n let countries: Record<string, string> = {};\n\n goalCurriculumMap\n .filter(goalInfo => {\n if (goalInfo.course_stream !== courseStream) return false;\n\n return checkEnrollmentAvailable(goalInfo, enrollmentType);\n })\n .forEach(goalData => {\n const {\n available_grades: availableGrades,\n available_countries: availableCountries,\n blocked_countries: blockedCountries,\n goal_category: goalCategory,\n } = goalData;\n const isGradeAvailable = availableGrades.some(availableGrade => availableGrade === grade);\n const isStudentRegionBlocked = blockedCountries.some(\n country => country === currentCountryCode,\n );\n\n if (!isStudentRegionBlocked && isGradeAvailable && goalCategory === selectedGoalCategory) {\n if (availableCountries.length > 0) {\n availableCountries.reduce((acc, countryInfo) => {\n if (!acc[countryInfo]) {\n acc[countryInfo] = countryCodeToNameMap[countryInfo] ?? '';\n }\n\n return acc;\n }, countries);\n } else {\n countries = {\n ...countryCodeToNameMap,\n ...countries,\n };\n }\n }\n });\n\n return countries;\n};\n\nconst computeChangeDetection = (\n primaryProgramList?: IChapter[],\n primaryGoalCategory?: IGoalCurriculumMap,\n) => {\n const { recommendedChaptersList, customChaptersList } = computeRecommendedNCustomChapters(\n primaryProgramList,\n primaryGoalCategory,\n true,\n );\n\n //* This will compensate if any new chapter was added.\n if (customChaptersList.length > 0) return true;\n\n //* This will compensate if any chapter was deselected.\n return recommendedChaptersList.some(chapter => !chapter.added);\n};\n\nexport {\n getSelectedGoalCategoryData,\n computeChapterGoalCategoryOnGradeNBoard,\n computeRecommendedNCustomChapters,\n getGradeBoardAndMajorBasedProgramCode,\n getProgramCodeBasedOnGradeAndBoard,\n getCountriesWhereCurrentGradeNCategoryIsAvailable,\n computeChangeDetection,\n getIfGoalCurriculumStandardIsAccessible,\n getStudentEnrollmentSupported,\n};\n"],"names":["getStudentEnrollmentSupported","blockedEnrollmentTypes","availableEnrollmentTypes","enrollmentType","isBlocked","blockedEnrollment","isAvailable","availableEnrollmentType","getSelectedGoalCategoryData","goalCode","config","courseStream","goalCurriculumMap","goalInfo","checkEnrollmentAvailable","getIfGoalCurriculumStandardIsAccessible","goalCurriculumStandard","referenceStandard","computeChapterGoalCategoryOnGradeNBoard","testType","grade","board","region","flow","selectedGoalCategory","getTestTypeBasedCategory","availableGrades","availableCountries","goalCategory","isLive","canIncludeGoal","gradePresent","gradeInfo","regionPresent","country","boardPreset","selectedCategoryIsPresent","isSameCourse","isStudentEnrollmentTypeSupported","GOAL_CATEGORY","computeRecommendedNCustomChapters","primaryChaptersList","primaryGoalCategory","isGoalCreation","chapter","programId","customChaptersList","recommendedChaptersList","getGradeBoardAndMajorBasedProgramCode","major","majorsPresent","countryCode","selectedCategory","goalData","programCode","isGradeAvailable","availableGrade","isRegionAvailable","isBoardAvailable","isMajorAvailable","getCountriesWhereCurrentGradeNCategoryIsAvailable","currentCountryCode","countryCodeToNameMap","countries","blockedCountries","acc","countryInfo","computeChangeDetection","primaryProgramList"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../../src/features/milestone/create/comps/chapters-selection-step/utils.ts"],"sourcesContent":["import type { TTestType } from '../../../types';\nimport type {\n IGoalCurriculumMap,\n IMilestoneConfig,\n TCourseStream,\n TEnrollmentTypes,\n TGoalCategory,\n} from '../../milestone-create-types';\nimport type { IChapter } from '../chapter-item/chapter-item-types';\nimport type { TGradeBasedBoardInfo } from './types';\n\nimport { GOAL_CATEGORY } from '../../../constants';\nimport {\n getTestTypeBasedCategory,\n checkEnrollmentAvailable,\n} from '../test-type-step/test-type-utils';\n\nconst getStudentEnrollmentSupported = (\n blockedEnrollmentTypes: TEnrollmentTypes[],\n availableEnrollmentTypes: TEnrollmentTypes[],\n enrollmentType: TEnrollmentTypes,\n) => {\n const isBlocked = blockedEnrollmentTypes.some(\n blockedEnrollment => blockedEnrollment === enrollmentType,\n );\n\n const isAvailable =\n availableEnrollmentTypes.length > 0\n ? availableEnrollmentTypes.some(\n availableEnrollmentType => availableEnrollmentType === enrollmentType,\n )\n : true;\n\n return !isBlocked && isAvailable;\n};\n\ninterface IgetSelectedGoalCategoryData {\n goalCode: string;\n config: IMilestoneConfig;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n}\n\nconst getSelectedGoalCategoryData = ({\n goalCode,\n config,\n courseStream,\n enrollmentType,\n}: IgetSelectedGoalCategoryData) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n\n const selectedGoalCategoryInfo = goalCurriculumMap.find(goalInfo => {\n if (goalInfo.goal_code !== goalCode) return false;\n\n if (goalInfo.course_stream !== courseStream) return false;\n\n return checkEnrollmentAvailable(goalInfo, enrollmentType);\n });\n\n return selectedGoalCategoryInfo;\n};\n\nconst getIfGoalCurriculumStandardIsAccessible = ({\n goalCurriculumStandard,\n referenceStandard,\n}: {\n goalCurriculumStandard?: string;\n referenceStandard?: string;\n}) => {\n if (!goalCurriculumStandard) return true;\n\n return goalCurriculumStandard === referenceStandard;\n};\n\ninterface IcomputeChapterGoalCategoryOnGradeNBoard {\n config: IMilestoneConfig;\n testType: TTestType;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n grade?: string;\n board?: string;\n region?: string;\n}\n\nconst computeChapterGoalCategoryOnGradeNBoard = ({\n config,\n testType,\n courseStream,\n enrollmentType,\n grade,\n board,\n region,\n}: IcomputeChapterGoalCategoryOnGradeNBoard) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n const selectedGoalCategory = getTestTypeBasedCategory(testType);\n\n return goalCurriculumMap.filter(goalInfo => {\n const {\n available_grades: availableGrades,\n available_countries: availableCountries,\n goal_curriculum_standard: goalCurriculumStandard,\n goal_category: goalCategory,\n blocked_enrollment_types: blockedEnrollmentTypes,\n available_enrollment_types: availableEnrollmentTypes,\n } = goalInfo;\n const gradePresent = availableGrades.some(gradeInfo => gradeInfo === grade);\n const regionPresent = availableCountries.some(country => country === region);\n const boardPreset = getIfGoalCurriculumStandardIsAccessible({\n goalCurriculumStandard,\n referenceStandard: board,\n });\n const selectedCategoryIsPresent = goalCategory === selectedGoalCategory;\n const isSameCourse = goalInfo.course_stream === courseStream;\n const isStudentEnrollmentTypeSupported = getStudentEnrollmentSupported(\n blockedEnrollmentTypes,\n availableEnrollmentTypes,\n enrollmentType,\n );\n\n if (selectedGoalCategory === GOAL_CATEGORY.SCHOOL_SUCCESS) {\n return (\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n gradePresent &&\n boardPreset &&\n selectedCategoryIsPresent\n );\n }\n\n return (\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n gradePresent &&\n selectedCategoryIsPresent &&\n (availableCountries.length > 0 ? regionPresent : true)\n );\n });\n};\n\nconst computeRecommendedNCustomChapters = (\n primaryChaptersList?: IChapter[],\n primaryGoalCategory?: IGoalCurriculumMap,\n isGoalCreation?: boolean,\n) => {\n if (!primaryChaptersList) {\n return {\n customChaptersList: [],\n recommendedChaptersList: [],\n };\n }\n\n //* To compensate old milestone flow during edit stage.\n if (!isGoalCreation) {\n return {\n customChaptersList: primaryChaptersList.filter(chapter => chapter.search_and_added),\n recommendedChaptersList: primaryChaptersList.filter(chapter => !chapter.search_and_added),\n };\n }\n\n const { program_id: programId } = primaryGoalCategory || {};\n\n const customChaptersList = primaryChaptersList?.filter(\n chapter => chapter.program_id !== programId,\n );\n const recommendedChaptersList = primaryChaptersList?.filter(\n chapter => chapter.program_id === programId,\n );\n\n return {\n customChaptersList,\n recommendedChaptersList,\n };\n};\n\ninterface IGetGradeBoardAndMajorBasedProgramCode {\n (\n config: IMilestoneConfig,\n props: {\n grade: string;\n board: string;\n major: string;\n countryCode: string;\n majorsPresent: boolean;\n selectedCategory: TGoalCategory;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n },\n ): IGoalCurriculumMap | undefined;\n}\n\nconst getGradeBoardAndMajorBasedProgramCode: IGetGradeBoardAndMajorBasedProgramCode = (\n config,\n {\n grade,\n board,\n major,\n majorsPresent,\n countryCode,\n selectedCategory,\n courseStream,\n enrollmentType,\n },\n) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n\n const programInfo = goalCurriculumMap.find(goalData => {\n const {\n goal_curriculum_standard: goalCurriculumStandard,\n available_grades: availableGrades,\n program_code: programCode,\n available_countries: availableCountries,\n goal_category: goalCategory,\n available_enrollment_types: availableEnrollmentTypes,\n blocked_enrollment_types: blockedEnrollmentTypes,\n } = goalData;\n\n if (goalCategory !== selectedCategory) return undefined;\n\n const isStudentEnrollmentTypeSupported = getStudentEnrollmentSupported(\n blockedEnrollmentTypes,\n availableEnrollmentTypes,\n enrollmentType,\n );\n\n const isGradeAvailable = availableGrades.some(availableGrade => availableGrade === grade);\n const isRegionAvailable =\n availableCountries.length > 0\n ? availableCountries.some(country => country === countryCode)\n : true;\n const isBoardAvailable = getIfGoalCurriculumStandardIsAccessible({\n goalCurriculumStandard,\n referenceStandard: board,\n });\n const isMajorAvailable = major === programCode;\n const isSameCourse = goalData.course_stream === courseStream;\n\n if (majorsPresent) {\n if (major)\n return (\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n isRegionAvailable &&\n isGradeAvailable &&\n isBoardAvailable &&\n isMajorAvailable\n );\n\n return undefined;\n }\n\n return (\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n isRegionAvailable &&\n isGradeAvailable &&\n isBoardAvailable\n );\n });\n\n return programInfo;\n};\n\nconst getProgramCodeBasedOnGradeAndBoard = (\n gradeBasedBoardInfo: TGradeBasedBoardInfo,\n grade: string,\n board: string,\n course?: string,\n) => {\n const { gradeSyllabusMap } = gradeBasedBoardInfo[board] || {};\n\n if (gradeSyllabusMap) {\n const programInfo = gradeSyllabusMap[grade];\n\n if (programInfo) {\n if (programInfo.majors) {\n return course;\n }\n\n return programInfo.program_code;\n }\n }\n\n return undefined;\n};\n\nconst getCountriesWhereCurrentGradeNCategoryIsAvailable = (\n courseStream: TCourseStream,\n config: IMilestoneConfig,\n selectedGoalCategory: string | undefined,\n enrollmentType: TEnrollmentTypes,\n grade?: string,\n currentCountryCode?: string,\n) => {\n if (!grade && !selectedGoalCategory) return {};\n\n const { country_code_to_name_map: countryCodeToNameMap, goal_curriculum_map: goalCurriculumMap } =\n config;\n let countries: Record<string, string> = {};\n\n goalCurriculumMap\n .filter(goalInfo => {\n if (goalInfo.course_stream !== courseStream) return false;\n\n return checkEnrollmentAvailable(goalInfo, enrollmentType);\n })\n .forEach(goalData => {\n const {\n available_grades: availableGrades,\n available_countries: availableCountries,\n blocked_countries: blockedCountries,\n goal_category: goalCategory,\n } = goalData;\n const isGradeAvailable = availableGrades.some(availableGrade => availableGrade === grade);\n const isStudentRegionBlocked = blockedCountries.some(\n country => country === currentCountryCode,\n );\n\n if (!isStudentRegionBlocked && isGradeAvailable && goalCategory === selectedGoalCategory) {\n if (availableCountries.length > 0) {\n availableCountries.reduce((acc, countryInfo) => {\n if (!acc[countryInfo]) {\n acc[countryInfo] = countryCodeToNameMap[countryInfo] ?? '';\n }\n\n return acc;\n }, countries);\n } else {\n countries = {\n ...countryCodeToNameMap,\n ...countries,\n };\n }\n }\n });\n\n return countries;\n};\n\nconst computeChangeDetection = (\n primaryProgramList?: IChapter[],\n primaryGoalCategory?: IGoalCurriculumMap,\n) => {\n const { recommendedChaptersList, customChaptersList } = computeRecommendedNCustomChapters(\n primaryProgramList,\n primaryGoalCategory,\n true,\n );\n\n //* This will compensate if any new chapter was added.\n if (customChaptersList.length > 0) return true;\n\n //* This will compensate if any chapter was deselected.\n return recommendedChaptersList.some(chapter => !chapter.added);\n};\n\nexport {\n getSelectedGoalCategoryData,\n computeChapterGoalCategoryOnGradeNBoard,\n computeRecommendedNCustomChapters,\n getGradeBoardAndMajorBasedProgramCode,\n getProgramCodeBasedOnGradeAndBoard,\n getCountriesWhereCurrentGradeNCategoryIsAvailable,\n computeChangeDetection,\n getIfGoalCurriculumStandardIsAccessible,\n getStudentEnrollmentSupported,\n};\n"],"names":["getStudentEnrollmentSupported","blockedEnrollmentTypes","availableEnrollmentTypes","enrollmentType","isBlocked","blockedEnrollment","isAvailable","availableEnrollmentType","getSelectedGoalCategoryData","goalCode","config","courseStream","goalCurriculumMap","goalInfo","checkEnrollmentAvailable","getIfGoalCurriculumStandardIsAccessible","goalCurriculumStandard","referenceStandard","computeChapterGoalCategoryOnGradeNBoard","testType","grade","board","region","selectedGoalCategory","getTestTypeBasedCategory","availableGrades","availableCountries","goalCategory","gradePresent","gradeInfo","regionPresent","country","boardPreset","selectedCategoryIsPresent","isSameCourse","isStudentEnrollmentTypeSupported","GOAL_CATEGORY","computeRecommendedNCustomChapters","primaryChaptersList","primaryGoalCategory","isGoalCreation","chapter","programId","customChaptersList","recommendedChaptersList","getGradeBoardAndMajorBasedProgramCode","major","majorsPresent","countryCode","selectedCategory","goalData","programCode","isGradeAvailable","availableGrade","isRegionAvailable","isBoardAvailable","isMajorAvailable","getCountriesWhereCurrentGradeNCategoryIsAvailable","currentCountryCode","countryCodeToNameMap","countries","blockedCountries","acc","countryInfo","computeChangeDetection","primaryProgramList"],"mappings":"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"}
|