@cuemath/leap 2.8.48-rj-beta-1 → 2.8.49
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/chapters/chapters-list/chapter-item/chapter-item.js +24 -24
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
- package/dist/features/circle-games/games/web-view/web-view-analytics-events.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-styled.js +2 -3
- package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +62 -56
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +102 -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 +126 -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 +104 -98
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +1 -0
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js +7 -7
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-list/tests-list.js +12 -12
- package/dist/features/milestone/milestone-tests/tests-list/tests-list.js.map +1 -1
- package/dist/features/sheets/resources-list/resource-item/resource-item.js +89 -87
- package/dist/features/sheets/resources-list/resource-item/resource-item.js.map +1 -1
- package/dist/index.d.ts +24 -5
- package/package.json +1 -1
@@ -1,51 +1,54 @@
|
|
1
|
-
import { jsx as E, jsxs as R, Fragment as
|
2
|
-
import { h as
|
3
|
-
import { memo as
|
4
|
-
import { ILLUSTRATIONS as
|
1
|
+
import { jsx as E, jsxs as R, Fragment as ae } from "react/jsx-runtime";
|
2
|
+
import { h as Ee } from "../../../node_modules/humanize-plus/dist/humanize.js";
|
3
|
+
import { memo as le, useMemo as Se, useState as p, useCallback as me, useEffect as f } from "react";
|
4
|
+
import { ILLUSTRATIONS as ce } 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 { invalidateTestHelpData as
|
11
|
-
import
|
12
|
-
import
|
13
|
-
import
|
14
|
-
import { ContentWrapper as
|
15
|
-
const
|
16
|
-
|
17
|
-
},
|
6
|
+
import { useInClassActionListener as Te } from "../../communication/pub-sub/hooks.js";
|
7
|
+
import de from "../../ui/separator/separator.js";
|
8
|
+
import { invalidateMilestoneResources as _e } from "./api/get-milestone-resources.js";
|
9
|
+
import { useGetAllMilestonesdata as Ae, invalidateMilestonesData as De } from "./api/get-milestones.js";
|
10
|
+
import { invalidateTestHelpData as Ie } from "./api/get-tests-list.js";
|
11
|
+
import Me from "./filter-milestones.js";
|
12
|
+
import Ne from "./milestone-list/milestone-list.js";
|
13
|
+
import ue from "./milestone-list/milestone-loader/milestone-loader.js";
|
14
|
+
import { ContentWrapper as Le, LoaderWrapper as Ce } from "./styled.js";
|
15
|
+
const Oe = (T) => {
|
16
|
+
De(T);
|
17
|
+
}, Re = le(
|
18
18
|
({ studentName: T, studentId: d, studentClassroomId: h, ...P }) => {
|
19
19
|
const {
|
20
20
|
milestoneType: o,
|
21
|
-
isStudentPresent:
|
21
|
+
isStudentPresent: I,
|
22
22
|
isClassOngoing: _,
|
23
23
|
userType: A,
|
24
|
-
canCreatePlan:
|
25
|
-
teacherName:
|
26
|
-
parentName:
|
24
|
+
canCreatePlan: v,
|
25
|
+
teacherName: G,
|
26
|
+
parentName: U,
|
27
27
|
courseStream: D,
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
28
|
+
activeMilestoneId: g,
|
29
|
+
activeTabId: F,
|
30
|
+
onExpandPastMilestones: w,
|
31
|
+
onAddOutcome: x,
|
32
|
+
onChapterClick: V,
|
33
|
+
onEdit: b,
|
34
|
+
onCreateMilestoneTest: y,
|
35
|
+
onPreview: H,
|
36
|
+
onReattempt: k,
|
37
|
+
onReset: K,
|
38
|
+
onResume: W,
|
39
|
+
onReview: j,
|
40
|
+
onStart: X,
|
41
|
+
onDraftPublish: $,
|
42
|
+
onAddChapter: q,
|
43
|
+
onCreatePlan: z,
|
44
|
+
onDelete: B,
|
45
|
+
onAssignResources: J,
|
46
|
+
onUnAssignSheet: Q,
|
47
|
+
onTestPreview: Y,
|
48
|
+
onTestReview: Z,
|
49
|
+
onTestStart: ee,
|
50
|
+
onWidgetTabSelection: te
|
51
|
+
} = P, n = Se(
|
49
52
|
() => ({
|
50
53
|
milestone_state_group: o === "ACTIVE" ? A === "TEACHER" ? "LIVE" : "STUDENT_LIVE" : o,
|
51
54
|
with_plan: !0,
|
@@ -57,23 +60,23 @@ const ue = (T) => {
|
|
57
60
|
), {
|
58
61
|
data: t,
|
59
62
|
getAll: S,
|
60
|
-
isStale:
|
63
|
+
isStale: M,
|
61
64
|
isProcessing: l
|
62
|
-
} =
|
65
|
+
} = Ae(n), [N, u] = p(), [L, C] = p(!1), se = me(
|
63
66
|
(m) => {
|
64
|
-
const { searchText:
|
65
|
-
(
|
67
|
+
const { searchText: i, selectedBoard: r, selectedGrade: a } = m || {};
|
68
|
+
(i || r || a) && C(!0);
|
66
69
|
const c = t == null ? void 0 : t.filter((s) => {
|
67
|
-
const { milestone_name:
|
68
|
-
return (
|
70
|
+
const { milestone_name: ne, board: ie, grade: re } = s || {};
|
71
|
+
return (i ? ne.toLowerCase().includes(i.toLowerCase()) : !0) && (r ? ie === r : !0) && (a ? re === a : !0);
|
69
72
|
});
|
70
73
|
u(c);
|
71
74
|
},
|
72
75
|
[t]
|
73
|
-
),
|
76
|
+
), oe = () => {
|
74
77
|
C(!1), u(void 0);
|
75
78
|
};
|
76
|
-
if (
|
79
|
+
if (Te(
|
77
80
|
{
|
78
81
|
studentClassroomId: h,
|
79
82
|
actions: [
|
@@ -100,86 +103,89 @@ const ue = (T) => {
|
|
100
103
|
],
|
101
104
|
callback: (m) => {
|
102
105
|
var a, c;
|
103
|
-
const
|
106
|
+
const i = (a = m.find(
|
104
107
|
(s) => s.eventName === e.MILESTONE_RESOURCE_ASSIGNED || e.MILESTONE_RESOURCE_UNASSIGNED
|
105
|
-
)) == null ? void 0 : a.eventPayload,
|
108
|
+
)) == null ? void 0 : a.eventPayload, r = (c = m.find(
|
106
109
|
(s) => s.eventName === e.MILESTONE_TEST_ASSIGNED
|
107
110
|
)) == null ? void 0 : c.eventPayload;
|
108
|
-
if (r) {
|
109
|
-
const { milestoneId: s } = r || {};
|
110
|
-
ce(s);
|
111
|
-
}
|
112
111
|
if (i) {
|
113
|
-
const { milestoneId: s } = i;
|
112
|
+
const { milestoneId: s } = i || {};
|
114
113
|
_e(s);
|
115
114
|
}
|
116
|
-
|
115
|
+
if (r) {
|
116
|
+
const { milestoneId: s } = r;
|
117
|
+
Ie(s);
|
118
|
+
}
|
119
|
+
Oe(n);
|
117
120
|
}
|
118
121
|
},
|
119
|
-
(o === "ACTIVE" || o === "INACTIVE") &&
|
122
|
+
(o === "ACTIVE" || o === "INACTIVE") && I
|
120
123
|
), f(() => {
|
121
124
|
S(n);
|
122
125
|
}, [S, n]), f(() => {
|
123
|
-
!l &&
|
124
|
-
}, [S, n,
|
125
|
-
return /* @__PURE__ */ E(
|
126
|
+
!l && M && S(n);
|
127
|
+
}, [S, n, M, l]), l && !t)
|
128
|
+
return /* @__PURE__ */ E(ue, { numMilestones: 2 });
|
126
129
|
const O = o === "ACTIVE" && t && t.length > 6;
|
127
|
-
return /* @__PURE__ */ R(
|
128
|
-
l && /* @__PURE__ */ E(
|
129
|
-
O && /* @__PURE__ */ R(
|
130
|
+
return /* @__PURE__ */ R(Le, { $disablePointerEvents: l, children: [
|
131
|
+
l && /* @__PURE__ */ E(Ce, { children: /* @__PURE__ */ E("img", { src: ce.LOADER_1, alt: "loading" }) }),
|
132
|
+
O && /* @__PURE__ */ R(ae, { children: [
|
130
133
|
/* @__PURE__ */ E(
|
131
|
-
|
134
|
+
Me,
|
132
135
|
{
|
133
|
-
filteredMilestones:
|
136
|
+
filteredMilestones: N,
|
134
137
|
milestones: t,
|
135
|
-
handleFilterMilestones:
|
136
|
-
handleClearFilter:
|
138
|
+
handleFilterMilestones: se,
|
139
|
+
handleClearFilter: oe
|
137
140
|
}
|
138
141
|
),
|
139
|
-
/* @__PURE__ */ E(
|
142
|
+
/* @__PURE__ */ E(de, { heightX: 1.5 })
|
140
143
|
] }),
|
141
144
|
/* @__PURE__ */ E(
|
142
|
-
|
145
|
+
Ne,
|
143
146
|
{
|
144
147
|
showFilters: !!O,
|
145
|
-
canCreatePlan:
|
148
|
+
canCreatePlan: v,
|
146
149
|
isClassOngoing: _,
|
147
150
|
isFiltersAdded: L,
|
148
|
-
isStudentPresent:
|
151
|
+
isStudentPresent: I,
|
149
152
|
milestoneType: o,
|
150
|
-
milestones: L ?
|
151
|
-
onAddChapter:
|
152
|
-
onAddOutcome:
|
153
|
-
onChapterClick:
|
154
|
-
onCreatePlan:
|
155
|
-
onDelete:
|
156
|
-
onDraftPublish:
|
157
|
-
onEdit:
|
158
|
-
onExpandPastMilestones:
|
159
|
-
onCreateMilestoneTest:
|
160
|
-
onPreview:
|
161
|
-
onReattempt:
|
162
|
-
onReset:
|
163
|
-
onResume:
|
164
|
-
onReview:
|
165
|
-
onStart:
|
166
|
-
onAssignResources:
|
167
|
-
onUnAssignSheet:
|
168
|
-
onTestPreview:
|
169
|
-
onTestReview:
|
170
|
-
onTestStart:
|
153
|
+
milestones: L ? N : t,
|
154
|
+
onAddChapter: q,
|
155
|
+
onAddOutcome: x,
|
156
|
+
onChapterClick: V,
|
157
|
+
onCreatePlan: z,
|
158
|
+
onDelete: B,
|
159
|
+
onDraftPublish: $,
|
160
|
+
onEdit: b,
|
161
|
+
onExpandPastMilestones: w,
|
162
|
+
onCreateMilestoneTest: y,
|
163
|
+
onPreview: H,
|
164
|
+
onReattempt: k,
|
165
|
+
onReset: K,
|
166
|
+
onResume: W,
|
167
|
+
onReview: j,
|
168
|
+
onStart: X,
|
169
|
+
onAssignResources: J,
|
170
|
+
onUnAssignSheet: Q,
|
171
|
+
onTestPreview: Y,
|
172
|
+
onTestReview: Z,
|
173
|
+
onTestStart: ee,
|
174
|
+
activeMilestoneId: g,
|
175
|
+
activeTabId: F,
|
176
|
+
onWidgetTabSelection: te,
|
171
177
|
studentId: d,
|
172
|
-
studentName:
|
173
|
-
teacherName:
|
174
|
-
parentName:
|
178
|
+
studentName: Ee.titleCase(T),
|
179
|
+
teacherName: G,
|
180
|
+
parentName: U,
|
175
181
|
userType: A,
|
176
182
|
courseStream: D
|
177
183
|
}
|
178
184
|
)
|
179
185
|
] });
|
180
186
|
}
|
181
|
-
),
|
187
|
+
), We = Re;
|
182
188
|
export {
|
183
|
-
|
189
|
+
We as default
|
184
190
|
};
|
185
191
|
//# 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 { invalidateTestHelpData } from './api/get-tests-list';\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 [EVENTS.MILESTONE_TEST_ASSIGNED],\n ],\n callback: messages => {\n const milestoneResourceEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_RESOURCE_ASSIGNED ||\n EVENTS.MILESTONE_RESOURCE_UNASSIGNED,\n )?.eventPayload;\n const milestoneTestEventPayload = messages.find(\n message => message.eventName === EVENTS.MILESTONE_TEST_ASSIGNED,\n )?.eventPayload;\n\n if (milestoneResourceEventPayload) {\n const { milestoneId: resourceMilestoneId } =\n (milestoneResourceEventPayload as { milestoneId: string }) || {};\n\n invalidateMilestoneResources(resourceMilestoneId);\n }\n\n if (milestoneTestEventPayload) {\n const { milestoneId } = milestoneTestEventPayload as { milestoneId: string };\n\n invalidateTestHelpData(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","milestoneResourceEventPayload","_a","message","milestoneTestEventPayload","_b","resourceMilestoneId","invalidateMilestoneResources","milestoneId","invalidateTestHelpData","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 { invalidateTestHelpData } from './api/get-tests-list';\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 activeMilestoneId,\n activeTabId,\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 onWidgetTabSelection,\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 [EVENTS.MILESTONE_TEST_ASSIGNED],\n ],\n callback: messages => {\n const milestoneResourceEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_RESOURCE_ASSIGNED ||\n EVENTS.MILESTONE_RESOURCE_UNASSIGNED,\n )?.eventPayload;\n const milestoneTestEventPayload = messages.find(\n message => message.eventName === EVENTS.MILESTONE_TEST_ASSIGNED,\n )?.eventPayload;\n\n if (milestoneResourceEventPayload) {\n const { milestoneId: resourceMilestoneId } =\n (milestoneResourceEventPayload as { milestoneId: string }) || {};\n\n invalidateMilestoneResources(resourceMilestoneId);\n }\n\n if (milestoneTestEventPayload) {\n const { milestoneId } = milestoneTestEventPayload as { milestoneId: string };\n\n invalidateTestHelpData(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 activeMilestoneId={activeMilestoneId}\n activeTabId={activeTabId}\n onWidgetTabSelection={onWidgetTabSelection}\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","activeMilestoneId","activeTabId","onExpandPastMilestones","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onPreview","onReattempt","onReset","onResume","onReview","onStart","onDraftPublish","onAddChapter","onCreatePlan","onDelete","onAssignResources","onUnAssignSheet","onTestPreview","onTestReview","onTestStart","onWidgetTabSelection","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","milestoneResourceEventPayload","_a","message","milestoneTestEventPayload","_b","resourceMilestoneId","invalidateMilestoneResources","milestoneId","invalidateTestHelpData","useEffect","jsx","MilestoneLoader","showFilters","jsxs","Styled.ContentWrapper","Styled.LoaderWrapper","ILLUSTRATIONS","Fragment","FilterMilestones","Separator","MilestoneList","titleCase"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"resources-list.js","sources":["../../../../../src/features/milestone/milestone-resources/resources-list/resources-list.tsx"],"sourcesContent":["import type { ISheetItemCallbackProps } from '../../../sheets/sheets-list/sheet-item/sheet-item-types';\nimport type { IMilestoneWidgetResourcesProps } from './resources-list-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect } from 'react';\n\nimport { IMAGES } from '../../../../assets/images/images';\nimport PlusIcon from '../../../../assets/line-icons/icons/plus';\nimport SearchIcon from '../../../../assets/line-icons/icons/search';\nimport ResourcesList from '../../../sheets/resources-list/resources-list';\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../ui/buttons/button/button';\nimport IconButton from '../../../ui/buttons/icon-button/icon-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Text from '../../../ui/text/text';\nimport { useGetMilestoneResources } from '../../milestone-list-container/api/get-milestone-resources';\nimport * as Styled from './resources-list-styled';\n\nconst MilestoneWidgetResources: FC<IMilestoneWidgetResourcesProps> = memo(props => {\n const {\n isDraftMilestone,\n isMilestoneActive,\n userType,\n studentId,\n userMilestoneId,\n canUpdatePlan,\n onAssignResources,\n onStart,\n onUnAssignSheet,\n onReset,\n onPreview,\n onReview,\n onResume,\n onReattempt,\n } = props;\n\n const isTeacher = userType === 'TEACHER';\n const isEPSheetCreationDisabled =\n !canUpdatePlan || !isMilestoneActive || (isMilestoneActive && isDraftMilestone);\n\n const {\n get: getMilestoneResources,\n isProcessed,\n isProcessing,\n isProcessingFailed,\n isStale,\n data: sheets,\n } = useGetMilestoneResources();\n\n const fetchMilestoneResources = useCallback(() => {\n if (userMilestoneId) {\n getMilestoneResources(userMilestoneId, undefined, {\n studentId,\n });\n }\n }, [studentId, userMilestoneId, getMilestoneResources]);\n\n const handleOnTryAgain = useCallback(() => {\n fetchMilestoneResources();\n }, [fetchMilestoneResources]);\n\n useEffect(() => {\n if (!isProcessing && ((!isProcessed && !isProcessingFailed) || isStale)) {\n handleOnTryAgain();\n }\n }, [handleOnTryAgain, isProcessed, isProcessing, isProcessingFailed, isStale]);\n\n const handleOnAssignResources = useCallback(() => {\n if (typeof onAssignResources !== 'function')\n throw new Error('onAssignResources must be a function');\n\n if (!userMilestoneId) throw new Error('userMilestoneId is required');\n\n onAssignResources(userMilestoneId);\n }, [onAssignResources, userMilestoneId]);\n\n const handleOnUnAssignResources = useCallback<\n NonNullable<ISheetItemCallbackProps['onUnAssignSheet']>\n >(\n sheet => {\n if (typeof onUnAssignSheet !== 'function')\n throw new Error('onUnAssignSheet must be a function');\n\n if (!userMilestoneId) throw new Error('userMilestoneId is required');\n\n onUnAssignSheet(sheet, userMilestoneId);\n },\n [onUnAssignSheet, userMilestoneId],\n );\n\n const handleOnReset = useCallback<NonNullable<ISheetItemCallbackProps['onReset']>>(\n sheetData => {\n onReset?.(sheetData, userMilestoneId);\n },\n [onReset, userMilestoneId],\n );\n\n if (isProcessingFailed) {\n return (\n <Styled.MilestoneResourcesWrapper $alignItems=\"center\" $justifyContent=\"center\">\n <FlexView $flexGapX={1.5} $alignItems=\"center\" $justifyContent=\"center\">\n <Text $renderAs=\"h6\">Oops! Something went wrong. Please try again later.</Text>\n <Button\n widthX={14}\n size=\"small\"\n shape=\"square\"\n renderAs=\"primary\"\n label=\"Try again\"\n onClick={handleOnTryAgain}\n />\n </FlexView>\n </Styled.MilestoneResourcesWrapper>\n );\n }\n\n if (isProcessed) {\n return (\n <Styled.MilestoneResourcesWrapper $justifyContent=\"space-between\">\n {sheets && sheets.length > 0 ? (\n <>\n <ResourcesList\n sheets={sheets}\n userType={userType}\n isMilestoneWidget\n onStart={onStart}\n onResume={onResume}\n onReattempt={onReattempt}\n onUnAssignSheet={handleOnUnAssignResources}\n onReset={handleOnReset}\n onPreview={onPreview}\n onReview={onReview}\n />\n\n {isTeacher && canUpdatePlan && (\n <Styled.SearchButtonWrapper\n $flexDirection=\"row\"\n $justifyContent=\"flex-end\"\n $gapX={1}\n $gutterX={1}\n >\n <Styled.SearchButtonCover>\n <IconButton\n Icon={SearchIcon}\n renderAs=\"secondary\"\n size=\"small\"\n analyticsLabel=\"Milestone Resource Search\"\n onClick={handleOnAssignResources}\n disabled={!isMilestoneActive}\n />\n </Styled.SearchButtonCover>\n </Styled.SearchButtonWrapper>\n )}\n </>\n ) : (\n <FlexView $width=\"100%\" $alignItems=\"center\" $justifyContent=\"flex-start\">\n <Styled.DefaultWrapper $isImageWrapper>\n <img src={IMAGES.BG_EMPTY_RESOURCES} alt=\"Empty resources\" width={420} height={420} />\n </Styled.DefaultWrapper>\n\n <Styled.DefaultWrapper>\n {isTeacher ? (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={!isEPSheetCreationDisabled}\n tooltipItem={\n isDraftMilestone ? 'Allowed after plan is published' : 'Plan is completed'\n }\n >\n <Button\n renderAs=\"primary\"\n label=\"Assign Resource\"\n Icon={PlusIcon}\n shape=\"square\"\n size=\"small\"\n onClick={handleOnAssignResources}\n disabled={isEPSheetCreationDisabled}\n />\n </ArrowTooltip>\n ) : (\n <Text $renderAs=\"ab2-bold\">Wait for the teacher to assign a resource</Text>\n )}\n </Styled.DefaultWrapper>\n </FlexView>\n )}\n </Styled.MilestoneResourcesWrapper>\n );\n }\n\n return (\n <Styled.MilestoneResourcesWrapper $justifyContent=\"center\">\n <AppLoader height=\"100%\" />\n </Styled.MilestoneResourcesWrapper>\n );\n});\n\nexport default MilestoneWidgetResources;\n"],"names":["MilestoneWidgetResources","memo","props","isDraftMilestone","isMilestoneActive","userType","studentId","userMilestoneId","canUpdatePlan","onAssignResources","onStart","onUnAssignSheet","onReset","onPreview","onReview","onResume","onReattempt","isTeacher","isEPSheetCreationDisabled","getMilestoneResources","isProcessed","isProcessing","isProcessingFailed","isStale","sheets","useGetMilestoneResources","fetchMilestoneResources","useCallback","handleOnTryAgain","useEffect","handleOnAssignResources","handleOnUnAssignResources","sheet","handleOnReset","sheetData","jsx","Styled.MilestoneResourcesWrapper","jsxs","FlexView","Text","Button","Fragment","ResourcesList","Styled.SearchButtonWrapper","Styled.SearchButtonCover","IconButton","SearchIcon","Styled.DefaultWrapper","IMAGES","ArrowTooltip","PlusIcon","AppLoader"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"resources-list.js","sources":["../../../../../src/features/milestone/milestone-resources/resources-list/resources-list.tsx"],"sourcesContent":["import type { ISheetItemCallbackProps } from '../../../sheets/sheets-list/sheet-item/sheet-item-types';\nimport type { IMilestoneWidgetResourcesProps } from './resources-list-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect } from 'react';\n\nimport { IMAGES } from '../../../../assets/images/images';\nimport PlusIcon from '../../../../assets/line-icons/icons/plus';\nimport SearchIcon from '../../../../assets/line-icons/icons/search';\nimport ResourcesList from '../../../sheets/resources-list/resources-list';\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../ui/buttons/button/button';\nimport IconButton from '../../../ui/buttons/icon-button/icon-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Text from '../../../ui/text/text';\nimport { useGetMilestoneResources } from '../../milestone-list-container/api/get-milestone-resources';\nimport * as Styled from './resources-list-styled';\n\nconst MilestoneWidgetResources: FC<IMilestoneWidgetResourcesProps> = memo(props => {\n const {\n isDraftMilestone,\n isMilestoneActive,\n userType,\n studentId,\n userMilestoneId,\n canUpdatePlan,\n onAssignResources,\n onStart,\n onUnAssignSheet,\n onReset,\n onPreview,\n onReview,\n onResume,\n onReattempt,\n } = props;\n\n const isTeacher = userType === 'TEACHER';\n const isEPSheetCreationDisabled =\n !canUpdatePlan || !isMilestoneActive || (isMilestoneActive && isDraftMilestone);\n\n const {\n get: getMilestoneResources,\n isProcessed,\n isProcessing,\n isProcessingFailed,\n isStale,\n data: sheets,\n } = useGetMilestoneResources();\n\n const fetchMilestoneResources = useCallback(() => {\n if (userMilestoneId) {\n getMilestoneResources(userMilestoneId, undefined, {\n studentId,\n });\n }\n }, [studentId, userMilestoneId, getMilestoneResources]);\n\n const handleOnTryAgain = useCallback(() => {\n fetchMilestoneResources();\n }, [fetchMilestoneResources]);\n\n useEffect(() => {\n if (!isProcessing && ((!isProcessed && !isProcessingFailed) || isStale)) {\n handleOnTryAgain();\n }\n }, [handleOnTryAgain, isProcessed, isProcessing, isProcessingFailed, isStale]);\n\n const handleOnAssignResources = useCallback(() => {\n if (typeof onAssignResources !== 'function')\n throw new Error('onAssignResources must be a function');\n\n if (!userMilestoneId) throw new Error('userMilestoneId is required');\n\n onAssignResources(userMilestoneId);\n }, [onAssignResources, userMilestoneId]);\n\n const handleOnUnAssignResources = useCallback<\n NonNullable<ISheetItemCallbackProps['onUnAssignSheet']>\n >(\n sheet => {\n if (typeof onUnAssignSheet !== 'function')\n throw new Error('onUnAssignSheet must be a function');\n\n if (!userMilestoneId) throw new Error('userMilestoneId is required');\n\n onUnAssignSheet(sheet, userMilestoneId);\n },\n [onUnAssignSheet, userMilestoneId],\n );\n\n const handleOnReset = useCallback<NonNullable<ISheetItemCallbackProps['onReset']>>(\n sheetData => {\n onReset?.(sheetData, userMilestoneId);\n },\n [onReset, userMilestoneId],\n );\n\n if (isProcessingFailed) {\n return (\n <Styled.MilestoneResourcesWrapper $alignItems=\"center\" $justifyContent=\"center\">\n <FlexView $flexGapX={1.5} $alignItems=\"center\" $justifyContent=\"center\">\n <Text $renderAs=\"h6\">Oops! Something went wrong. Please try again later.</Text>\n <Button\n widthX={14}\n size=\"small\"\n shape=\"square\"\n renderAs=\"primary\"\n label=\"Try again\"\n onClick={handleOnTryAgain}\n />\n </FlexView>\n </Styled.MilestoneResourcesWrapper>\n );\n }\n\n if (isProcessed) {\n return (\n <Styled.MilestoneResourcesWrapper $justifyContent=\"space-between\">\n {sheets && sheets.length > 0 ? (\n <>\n <ResourcesList\n sheets={sheets}\n userType={userType}\n userMilestoneId={userMilestoneId}\n isMilestoneWidget\n onStart={onStart}\n onResume={onResume}\n onReattempt={onReattempt}\n onUnAssignSheet={handleOnUnAssignResources}\n onReset={handleOnReset}\n onPreview={onPreview}\n onReview={onReview}\n />\n\n {isTeacher && canUpdatePlan && (\n <Styled.SearchButtonWrapper\n $flexDirection=\"row\"\n $justifyContent=\"flex-end\"\n $gapX={1}\n $gutterX={1}\n >\n <Styled.SearchButtonCover>\n <IconButton\n Icon={SearchIcon}\n renderAs=\"secondary\"\n size=\"small\"\n analyticsLabel=\"Milestone Resource Search\"\n onClick={handleOnAssignResources}\n disabled={!isMilestoneActive}\n />\n </Styled.SearchButtonCover>\n </Styled.SearchButtonWrapper>\n )}\n </>\n ) : (\n <FlexView $width=\"100%\" $alignItems=\"center\" $justifyContent=\"flex-start\">\n <Styled.DefaultWrapper $isImageWrapper>\n <img src={IMAGES.BG_EMPTY_RESOURCES} alt=\"Empty resources\" width={420} height={420} />\n </Styled.DefaultWrapper>\n\n <Styled.DefaultWrapper>\n {isTeacher ? (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={!isEPSheetCreationDisabled}\n tooltipItem={\n isDraftMilestone ? 'Allowed after plan is published' : 'Plan is completed'\n }\n >\n <Button\n renderAs=\"primary\"\n label=\"Assign Resource\"\n Icon={PlusIcon}\n shape=\"square\"\n size=\"small\"\n onClick={handleOnAssignResources}\n disabled={isEPSheetCreationDisabled}\n />\n </ArrowTooltip>\n ) : (\n <Text $renderAs=\"ab2-bold\">Wait for the teacher to assign a resource</Text>\n )}\n </Styled.DefaultWrapper>\n </FlexView>\n )}\n </Styled.MilestoneResourcesWrapper>\n );\n }\n\n return (\n <Styled.MilestoneResourcesWrapper $justifyContent=\"center\">\n <AppLoader height=\"100%\" />\n </Styled.MilestoneResourcesWrapper>\n );\n});\n\nexport default MilestoneWidgetResources;\n"],"names":["MilestoneWidgetResources","memo","props","isDraftMilestone","isMilestoneActive","userType","studentId","userMilestoneId","canUpdatePlan","onAssignResources","onStart","onUnAssignSheet","onReset","onPreview","onReview","onResume","onReattempt","isTeacher","isEPSheetCreationDisabled","getMilestoneResources","isProcessed","isProcessing","isProcessingFailed","isStale","sheets","useGetMilestoneResources","fetchMilestoneResources","useCallback","handleOnTryAgain","useEffect","handleOnAssignResources","handleOnUnAssignResources","sheet","handleOnReset","sheetData","jsx","Styled.MilestoneResourcesWrapper","jsxs","FlexView","Text","Button","Fragment","ResourcesList","Styled.SearchButtonWrapper","Styled.SearchButtonCover","IconButton","SearchIcon","Styled.DefaultWrapper","IMAGES","ArrowTooltip","PlusIcon","AppLoader"],"mappings":"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"}
|
@@ -7,7 +7,7 @@ import { IS_CHAPTER_COMPLETED_STATES as $ } from "../../../../create/milestone-c
|
|
7
7
|
import { TESTS_CREATION_ANALYTICS_EVENTS as g } from "../../../tests-creation/tests-creation-analytics-events.js";
|
8
8
|
import { getTestCtaInfo as H } from "./test-sheet-item-utils.js";
|
9
9
|
const { COMPLETED: U } = k, J = M((d) => {
|
10
|
-
const { milestoneId:
|
10
|
+
const { milestoneId: n, studentId: m, userType: T, sheet: s, onTestStart: r, onTestReview: i, onTestPreview: a } = d, e = _(() => T === "STUDENT", [T]), { permissions: f, state: c, accuracy: l, user_node_id: u } = s, {
|
11
11
|
can_start: t,
|
12
12
|
can_resume: o,
|
13
13
|
can_review: S,
|
@@ -15,18 +15,18 @@ const { COMPLETED: U } = k, J = M((d) => {
|
|
15
15
|
} = f, p = e ? S : w, h = _(
|
16
16
|
() => ({
|
17
17
|
user_node_id: u,
|
18
|
-
milestone_id:
|
18
|
+
milestone_id: n,
|
19
19
|
student_id: m,
|
20
20
|
...e ? {
|
21
21
|
can_start: t,
|
22
22
|
can_resume: o
|
23
23
|
} : {}
|
24
24
|
}),
|
25
|
-
[
|
25
|
+
[n, m, o, t, e, u]
|
26
26
|
), C = N(() => {
|
27
27
|
if (e && (t || o)) {
|
28
28
|
if (typeof r == "function") {
|
29
|
-
r(
|
29
|
+
r(s);
|
30
30
|
return;
|
31
31
|
}
|
32
32
|
throw new Error("No callback is available");
|
@@ -34,18 +34,18 @@ const { COMPLETED: U } = k, J = M((d) => {
|
|
34
34
|
if (p) {
|
35
35
|
if (typeof i != "function")
|
36
36
|
throw new Error("onTestReview must be a function");
|
37
|
-
i(n);
|
37
|
+
i(s, n);
|
38
38
|
return;
|
39
39
|
}
|
40
40
|
if (typeof a != "function")
|
41
41
|
throw new Error("onTestPreview must be a function");
|
42
|
-
a(
|
42
|
+
a(n, s);
|
43
43
|
}, [
|
44
44
|
e,
|
45
45
|
p,
|
46
46
|
a,
|
47
|
-
s,
|
48
47
|
n,
|
48
|
+
s,
|
49
49
|
t,
|
50
50
|
o,
|
51
51
|
r,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"test-sheet-item-cta.js","sources":["../../../../../../../src/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.tsx"],"sourcesContent":["import type { ITestSheetItemProps } from './test-sheet-item-types';\nimport type { FC } from 'react';\n\nimport { useCallback, useMemo, memo } from 'react';\n\nimport SheetButton from '../../../../../sheets/comps/sheet-button';\nimport { SHEET_STATE } from '../../../../../sheets/constants/sheet';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport { IS_CHAPTER_COMPLETED_STATES } from '../../../../create/milestone-create-constants';\nimport { TESTS_CREATION_ANALYTICS_EVENTS } from '../../../tests-creation/tests-creation-analytics-events';\nimport { getTestCtaInfo } from './test-sheet-item-utils';\n\nconst { COMPLETED } = SHEET_STATE;\n\nconst TestSheetItemCta: FC<Omit<ITestSheetItemProps, 'sequenceNo'>> = memo(props => {\n const { milestoneId, studentId, userType, sheet, onTestStart, onTestReview, onTestPreview } =\n props;\n const isStudent = useMemo(() => userType === 'STUDENT', [userType]);\n const { permissions, state: sheetState, accuracy, user_node_id } = sheet;\n const {\n can_start: canStart,\n can_resume: canResume,\n can_review: canReview,\n can_teacher_review: canTeacherReview,\n } = permissions;\n const canReviewSheet = isStudent ? canReview : canTeacherReview;\n\n const analyticsProps = useMemo(\n () => ({\n user_node_id,\n milestone_id: milestoneId,\n student_id: studentId,\n ...(isStudent\n ? {\n can_start: canStart,\n can_resume: canResume,\n }\n : {}),\n }),\n [milestoneId, studentId, canResume, canStart, isStudent, user_node_id],\n );\n\n const handleOnClick = useCallback(() => {\n if (isStudent) {\n if (canStart || canResume) {\n if (typeof onTestStart === 'function') {\n onTestStart(sheet);\n\n return;\n }\n\n throw new Error('No callback is available');\n }\n }\n\n if (canReviewSheet) {\n if (typeof onTestReview !== 'function') {\n throw new Error('onTestReview must be a function');\n }\n\n onTestReview(sheet);\n\n return;\n }\n\n if (typeof onTestPreview !== 'function') {\n throw new Error('onTestPreview must be a function');\n }\n\n onTestPreview(milestoneId, sheet);\n\n return;\n }, [\n isStudent,\n canReviewSheet,\n onTestPreview,\n milestoneId,\n sheet,\n canStart,\n canResume,\n onTestStart,\n onTestReview,\n ]);\n\n const testCtaInfo = getTestCtaInfo(sheetState, permissions, isStudent);\n const { state: testCtaState, renderAs = 'primary', label } = testCtaInfo || {};\n\n const isSheetCompleted =\n sheetState === COMPLETED || IS_CHAPTER_COMPLETED_STATES.some(state => state === sheetState);\n const sheetPermissionDisability = !isSheetCompleted && !(canStart || canResume || canReview);\n const disableCta = isStudent && sheetPermissionDisability;\n const sheetAccuracy = typeof accuracy === 'number' ? `${accuracy}%` : undefined;\n\n const analyticsLabel =\n isStudent && (canStart || canResume)\n ? TESTS_CREATION_ANALYTICS_EVENTS.CUSTOM_TEST_ATTEMPTED\n : '';\n\n return (\n <FlexView $flexDirection=\"row\" $flexGapX={1} $alignItems=\"center\">\n <SheetButton\n renderAs={renderAs}\n label={label}\n onClick={handleOnClick}\n disabled={disableCta}\n state={testCtaState}\n accuracy={sheetAccuracy}\n analyticsLabel={analyticsLabel}\n analyticsProps={analyticsProps}\n />\n </FlexView>\n );\n});\n\nexport default TestSheetItemCta;\n"],"names":["COMPLETED","SHEET_STATE","TestSheetItemCta","memo","props","milestoneId","studentId","userType","sheet","onTestStart","onTestReview","onTestPreview","isStudent","useMemo","permissions","sheetState","accuracy","user_node_id","canStart","canResume","canReview","canTeacherReview","canReviewSheet","analyticsProps","handleOnClick","useCallback","testCtaInfo","getTestCtaInfo","testCtaState","renderAs","label","sheetPermissionDisability","IS_CHAPTER_COMPLETED_STATES","state","disableCta","sheetAccuracy","analyticsLabel","TESTS_CREATION_ANALYTICS_EVENTS","FlexView","jsx","SheetButton"],"mappings":";;;;;;;;AAYA,MAAM,EAAE,WAAAA,EAAc,IAAAC,GAEhBC,IAAgEC,EAAK,CAASC,MAAA;AAC5E,QAAA,EAAE,aAAAC,GAAa,WAAAC,GAAW,UAAAC,GAAU,OAAAC,GAAO,aAAAC,GAAa,cAAAC,GAAc,eAAAC,EAC1E,IAAAP,GACIQ,IAAYC,EAAQ,MAAMN,MAAa,WAAW,CAACA,CAAQ,CAAC,GAC5D,EAAE,aAAAO,GAAa,OAAOC,GAAY,UAAAC,GAAU,cAAAC,EAAiB,IAAAT,GAC7D;AAAA,IACJ,WAAWU;AAAA,IACX,YAAYC;AAAA,IACZ,YAAYC;AAAA,IACZ,oBAAoBC;AAAA,EAClB,IAAAP,GACEQ,IAAiBV,IAAYQ,IAAYC,GAEzCE,IAAiBV;AAAA,IACrB,OAAO;AAAA,MACL,cAAAI;AAAA,MACA,cAAcZ;AAAA,MACd,YAAYC;AAAA,MACZ,GAAIM,IACA;AAAA,QACE,WAAWM;AAAA,QACX,YAAYC;AAAA,MAAA,IAEd,CAAC;AAAA,IAAA;AAAA,IAEP,CAACd,GAAaC,GAAWa,GAAWD,GAAUN,GAAWK,CAAY;AAAA,EAAA,GAGjEO,IAAgBC,EAAY,MAAM;AACtC,QAAIb,MACEM,KAAYC,IAAW;AACrB,UAAA,OAAOV,KAAgB,YAAY;AACrC,QAAAA,EAAYD,CAAK;AAEjB;AAAA,MACF;AAEM,YAAA,IAAI,MAAM,0BAA0B;AAAA,IAC5C;AAGF,QAAIc,GAAgB;AACd,UAAA,OAAOZ,KAAiB;AACpB,cAAA,IAAI,MAAM,iCAAiC;AAGnD,MAAAA,EAAaF,
|
1
|
+
{"version":3,"file":"test-sheet-item-cta.js","sources":["../../../../../../../src/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.tsx"],"sourcesContent":["import type { ITestSheetItemProps } from './test-sheet-item-types';\nimport type { FC } from 'react';\n\nimport { useCallback, useMemo, memo } from 'react';\n\nimport SheetButton from '../../../../../sheets/comps/sheet-button';\nimport { SHEET_STATE } from '../../../../../sheets/constants/sheet';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport { IS_CHAPTER_COMPLETED_STATES } from '../../../../create/milestone-create-constants';\nimport { TESTS_CREATION_ANALYTICS_EVENTS } from '../../../tests-creation/tests-creation-analytics-events';\nimport { getTestCtaInfo } from './test-sheet-item-utils';\n\nconst { COMPLETED } = SHEET_STATE;\n\nconst TestSheetItemCta: FC<Omit<ITestSheetItemProps, 'sequenceNo'>> = memo(props => {\n const { milestoneId, studentId, userType, sheet, onTestStart, onTestReview, onTestPreview } =\n props;\n const isStudent = useMemo(() => userType === 'STUDENT', [userType]);\n const { permissions, state: sheetState, accuracy, user_node_id } = sheet;\n const {\n can_start: canStart,\n can_resume: canResume,\n can_review: canReview,\n can_teacher_review: canTeacherReview,\n } = permissions;\n const canReviewSheet = isStudent ? canReview : canTeacherReview;\n\n const analyticsProps = useMemo(\n () => ({\n user_node_id,\n milestone_id: milestoneId,\n student_id: studentId,\n ...(isStudent\n ? {\n can_start: canStart,\n can_resume: canResume,\n }\n : {}),\n }),\n [milestoneId, studentId, canResume, canStart, isStudent, user_node_id],\n );\n\n const handleOnClick = useCallback(() => {\n if (isStudent) {\n if (canStart || canResume) {\n if (typeof onTestStart === 'function') {\n onTestStart(sheet);\n\n return;\n }\n\n throw new Error('No callback is available');\n }\n }\n\n if (canReviewSheet) {\n if (typeof onTestReview !== 'function') {\n throw new Error('onTestReview must be a function');\n }\n\n onTestReview(sheet, milestoneId);\n\n return;\n }\n\n if (typeof onTestPreview !== 'function') {\n throw new Error('onTestPreview must be a function');\n }\n\n onTestPreview(milestoneId, sheet);\n\n return;\n }, [\n isStudent,\n canReviewSheet,\n onTestPreview,\n milestoneId,\n sheet,\n canStart,\n canResume,\n onTestStart,\n onTestReview,\n ]);\n\n const testCtaInfo = getTestCtaInfo(sheetState, permissions, isStudent);\n const { state: testCtaState, renderAs = 'primary', label } = testCtaInfo || {};\n\n const isSheetCompleted =\n sheetState === COMPLETED || IS_CHAPTER_COMPLETED_STATES.some(state => state === sheetState);\n const sheetPermissionDisability = !isSheetCompleted && !(canStart || canResume || canReview);\n const disableCta = isStudent && sheetPermissionDisability;\n const sheetAccuracy = typeof accuracy === 'number' ? `${accuracy}%` : undefined;\n\n const analyticsLabel =\n isStudent && (canStart || canResume)\n ? TESTS_CREATION_ANALYTICS_EVENTS.CUSTOM_TEST_ATTEMPTED\n : '';\n\n return (\n <FlexView $flexDirection=\"row\" $flexGapX={1} $alignItems=\"center\">\n <SheetButton\n renderAs={renderAs}\n label={label}\n onClick={handleOnClick}\n disabled={disableCta}\n state={testCtaState}\n accuracy={sheetAccuracy}\n analyticsLabel={analyticsLabel}\n analyticsProps={analyticsProps}\n />\n </FlexView>\n );\n});\n\nexport default TestSheetItemCta;\n"],"names":["COMPLETED","SHEET_STATE","TestSheetItemCta","memo","props","milestoneId","studentId","userType","sheet","onTestStart","onTestReview","onTestPreview","isStudent","useMemo","permissions","sheetState","accuracy","user_node_id","canStart","canResume","canReview","canTeacherReview","canReviewSheet","analyticsProps","handleOnClick","useCallback","testCtaInfo","getTestCtaInfo","testCtaState","renderAs","label","sheetPermissionDisability","IS_CHAPTER_COMPLETED_STATES","state","disableCta","sheetAccuracy","analyticsLabel","TESTS_CREATION_ANALYTICS_EVENTS","FlexView","jsx","SheetButton"],"mappings":";;;;;;;;AAYA,MAAM,EAAE,WAAAA,EAAc,IAAAC,GAEhBC,IAAgEC,EAAK,CAASC,MAAA;AAC5E,QAAA,EAAE,aAAAC,GAAa,WAAAC,GAAW,UAAAC,GAAU,OAAAC,GAAO,aAAAC,GAAa,cAAAC,GAAc,eAAAC,EAC1E,IAAAP,GACIQ,IAAYC,EAAQ,MAAMN,MAAa,WAAW,CAACA,CAAQ,CAAC,GAC5D,EAAE,aAAAO,GAAa,OAAOC,GAAY,UAAAC,GAAU,cAAAC,EAAiB,IAAAT,GAC7D;AAAA,IACJ,WAAWU;AAAA,IACX,YAAYC;AAAA,IACZ,YAAYC;AAAA,IACZ,oBAAoBC;AAAA,EAClB,IAAAP,GACEQ,IAAiBV,IAAYQ,IAAYC,GAEzCE,IAAiBV;AAAA,IACrB,OAAO;AAAA,MACL,cAAAI;AAAA,MACA,cAAcZ;AAAA,MACd,YAAYC;AAAA,MACZ,GAAIM,IACA;AAAA,QACE,WAAWM;AAAA,QACX,YAAYC;AAAA,MAAA,IAEd,CAAC;AAAA,IAAA;AAAA,IAEP,CAACd,GAAaC,GAAWa,GAAWD,GAAUN,GAAWK,CAAY;AAAA,EAAA,GAGjEO,IAAgBC,EAAY,MAAM;AACtC,QAAIb,MACEM,KAAYC,IAAW;AACrB,UAAA,OAAOV,KAAgB,YAAY;AACrC,QAAAA,EAAYD,CAAK;AAEjB;AAAA,MACF;AAEM,YAAA,IAAI,MAAM,0BAA0B;AAAA,IAC5C;AAGF,QAAIc,GAAgB;AACd,UAAA,OAAOZ,KAAiB;AACpB,cAAA,IAAI,MAAM,iCAAiC;AAGnD,MAAAA,EAAaF,GAAOH,CAAW;AAE/B;AAAA,IACF;AAEI,QAAA,OAAOM,KAAkB;AACrB,YAAA,IAAI,MAAM,kCAAkC;AAGpD,IAAAA,EAAcN,GAAaG,CAAK;AAAA,EAEhC,GACC;AAAA,IACDI;AAAA,IACAU;AAAA,IACAX;AAAA,IACAN;AAAA,IACAG;AAAA,IACAU;AAAA,IACAC;AAAA,IACAV;AAAA,IACAC;AAAA,EAAA,CACD,GAEKgB,IAAcC,EAAeZ,GAAYD,GAAaF,CAAS,GAC/D,EAAE,OAAOgB,GAAc,UAAAC,IAAW,WAAW,OAAAC,EAAM,IAAIJ,KAAe,IAItEK,IAA4B,EADhChB,MAAef,KAAagC,EAA4B,KAAK,CAAAC,MAASA,MAAUlB,CAAU,MACrC,EAAEG,KAAYC,KAAaC,IAC5Ec,IAAatB,KAAamB,GAC1BI,IAAgB,OAAOnB,KAAa,WAAW,GAAGA,CAAQ,MAAM,QAEhEoB,IACJxB,MAAcM,KAAYC,KACtBkB,EAAgC,wBAChC;AAEN,2BACGC,GAAS,EAAA,gBAAe,OAAM,WAAW,GAAG,aAAY,UACvD,UAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,UAAAX;AAAA,MACA,OAAAC;AAAA,MACA,SAASN;AAAA,MACT,UAAUU;AAAA,MACV,OAAON;AAAA,MACP,UAAUO;AAAA,MACV,gBAAAC;AAAA,MACA,gBAAAb;AAAA,IAAA;AAAA,EAEJ,EAAA,CAAA;AAEJ,CAAC;"}
|
@@ -18,30 +18,30 @@ const ne = R((u) => {
|
|
18
18
|
isMilestoneActive: s,
|
19
19
|
userType: b,
|
20
20
|
studentId: l,
|
21
|
-
userMilestoneId:
|
21
|
+
userMilestoneId: t,
|
22
22
|
canUpdatePlan: C
|
23
23
|
} = u, { onCreateMilestoneTest: n, onTestPreview: c, onTestReview: d, onTestStart: p } = u, {
|
24
24
|
get: A,
|
25
|
-
data:
|
25
|
+
data: r,
|
26
26
|
isProcessingFailed: m,
|
27
27
|
isProcessed: f,
|
28
28
|
isStale: y,
|
29
29
|
isProcessing: S
|
30
30
|
} = F(), v = !C || !g || !s || s && w, P = s && !g ? "Chapters need to be assigned" : w ? "Allowed after plan is published" : "Plan is completed", h = o(() => {
|
31
|
-
A(
|
31
|
+
A(t, void 0, {
|
32
32
|
studentId: l
|
33
33
|
});
|
34
|
-
}, [A, l,
|
34
|
+
}, [A, l, t]);
|
35
35
|
X(() => {
|
36
36
|
!S && (!f && !m || y) && h();
|
37
37
|
}, [h, f, S, m, y]);
|
38
38
|
const E = o(() => {
|
39
39
|
if (typeof n == "function") {
|
40
|
-
n == null || n(
|
40
|
+
n == null || n(t, ((r == null ? void 0 : r.length) || 0) + 1);
|
41
41
|
return;
|
42
42
|
}
|
43
43
|
throw new Error("No callback provided. If provided it must be a function");
|
44
|
-
}, [n,
|
44
|
+
}, [n, t, r]), N = o(
|
45
45
|
(i, M) => {
|
46
46
|
if (typeof c == "function") {
|
47
47
|
c(i, M);
|
@@ -62,12 +62,12 @@ const ne = R((u) => {
|
|
62
62
|
), x = o(
|
63
63
|
(i) => {
|
64
64
|
if (typeof d == "function") {
|
65
|
-
d(i);
|
65
|
+
d(i, t);
|
66
66
|
return;
|
67
67
|
}
|
68
68
|
throw new Error("No callback provided. If provided it must be a function");
|
69
69
|
},
|
70
|
-
[d]
|
70
|
+
[d, t]
|
71
71
|
);
|
72
72
|
return m ? /* @__PURE__ */ e(a, { $alignItems: "center", $justifyContent: "center", children: /* @__PURE__ */ T(D, { $flexGapX: 1.5, $alignItems: "center", $justifyContent: "center", children: [
|
73
73
|
/* @__PURE__ */ e($, { $renderAs: "h6", children: "Oops! Something went wrong. Please try again later." }),
|
@@ -82,11 +82,11 @@ const ne = R((u) => {
|
|
82
82
|
onClick: h
|
83
83
|
}
|
84
84
|
)
|
85
|
-
] }) }) : f ?
|
85
|
+
] }) }) : f ? r != null && r.length ? /* @__PURE__ */ e(a, { children: /* @__PURE__ */ e(
|
86
86
|
U,
|
87
87
|
{
|
88
|
-
milestoneId:
|
89
|
-
sheets:
|
88
|
+
milestoneId: t,
|
89
|
+
sheets: r,
|
90
90
|
userType: b,
|
91
91
|
studentId: l,
|
92
92
|
onCreateNewTest: E,
|
@@ -119,7 +119,7 @@ const ne = R((u) => {
|
|
119
119
|
disabled: v,
|
120
120
|
analyticsLabel: G.CUSTOM_TEST_CREATION_STARTED,
|
121
121
|
analyticsProps: {
|
122
|
-
milestone_id:
|
122
|
+
milestone_id: t
|
123
123
|
}
|
124
124
|
}
|
125
125
|
)
|