@cuemath/leap 2.8.21 → 2.8.22
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/images/images.js +12 -0
- package/dist/assets/images/images.js.map +1 -1
- package/dist/constants/urls.js +5 -0
- package/dist/constants/urls.js.map +1 -0
- package/dist/features/chapters/chapter/chapter.js +45 -43
- package/dist/features/chapters/chapter/chapter.js.map +1 -1
- package/dist/features/chapters/chapter/comps/core-lessons/core-lessons.js +23 -21
- package/dist/features/chapters/chapter/comps/core-lessons/core-lessons.js.map +1 -1
- package/dist/features/milestone/constants.js +53 -18
- package/dist/features/milestone/constants.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.js +16 -4
- package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-constants.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-container.js +56 -47
- package/dist/features/milestone/create/milestone-create-container.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-helpers.js +132 -113
- package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-hooks.js +92 -90
- package/dist/features/milestone/create/milestone-create-hooks.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-styled.js +34 -20
- package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
- package/dist/features/milestone/create/milestone-create.js +72 -53
- package/dist/features/milestone/create/milestone-create.js.map +1 -1
- package/dist/features/milestone/create/submit-modal/use-submit-milestone.js +53 -46
- package/dist/features/milestone/create/submit-modal/use-submit-milestone.js.map +1 -1
- package/dist/features/milestone/create/utils/index.js.map +1 -1
- package/dist/features/milestone/drafts/create/draft-create-container.js +54 -0
- package/dist/features/milestone/drafts/create/draft-create-container.js.map +1 -0
- package/dist/features/milestone/drafts/edit/draft-edit-container.js +77 -0
- package/dist/features/milestone/drafts/edit/draft-edit-container.js.map +1 -0
- package/dist/features/milestone/drafts/edit/draft-edit-helpers.js +69 -0
- package/dist/features/milestone/drafts/edit/draft-edit-helpers.js.map +1 -0
- package/dist/features/milestone/{edit/goal-drafts → drafts/goal-edit}/goal-draft-edit-container.js +24 -22
- package/dist/features/milestone/drafts/goal-edit/goal-draft-edit-container.js.map +1 -0
- package/dist/features/milestone/drafts/review/draft-review-container.js +76 -0
- package/dist/features/milestone/drafts/review/draft-review-container.js.map +1 -0
- package/dist/features/milestone/edit/comps/delete-milestone/add-remove-nudge.js +48 -0
- package/dist/features/milestone/edit/comps/delete-milestone/add-remove-nudge.js.map +1 -0
- package/dist/features/milestone/edit/comps/delete-milestone/styled.js +11 -8
- package/dist/features/milestone/edit/comps/delete-milestone/styled.js.map +1 -1
- package/dist/features/milestone/edit/comps/edit-milestone-modal/edit-milestone-modal-styled.js +23 -0
- package/dist/features/milestone/edit/comps/edit-milestone-modal/edit-milestone-modal-styled.js.map +1 -0
- package/dist/features/milestone/edit/comps/edit-milestone-modal/edit-milestone.js +79 -82
- package/dist/features/milestone/edit/comps/edit-milestone-modal/edit-milestone.js.map +1 -1
- package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js +136 -112
- package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js.map +1 -1
- package/dist/features/milestone/edit/comps/edit-milestone-modal/share-screen.js +68 -0
- package/dist/features/milestone/edit/comps/edit-milestone-modal/share-screen.js.map +1 -0
- package/dist/features/milestone/edit/goal-edit-helpers.js +6 -5
- package/dist/features/milestone/edit/goal-edit-helpers.js.map +1 -1
- package/dist/features/milestone/edit/milestone-edit-helpers.js +17 -16
- package/dist/features/milestone/edit/milestone-edit-helpers.js.map +1 -1
- package/dist/features/milestone/help-modals/index.js +22 -0
- package/dist/features/milestone/help-modals/index.js.map +1 -0
- package/dist/features/milestone/help-modals/milestone-lesson.js +17 -0
- package/dist/features/milestone/help-modals/milestone-lesson.js.map +1 -0
- package/dist/features/milestone/help-modals/milestone-list.js +17 -0
- package/dist/features/milestone/help-modals/milestone-list.js.map +1 -0
- package/dist/features/milestone/help-modals/utils.js +20 -0
- package/dist/features/milestone/help-modals/utils.js.map +1 -0
- package/dist/features/milestone/intro-modal/index.js +24 -0
- package/dist/features/milestone/intro-modal/index.js.map +1 -0
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +48 -46
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js +60 -58
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
- package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-container.js +41 -39
- package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-container.js.map +1 -1
- package/dist/features/notifications/api/notification.js +13 -0
- package/dist/features/notifications/api/notification.js.map +1 -0
- package/dist/features/notifications/use-student-journey.js +20 -0
- package/dist/features/notifications/use-student-journey.js.map +1 -0
- package/dist/features/sheets/constants/lessons.js +28 -0
- package/dist/features/sheets/constants/lessons.js.map +1 -0
- package/dist/features/ui/modals/info-modal/index.js +117 -0
- package/dist/features/ui/modals/info-modal/index.js.map +1 -0
- package/dist/index.d.ts +125 -7
- package/dist/index.js +258 -244
- package/dist/index.js.map +1 -1
- package/dist/static/goal_creation_helper.d45e4d58.png +0 -0
- package/dist/static/help_banner1.ddb0ef0f.png +0 -0
- package/dist/static/help_banner2.40979ed0.png +0 -0
- package/dist/static/help_banner3.532099c7.png +0 -0
- package/dist/static/help_banner4.90a6fd4d.png +0 -0
- package/dist/static/help_banner5.2a9efb39.png +0 -0
- package/dist/static/help_banner6.94fe9589.png +0 -0
- package/dist/static/milestone_intro_slide1.1537493e.png +0 -0
- package/dist/static/milestone_intro_slide2.b791c159.png +0 -0
- package/dist/static/milestone_intro_slide3.f7d63a11.png +0 -0
- package/dist/static/milestone_intro_slide4.f8da4e46.png +0 -0
- package/dist/static/milestone_intro_slide5.ea5d12d2.png +0 -0
- package/package.json +1 -1
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +0 -1
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-helpers.js +0 -17
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-helpers.js.map +0 -1
@@ -1,18 +1,18 @@
|
|
1
|
-
import { jsxs as s, Fragment as q, jsx as
|
2
|
-
import z, { memo as
|
1
|
+
import { jsxs as s, Fragment as q, jsx as i } from "react/jsx-runtime";
|
2
|
+
import z, { memo as J, useState as K } from "react";
|
3
3
|
import m from "../../../ui/layout/flex-view.js";
|
4
|
-
import
|
5
|
-
import
|
6
|
-
import { StyledDownIcon as
|
7
|
-
import
|
8
|
-
const
|
9
|
-
({ milestones: e, studentId:
|
10
|
-
const [o, A] =
|
4
|
+
import Q from "../../../ui/text/text.js";
|
5
|
+
import Y from "./milestone-widget/milestone-widget.js";
|
6
|
+
import { StyledDownIcon as Z } from "./milestone-widget/milestone-widget-styled.js";
|
7
|
+
import ee from "./no-active-milestone/no-active-milestone.js";
|
8
|
+
const le = J(
|
9
|
+
({ milestones: e, studentId: p, milestoneType: n, ...f }) => {
|
10
|
+
const [o, A] = K(!1), {
|
11
11
|
canCreatePlan: u,
|
12
|
-
isClassOngoing:
|
13
|
-
isFiltersAdded:
|
14
|
-
isStudentPresent:
|
15
|
-
onAddChapter:
|
12
|
+
isClassOngoing: C,
|
13
|
+
isFiltersAdded: M,
|
14
|
+
isStudentPresent: g,
|
15
|
+
onAddChapter: h,
|
16
16
|
onAddOutcome: P,
|
17
17
|
onChapterClick: x,
|
18
18
|
onCreatePlan: v,
|
@@ -20,13 +20,14 @@ const ae = H(
|
|
20
20
|
onDraftPublish: R,
|
21
21
|
onEdit: S,
|
22
22
|
onExpandPastMilestones: a,
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
23
|
+
onMilestoneHelpClick: T,
|
24
|
+
onCreateMilestoneTest: w,
|
25
|
+
onPreview: E,
|
26
|
+
onReattempt: D,
|
27
|
+
onReset: N,
|
28
|
+
onResume: $,
|
29
|
+
onReview: F,
|
30
|
+
onStart: k,
|
30
31
|
onAssignResources: O,
|
31
32
|
onUnAssignSheet: V,
|
32
33
|
onTestPreview: _,
|
@@ -34,13 +35,13 @@ const ae = H(
|
|
34
35
|
onTestStart: j,
|
35
36
|
studentName: l,
|
36
37
|
teacherName: L,
|
37
|
-
parentName:
|
38
|
+
parentName: H,
|
38
39
|
userType: c,
|
39
40
|
courseStream: U
|
40
|
-
} =
|
41
|
+
} = f;
|
41
42
|
if (!e)
|
42
43
|
return null;
|
43
|
-
const
|
44
|
+
const r = n === "ACTIVE", d = n === "DRAFT", y = () => {
|
44
45
|
!o && a && a(), A(!o);
|
45
46
|
}, B = e.some(
|
46
47
|
(t) => t.milestone_state === "ACTIVE"
|
@@ -48,54 +49,55 @@ const ae = H(
|
|
48
49
|
(t) => t.milestone_state === "DRAFT"
|
49
50
|
);
|
50
51
|
return /* @__PURE__ */ s(q, { children: [
|
51
|
-
|
52
|
-
|
52
|
+
r && !B && /* @__PURE__ */ i(
|
53
|
+
ee,
|
53
54
|
{
|
54
55
|
canCreatePlan: u,
|
55
56
|
isDraftMilestonePresent: G,
|
56
|
-
isFiltersAdded:
|
57
|
+
isFiltersAdded: M,
|
57
58
|
onCreatePlan: v,
|
58
59
|
studentName: l,
|
59
60
|
userType: c
|
60
61
|
}
|
61
62
|
),
|
62
63
|
n === "INACTIVE" && !!e.length && /* @__PURE__ */ s(m, { $flexDirection: "row", $alignItems: "center", $justifyContent: "space-between", children: [
|
63
|
-
/* @__PURE__ */ s(
|
64
|
+
/* @__PURE__ */ s(Q, { $renderAs: "eyebrow1", children: [
|
64
65
|
"PAST LEARNING PLANS & OUTCOMES (",
|
65
66
|
e.length,
|
66
67
|
")"
|
67
68
|
] }),
|
68
|
-
/* @__PURE__ */
|
69
|
+
/* @__PURE__ */ i(Z, { onClick: y, $expanded: o })
|
69
70
|
] }),
|
70
|
-
(d ||
|
71
|
+
(d || r || o) && e.map((t, W) => {
|
71
72
|
const { id: X } = t;
|
72
73
|
return /* @__PURE__ */ s(z.Fragment, { children: [
|
73
|
-
/* @__PURE__ */
|
74
|
-
|
74
|
+
/* @__PURE__ */ i(
|
75
|
+
Y,
|
75
76
|
{
|
76
77
|
milestone: t,
|
77
|
-
studentId:
|
78
|
+
studentId: p,
|
78
79
|
studentName: l,
|
79
|
-
parentName:
|
80
|
+
parentName: H,
|
80
81
|
teacherName: L,
|
81
82
|
userType: c,
|
82
83
|
onAddOutcome: P,
|
83
84
|
onChapterClick: x,
|
84
|
-
isMilestoneActive:
|
85
|
+
isMilestoneActive: r || d,
|
85
86
|
milestoneType: n,
|
86
87
|
onEdit: S,
|
87
|
-
onCreateMilestoneTest:
|
88
|
-
onPreview:
|
89
|
-
onReattempt:
|
90
|
-
onReset:
|
91
|
-
onResume:
|
92
|
-
onReview:
|
93
|
-
onStart:
|
94
|
-
onAddChapter:
|
88
|
+
onCreateMilestoneTest: w,
|
89
|
+
onPreview: E,
|
90
|
+
onReattempt: D,
|
91
|
+
onReset: N,
|
92
|
+
onResume: $,
|
93
|
+
onReview: F,
|
94
|
+
onStart: k,
|
95
|
+
onAddChapter: h,
|
95
96
|
onDelete: I,
|
96
97
|
onDraftPublish: R,
|
97
|
-
isClassOngoing:
|
98
|
-
isStudentPresent:
|
98
|
+
isClassOngoing: C,
|
99
|
+
isStudentPresent: g,
|
100
|
+
onHelpClick: T,
|
99
101
|
onAssignResources: O,
|
100
102
|
onUnAssignSheet: V,
|
101
103
|
onTestPreview: _,
|
@@ -104,13 +106,13 @@ const ae = H(
|
|
104
106
|
courseStream: U
|
105
107
|
}
|
106
108
|
),
|
107
|
-
W !== e.length - 1 && /* @__PURE__ */
|
109
|
+
W !== e.length - 1 && /* @__PURE__ */ i(m, { $heightX: 2.625 })
|
108
110
|
] }, `milestone=${X}`);
|
109
111
|
})
|
110
112
|
] });
|
111
113
|
}
|
112
114
|
);
|
113
115
|
export {
|
114
|
-
|
116
|
+
le as default
|
115
117
|
};
|
116
118
|
//# sourceMappingURL=milestone-list.js.map
|
package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"milestone-list.js","sources":["../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-list.tsx"],"sourcesContent":["import type { IMilestoneListProps } from './milestone-list-types';\n\nimport React, { memo, useState } from 'react';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport MilestoneWidget from './milestone-widget/milestone-widget';\nimport { StyledDownIcon } from './milestone-widget/milestone-widget-styled';\nimport NoActiveMilestone from './no-active-milestone/no-active-milestone';\n\nconst MilestoneList: React.FC<IMilestoneListProps> = memo(\n ({ milestones, studentId, milestoneType, ...restMilestoneListProps }) => {\n const [expandInactiveMilestones, setExpandInactiveMilestones] = useState(false);\n const {\n canCreatePlan,\n isClassOngoing,\n isFiltersAdded,\n isStudentPresent,\n onAddChapter,\n onAddOutcome,\n onChapterClick,\n onCreatePlan,\n onDelete,\n onDraftPublish,\n onEdit,\n onExpandPastMilestones,\n onCreateMilestoneTest,\n onPreview,\n onReattempt,\n onReset,\n onResume,\n onReview,\n onStart,\n onAssignResources,\n onUnAssignSheet,\n onTestPreview,\n onTestReview,\n onTestStart,\n studentName,\n teacherName,\n parentName,\n userType,\n courseStream,\n } = restMilestoneListProps;\n\n if (!milestones) {\n return null;\n }\n\n const isMilestoneActive = milestoneType === 'ACTIVE';\n const isDraftMilestone = milestoneType === 'DRAFT';\n\n const toggleExpand = () => {\n if (!expandInactiveMilestones && onExpandPastMilestones) {\n onExpandPastMilestones();\n }\n setExpandInactiveMilestones(!expandInactiveMilestones);\n };\n\n const activeMilestonePresent = milestones.some(\n milestone => milestone.milestone_state === 'ACTIVE',\n );\n const draftMilestonePresent = milestones.some(\n milestone => milestone.milestone_state === 'DRAFT',\n );\n\n return (\n <>\n {isMilestoneActive && !activeMilestonePresent && (\n <NoActiveMilestone\n canCreatePlan={canCreatePlan}\n isDraftMilestonePresent={draftMilestonePresent}\n isFiltersAdded={isFiltersAdded}\n onCreatePlan={onCreatePlan}\n studentName={studentName}\n userType={userType}\n />\n )}\n\n {milestoneType === 'INACTIVE' && Boolean(milestones.length) && (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"space-between\">\n <Text $renderAs=\"eyebrow1\">PAST LEARNING PLANS & OUTCOMES ({milestones.length})</Text>\n <StyledDownIcon onClick={toggleExpand} $expanded={expandInactiveMilestones} />\n </FlexView>\n )}\n\n {(isDraftMilestone || isMilestoneActive || expandInactiveMilestones) &&\n milestones.map((milestone, idx) => {\n const { id: milestoneId } = milestone;\n\n return (\n <React.Fragment key={`milestone=${milestoneId}`}>\n <MilestoneWidget\n milestone={milestone}\n studentId={studentId}\n studentName={studentName}\n parentName={parentName}\n teacherName={teacherName}\n userType={userType}\n onAddOutcome={onAddOutcome}\n onChapterClick={onChapterClick}\n isMilestoneActive={isMilestoneActive || isDraftMilestone}\n milestoneType={milestoneType}\n onEdit={onEdit}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onPreview={onPreview}\n onReattempt={onReattempt}\n onReset={onReset}\n onResume={onResume}\n onReview={onReview}\n onStart={onStart}\n onAddChapter={onAddChapter}\n onDelete={onDelete}\n onDraftPublish={onDraftPublish}\n isClassOngoing={isClassOngoing}\n isStudentPresent={isStudentPresent}\n onAssignResources={onAssignResources}\n onUnAssignSheet={onUnAssignSheet}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n courseStream={courseStream}\n />\n {idx !== milestones.length - 1 && <FlexView $heightX={2.625} />}\n </React.Fragment>\n );\n })}\n </>\n );\n },\n);\n\nexport default MilestoneList;\n"],"names":["MilestoneList","memo","milestones","studentId","milestoneType","restMilestoneListProps","expandInactiveMilestones","setExpandInactiveMilestones","useState","canCreatePlan","isClassOngoing","isFiltersAdded","isStudentPresent","onAddChapter","onAddOutcome","onChapterClick","onCreatePlan","onDelete","onDraftPublish","onEdit","onExpandPastMilestones","onCreateMilestoneTest","onPreview","onReattempt","onReset","onResume","onReview","onStart","onAssignResources","onUnAssignSheet","onTestPreview","onTestReview","onTestStart","studentName","teacherName","parentName","userType","courseStream","isMilestoneActive","isDraftMilestone","toggleExpand","activeMilestonePresent","milestone","draftMilestonePresent","jsxs","Fragment","jsx","NoActiveMilestone","FlexView","Text","StyledDownIcon","idx","milestoneId","React","MilestoneWidget"],"mappings":";;;;;;;AAUA,MAAMA,KAA+CC;AAAA,EACnD,CAAC,EAAE,YAAAC,GAAY,WAAAC,GAAW,eAAAC,GAAe,GAAGC,QAA6B;AACvE,UAAM,CAACC,GAA0BC,CAA2B,IAAIC,EAAS,EAAK,GACxE;AAAA,MACJ,eAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,UAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,QAAAC;AAAA,MACA,wBAAAC;AAAA,MACA,uBAAAC;AAAA,MACA,WAAAC;AAAA,MACA,aAAAC;AAAA,MACA,SAAAC;AAAA,MACA,UAAAC;AAAA,MACA,UAAAC;AAAA,MACA,SAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,eAAAC;AAAA,MACA,cAAAC;AAAA,MACA,aAAAC;AAAA,MACA,aAAAC;AAAA,MACA,aAAAC;AAAA,MACA,YAAAC;AAAA,MACA,UAAAC;AAAA,MACA,cAAAC;AAAA,IACE,
|
1
|
+
{"version":3,"file":"milestone-list.js","sources":["../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-list.tsx"],"sourcesContent":["import type { IMilestoneListProps } from './milestone-list-types';\n\nimport React, { memo, useState } from 'react';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport MilestoneWidget from './milestone-widget/milestone-widget';\nimport { StyledDownIcon } from './milestone-widget/milestone-widget-styled';\nimport NoActiveMilestone from './no-active-milestone/no-active-milestone';\n\nconst MilestoneList: React.FC<IMilestoneListProps> = memo(\n ({ milestones, studentId, milestoneType, ...restMilestoneListProps }) => {\n const [expandInactiveMilestones, setExpandInactiveMilestones] = useState(false);\n const {\n canCreatePlan,\n isClassOngoing,\n isFiltersAdded,\n isStudentPresent,\n onAddChapter,\n onAddOutcome,\n onChapterClick,\n onCreatePlan,\n onDelete,\n onDraftPublish,\n onEdit,\n onExpandPastMilestones,\n onMilestoneHelpClick,\n onCreateMilestoneTest,\n onPreview,\n onReattempt,\n onReset,\n onResume,\n onReview,\n onStart,\n onAssignResources,\n onUnAssignSheet,\n onTestPreview,\n onTestReview,\n onTestStart,\n studentName,\n teacherName,\n parentName,\n userType,\n courseStream,\n } = restMilestoneListProps;\n\n if (!milestones) {\n return null;\n }\n\n const isMilestoneActive = milestoneType === 'ACTIVE';\n const isDraftMilestone = milestoneType === 'DRAFT';\n\n const toggleExpand = () => {\n if (!expandInactiveMilestones && onExpandPastMilestones) {\n onExpandPastMilestones();\n }\n setExpandInactiveMilestones(!expandInactiveMilestones);\n };\n\n const activeMilestonePresent = milestones.some(\n milestone => milestone.milestone_state === 'ACTIVE',\n );\n const draftMilestonePresent = milestones.some(\n milestone => milestone.milestone_state === 'DRAFT',\n );\n\n return (\n <>\n {isMilestoneActive && !activeMilestonePresent && (\n <NoActiveMilestone\n canCreatePlan={canCreatePlan}\n isDraftMilestonePresent={draftMilestonePresent}\n isFiltersAdded={isFiltersAdded}\n onCreatePlan={onCreatePlan}\n studentName={studentName}\n userType={userType}\n />\n )}\n\n {milestoneType === 'INACTIVE' && Boolean(milestones.length) && (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"space-between\">\n <Text $renderAs=\"eyebrow1\">PAST LEARNING PLANS & OUTCOMES ({milestones.length})</Text>\n <StyledDownIcon onClick={toggleExpand} $expanded={expandInactiveMilestones} />\n </FlexView>\n )}\n\n {(isDraftMilestone || isMilestoneActive || expandInactiveMilestones) &&\n milestones.map((milestone, idx) => {\n const { id: milestoneId } = milestone;\n\n return (\n <React.Fragment key={`milestone=${milestoneId}`}>\n <MilestoneWidget\n milestone={milestone}\n studentId={studentId}\n studentName={studentName}\n parentName={parentName}\n teacherName={teacherName}\n userType={userType}\n onAddOutcome={onAddOutcome}\n onChapterClick={onChapterClick}\n isMilestoneActive={isMilestoneActive || isDraftMilestone}\n milestoneType={milestoneType}\n onEdit={onEdit}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onPreview={onPreview}\n onReattempt={onReattempt}\n onReset={onReset}\n onResume={onResume}\n onReview={onReview}\n onStart={onStart}\n onAddChapter={onAddChapter}\n onDelete={onDelete}\n onDraftPublish={onDraftPublish}\n isClassOngoing={isClassOngoing}\n isStudentPresent={isStudentPresent}\n onHelpClick={onMilestoneHelpClick}\n onAssignResources={onAssignResources}\n onUnAssignSheet={onUnAssignSheet}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n courseStream={courseStream}\n />\n {idx !== milestones.length - 1 && <FlexView $heightX={2.625} />}\n </React.Fragment>\n );\n })}\n </>\n );\n },\n);\n\nexport default MilestoneList;\n"],"names":["MilestoneList","memo","milestones","studentId","milestoneType","restMilestoneListProps","expandInactiveMilestones","setExpandInactiveMilestones","useState","canCreatePlan","isClassOngoing","isFiltersAdded","isStudentPresent","onAddChapter","onAddOutcome","onChapterClick","onCreatePlan","onDelete","onDraftPublish","onEdit","onExpandPastMilestones","onMilestoneHelpClick","onCreateMilestoneTest","onPreview","onReattempt","onReset","onResume","onReview","onStart","onAssignResources","onUnAssignSheet","onTestPreview","onTestReview","onTestStart","studentName","teacherName","parentName","userType","courseStream","isMilestoneActive","isDraftMilestone","toggleExpand","activeMilestonePresent","milestone","draftMilestonePresent","jsxs","Fragment","jsx","NoActiveMilestone","FlexView","Text","StyledDownIcon","idx","milestoneId","React","MilestoneWidget"],"mappings":";;;;;;;AAUA,MAAMA,KAA+CC;AAAA,EACnD,CAAC,EAAE,YAAAC,GAAY,WAAAC,GAAW,eAAAC,GAAe,GAAGC,QAA6B;AACvE,UAAM,CAACC,GAA0BC,CAA2B,IAAIC,EAAS,EAAK,GACxE;AAAA,MACJ,eAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,UAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,QAAAC;AAAA,MACA,wBAAAC;AAAA,MACA,sBAAAC;AAAA,MACA,uBAAAC;AAAA,MACA,WAAAC;AAAA,MACA,aAAAC;AAAA,MACA,SAAAC;AAAA,MACA,UAAAC;AAAA,MACA,UAAAC;AAAA,MACA,SAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,eAAAC;AAAA,MACA,cAAAC;AAAA,MACA,aAAAC;AAAA,MACA,aAAAC;AAAA,MACA,aAAAC;AAAA,MACA,YAAAC;AAAA,MACA,UAAAC;AAAA,MACA,cAAAC;AAAA,IACE,IAAAjC;AAEJ,QAAI,CAACH;AACI,aAAA;AAGT,UAAMqC,IAAoBnC,MAAkB,UACtCoC,IAAmBpC,MAAkB,SAErCqC,IAAe,MAAM;AACrB,MAAA,CAACnC,KAA4Bc,KACRA,KAEzBb,EAA4B,CAACD,CAAwB;AAAA,IAAA,GAGjDoC,IAAyBxC,EAAW;AAAA,MACxC,CAAAyC,MAAaA,EAAU,oBAAoB;AAAA,IAAA,GAEvCC,IAAwB1C,EAAW;AAAA,MACvC,CAAAyC,MAAaA,EAAU,oBAAoB;AAAA,IAAA;AAG7C,WAEK,gBAAAE,EAAAC,GAAA,EAAA,UAAA;AAAA,MAAAP,KAAqB,CAACG,KACrB,gBAAAK;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,eAAAvC;AAAA,UACA,yBAAyBmC;AAAA,UACzB,gBAAAjC;AAAA,UACA,cAAAK;AAAA,UACA,aAAAkB;AAAA,UACA,UAAAG;AAAA,QAAA;AAAA,MACF;AAAA,MAGDjC,MAAkB,cAAc,EAAQF,EAAW,UACjD,gBAAA2C,EAAAI,GAAA,EAAS,gBAAe,OAAM,aAAY,UAAS,iBAAgB,iBAClE,UAAA;AAAA,QAAC,gBAAAJ,EAAAK,GAAA,EAAK,WAAU,YAAW,UAAA;AAAA,UAAA;AAAA,UAAiChD,EAAW;AAAA,UAAO;AAAA,QAAA,GAAC;AAAA,QAC9E,gBAAA6C,EAAAI,GAAA,EAAe,SAASV,GAAc,WAAWnC,GAA0B;AAAA,MAAA,GAC9E;AAAA,OAGAkC,KAAoBD,KAAqBjC,MACzCJ,EAAW,IAAI,CAACyC,GAAWS,MAAQ;AAC3B,cAAA,EAAE,IAAIC,EAAgB,IAAAV;AAG1B,eAAA,gBAAAE,EAACS,EAAM,UAAN,EACC,UAAA;AAAA,UAAA,gBAAAP;AAAA,YAACQ;AAAA,YAAA;AAAA,cACC,WAAAZ;AAAA,cACA,WAAAxC;AAAA,cACA,aAAA+B;AAAA,cACA,YAAAE;AAAA,cACA,aAAAD;AAAA,cACA,UAAAE;AAAA,cACA,cAAAvB;AAAA,cACA,gBAAAC;AAAA,cACA,mBAAmBwB,KAAqBC;AAAA,cACxC,eAAApC;AAAA,cACA,QAAAe;AAAA,cACA,uBAAAG;AAAA,cACA,WAAAC;AAAA,cACA,aAAAC;AAAA,cACA,SAAAC;AAAA,cACA,UAAAC;AAAA,cACA,UAAAC;AAAA,cACA,SAAAC;AAAA,cACA,cAAAf;AAAA,cACA,UAAAI;AAAA,cACA,gBAAAC;AAAA,cACA,gBAAAR;AAAA,cACA,kBAAAE;AAAA,cACA,aAAaS;AAAA,cACb,mBAAAQ;AAAA,cACA,iBAAAC;AAAA,cACA,eAAAC;AAAA,cACA,cAAAC;AAAA,cACA,aAAAC;AAAA,cACA,cAAAK;AAAA,YAAA;AAAA,UACF;AAAA,UACCc,MAAQlD,EAAW,SAAS,KAAM,gBAAA6C,EAAAE,GAAA,EAAS,UAAU,OAAO;AAAA,QAjC1C,EAAA,GAAA,aAAaI,CAAW,EAkC7C;AAAA,MAAA,CAEH;AAAA,IACL,EAAA,CAAA;AAAA,EAEJ;AACF;"}
|
@@ -1,19 +1,19 @@
|
|
1
|
-
import { jsx as i, jsxs as I, Fragment as
|
2
|
-
import { h as
|
3
|
-
import { memo as
|
4
|
-
import { ILLUSTRATIONS as
|
1
|
+
import { jsx as i, jsxs as I, Fragment as re } from "react/jsx-runtime";
|
2
|
+
import { h as ie } from "../../../node_modules/humanize-plus/dist/humanize.js";
|
3
|
+
import { memo as ae, useMemo as Ee, useState as O, useCallback as le, useEffect as R } from "react";
|
4
|
+
import { ILLUSTRATIONS as Se } from "../../../assets/illustrations/illustrations.js";
|
5
5
|
import { EVENTS as e } from "../../communication/pub-sub/constants.js";
|
6
|
-
import { useInClassActionListener as
|
7
|
-
import
|
8
|
-
import { invalidateMilestoneResources as
|
9
|
-
import { useGetAllMilestonesdata as
|
10
|
-
import
|
11
|
-
import
|
12
|
-
import
|
13
|
-
import { ContentWrapper as
|
6
|
+
import { useInClassActionListener as me } from "../../communication/pub-sub/hooks.js";
|
7
|
+
import ce from "../../ui/separator/separator.js";
|
8
|
+
import { invalidateMilestoneResources as Te } from "./api/get-milestone-resources.js";
|
9
|
+
import { useGetAllMilestonesdata as Ae, invalidateMilestonesData as _e } from "./api/get-milestones.js";
|
10
|
+
import de from "./filter-milestones.js";
|
11
|
+
import De from "./milestone-list/milestone-list.js";
|
12
|
+
import Me from "./milestone-list/milestone-loader/milestone-loader.js";
|
13
|
+
import { ContentWrapper as Ce, LoaderWrapper as Le } from "./styled.js";
|
14
14
|
const ue = (S) => {
|
15
|
-
|
16
|
-
},
|
15
|
+
_e(S);
|
16
|
+
}, Ne = ae(
|
17
17
|
({ studentName: S, studentId: m, studentClassroomId: p, ...f }) => {
|
18
18
|
const {
|
19
19
|
milestoneType: s,
|
@@ -32,19 +32,20 @@ const ue = (S) => {
|
|
32
32
|
onPreview: x,
|
33
33
|
onReattempt: V,
|
34
34
|
onReset: b,
|
35
|
-
onResume:
|
36
|
-
onReview:
|
37
|
-
onStart:
|
35
|
+
onResume: H,
|
36
|
+
onReview: k,
|
37
|
+
onStart: y,
|
38
38
|
onDraftPublish: K,
|
39
39
|
onAddChapter: j,
|
40
40
|
onCreatePlan: W,
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
41
|
+
onMilestoneHelpClick: X,
|
42
|
+
onDelete: $,
|
43
|
+
onAssignResources: q,
|
44
|
+
onUnAssignSheet: z,
|
45
|
+
onTestPreview: B,
|
46
|
+
onTestReview: J,
|
47
|
+
onTestStart: Q
|
48
|
+
} = f, n = Ee(
|
48
49
|
() => ({
|
49
50
|
milestone_state_group: s === "ACTIVE" ? T === "TEACHER" ? "LIVE" : "STUDENT_LIVE" : s,
|
50
51
|
with_plan: !0,
|
@@ -58,21 +59,21 @@ const ue = (S) => {
|
|
58
59
|
getAll: l,
|
59
60
|
isStale: D,
|
60
61
|
isProcessing: a
|
61
|
-
} =
|
62
|
+
} = Ae(n), [M, C] = O(), [L, u] = O(!1), Y = le(
|
62
63
|
(_) => {
|
63
64
|
const { searchText: o, selectedBoard: r, selectedGrade: E } = _ || {};
|
64
|
-
(o || r || E) &&
|
65
|
-
const
|
66
|
-
const { milestone_name:
|
67
|
-
return (o ?
|
65
|
+
(o || r || E) && u(!0);
|
66
|
+
const ee = t == null ? void 0 : t.filter((te) => {
|
67
|
+
const { milestone_name: se, board: oe, grade: ne } = te || {};
|
68
|
+
return (o ? se.toLowerCase().includes(o.toLowerCase()) : !0) && (r ? oe === r : !0) && (E ? ne === E : !0);
|
68
69
|
});
|
69
|
-
|
70
|
+
C(ee);
|
70
71
|
},
|
71
72
|
[t]
|
72
|
-
),
|
73
|
-
|
73
|
+
), Z = () => {
|
74
|
+
u(!1), C(void 0);
|
74
75
|
};
|
75
|
-
if (
|
76
|
+
if (me(
|
76
77
|
{
|
77
78
|
studentClassroomId: p,
|
78
79
|
actions: [
|
@@ -100,7 +101,7 @@ const ue = (S) => {
|
|
100
101
|
const o = _.find(
|
101
102
|
(E) => E.eventName === e.MILESTONE_RESOURCE_ASSIGNED || e.MILESTONE_RESOURCE_UNASSIGNED
|
102
103
|
), { milestoneId: r } = (o == null ? void 0 : o.eventPayload) || {};
|
103
|
-
r &&
|
104
|
+
r && Te(r), ue(n);
|
104
105
|
}
|
105
106
|
},
|
106
107
|
(s === "ACTIVE" || s === "INACTIVE") && d
|
@@ -109,54 +110,55 @@ const ue = (S) => {
|
|
109
110
|
}, [l, n]), R(() => {
|
110
111
|
!a && D && l(n);
|
111
112
|
}, [l, n, D, a]), a && !t)
|
112
|
-
return /* @__PURE__ */ i(
|
113
|
+
return /* @__PURE__ */ i(Me, { numMilestones: 2 });
|
113
114
|
const N = s === "ACTIVE" && t && t.length > 6;
|
114
|
-
return /* @__PURE__ */ I(
|
115
|
-
a && /* @__PURE__ */ i(
|
116
|
-
N && /* @__PURE__ */ I(
|
115
|
+
return /* @__PURE__ */ I(Ce, { $disablePointerEvents: a, children: [
|
116
|
+
a && /* @__PURE__ */ i(Le, { children: /* @__PURE__ */ i("img", { src: Se.LOADER_1, alt: "loading" }) }),
|
117
|
+
N && /* @__PURE__ */ I(re, { children: [
|
117
118
|
/* @__PURE__ */ i(
|
118
|
-
|
119
|
+
de,
|
119
120
|
{
|
120
|
-
filteredMilestones:
|
121
|
+
filteredMilestones: M,
|
121
122
|
milestones: t,
|
122
|
-
handleFilterMilestones:
|
123
|
-
handleClearFilter:
|
123
|
+
handleFilterMilestones: Y,
|
124
|
+
handleClearFilter: Z
|
124
125
|
}
|
125
126
|
),
|
126
|
-
/* @__PURE__ */ i(
|
127
|
+
/* @__PURE__ */ i(ce, { heightX: 1.5 })
|
127
128
|
] }),
|
128
129
|
/* @__PURE__ */ i(
|
129
|
-
|
130
|
+
De,
|
130
131
|
{
|
131
132
|
showFilters: !!N,
|
132
133
|
canCreatePlan: h,
|
133
134
|
isClassOngoing: c,
|
134
|
-
isFiltersAdded:
|
135
|
+
isFiltersAdded: L,
|
135
136
|
isStudentPresent: d,
|
136
137
|
milestoneType: s,
|
137
|
-
milestones:
|
138
|
+
milestones: L ? M : t,
|
138
139
|
onAddChapter: j,
|
139
140
|
onAddOutcome: G,
|
140
141
|
onChapterClick: v,
|
141
142
|
onCreatePlan: W,
|
142
|
-
onDelete:
|
143
|
+
onDelete: $,
|
143
144
|
onDraftPublish: K,
|
144
145
|
onEdit: F,
|
145
146
|
onExpandPastMilestones: g,
|
147
|
+
onMilestoneHelpClick: X,
|
146
148
|
onCreateMilestoneTest: w,
|
147
149
|
onPreview: x,
|
148
150
|
onReattempt: V,
|
149
151
|
onReset: b,
|
150
|
-
onResume:
|
151
|
-
onReview:
|
152
|
-
onStart:
|
153
|
-
onAssignResources:
|
154
|
-
onUnAssignSheet:
|
155
|
-
onTestPreview:
|
156
|
-
onTestReview:
|
157
|
-
onTestStart:
|
152
|
+
onResume: H,
|
153
|
+
onReview: k,
|
154
|
+
onStart: y,
|
155
|
+
onAssignResources: q,
|
156
|
+
onUnAssignSheet: z,
|
157
|
+
onTestPreview: B,
|
158
|
+
onTestReview: J,
|
159
|
+
onTestStart: Q,
|
158
160
|
studentId: m,
|
159
|
-
studentName:
|
161
|
+
studentName: ie.titleCase(S),
|
160
162
|
teacherName: P,
|
161
163
|
parentName: U,
|
162
164
|
userType: T,
|
@@ -165,8 +167,8 @@ const ue = (S) => {
|
|
165
167
|
)
|
166
168
|
] });
|
167
169
|
}
|
168
|
-
),
|
170
|
+
), He = Ne;
|
169
171
|
export {
|
170
|
-
|
172
|
+
He as default
|
171
173
|
};
|
172
174
|
//# sourceMappingURL=milestone-list-container.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"milestone-list-container.js","sources":["../../../../src/features/milestone/milestone-list-container/milestone-list-container.tsx"],"sourcesContent":["import type {\n IMilestoneContainerProps,\n IMilestoneListQueryParams,\n} from './milestone-list-container-types';\nimport type { IMilestoneData } from './milestone-list/milestone-list-types';\n\nimport { titleCase } from 'humanize-plus';\nimport React, { memo, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport { EVENTS } from '../../communication/pub-sub/constants';\nimport { useInClassActionListener } from '../../communication/pub-sub/hooks';\nimport Separator from '../../ui/separator/separator';\nimport { invalidateMilestoneResources } from './api/get-milestone-resources';\nimport { useGetAllMilestonesdata, invalidateMilestonesData } from './api/get-milestones';\nimport FilterMilestones from './filter-milestones';\nimport MilestoneList from './milestone-list/milestone-list';\nimport MilestoneLoader from './milestone-list/milestone-loader/milestone-loader';\nimport * as Styled from './styled';\n\nconst invalidateAllMilestones = (queryParams: IMilestoneListQueryParams) => {\n invalidateMilestonesData(queryParams);\n};\n\nconst MilestoneListContainer: React.FC<IMilestoneContainerProps> = memo(\n ({ studentName, studentId, studentClassroomId, ...restMilestoneListContainerProps }) => {\n const {\n milestoneType,\n isStudentPresent,\n isClassOngoing,\n userType,\n canCreatePlan,\n teacherName,\n parentName,\n courseStream,\n onExpandPastMilestones,\n onAddOutcome,\n onChapterClick,\n onEdit,\n onCreateMilestoneTest,\n onPreview,\n onReattempt,\n onReset,\n onResume,\n onReview,\n onStart,\n onDraftPublish,\n onAddChapter,\n onCreatePlan,\n onDelete,\n onAssignResources,\n onUnAssignSheet,\n onTestPreview,\n onTestReview,\n onTestStart,\n } = restMilestoneListContainerProps;\n\n const queryParams: IMilestoneListQueryParams = useMemo(\n () =>\n ({\n milestone_state_group:\n milestoneType === 'ACTIVE'\n ? userType === 'TEACHER'\n ? 'LIVE'\n : 'STUDENT_LIVE'\n : milestoneType,\n with_plan: true,\n course_stream: courseStream,\n student_id: studentId,\n in_class: isClassOngoing,\n }) as const,\n [isClassOngoing, milestoneType, courseStream, studentId, userType],\n );\n\n const {\n data: milestoneData,\n getAll: getMilestoneData,\n isStale: isMilestoneDataStale,\n isProcessing: isMilestoneProcessing,\n } = useGetAllMilestonesdata(queryParams);\n\n const [filteredMilestones, setFilteredMilestones] = useState<IMilestoneData[] | undefined>();\n const [isFiltersAdded, setIsFiltersAdded] = useState<boolean>(false);\n\n const handleFilterMilestones = useCallback(\n (data: { searchText?: string; selectedBoard?: string; selectedGrade?: string }) => {\n const { searchText, selectedBoard, selectedGrade } = data || {};\n\n if (searchText || selectedBoard || selectedGrade) {\n setIsFiltersAdded(true);\n }\n\n const filteredData = milestoneData?.filter(item => {\n const { milestone_name: milestoneName, board, grade } = item || {};\n const matchesSearchText = searchText\n ? milestoneName.toLowerCase().includes(searchText.toLowerCase())\n : true;\n const matchesCurriculum = selectedBoard ? board === selectedBoard : true;\n const matchesGrade = selectedGrade ? grade === selectedGrade : true;\n\n return matchesSearchText && matchesCurriculum && matchesGrade;\n });\n\n setFilteredMilestones(filteredData);\n },\n [milestoneData],\n );\n\n const handleClearFilter = () => {\n setIsFiltersAdded(false);\n setFilteredMilestones(undefined);\n };\n\n useInClassActionListener(\n {\n studentClassroomId,\n actions: [\n [EVENTS.CHAPTER_UPDATED],\n [EVENTS.LESSONS_MARKED_AS_FAMILIAR],\n [EVENTS.LESSONS_MARKED_AS_IRRELEVANT],\n [EVENTS.LESSONS_PROGRESS_RESET],\n [EVENTS.UNLOCK_SHEETS],\n [EVENTS.EXTRA_PRACTICE_ASSIGNED],\n [EVENTS.MILESTONE_DATE_UPDATED],\n [EVENTS.MILESTONE_DELETED],\n [EVENTS.MILESTONE_NAME_UPDATED],\n [EVENTS.MILESTONE_EDITED],\n [EVENTS.MILESTONE_RESOURCE_ASSIGNED],\n [EVENTS.MILESTONE_RESOURCE_UNASSIGNED],\n [EVENTS.MILESTONE_RESOURCE_RESET],\n [EVENTS.SHEET_UNASSIGNED],\n [EVENTS.GOAL_CREATED],\n [EVENTS.GOAL_EDITED],\n [EVENTS.GOAL_DELETED],\n [EVENTS.GOAL_OUTCOME_ADDED],\n [EVENTS.PAST_MILESTONE_OUTCOME_ADDED],\n ],\n callback: messages => {\n const milestoneResourceEvent = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_RESOURCE_ASSIGNED ||\n EVENTS.MILESTONE_RESOURCE_UNASSIGNED,\n );\n const { milestoneId } =\n (milestoneResourceEvent?.eventPayload as { milestoneId: string }) || {};\n\n if (milestoneId) {\n invalidateMilestoneResources(milestoneId);\n }\n\n invalidateAllMilestones(queryParams);\n },\n },\n (milestoneType === 'ACTIVE' || milestoneType === 'INACTIVE') && isStudentPresent,\n );\n\n useEffect(() => {\n getMilestoneData(queryParams);\n }, [getMilestoneData, queryParams]);\n\n useEffect(() => {\n if (!isMilestoneProcessing && isMilestoneDataStale) {\n getMilestoneData(queryParams);\n }\n }, [getMilestoneData, queryParams, isMilestoneDataStale, isMilestoneProcessing]);\n\n if (isMilestoneProcessing && !milestoneData) {\n return <MilestoneLoader numMilestones={2} />;\n }\n\n const showFilters = milestoneType === 'ACTIVE' && milestoneData && milestoneData.length > 6;\n\n return (\n <Styled.ContentWrapper $disablePointerEvents={isMilestoneProcessing}>\n {isMilestoneProcessing && (\n <Styled.LoaderWrapper>\n <img src={ILLUSTRATIONS.LOADER_1} alt=\"loading\" />\n </Styled.LoaderWrapper>\n )}\n {showFilters && (\n <>\n <FilterMilestones\n filteredMilestones={filteredMilestones}\n milestones={milestoneData}\n handleFilterMilestones={handleFilterMilestones}\n handleClearFilter={handleClearFilter}\n />\n <Separator heightX={1.5} />\n </>\n )}\n\n <MilestoneList\n showFilters={!!showFilters}\n canCreatePlan={canCreatePlan}\n isClassOngoing={isClassOngoing}\n isFiltersAdded={isFiltersAdded}\n isStudentPresent={isStudentPresent}\n milestoneType={milestoneType}\n milestones={isFiltersAdded ? filteredMilestones : milestoneData}\n onAddChapter={onAddChapter}\n onAddOutcome={onAddOutcome}\n onChapterClick={onChapterClick}\n onCreatePlan={onCreatePlan}\n onDelete={onDelete}\n onDraftPublish={onDraftPublish}\n onEdit={onEdit}\n onExpandPastMilestones={onExpandPastMilestones}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onPreview={onPreview}\n onReattempt={onReattempt}\n onReset={onReset}\n onResume={onResume}\n onReview={onReview}\n onStart={onStart}\n onAssignResources={onAssignResources}\n onUnAssignSheet={onUnAssignSheet}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n studentId={studentId}\n studentName={titleCase(studentName)}\n teacherName={teacherName}\n parentName={parentName}\n userType={userType}\n courseStream={courseStream}\n />\n </Styled.ContentWrapper>\n );\n },\n);\n\nexport default MilestoneListContainer;\n"],"names":["invalidateAllMilestones","queryParams","invalidateMilestonesData","MilestoneListContainer","memo","studentName","studentId","studentClassroomId","restMilestoneListContainerProps","milestoneType","isStudentPresent","isClassOngoing","userType","canCreatePlan","teacherName","parentName","courseStream","onExpandPastMilestones","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onPreview","onReattempt","onReset","onResume","onReview","onStart","onDraftPublish","onAddChapter","onCreatePlan","onDelete","onAssignResources","onUnAssignSheet","onTestPreview","onTestReview","onTestStart","useMemo","milestoneData","getMilestoneData","isMilestoneDataStale","isMilestoneProcessing","useGetAllMilestonesdata","filteredMilestones","setFilteredMilestones","useState","isFiltersAdded","setIsFiltersAdded","handleFilterMilestones","useCallback","data","searchText","selectedBoard","selectedGrade","filteredData","item","milestoneName","board","grade","handleClearFilter","useInClassActionListener","EVENTS","messages","milestoneResourceEvent","message","milestoneId","invalidateMilestoneResources","useEffect","jsx","MilestoneLoader","showFilters","jsxs","Styled.ContentWrapper","Styled.LoaderWrapper","ILLUSTRATIONS","Fragment","FilterMilestones","Separator","MilestoneList","titleCase"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"milestone-list-container.js","sources":["../../../../src/features/milestone/milestone-list-container/milestone-list-container.tsx"],"sourcesContent":["import type {\n IMilestoneContainerProps,\n IMilestoneListQueryParams,\n} from './milestone-list-container-types';\nimport type { IMilestoneData } from './milestone-list/milestone-list-types';\n\nimport { titleCase } from 'humanize-plus';\nimport React, { memo, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport { EVENTS } from '../../communication/pub-sub/constants';\nimport { useInClassActionListener } from '../../communication/pub-sub/hooks';\nimport Separator from '../../ui/separator/separator';\nimport { invalidateMilestoneResources } from './api/get-milestone-resources';\nimport { useGetAllMilestonesdata, invalidateMilestonesData } from './api/get-milestones';\nimport FilterMilestones from './filter-milestones';\nimport MilestoneList from './milestone-list/milestone-list';\nimport MilestoneLoader from './milestone-list/milestone-loader/milestone-loader';\nimport * as Styled from './styled';\n\nconst invalidateAllMilestones = (queryParams: IMilestoneListQueryParams) => {\n invalidateMilestonesData(queryParams);\n};\n\nconst MilestoneListContainer: React.FC<IMilestoneContainerProps> = memo(\n ({ studentName, studentId, studentClassroomId, ...restMilestoneListContainerProps }) => {\n const {\n milestoneType,\n isStudentPresent,\n isClassOngoing,\n userType,\n canCreatePlan,\n teacherName,\n parentName,\n courseStream,\n onExpandPastMilestones,\n onAddOutcome,\n onChapterClick,\n onEdit,\n onCreateMilestoneTest,\n onPreview,\n onReattempt,\n onReset,\n onResume,\n onReview,\n onStart,\n onDraftPublish,\n onAddChapter,\n onCreatePlan,\n onMilestoneHelpClick,\n onDelete,\n onAssignResources,\n onUnAssignSheet,\n onTestPreview,\n onTestReview,\n onTestStart,\n } = restMilestoneListContainerProps;\n\n const queryParams: IMilestoneListQueryParams = useMemo(\n () =>\n ({\n milestone_state_group:\n milestoneType === 'ACTIVE'\n ? userType === 'TEACHER'\n ? 'LIVE'\n : 'STUDENT_LIVE'\n : milestoneType,\n with_plan: true,\n course_stream: courseStream,\n student_id: studentId,\n in_class: isClassOngoing,\n }) as const,\n [isClassOngoing, milestoneType, courseStream, studentId, userType],\n );\n\n const {\n data: milestoneData,\n getAll: getMilestoneData,\n isStale: isMilestoneDataStale,\n isProcessing: isMilestoneProcessing,\n } = useGetAllMilestonesdata(queryParams);\n\n const [filteredMilestones, setFilteredMilestones] = useState<IMilestoneData[] | undefined>();\n const [isFiltersAdded, setIsFiltersAdded] = useState<boolean>(false);\n\n const handleFilterMilestones = useCallback(\n (data: { searchText?: string; selectedBoard?: string; selectedGrade?: string }) => {\n const { searchText, selectedBoard, selectedGrade } = data || {};\n\n if (searchText || selectedBoard || selectedGrade) {\n setIsFiltersAdded(true);\n }\n\n const filteredData = milestoneData?.filter(item => {\n const { milestone_name: milestoneName, board, grade } = item || {};\n const matchesSearchText = searchText\n ? milestoneName.toLowerCase().includes(searchText.toLowerCase())\n : true;\n const matchesCurriculum = selectedBoard ? board === selectedBoard : true;\n const matchesGrade = selectedGrade ? grade === selectedGrade : true;\n\n return matchesSearchText && matchesCurriculum && matchesGrade;\n });\n\n setFilteredMilestones(filteredData);\n },\n [milestoneData],\n );\n\n const handleClearFilter = () => {\n setIsFiltersAdded(false);\n setFilteredMilestones(undefined);\n };\n\n useInClassActionListener(\n {\n studentClassroomId,\n actions: [\n [EVENTS.CHAPTER_UPDATED],\n [EVENTS.LESSONS_MARKED_AS_FAMILIAR],\n [EVENTS.LESSONS_MARKED_AS_IRRELEVANT],\n [EVENTS.LESSONS_PROGRESS_RESET],\n [EVENTS.UNLOCK_SHEETS],\n [EVENTS.EXTRA_PRACTICE_ASSIGNED],\n [EVENTS.MILESTONE_DATE_UPDATED],\n [EVENTS.MILESTONE_DELETED],\n [EVENTS.MILESTONE_NAME_UPDATED],\n [EVENTS.MILESTONE_EDITED],\n [EVENTS.MILESTONE_RESOURCE_ASSIGNED],\n [EVENTS.MILESTONE_RESOURCE_UNASSIGNED],\n [EVENTS.MILESTONE_RESOURCE_RESET],\n [EVENTS.SHEET_UNASSIGNED],\n [EVENTS.GOAL_CREATED],\n [EVENTS.GOAL_EDITED],\n [EVENTS.GOAL_DELETED],\n [EVENTS.GOAL_OUTCOME_ADDED],\n [EVENTS.PAST_MILESTONE_OUTCOME_ADDED],\n ],\n callback: messages => {\n const milestoneResourceEvent = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_RESOURCE_ASSIGNED ||\n EVENTS.MILESTONE_RESOURCE_UNASSIGNED,\n );\n const { milestoneId } =\n (milestoneResourceEvent?.eventPayload as { milestoneId: string }) || {};\n\n if (milestoneId) {\n invalidateMilestoneResources(milestoneId);\n }\n\n invalidateAllMilestones(queryParams);\n },\n },\n (milestoneType === 'ACTIVE' || milestoneType === 'INACTIVE') && isStudentPresent,\n );\n\n useEffect(() => {\n getMilestoneData(queryParams);\n }, [getMilestoneData, queryParams]);\n\n useEffect(() => {\n if (!isMilestoneProcessing && isMilestoneDataStale) {\n getMilestoneData(queryParams);\n }\n }, [getMilestoneData, queryParams, isMilestoneDataStale, isMilestoneProcessing]);\n\n if (isMilestoneProcessing && !milestoneData) {\n return <MilestoneLoader numMilestones={2} />;\n }\n\n const showFilters = milestoneType === 'ACTIVE' && milestoneData && milestoneData.length > 6;\n\n return (\n <Styled.ContentWrapper $disablePointerEvents={isMilestoneProcessing}>\n {isMilestoneProcessing && (\n <Styled.LoaderWrapper>\n <img src={ILLUSTRATIONS.LOADER_1} alt=\"loading\" />\n </Styled.LoaderWrapper>\n )}\n {showFilters && (\n <>\n <FilterMilestones\n filteredMilestones={filteredMilestones}\n milestones={milestoneData}\n handleFilterMilestones={handleFilterMilestones}\n handleClearFilter={handleClearFilter}\n />\n <Separator heightX={1.5} />\n </>\n )}\n\n <MilestoneList\n showFilters={!!showFilters}\n canCreatePlan={canCreatePlan}\n isClassOngoing={isClassOngoing}\n isFiltersAdded={isFiltersAdded}\n isStudentPresent={isStudentPresent}\n milestoneType={milestoneType}\n milestones={isFiltersAdded ? filteredMilestones : milestoneData}\n onAddChapter={onAddChapter}\n onAddOutcome={onAddOutcome}\n onChapterClick={onChapterClick}\n onCreatePlan={onCreatePlan}\n onDelete={onDelete}\n onDraftPublish={onDraftPublish}\n onEdit={onEdit}\n onExpandPastMilestones={onExpandPastMilestones}\n onMilestoneHelpClick={onMilestoneHelpClick}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onPreview={onPreview}\n onReattempt={onReattempt}\n onReset={onReset}\n onResume={onResume}\n onReview={onReview}\n onStart={onStart}\n onAssignResources={onAssignResources}\n onUnAssignSheet={onUnAssignSheet}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n studentId={studentId}\n studentName={titleCase(studentName)}\n teacherName={teacherName}\n parentName={parentName}\n userType={userType}\n courseStream={courseStream}\n />\n </Styled.ContentWrapper>\n );\n },\n);\n\nexport default MilestoneListContainer;\n"],"names":["invalidateAllMilestones","queryParams","invalidateMilestonesData","MilestoneListContainer","memo","studentName","studentId","studentClassroomId","restMilestoneListContainerProps","milestoneType","isStudentPresent","isClassOngoing","userType","canCreatePlan","teacherName","parentName","courseStream","onExpandPastMilestones","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onPreview","onReattempt","onReset","onResume","onReview","onStart","onDraftPublish","onAddChapter","onCreatePlan","onMilestoneHelpClick","onDelete","onAssignResources","onUnAssignSheet","onTestPreview","onTestReview","onTestStart","useMemo","milestoneData","getMilestoneData","isMilestoneDataStale","isMilestoneProcessing","useGetAllMilestonesdata","filteredMilestones","setFilteredMilestones","useState","isFiltersAdded","setIsFiltersAdded","handleFilterMilestones","useCallback","data","searchText","selectedBoard","selectedGrade","filteredData","item","milestoneName","board","grade","handleClearFilter","useInClassActionListener","EVENTS","messages","milestoneResourceEvent","message","milestoneId","invalidateMilestoneResources","useEffect","jsx","MilestoneLoader","showFilters","jsxs","Styled.ContentWrapper","Styled.LoaderWrapper","ILLUSTRATIONS","Fragment","FilterMilestones","Separator","MilestoneList","titleCase"],"mappings":"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"}
|
@@ -1,38 +1,38 @@
|
|
1
|
-
import { jsx as t, jsxs as E, Fragment as
|
2
|
-
import { useState as
|
3
|
-
import
|
1
|
+
import { jsx as t, jsxs as E, Fragment as B } from "react/jsx-runtime";
|
2
|
+
import { useState as l, useRef as N, useMemo as g, useCallback as R, useEffect as C } from "react";
|
3
|
+
import G from "../../../../../assets/line-icons/icons/next.js";
|
4
4
|
import U from "../../../../ui/buttons/button/button.js";
|
5
5
|
import { useUIContext as V } from "../../../../ui/context/context.js";
|
6
6
|
import S from "../../../../ui/layout/flex-view.js";
|
7
7
|
import W from "../../../../ui/radio-cards/radio-cards.js";
|
8
8
|
import z from "../../../../ui/text/text.js";
|
9
|
-
import { useGetMileStoneConfig as
|
10
|
-
import { useMilestonePost as
|
11
|
-
import { TEST_TYPE_OPTIONS as
|
12
|
-
import
|
13
|
-
import { FooterWrapper as
|
14
|
-
import
|
15
|
-
import
|
16
|
-
const
|
17
|
-
studentId:
|
18
|
-
studentName:
|
19
|
-
onSubmit:
|
9
|
+
import { useGetMileStoneConfig as H } from "../../../create/api/milestone-config.js";
|
10
|
+
import { useMilestonePost as Q } from "../../../create/api/milestone-submit.js";
|
11
|
+
import { TEST_TYPE_OPTIONS as q } from "../../../create/comps/test-type-step/test-type-step-constants.js";
|
12
|
+
import J from "./past-milestone-form.js";
|
13
|
+
import { FooterWrapper as K } from "./past-milestone-styled.js";
|
14
|
+
import Z from "./question.js";
|
15
|
+
import ee from "../../../../../node_modules/uuid/dist/esm-browser/v4.js";
|
16
|
+
const he = ({
|
17
|
+
studentId: u,
|
18
|
+
studentName: P,
|
19
|
+
onSubmit: I,
|
20
20
|
onError: M,
|
21
21
|
grade: h,
|
22
|
-
courseStream:
|
22
|
+
courseStream: m
|
23
23
|
}) => {
|
24
|
-
const [a, b] =
|
25
|
-
() =>
|
26
|
-
({ id: e }) =>
|
24
|
+
const [a, b] = l(), [w, x] = l(!1), [_, T] = l({ grade: h }), [c, d] = l(""), { get: y, data: D } = H(), { onEvent: p } = V(), f = N(ee()), F = g(
|
25
|
+
() => q.filter(
|
26
|
+
({ id: e }) => m === "MATH" ? e !== "no-test" : e === "non-standardized"
|
27
27
|
),
|
28
|
-
[
|
29
|
-
), n =
|
28
|
+
[m]
|
29
|
+
), n = g(() => (/* @__PURE__ */ new Date()).toISOString().split("T")[0], []), i = g(() => {
|
30
30
|
const e = /* @__PURE__ */ new Date();
|
31
31
|
return e.setFullYear(e.getFullYear() - 5), e.toISOString().split("T")[0];
|
32
|
-
}, []), A =
|
32
|
+
}, []), A = R(
|
33
33
|
(e) => {
|
34
34
|
const { milestoneEndDate: o } = e || {};
|
35
|
-
c && o && n && i && o <= n && o > i && d(""),
|
35
|
+
c && o && n && i && o <= n && o > i && d(""), T((r) => ({ ...r, ...e }));
|
36
36
|
},
|
37
37
|
[n, c, i]
|
38
38
|
), $ = (e, o) => {
|
@@ -43,7 +43,7 @@ const ge = ({
|
|
43
43
|
p("TEST_DETAILS_SUBMITTED", {
|
44
44
|
milestone_id: r,
|
45
45
|
temporary_milestone_id: f.current
|
46
|
-
}),
|
46
|
+
}), I(r);
|
47
47
|
}
|
48
48
|
};
|
49
49
|
C(() => {
|
@@ -53,30 +53,32 @@ const ge = ({
|
|
53
53
|
}, [p]), C(() => {
|
54
54
|
y("", void 0);
|
55
55
|
}, [y]);
|
56
|
-
const { post: v, isProcessing: O } =
|
56
|
+
const { post: v, isProcessing: O } = Q({
|
57
57
|
onComplete: $
|
58
58
|
}), L = (e) => {
|
59
|
-
b(e),
|
59
|
+
b(e), T({ grade: h });
|
60
60
|
}, X = () => {
|
61
|
-
const { grade: e, testName: o, board: r, milestoneEndDate: s,
|
61
|
+
const { grade: e, testName: o, board: r, milestoneEndDate: s, schoolGooglePlaceData: Y, academicEventId: j } = _;
|
62
62
|
if (s && n && i && (s > n || s < i)) {
|
63
63
|
s > n ? d("Please enter a past date") : d("Please select a date within the past 5 years");
|
64
64
|
return;
|
65
65
|
}
|
66
|
-
const
|
66
|
+
const k = {
|
67
67
|
grade: e,
|
68
68
|
test_name: o,
|
69
69
|
board: r,
|
70
|
-
course_stream:
|
70
|
+
course_stream: m,
|
71
71
|
milestone_date_ts: s ? new Date(s).getTime() / 1e3 : null,
|
72
|
-
|
72
|
+
school_google_place_data: Y,
|
73
|
+
academic_event_id: j,
|
74
|
+
is_first_milestone: !1,
|
73
75
|
publish: !0
|
74
76
|
};
|
75
|
-
v(
|
76
|
-
studentId:
|
77
|
+
v(k, {
|
78
|
+
studentId: u
|
77
79
|
});
|
78
80
|
};
|
79
|
-
return
|
81
|
+
return u ? /* @__PURE__ */ E(B, { children: [
|
80
82
|
/* @__PURE__ */ E(S, { $height: "max-content", $alignItems: "center", children: [
|
81
83
|
/* @__PURE__ */ t(
|
82
84
|
z,
|
@@ -90,7 +92,7 @@ const ge = ({
|
|
90
92
|
}
|
91
93
|
),
|
92
94
|
/* @__PURE__ */ t(
|
93
|
-
|
95
|
+
Z,
|
94
96
|
{
|
95
97
|
index: 0,
|
96
98
|
description: "What was the type of test?",
|
@@ -107,25 +109,25 @@ const ge = ({
|
|
107
109
|
}
|
108
110
|
),
|
109
111
|
D && a && /* @__PURE__ */ t(
|
110
|
-
|
112
|
+
J,
|
111
113
|
{
|
112
114
|
config: D,
|
113
115
|
testType: a,
|
114
|
-
studentName:
|
115
|
-
formData:
|
116
|
+
studentName: P,
|
117
|
+
formData: _,
|
116
118
|
onFormDataChange: A,
|
117
119
|
onFormValidityChange: x,
|
118
120
|
errorMessage: c
|
119
121
|
}
|
120
122
|
)
|
121
123
|
] }),
|
122
|
-
a && /* @__PURE__ */ t(
|
124
|
+
a && /* @__PURE__ */ t(K, { children: /* @__PURE__ */ t(S, { $flexDirection: "row", $justifyContent: "center", children: /* @__PURE__ */ t(
|
123
125
|
U,
|
124
126
|
{
|
125
127
|
label: "Add outcome",
|
126
128
|
renderAs: "primary",
|
127
129
|
widthX: 16,
|
128
|
-
Icon:
|
130
|
+
Icon: G,
|
129
131
|
onClick: X,
|
130
132
|
disabled: !w,
|
131
133
|
busy: O,
|
@@ -138,6 +140,6 @@ const ge = ({
|
|
138
140
|
] }) : /* @__PURE__ */ t("div", { children: "Error" });
|
139
141
|
};
|
140
142
|
export {
|
141
|
-
|
143
|
+
he as default
|
142
144
|
};
|
143
145
|
//# sourceMappingURL=past-milestone-container.js.map
|