@cuemath/leap 3.5.52-as1 → 3.5.53-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/features/homework/homework-card.js +122 -121
- package/dist/features/homework/homework-card.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js +66 -61
- package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +56 -55
- package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/search-chapter/search-chapters.js +32 -25
- package/dist/features/milestone/create/comps/add-custom-chapter/search-chapter/search-chapters.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapter-item.js +16 -15
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapter-item.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapters.js +17 -10
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapters.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.js +6 -6
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.js.map +1 -1
- package/dist/features/milestone/create/comps/body-layout/body-layout.js +30 -29
- package/dist/features/milestone/create/comps/body-layout/body-layout.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +77 -74
- package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
- package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js +82 -79
- package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-styled.js +8 -8
- package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
- package/dist/features/milestone/create/milestone-create.js +48 -46
- package/dist/features/milestone/create/milestone-create.js.map +1 -1
- package/dist/features/milestone/edit/goal-draft-edit-sync.js +26 -0
- package/dist/features/milestone/edit/goal-draft-edit-sync.js.map +1 -0
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +72 -66
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
- package/dist/features/milestone/edit/hooks/use-milestone-edit-sync.js +82 -0
- package/dist/features/milestone/edit/hooks/use-milestone-edit-sync.js.map +1 -0
- package/dist/features/milestone/milestone-list-container/hooks/use-milestone-list-sync.js +49 -0
- package/dist/features/milestone/milestone-list-container/hooks/use-milestone-list-sync.js.map +1 -0
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +109 -105
- 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/goals/goal-action-ctas.js +2 -2
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js +21 -16
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +106 -98
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +136 -117
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js +96 -92
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list-sync.js +25 -0
- package/dist/features/milestone/milestone-list-container/milestone-list-sync.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js +78 -81
- package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js +28 -25
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js +39 -33
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/hooks/use-resource-assign-sync.js +50 -0
- package/dist/features/milestone/milestone-resources/resources-assign/hooks/use-resource-assign-sync.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/resource-assign-sync.js +25 -0
- package/dist/features/milestone/milestone-resources/resources-assign/resource-assign-sync.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js +43 -53
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js +218 -174
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/store/resource-assign-store.js +198 -0
- package/dist/features/milestone/milestone-resources/resources-assign/store/resource-assign-store.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +69 -67
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js +46 -45
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -1
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js +34 -32
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/hooks/use-tests-creation-sync.js +52 -0
- package/dist/features/milestone/milestone-tests/tests-creation/hooks/use-tests-creation-sync.js.map +1 -0
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js +51 -41
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js +85 -71
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview-styled.js +5 -5
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview-styled.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js +36 -26
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-sync.js +25 -0
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-sync.js.map +1 -0
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-types.js +5 -0
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-types.js.map +1 -0
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js +150 -89
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
- package/dist/features/sheet-v2/resource-list/resource-list.js +26 -24
- package/dist/features/sheet-v2/resource-list/resource-list.js.map +1 -1
- package/dist/features/trial-session/comps/learning-plan/index.js +218 -91
- package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
- package/dist/features/trial-session/comps/learning-plan/learning-plan-styled.js +7 -6
- package/dist/features/trial-session/comps/learning-plan/learning-plan-styled.js.map +1 -1
- package/dist/features/trial-session/hooks/use-learning-plan-scroll-sync.js +75 -0
- package/dist/features/trial-session/hooks/use-learning-plan-scroll-sync.js.map +1 -0
- package/dist/features/trial-session/hooks/use-trial-session-navigation.js +125 -115
- package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
- package/dist/features/trial-session/trial-session-types.js +3 -2
- package/dist/features/trial-session/trial-session-types.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +69 -54
- package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet.js +44 -33
- package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +25 -22
- package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +48 -44
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +2 -2
- package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
- package/dist/index.d.ts +138 -2
- package/dist/node_modules/decode-uri-component/index.js.map +1 -0
- package/dist/node_modules/query-string/base.js +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/native.js +7 -0
- package/dist/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
- package/dist/node_modules/uuid/dist/esm-browser/rng.js +3 -2
- package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js +6 -10
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/v4.js +12 -9
- package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
- package/package.json +1 -1
- package/dist/features/trial-session/comps/learning-plan/use-learning-plan-scroll-sync.js +0 -37
- package/dist/features/trial-session/comps/learning-plan/use-learning-plan-scroll-sync.js.map +0 -1
- package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +0 -1
- package/dist/node_modules/uuid/dist/esm-browser/regex.js +0 -5
- package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +0 -1
- package/dist/node_modules/uuid/dist/esm-browser/validate.js +0 -8
- package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +0 -1
- /package/dist/node_modules/{query-string/node_modules/decode-uri-component → decode-uri-component}/index.js +0 -0
|
@@ -1,51 +1,53 @@
|
|
|
1
|
-
import { jsx as t, jsxs as
|
|
2
|
-
import { memo as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import { useChaptersGetAll as
|
|
8
|
-
import { getFormChapters as
|
|
9
|
-
import
|
|
10
|
-
import { StyledButton as
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
const
|
|
1
|
+
import { jsx as t, jsxs as P } from "react/jsx-runtime";
|
|
2
|
+
import { memo as $, useEffect as j, useCallback as k } from "react";
|
|
3
|
+
import B from "../../../../hooks/use-previous.js";
|
|
4
|
+
import G from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
|
|
5
|
+
import H from "../../../../ui/layout/flex-view.js";
|
|
6
|
+
import I from "../../../../ui/text/text.js";
|
|
7
|
+
import { useChaptersGetAll as T } from "../../api/recommended-chapters.js";
|
|
8
|
+
import { getFormChapters as X } from "../../utils/index.js";
|
|
9
|
+
import q from "../body-layout/body-layout.js";
|
|
10
|
+
import { StyledButton as z } from "./add-custom-chapters-styled.js";
|
|
11
|
+
import N from "./course-catalog.js";
|
|
12
|
+
import U from "./search-chapter/search-chapters.js";
|
|
13
|
+
const ee = $(function({
|
|
14
14
|
onFormDataChange: e,
|
|
15
15
|
formData: a,
|
|
16
|
-
config:
|
|
17
|
-
currentStep:
|
|
18
|
-
isGoalCreation:
|
|
19
|
-
courseStream:
|
|
20
|
-
classRatio:
|
|
21
|
-
enrollmentType:
|
|
22
|
-
isTeacherTrainingAccount:
|
|
16
|
+
config: d,
|
|
17
|
+
currentStep: C,
|
|
18
|
+
isGoalCreation: n,
|
|
19
|
+
courseStream: u,
|
|
20
|
+
classRatio: f,
|
|
21
|
+
enrollmentType: L,
|
|
22
|
+
isTeacherTrainingAccount: b,
|
|
23
|
+
userType: p,
|
|
24
|
+
isTrialSession: l
|
|
23
25
|
}) {
|
|
24
26
|
const {
|
|
25
|
-
region:
|
|
27
|
+
region: A,
|
|
26
28
|
primaryChaptersList: r,
|
|
27
|
-
searchChapterFields:
|
|
28
|
-
searchedChaptersList:
|
|
29
|
+
searchChapterFields: c = {},
|
|
30
|
+
searchedChaptersList: g = [],
|
|
29
31
|
selectedChaptersList: o = []
|
|
30
|
-
} = a, { buttonLabel:
|
|
31
|
-
getAll:
|
|
32
|
+
} = a, { buttonLabel: y, title: x } = C, {
|
|
33
|
+
getAll: S,
|
|
32
34
|
data: i,
|
|
33
|
-
isProcessing:
|
|
35
|
+
isProcessing: v,
|
|
34
36
|
isProcessed: s
|
|
35
|
-
} =
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
searchedChaptersList:
|
|
37
|
+
} = T(), h = B(s), m = o.length === 0;
|
|
38
|
+
j(() => {
|
|
39
|
+
h === !1 && s === !0 && i && e({
|
|
40
|
+
searchedChaptersList: X(i, !0)
|
|
39
41
|
});
|
|
40
|
-
}, [
|
|
41
|
-
const
|
|
42
|
-
const
|
|
42
|
+
}, [h, s, i, e]);
|
|
43
|
+
const w = k(() => {
|
|
44
|
+
const E = r == null ? void 0 : r.concat(o);
|
|
43
45
|
e({
|
|
44
46
|
searchedChaptersList: [],
|
|
45
47
|
selectedChaptersList: [],
|
|
46
48
|
chapterSubStages: void 0,
|
|
47
49
|
searchChapterFields: void 0,
|
|
48
|
-
primaryChaptersList:
|
|
50
|
+
primaryChaptersList: E,
|
|
49
51
|
committed: {
|
|
50
52
|
selectedChaptersList: !0,
|
|
51
53
|
chapterSubStages: !1,
|
|
@@ -56,57 +58,60 @@ const _ = P(function({
|
|
|
56
58
|
});
|
|
57
59
|
}, [e, r, o]);
|
|
58
60
|
return /* @__PURE__ */ t(
|
|
59
|
-
|
|
61
|
+
q,
|
|
60
62
|
{
|
|
61
63
|
overflowHidden: !0,
|
|
62
64
|
bodyHeight: "100%",
|
|
63
|
-
|
|
64
|
-
|
|
65
|
+
isTrialSession: l,
|
|
66
|
+
headerElement: /* @__PURE__ */ P(H, { $flexDirection: "row", $alignItems: "center", $flexGapX: 1, children: [
|
|
67
|
+
/* @__PURE__ */ t(I, { $renderAs: "ab2", children: x }),
|
|
65
68
|
/* @__PURE__ */ t(
|
|
66
|
-
|
|
69
|
+
N,
|
|
67
70
|
{
|
|
68
|
-
config:
|
|
69
|
-
region:
|
|
70
|
-
courseStream:
|
|
71
|
-
classRatio:
|
|
72
|
-
searchChapterFields:
|
|
71
|
+
config: d,
|
|
72
|
+
region: A,
|
|
73
|
+
courseStream: u,
|
|
74
|
+
classRatio: f,
|
|
75
|
+
searchChapterFields: c,
|
|
73
76
|
onFormDataChange: e,
|
|
74
|
-
getCatalogChapters:
|
|
75
|
-
enrollmentType:
|
|
76
|
-
isTeacherTrainingAccount:
|
|
77
|
+
getCatalogChapters: S,
|
|
78
|
+
enrollmentType: L,
|
|
79
|
+
isTeacherTrainingAccount: b,
|
|
80
|
+
isTrialSession: l
|
|
77
81
|
}
|
|
78
82
|
)
|
|
79
83
|
] }),
|
|
80
84
|
bodyElement: /* @__PURE__ */ t(
|
|
81
|
-
|
|
85
|
+
U,
|
|
82
86
|
{
|
|
83
|
-
searchChapterFields:
|
|
87
|
+
searchChapterFields: c,
|
|
84
88
|
onFormDataChange: e,
|
|
85
|
-
searchedChaptersList:
|
|
89
|
+
searchedChaptersList: g,
|
|
86
90
|
chaptersList: r,
|
|
87
|
-
config:
|
|
91
|
+
config: d,
|
|
88
92
|
formData: a,
|
|
89
|
-
isProcessing:
|
|
90
|
-
isProcessed: s
|
|
93
|
+
isProcessing: v,
|
|
94
|
+
isProcessed: s,
|
|
95
|
+
userType: p
|
|
91
96
|
}
|
|
92
97
|
),
|
|
93
|
-
footerElement: /* @__PURE__ */ t(
|
|
94
|
-
|
|
98
|
+
footerElement: p === "STUDENT" ? void 0 : /* @__PURE__ */ t(
|
|
99
|
+
G,
|
|
95
100
|
{
|
|
96
101
|
renderAs: "primary",
|
|
97
102
|
tooltipItem: "Select chapters to add",
|
|
98
103
|
position: "top",
|
|
99
|
-
hidden: !
|
|
104
|
+
hidden: !m,
|
|
100
105
|
children: /* @__PURE__ */ t(
|
|
101
|
-
|
|
106
|
+
z,
|
|
102
107
|
{
|
|
103
108
|
renderAs: "primary",
|
|
104
109
|
size: "small",
|
|
105
110
|
shape: "square",
|
|
106
|
-
widthX:
|
|
107
|
-
label:
|
|
108
|
-
onClick:
|
|
109
|
-
disabled:
|
|
111
|
+
widthX: n ? 9 : 12,
|
|
112
|
+
label: y,
|
|
113
|
+
onClick: w,
|
|
114
|
+
disabled: m
|
|
110
115
|
}
|
|
111
116
|
)
|
|
112
117
|
}
|
|
@@ -115,6 +120,6 @@ const _ = P(function({
|
|
|
115
120
|
);
|
|
116
121
|
});
|
|
117
122
|
export {
|
|
118
|
-
|
|
123
|
+
ee as default
|
|
119
124
|
};
|
|
120
125
|
//# sourceMappingURL=add-custom-chapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-custom-chapter.js","sources":["../../../../../../src/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, type FC } from 'react';\n\nimport usePrevious from '../../../../hooks/use-previous';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { useChaptersGetAll } from '../../api/recommended-chapters';\nimport type { IFormStepProps } from '../../milestone-create-types';\nimport { getFormChapters } from '../../utils';\nimport BodyLayout from '../body-layout/body-layout';\nimport * as Styled from './add-custom-chapters-styled';\nimport CourseCatalog from './course-catalog';\nimport ChapterSearch from './search-chapter/search-chapters';\n\nconst AddCustomChapter: FC<IFormStepProps> = memo(function AddCustomChapter({\n onFormDataChange,\n formData,\n config,\n currentStep,\n isGoalCreation,\n courseStream,\n classRatio,\n enrollmentType,\n isTeacherTrainingAccount,\n}) {\n const {\n region,\n primaryChaptersList,\n searchChapterFields = {},\n searchedChaptersList = [],\n selectedChaptersList = [],\n } = formData;\n\n const { buttonLabel, title } = currentStep;\n\n const {\n getAll: getCatalogChapters,\n data: catalogChaptersData,\n isProcessing,\n isProcessed,\n } = useChaptersGetAll();\n\n const prevCatalogChaptersProcessed = usePrevious(isProcessed);\n const isAddChapterCtaDisabled = selectedChaptersList.length === 0;\n\n useEffect(() => {\n if (prevCatalogChaptersProcessed === false && isProcessed === true && catalogChaptersData) {\n onFormDataChange({\n searchedChaptersList: getFormChapters(catalogChaptersData, true),\n });\n }\n }, [prevCatalogChaptersProcessed, isProcessed, catalogChaptersData, onFormDataChange]);\n\n const handleConfirmCustomChapterAddition = useCallback(() => {\n const updatedPrimaryChaptersList = primaryChaptersList?.concat(selectedChaptersList);\n\n onFormDataChange({\n searchedChaptersList: [],\n selectedChaptersList: [],\n chapterSubStages: undefined,\n searchChapterFields: undefined,\n primaryChaptersList: updatedPrimaryChaptersList,\n committed: {\n selectedChaptersList: true,\n chapterSubStages: false,\n searchedChaptersList: true,\n primaryChaptersList: true,\n searchChapterFields: false,\n },\n });\n }, [onFormDataChange, primaryChaptersList, selectedChaptersList]);\n\n return (\n <BodyLayout\n overflowHidden\n bodyHeight=\"100%\"\n headerElement={\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGapX={1}>\n <Text $renderAs=\"ab2\">{title}</Text>\n <CourseCatalog\n config={config}\n region={region}\n courseStream={courseStream}\n classRatio={classRatio}\n searchChapterFields={searchChapterFields}\n onFormDataChange={onFormDataChange}\n getCatalogChapters={getCatalogChapters}\n enrollmentType={enrollmentType}\n isTeacherTrainingAccount={isTeacherTrainingAccount}\n />\n </FlexView>\n }\n bodyElement={\n <ChapterSearch\n searchChapterFields={searchChapterFields}\n onFormDataChange={onFormDataChange}\n searchedChaptersList={searchedChaptersList}\n chaptersList={primaryChaptersList}\n config={config}\n formData={formData}\n isProcessing={isProcessing}\n isProcessed={isProcessed}\n />\n }\n footerElement={\n <ArrowTooltip\n
|
|
1
|
+
{"version":3,"file":"add-custom-chapter.js","sources":["../../../../../../src/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, type FC } from 'react';\n\nimport usePrevious from '../../../../hooks/use-previous';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { useChaptersGetAll } from '../../api/recommended-chapters';\nimport type { IFormStepProps } from '../../milestone-create-types';\nimport { getFormChapters } from '../../utils';\nimport BodyLayout from '../body-layout/body-layout';\nimport * as Styled from './add-custom-chapters-styled';\nimport CourseCatalog from './course-catalog';\nimport ChapterSearch from './search-chapter/search-chapters';\n\nconst AddCustomChapter: FC<IFormStepProps> = memo(function AddCustomChapter({\n onFormDataChange,\n formData,\n config,\n currentStep,\n isGoalCreation,\n courseStream,\n classRatio,\n enrollmentType,\n isTeacherTrainingAccount,\n userType,\n isTrialSession,\n}) {\n const {\n region,\n primaryChaptersList,\n searchChapterFields = {},\n searchedChaptersList = [],\n selectedChaptersList = [],\n } = formData;\n\n const { buttonLabel, title } = currentStep;\n\n const {\n getAll: getCatalogChapters,\n data: catalogChaptersData,\n isProcessing,\n isProcessed,\n } = useChaptersGetAll();\n\n const prevCatalogChaptersProcessed = usePrevious(isProcessed);\n const isAddChapterCtaDisabled = selectedChaptersList.length === 0;\n\n useEffect(() => {\n if (prevCatalogChaptersProcessed === false && isProcessed === true && catalogChaptersData) {\n onFormDataChange({\n searchedChaptersList: getFormChapters(catalogChaptersData, true),\n });\n }\n }, [prevCatalogChaptersProcessed, isProcessed, catalogChaptersData, onFormDataChange]);\n\n const handleConfirmCustomChapterAddition = useCallback(() => {\n const updatedPrimaryChaptersList = primaryChaptersList?.concat(selectedChaptersList);\n\n onFormDataChange({\n searchedChaptersList: [],\n selectedChaptersList: [],\n chapterSubStages: undefined,\n searchChapterFields: undefined,\n primaryChaptersList: updatedPrimaryChaptersList,\n committed: {\n selectedChaptersList: true,\n chapterSubStages: false,\n searchedChaptersList: true,\n primaryChaptersList: true,\n searchChapterFields: false,\n },\n });\n }, [onFormDataChange, primaryChaptersList, selectedChaptersList]);\n\n return (\n <BodyLayout\n overflowHidden\n bodyHeight=\"100%\"\n isTrialSession={isTrialSession}\n headerElement={\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGapX={1}>\n <Text $renderAs=\"ab2\">{title}</Text>\n <CourseCatalog\n config={config}\n region={region}\n courseStream={courseStream}\n classRatio={classRatio}\n searchChapterFields={searchChapterFields}\n onFormDataChange={onFormDataChange}\n getCatalogChapters={getCatalogChapters}\n enrollmentType={enrollmentType}\n isTeacherTrainingAccount={isTeacherTrainingAccount}\n isTrialSession={isTrialSession}\n />\n </FlexView>\n }\n bodyElement={\n <ChapterSearch\n searchChapterFields={searchChapterFields}\n onFormDataChange={onFormDataChange}\n searchedChaptersList={searchedChaptersList}\n chaptersList={primaryChaptersList}\n config={config}\n formData={formData}\n isProcessing={isProcessing}\n isProcessed={isProcessed}\n userType={userType}\n />\n }\n footerElement={\n userType === 'STUDENT' ? undefined : (\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Select chapters to add\"\n position=\"top\"\n hidden={!isAddChapterCtaDisabled}\n >\n <Styled.StyledButton\n renderAs=\"primary\"\n size=\"small\"\n shape=\"square\"\n widthX={isGoalCreation ? 9 : 12}\n label={buttonLabel}\n onClick={handleConfirmCustomChapterAddition}\n disabled={isAddChapterCtaDisabled}\n />\n </ArrowTooltip>\n )\n }\n />\n );\n});\n\nexport default AddCustomChapter;\n"],"names":["AddCustomChapter","memo","onFormDataChange","formData","config","currentStep","isGoalCreation","courseStream","classRatio","enrollmentType","isTeacherTrainingAccount","userType","isTrialSession","region","primaryChaptersList","searchChapterFields","searchedChaptersList","selectedChaptersList","buttonLabel","title","getCatalogChapters","catalogChaptersData","isProcessing","isProcessed","useChaptersGetAll","prevCatalogChaptersProcessed","usePrevious","isAddChapterCtaDisabled","useEffect","getFormChapters","handleConfirmCustomChapterAddition","useCallback","updatedPrimaryChaptersList","jsx","BodyLayout","FlexView","Text","CourseCatalog","ChapterSearch","ArrowTooltip","Styled.StyledButton"],"mappings":"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"}
|
|
@@ -1,32 +1,33 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { memo as
|
|
3
|
-
import
|
|
4
|
-
import { GOAL_CATEGORY as
|
|
5
|
-
import { useMilestoneContext as
|
|
6
|
-
import { getCurriculumStandardsFromConfig as
|
|
7
|
-
import { getGradeBoardAndMajorBasedProgramCode as
|
|
8
|
-
import { useCatalogHelpers as
|
|
9
|
-
const
|
|
10
|
-
config:
|
|
1
|
+
import { jsxs as w, Fragment as M, jsx as E } from "react/jsx-runtime";
|
|
2
|
+
import { memo as P, useMemo as O, useCallback as j, useEffect as S } from "react";
|
|
3
|
+
import x from "../../../../ui/inputs/select-input/select-input.js";
|
|
4
|
+
import { GOAL_CATEGORY as k } from "../../../constants.js";
|
|
5
|
+
import { useMilestoneContext as R } from "../../milestone-create-context.js";
|
|
6
|
+
import { getCurriculumStandardsFromConfig as X } from "../../milestone-create-helpers.js";
|
|
7
|
+
import { getGradeBoardAndMajorBasedProgramCode as U } from "../chapters-selection-step/utils.js";
|
|
8
|
+
import { useCatalogHelpers as h } from "./hooks/use-catalog-helpers.js";
|
|
9
|
+
const g = P(function({
|
|
10
|
+
config: t,
|
|
11
11
|
region: o = "",
|
|
12
|
-
courseStream:
|
|
13
|
-
classRatio:
|
|
12
|
+
courseStream: s,
|
|
13
|
+
classRatio: f,
|
|
14
14
|
searchChapterFields: e,
|
|
15
|
-
getCatalogChapters:
|
|
15
|
+
getCatalogChapters: _,
|
|
16
16
|
onFormDataChange: r,
|
|
17
17
|
enrollmentType: u,
|
|
18
|
-
isTeacherTrainingAccount: l
|
|
18
|
+
isTeacherTrainingAccount: l,
|
|
19
|
+
isTrialSession: b
|
|
19
20
|
}) {
|
|
20
|
-
const { mode:
|
|
21
|
-
config:
|
|
21
|
+
const { mode: n } = R(), { selectedCurriculum: a = "", selectedGrade: C = "", selectedCourse: i = "" } = e, { grades: y, boards: B, majors: G } = h({
|
|
22
|
+
config: t,
|
|
22
23
|
region: o,
|
|
23
24
|
searchChapterFields: e,
|
|
24
|
-
courseStream:
|
|
25
|
-
classRatio:
|
|
25
|
+
courseStream: s,
|
|
26
|
+
classRatio: f,
|
|
26
27
|
enrollmentType: u,
|
|
27
28
|
flow: "CREATE",
|
|
28
29
|
isTeacherTrainingAccount: l
|
|
29
|
-
}), c = O(() => G.length > 1, [G]),
|
|
30
|
+
}), c = O(() => G.length > 1, [G]), L = j(
|
|
30
31
|
(d) => {
|
|
31
32
|
r({
|
|
32
33
|
searchChapterFields: {
|
|
@@ -36,38 +37,38 @@ const $ = H(function({
|
|
|
36
37
|
});
|
|
37
38
|
},
|
|
38
39
|
[e, r]
|
|
39
|
-
),
|
|
40
|
+
), z = j(
|
|
40
41
|
(d) => {
|
|
41
|
-
var
|
|
42
|
-
let
|
|
43
|
-
(d === "-1" || d === "0") && (
|
|
42
|
+
var A;
|
|
43
|
+
let v = e.selectedCurriculum;
|
|
44
|
+
(d === "-1" || d === "0") && (v = (A = X(t, {
|
|
44
45
|
countryCode: o ?? "",
|
|
45
46
|
grade: d,
|
|
46
|
-
goalCategory:
|
|
47
|
-
courseStream:
|
|
47
|
+
goalCategory: k.SCHOOL_SUCCESS,
|
|
48
|
+
courseStream: s,
|
|
48
49
|
enrollmentType: u,
|
|
49
|
-
classRatio:
|
|
50
|
+
classRatio: f,
|
|
50
51
|
flow: "CREATE",
|
|
51
52
|
isTeacherTrainingAccount: l
|
|
52
|
-
})[0]) == null ? void 0 :
|
|
53
|
+
})[0]) == null ? void 0 : A.id), r({
|
|
53
54
|
searchChapterFields: {
|
|
54
55
|
...e,
|
|
55
56
|
selectedGrade: d,
|
|
56
|
-
selectedCurriculum:
|
|
57
|
+
selectedCurriculum: v
|
|
57
58
|
}
|
|
58
59
|
});
|
|
59
60
|
},
|
|
60
61
|
[
|
|
61
62
|
e,
|
|
62
63
|
r,
|
|
63
|
-
s,
|
|
64
|
-
o,
|
|
65
64
|
t,
|
|
65
|
+
o,
|
|
66
|
+
s,
|
|
66
67
|
u,
|
|
67
|
-
|
|
68
|
+
f,
|
|
68
69
|
l
|
|
69
70
|
]
|
|
70
|
-
),
|
|
71
|
+
), H = j(
|
|
71
72
|
(d) => {
|
|
72
73
|
r({
|
|
73
74
|
searchChapterFields: {
|
|
@@ -77,57 +78,57 @@ const $ = H(function({
|
|
|
77
78
|
});
|
|
78
79
|
},
|
|
79
80
|
[r, e]
|
|
80
|
-
),
|
|
81
|
-
() =>
|
|
81
|
+
), p = O(
|
|
82
|
+
() => U(t, {
|
|
82
83
|
grade: C,
|
|
83
84
|
board: a,
|
|
84
|
-
major:
|
|
85
|
+
major: i,
|
|
85
86
|
majorsPresent: c,
|
|
86
87
|
countryCode: o ?? "",
|
|
87
|
-
selectedCategory:
|
|
88
|
-
courseStream:
|
|
88
|
+
selectedCategory: k.SCHOOL_SUCCESS,
|
|
89
|
+
courseStream: s,
|
|
89
90
|
enrollmentType: u,
|
|
90
91
|
isTeacherTrainingAccount: l
|
|
91
92
|
}),
|
|
92
93
|
[
|
|
93
|
-
s,
|
|
94
94
|
t,
|
|
95
|
+
s,
|
|
95
96
|
u,
|
|
96
97
|
c,
|
|
97
98
|
o,
|
|
98
|
-
|
|
99
|
+
i,
|
|
99
100
|
a,
|
|
100
101
|
C,
|
|
101
102
|
l
|
|
102
103
|
]
|
|
103
|
-
), m = O(() => (
|
|
104
|
-
return
|
|
105
|
-
m &&
|
|
104
|
+
), m = O(() => (p == null ? void 0 : p.program_code) ?? "", [p]);
|
|
105
|
+
return S(() => {
|
|
106
|
+
m && (n === "edit" || b) && _({
|
|
106
107
|
filter_type: "PROGRAM_CODE",
|
|
107
108
|
program_code: m
|
|
108
109
|
});
|
|
109
|
-
}, [
|
|
110
|
+
}, [_, n, m, c, b]), S(() => {
|
|
110
111
|
m || r({
|
|
111
112
|
searchedChaptersList: []
|
|
112
113
|
});
|
|
113
|
-
}, [m, r]), /* @__PURE__ */
|
|
114
|
+
}, [m, r]), /* @__PURE__ */ w(M, { children: [
|
|
114
115
|
/* @__PURE__ */ E(
|
|
115
|
-
|
|
116
|
+
x,
|
|
116
117
|
{
|
|
117
118
|
renderAs: "primary",
|
|
118
119
|
label: "Grade",
|
|
119
120
|
value: C,
|
|
120
|
-
options:
|
|
121
|
-
onChange:
|
|
121
|
+
options: y,
|
|
122
|
+
onChange: z,
|
|
122
123
|
widthX: 9,
|
|
123
124
|
size: "xsmall",
|
|
124
125
|
theme: "dark",
|
|
125
126
|
shape: "curved"
|
|
126
127
|
}
|
|
127
128
|
),
|
|
128
|
-
C && /* @__PURE__ */
|
|
129
|
+
C && /* @__PURE__ */ w(M, { children: [
|
|
129
130
|
/* @__PURE__ */ E(
|
|
130
|
-
|
|
131
|
+
x,
|
|
131
132
|
{
|
|
132
133
|
widthX: 18,
|
|
133
134
|
renderAs: "primary",
|
|
@@ -135,20 +136,20 @@ const $ = H(function({
|
|
|
135
136
|
theme: "dark",
|
|
136
137
|
size: "xsmall",
|
|
137
138
|
label: "Curriculum",
|
|
138
|
-
options:
|
|
139
|
+
options: B,
|
|
139
140
|
renderOptionsAs: "section-list",
|
|
140
141
|
value: a,
|
|
141
|
-
onChange:
|
|
142
|
+
onChange: L
|
|
142
143
|
}
|
|
143
144
|
),
|
|
144
145
|
c && /* @__PURE__ */ E(
|
|
145
|
-
|
|
146
|
+
x,
|
|
146
147
|
{
|
|
147
148
|
renderAs: "primary",
|
|
148
149
|
label: "Course",
|
|
149
150
|
options: G,
|
|
150
|
-
value:
|
|
151
|
-
onChange:
|
|
151
|
+
value: i,
|
|
152
|
+
onChange: H,
|
|
152
153
|
widthX: 9,
|
|
153
154
|
size: "xsmall",
|
|
154
155
|
theme: "dark",
|
|
@@ -159,6 +160,6 @@ const $ = H(function({
|
|
|
159
160
|
] });
|
|
160
161
|
});
|
|
161
162
|
export {
|
|
162
|
-
|
|
163
|
+
g as default
|
|
163
164
|
};
|
|
164
165
|
//# sourceMappingURL=course-catalog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"course-catalog.js","sources":["../../../../../../src/features/milestone/create/comps/add-custom-chapter/course-catalog.tsx"],"sourcesContent":["import { useEffect, useMemo, useCallback, memo, type FC } from 'react';\n\nimport SelectInput from '../../../../ui/inputs/select-input/select-input';\nimport { GOAL_CATEGORY } from '../../../constants';\nimport { useMilestoneContext } from '../../milestone-create-context';\nimport { getCurriculumStandardsFromConfig } from '../../milestone-create-helpers';\nimport { getGradeBoardAndMajorBasedProgramCode } from '../chapters-selection-step/utils';\nimport type { ICourseCatalog } from './add-custom-chapters';\nimport { useCatalogHelpers } from './hooks/use-catalog-helpers';\n\nconst CourseCatalog: FC<ICourseCatalog> = memo(function CourseCatalog({\n config,\n region = '',\n courseStream,\n classRatio,\n searchChapterFields,\n getCatalogChapters,\n onFormDataChange,\n enrollmentType,\n isTeacherTrainingAccount,\n}) {\n const { mode } = useMilestoneContext();\n\n const { selectedCurriculum = '', selectedGrade = '', selectedCourse = '' } = searchChapterFields;\n\n const { grades, boards, majors } = useCatalogHelpers({\n config,\n region,\n searchChapterFields,\n courseStream,\n classRatio,\n enrollmentType,\n flow: 'CREATE',\n isTeacherTrainingAccount,\n });\n\n const majorsPresent = useMemo(() => majors.length > 1, [majors]);\n\n const handleCurriculumChange = useCallback(\n (curriculumValue: string) => {\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedCurriculum: curriculumValue,\n },\n });\n },\n [searchChapterFields, onFormDataChange],\n );\n\n const handleGradeChange = useCallback(\n (gradeValue: string) => {\n let updatedCurriculum = searchChapterFields.selectedCurriculum;\n\n if (gradeValue === '-1' || gradeValue === '0') {\n const currentGradeBoards = getCurriculumStandardsFromConfig(config, {\n countryCode: region ?? '',\n grade: gradeValue,\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream,\n enrollmentType,\n classRatio,\n flow: 'CREATE',\n isTeacherTrainingAccount,\n });\n\n updatedCurriculum = currentGradeBoards[0]?.id;\n }\n\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedGrade: gradeValue,\n selectedCurriculum: updatedCurriculum,\n },\n });\n },\n [\n searchChapterFields,\n onFormDataChange,\n config,\n region,\n courseStream,\n enrollmentType,\n classRatio,\n isTeacherTrainingAccount,\n ],\n );\n\n const handleMajorChange = useCallback(\n (majorValue: string) => {\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedCourse: majorValue,\n },\n });\n },\n [onFormDataChange, searchChapterFields],\n );\n\n const programInfo = useMemo(\n () =>\n getGradeBoardAndMajorBasedProgramCode(config, {\n grade: selectedGrade,\n board: selectedCurriculum,\n major: selectedCourse,\n majorsPresent,\n countryCode: region ?? '',\n selectedCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream,\n enrollmentType,\n isTeacherTrainingAccount,\n }),\n [\n config,\n courseStream,\n enrollmentType,\n majorsPresent,\n region,\n selectedCourse,\n selectedCurriculum,\n selectedGrade,\n isTeacherTrainingAccount,\n ],\n );\n\n const programCode = useMemo(() => programInfo?.program_code ?? '', [programInfo]);\n\n useEffect(() => {\n if (programCode && mode === 'edit') {\n getCatalogChapters({\n filter_type: 'PROGRAM_CODE',\n program_code: programCode,\n });\n }\n }, [getCatalogChapters, mode, programCode, majorsPresent]);\n\n useEffect(() => {\n if (!programCode) {\n onFormDataChange({\n searchedChaptersList: [],\n });\n }\n }, [programCode, onFormDataChange]);\n\n return (\n <>\n <SelectInput\n renderAs=\"primary\"\n label=\"Grade\"\n value={selectedGrade}\n options={grades}\n onChange={handleGradeChange}\n widthX={9}\n size=\"xsmall\"\n theme=\"dark\"\n shape=\"curved\"\n />\n\n {selectedGrade && (\n <>\n <SelectInput\n widthX={18}\n renderAs=\"primary\"\n shape=\"curved\"\n theme=\"dark\"\n size=\"xsmall\"\n label=\"Curriculum\"\n options={boards}\n renderOptionsAs=\"section-list\"\n value={selectedCurriculum}\n onChange={handleCurriculumChange}\n />\n\n {majorsPresent && (\n <SelectInput\n renderAs=\"primary\"\n label=\"Course\"\n options={majors}\n value={selectedCourse}\n onChange={handleMajorChange}\n widthX={9}\n size=\"xsmall\"\n theme=\"dark\"\n shape=\"curved\"\n />\n )}\n </>\n )}\n </>\n );\n});\n\nexport default CourseCatalog;\n"],"names":["CourseCatalog","memo","config","region","courseStream","classRatio","searchChapterFields","getCatalogChapters","onFormDataChange","enrollmentType","isTeacherTrainingAccount","mode","useMilestoneContext","selectedCurriculum","selectedGrade","selectedCourse","grades","boards","majors","useCatalogHelpers","majorsPresent","useMemo","handleCurriculumChange","useCallback","curriculumValue","handleGradeChange","gradeValue","updatedCurriculum","_a","getCurriculumStandardsFromConfig","GOAL_CATEGORY","handleMajorChange","majorValue","programInfo","getGradeBoardAndMajorBasedProgramCode","programCode","useEffect","jsxs","Fragment","jsx","SelectInput"],"mappings":";;;;;;;;AAUM,MAAAA,IAAoCC,EAAK,SAAuB;AAAA,EACpE,QAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,0BAAAC;AACF,GAAG;AACK,QAAA,EAAE,MAAAC,MAASC,KAEX,EAAE,oBAAAC,IAAqB,IAAI,eAAAC,IAAgB,IAAI,gBAAAC,IAAiB,GAAO,
|
|
1
|
+
{"version":3,"file":"course-catalog.js","sources":["../../../../../../src/features/milestone/create/comps/add-custom-chapter/course-catalog.tsx"],"sourcesContent":["import { useEffect, useMemo, useCallback, memo, type FC } from 'react';\n\nimport SelectInput from '../../../../ui/inputs/select-input/select-input';\nimport { GOAL_CATEGORY } from '../../../constants';\nimport { useMilestoneContext } from '../../milestone-create-context';\nimport { getCurriculumStandardsFromConfig } from '../../milestone-create-helpers';\nimport { getGradeBoardAndMajorBasedProgramCode } from '../chapters-selection-step/utils';\nimport type { ICourseCatalog } from './add-custom-chapters';\nimport { useCatalogHelpers } from './hooks/use-catalog-helpers';\n\nconst CourseCatalog: FC<ICourseCatalog> = memo(function CourseCatalog({\n config,\n region = '',\n courseStream,\n classRatio,\n searchChapterFields,\n getCatalogChapters,\n onFormDataChange,\n enrollmentType,\n isTeacherTrainingAccount,\n isTrialSession,\n}) {\n const { mode } = useMilestoneContext();\n\n const { selectedCurriculum = '', selectedGrade = '', selectedCourse = '' } = searchChapterFields;\n\n const { grades, boards, majors } = useCatalogHelpers({\n config,\n region,\n searchChapterFields,\n courseStream,\n classRatio,\n enrollmentType,\n flow: 'CREATE',\n isTeacherTrainingAccount,\n });\n\n const majorsPresent = useMemo(() => majors.length > 1, [majors]);\n\n const handleCurriculumChange = useCallback(\n (curriculumValue: string) => {\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedCurriculum: curriculumValue,\n },\n });\n },\n [searchChapterFields, onFormDataChange],\n );\n\n const handleGradeChange = useCallback(\n (gradeValue: string) => {\n let updatedCurriculum = searchChapterFields.selectedCurriculum;\n\n if (gradeValue === '-1' || gradeValue === '0') {\n const currentGradeBoards = getCurriculumStandardsFromConfig(config, {\n countryCode: region ?? '',\n grade: gradeValue,\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream,\n enrollmentType,\n classRatio,\n flow: 'CREATE',\n isTeacherTrainingAccount,\n });\n\n updatedCurriculum = currentGradeBoards[0]?.id;\n }\n\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedGrade: gradeValue,\n selectedCurriculum: updatedCurriculum,\n },\n });\n },\n [\n searchChapterFields,\n onFormDataChange,\n config,\n region,\n courseStream,\n enrollmentType,\n classRatio,\n isTeacherTrainingAccount,\n ],\n );\n\n const handleMajorChange = useCallback(\n (majorValue: string) => {\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedCourse: majorValue,\n },\n });\n },\n [onFormDataChange, searchChapterFields],\n );\n\n const programInfo = useMemo(\n () =>\n getGradeBoardAndMajorBasedProgramCode(config, {\n grade: selectedGrade,\n board: selectedCurriculum,\n major: selectedCourse,\n majorsPresent,\n countryCode: region ?? '',\n selectedCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream,\n enrollmentType,\n isTeacherTrainingAccount,\n }),\n [\n config,\n courseStream,\n enrollmentType,\n majorsPresent,\n region,\n selectedCourse,\n selectedCurriculum,\n selectedGrade,\n isTeacherTrainingAccount,\n ],\n );\n\n const programCode = useMemo(() => programInfo?.program_code ?? '', [programInfo]);\n\n useEffect(() => {\n if (programCode && (mode === 'edit' || isTrialSession)) {\n getCatalogChapters({\n filter_type: 'PROGRAM_CODE',\n program_code: programCode,\n });\n }\n }, [getCatalogChapters, mode, programCode, majorsPresent, isTrialSession]);\n\n useEffect(() => {\n if (!programCode) {\n onFormDataChange({\n searchedChaptersList: [],\n });\n }\n }, [programCode, onFormDataChange]);\n\n return (\n <>\n <SelectInput\n renderAs=\"primary\"\n label=\"Grade\"\n value={selectedGrade}\n options={grades}\n onChange={handleGradeChange}\n widthX={9}\n size=\"xsmall\"\n theme=\"dark\"\n shape=\"curved\"\n />\n\n {selectedGrade && (\n <>\n <SelectInput\n widthX={18}\n renderAs=\"primary\"\n shape=\"curved\"\n theme=\"dark\"\n size=\"xsmall\"\n label=\"Curriculum\"\n options={boards}\n renderOptionsAs=\"section-list\"\n value={selectedCurriculum}\n onChange={handleCurriculumChange}\n />\n\n {majorsPresent && (\n <SelectInput\n renderAs=\"primary\"\n label=\"Course\"\n options={majors}\n value={selectedCourse}\n onChange={handleMajorChange}\n widthX={9}\n size=\"xsmall\"\n theme=\"dark\"\n shape=\"curved\"\n />\n )}\n </>\n )}\n </>\n );\n});\n\nexport default CourseCatalog;\n"],"names":["CourseCatalog","memo","config","region","courseStream","classRatio","searchChapterFields","getCatalogChapters","onFormDataChange","enrollmentType","isTeacherTrainingAccount","isTrialSession","mode","useMilestoneContext","selectedCurriculum","selectedGrade","selectedCourse","grades","boards","majors","useCatalogHelpers","majorsPresent","useMemo","handleCurriculumChange","useCallback","curriculumValue","handleGradeChange","gradeValue","updatedCurriculum","_a","getCurriculumStandardsFromConfig","GOAL_CATEGORY","handleMajorChange","majorValue","programInfo","getGradeBoardAndMajorBasedProgramCode","programCode","useEffect","jsxs","Fragment","jsx","SelectInput"],"mappings":"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"}
|
package/dist/features/milestone/create/comps/add-custom-chapter/search-chapter/search-chapters.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import { jsxs as p, jsx as t, Fragment as g } from "react/jsx-runtime";
|
|
2
|
-
import { memo as
|
|
3
|
-
import { IMAGES as
|
|
2
|
+
import { memo as x, useCallback as A } from "react";
|
|
3
|
+
import { IMAGES as y } from "../../../../../../assets/images/images.js";
|
|
4
4
|
import L from "../../../../../ui/image/image.js";
|
|
5
5
|
import d from "../../../../../ui/layout/flex-view.js";
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import { Container as
|
|
11
|
-
const
|
|
12
|
-
const { onFormDataChange: h, formData: l, isProcessing: f } = C, {
|
|
6
|
+
import w from "../../../../../ui/loader/app-loader/app-loader.js";
|
|
7
|
+
import j from "../../../../../ui/text/text.js";
|
|
8
|
+
import D from "../../chapter-item/chapter-item.js";
|
|
9
|
+
import S from "../selected-chapters/selected-chapters.js";
|
|
10
|
+
import { Container as X, ChaptersList as _ } from "./chapters-styled.js";
|
|
11
|
+
const R = x(function(C) {
|
|
12
|
+
const { onFormDataChange: h, formData: l, isProcessing: f, userType: $ } = C, {
|
|
13
13
|
selectedChaptersList: o = [],
|
|
14
14
|
primaryChaptersList: m = [],
|
|
15
15
|
searchedChaptersList: a = []
|
|
16
|
-
} = l,
|
|
16
|
+
} = l, u = A(
|
|
17
17
|
(r) => {
|
|
18
|
-
const
|
|
18
|
+
const s = a.find(({ id: e }) => r === e), n = m.some((e) => e.id === r), c = o.some(
|
|
19
19
|
({ id: e, added: i }) => e === r && i
|
|
20
20
|
);
|
|
21
|
-
if (
|
|
21
|
+
if (s && !n && !c) {
|
|
22
22
|
const e = {
|
|
23
|
-
...
|
|
23
|
+
...s,
|
|
24
24
|
added: !0,
|
|
25
25
|
search_and_added: !0
|
|
26
26
|
};
|
|
@@ -36,26 +36,26 @@ const E = u(function(C) {
|
|
|
36
36
|
);
|
|
37
37
|
return /* @__PURE__ */ p(d, { $flexDirection: "row", $inherit: !0, $width: "100%", children: [
|
|
38
38
|
/* @__PURE__ */ t(
|
|
39
|
-
|
|
39
|
+
X,
|
|
40
40
|
{
|
|
41
41
|
$height: "100%",
|
|
42
42
|
$justifyContent: a.length ? "flex-start" : "center",
|
|
43
43
|
$gapX: 1.5,
|
|
44
44
|
$gutterX: 1.5,
|
|
45
|
-
children: f ? /* @__PURE__ */ t(d, { $height: "100%", $alignItems: "center", $justifyContent: "center", children: /* @__PURE__ */ t(
|
|
46
|
-
const
|
|
45
|
+
children: f ? /* @__PURE__ */ t(d, { $height: "100%", $alignItems: "center", $justifyContent: "center", children: /* @__PURE__ */ t(w, { height: "100%" }) }) : /* @__PURE__ */ t(g, { children: a.length > 0 ? /* @__PURE__ */ t(_, { children: /* @__PURE__ */ t(d, { $flexDirection: "row", $flexGapX: 1.25, $flexWrap: !0, children: a.map((r, s) => {
|
|
46
|
+
const n = m.some(
|
|
47
47
|
({ code: e }) => r.code === e
|
|
48
48
|
), c = o.some(
|
|
49
49
|
({ id: e, added: i }) => e === r.id && i
|
|
50
50
|
);
|
|
51
51
|
return /* @__PURE__ */ t(
|
|
52
|
-
|
|
52
|
+
D,
|
|
53
53
|
{
|
|
54
54
|
chapterData: r,
|
|
55
|
-
canAddChapter: !
|
|
56
|
-
chapterNo:
|
|
57
|
-
isThisPrimaryChapter:
|
|
58
|
-
onChapterItemClick:
|
|
55
|
+
canAddChapter: !n && !c,
|
|
56
|
+
chapterNo: s + 1,
|
|
57
|
+
isThisPrimaryChapter: n,
|
|
58
|
+
onChapterItemClick: u
|
|
59
59
|
},
|
|
60
60
|
r.id
|
|
61
61
|
);
|
|
@@ -69,17 +69,24 @@ const E = u(function(C) {
|
|
|
69
69
|
$marginBottomX: 5.75,
|
|
70
70
|
$height: "100%",
|
|
71
71
|
children: [
|
|
72
|
-
/* @__PURE__ */ t(L, { width: 180, height: 108, src:
|
|
73
|
-
/* @__PURE__ */ t(
|
|
72
|
+
/* @__PURE__ */ t(L, { width: 180, height: 108, src: y.NO_INFO, alt: "No Chapter", withLoader: !0 }),
|
|
73
|
+
/* @__PURE__ */ t(j, { $renderAs: "ab2-bold", $align: "center", $color: "REAL_BLACK_60", $widthX: 21, children: "Choose a grade and curriculum to display the chapters" })
|
|
74
74
|
]
|
|
75
75
|
}
|
|
76
76
|
) })
|
|
77
77
|
}
|
|
78
78
|
),
|
|
79
|
-
/* @__PURE__ */ t(
|
|
79
|
+
/* @__PURE__ */ t(
|
|
80
|
+
S,
|
|
81
|
+
{
|
|
82
|
+
formData: l,
|
|
83
|
+
onFormDataChange: h,
|
|
84
|
+
userType: $
|
|
85
|
+
}
|
|
86
|
+
)
|
|
80
87
|
] });
|
|
81
88
|
});
|
|
82
89
|
export {
|
|
83
|
-
|
|
90
|
+
R as default
|
|
84
91
|
};
|
|
85
92
|
//# sourceMappingURL=search-chapters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-chapters.js","sources":["../../../../../../../src/features/milestone/create/comps/add-custom-chapter/search-chapter/search-chapters.tsx"],"sourcesContent":["import { useCallback, memo, type FC } from 'react';\n\nimport { IMAGES } from '../../../../../../assets/images/images';\nimport Image from '../../../../../ui/image/image';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport AppLoader from '../../../../../ui/loader/app-loader/app-loader';\nimport Text from '../../../../../ui/text/text';\nimport ChapterItemV2 from '../../chapter-item/chapter-item';\nimport type { IChapter } from '../../chapter-item/chapter-item-types';\nimport SelectedChapters from '../selected-chapters/selected-chapters';\nimport * as Styled from './chapters-styled';\nimport type { ISearchChapterProps } from './search-chapter-types';\n\nconst ChapterSearch: FC<ISearchChapterProps> = memo(function ChapterSearch(props) {\n const { onFormDataChange, formData, isProcessing } = props;\n const {\n selectedChaptersList = [],\n primaryChaptersList = [],\n searchedChaptersList = [],\n } = formData;\n\n const handleOnAddCustomChapter = useCallback(\n (chapterId: string) => {\n const searchedChapter = searchedChaptersList.find(({ id }) => chapterId === id);\n const isThisPrimaryChapter = primaryChaptersList.some(chapter => chapter.id === chapterId);\n const isChapterAlreadyAdded = selectedChaptersList.some(\n ({ id, added }) => id === chapterId && added,\n );\n\n if (searchedChapter && !isThisPrimaryChapter && !isChapterAlreadyAdded) {\n const addedChapter: IChapter = {\n ...searchedChapter,\n added: true,\n search_and_added: true,\n };\n\n onFormDataChange({\n selectedChaptersList: [...selectedChaptersList, addedChapter],\n searchedChaptersList: searchedChaptersList.map(chapter =>\n chapter.id === chapterId ? { ...chapter, added: true } : chapter,\n ),\n });\n }\n },\n [searchedChaptersList, onFormDataChange, selectedChaptersList, primaryChaptersList],\n );\n\n return (\n <FlexView $flexDirection=\"row\" $inherit $width=\"100%\">\n <Styled.Container\n $height=\"100%\"\n $justifyContent={searchedChaptersList.length ? 'flex-start' : 'center'}\n $gapX={1.5}\n $gutterX={1.5}\n >\n {isProcessing ? (\n <FlexView $height=\"100%\" $alignItems=\"center\" $justifyContent=\"center\">\n <AppLoader height=\"100%\" />\n </FlexView>\n ) : (\n <>\n {searchedChaptersList.length > 0 ? (\n <Styled.ChaptersList>\n <FlexView $flexDirection=\"row\" $flexGapX={1.25} $flexWrap>\n {searchedChaptersList.map((chapter, idx) => {\n const isThisPrimaryChapter = primaryChaptersList.some(\n ({ code }) => chapter.code === code,\n );\n const isChapterAlreadyAdded = selectedChaptersList.some(\n ({ id, added }) => id === chapter.id && added,\n );\n\n return (\n <ChapterItemV2\n key={chapter.id}\n chapterData={chapter}\n canAddChapter={!isThisPrimaryChapter && !isChapterAlreadyAdded}\n chapterNo={idx + 1}\n isThisPrimaryChapter={isThisPrimaryChapter}\n onChapterItemClick={handleOnAddCustomChapter}\n />\n );\n })}\n </FlexView>\n </Styled.ChaptersList>\n ) : (\n <FlexView\n $flexRowGap={24}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $alignSelf=\"center\"\n $marginBottomX={5.75}\n $height=\"100%\"\n >\n <Image width={180} height={108} src={IMAGES.NO_INFO} alt=\"No Chapter\" withLoader />\n\n <Text $renderAs=\"ab2-bold\" $align=\"center\" $color=\"REAL_BLACK_60\" $widthX={21}>\n Choose a grade and curriculum to display the chapters\n </Text>\n </FlexView>\n )}\n </>\n )}\n </Styled.Container>\n\n <SelectedChapters
|
|
1
|
+
{"version":3,"file":"search-chapters.js","sources":["../../../../../../../src/features/milestone/create/comps/add-custom-chapter/search-chapter/search-chapters.tsx"],"sourcesContent":["import { useCallback, memo, type FC } from 'react';\n\nimport { IMAGES } from '../../../../../../assets/images/images';\nimport Image from '../../../../../ui/image/image';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport AppLoader from '../../../../../ui/loader/app-loader/app-loader';\nimport Text from '../../../../../ui/text/text';\nimport ChapterItemV2 from '../../chapter-item/chapter-item';\nimport type { IChapter } from '../../chapter-item/chapter-item-types';\nimport SelectedChapters from '../selected-chapters/selected-chapters';\nimport * as Styled from './chapters-styled';\nimport type { ISearchChapterProps } from './search-chapter-types';\n\nconst ChapterSearch: FC<ISearchChapterProps> = memo(function ChapterSearch(props) {\n const { onFormDataChange, formData, isProcessing, userType } = props;\n const {\n selectedChaptersList = [],\n primaryChaptersList = [],\n searchedChaptersList = [],\n } = formData;\n\n const handleOnAddCustomChapter = useCallback(\n (chapterId: string) => {\n const searchedChapter = searchedChaptersList.find(({ id }) => chapterId === id);\n const isThisPrimaryChapter = primaryChaptersList.some(chapter => chapter.id === chapterId);\n const isChapterAlreadyAdded = selectedChaptersList.some(\n ({ id, added }) => id === chapterId && added,\n );\n\n if (searchedChapter && !isThisPrimaryChapter && !isChapterAlreadyAdded) {\n const addedChapter: IChapter = {\n ...searchedChapter,\n added: true,\n search_and_added: true,\n };\n\n onFormDataChange({\n selectedChaptersList: [...selectedChaptersList, addedChapter],\n searchedChaptersList: searchedChaptersList.map(chapter =>\n chapter.id === chapterId ? { ...chapter, added: true } : chapter,\n ),\n });\n }\n },\n [searchedChaptersList, onFormDataChange, selectedChaptersList, primaryChaptersList],\n );\n\n return (\n <FlexView $flexDirection=\"row\" $inherit $width=\"100%\">\n <Styled.Container\n $height=\"100%\"\n $justifyContent={searchedChaptersList.length ? 'flex-start' : 'center'}\n $gapX={1.5}\n $gutterX={1.5}\n >\n {isProcessing ? (\n <FlexView $height=\"100%\" $alignItems=\"center\" $justifyContent=\"center\">\n <AppLoader height=\"100%\" />\n </FlexView>\n ) : (\n <>\n {searchedChaptersList.length > 0 ? (\n <Styled.ChaptersList>\n <FlexView $flexDirection=\"row\" $flexGapX={1.25} $flexWrap>\n {searchedChaptersList.map((chapter, idx) => {\n const isThisPrimaryChapter = primaryChaptersList.some(\n ({ code }) => chapter.code === code,\n );\n const isChapterAlreadyAdded = selectedChaptersList.some(\n ({ id, added }) => id === chapter.id && added,\n );\n\n return (\n <ChapterItemV2\n key={chapter.id}\n chapterData={chapter}\n canAddChapter={!isThisPrimaryChapter && !isChapterAlreadyAdded}\n chapterNo={idx + 1}\n isThisPrimaryChapter={isThisPrimaryChapter}\n onChapterItemClick={handleOnAddCustomChapter}\n />\n );\n })}\n </FlexView>\n </Styled.ChaptersList>\n ) : (\n <FlexView\n $flexRowGap={24}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $alignSelf=\"center\"\n $marginBottomX={5.75}\n $height=\"100%\"\n >\n <Image width={180} height={108} src={IMAGES.NO_INFO} alt=\"No Chapter\" withLoader />\n\n <Text $renderAs=\"ab2-bold\" $align=\"center\" $color=\"REAL_BLACK_60\" $widthX={21}>\n Choose a grade and curriculum to display the chapters\n </Text>\n </FlexView>\n )}\n </>\n )}\n </Styled.Container>\n\n <SelectedChapters\n formData={formData}\n onFormDataChange={onFormDataChange}\n userType={userType}\n />\n </FlexView>\n );\n});\n\nexport default ChapterSearch;\n"],"names":["ChapterSearch","memo","props","onFormDataChange","formData","isProcessing","userType","selectedChaptersList","primaryChaptersList","searchedChaptersList","handleOnAddCustomChapter","useCallback","chapterId","searchedChapter","id","isThisPrimaryChapter","chapter","isChapterAlreadyAdded","added","addedChapter","FlexView","jsx","Styled.Container","AppLoader","Fragment","Styled.ChaptersList","idx","code","ChapterItemV2","jsxs","Image","IMAGES","Text","SelectedChapters"],"mappings":"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"}
|