@cuemath/leap 3.5.52-as1 → 3.5.53-j1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/features/homework/homework-card.js +122 -121
- package/dist/features/homework/homework-card.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js +66 -61
- package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +56 -55
- package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/search-chapter/search-chapters.js +32 -25
- package/dist/features/milestone/create/comps/add-custom-chapter/search-chapter/search-chapters.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapter-item.js +16 -15
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapter-item.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapters.js +17 -10
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapters.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.js +6 -6
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.js.map +1 -1
- package/dist/features/milestone/create/comps/body-layout/body-layout.js +30 -29
- package/dist/features/milestone/create/comps/body-layout/body-layout.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +77 -74
- package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
- package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js +82 -79
- package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-styled.js +8 -8
- package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
- package/dist/features/milestone/create/milestone-create.js +48 -46
- package/dist/features/milestone/create/milestone-create.js.map +1 -1
- package/dist/features/milestone/edit/goal-draft-edit-sync.js +26 -0
- package/dist/features/milestone/edit/goal-draft-edit-sync.js.map +1 -0
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +72 -66
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
- package/dist/features/milestone/edit/hooks/use-milestone-edit-sync.js +82 -0
- package/dist/features/milestone/edit/hooks/use-milestone-edit-sync.js.map +1 -0
- package/dist/features/milestone/milestone-list-container/hooks/use-milestone-list-sync.js +49 -0
- package/dist/features/milestone/milestone-list-container/hooks/use-milestone-list-sync.js.map +1 -0
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +109 -105
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js +2 -2
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js +21 -16
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +106 -98
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +136 -117
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js +96 -92
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list-sync.js +25 -0
- package/dist/features/milestone/milestone-list-container/milestone-list-sync.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js +78 -81
- package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js +28 -25
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js +39 -33
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/hooks/use-resource-assign-sync.js +50 -0
- package/dist/features/milestone/milestone-resources/resources-assign/hooks/use-resource-assign-sync.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/resource-assign-sync.js +25 -0
- package/dist/features/milestone/milestone-resources/resources-assign/resource-assign-sync.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js +43 -53
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js +218 -174
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/store/resource-assign-store.js +198 -0
- package/dist/features/milestone/milestone-resources/resources-assign/store/resource-assign-store.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +69 -67
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js +46 -45
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -1
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js +34 -32
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/hooks/use-tests-creation-sync.js +52 -0
- package/dist/features/milestone/milestone-tests/tests-creation/hooks/use-tests-creation-sync.js.map +1 -0
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js +51 -41
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js +85 -71
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview-styled.js +5 -5
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview-styled.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js +36 -26
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-sync.js +25 -0
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-sync.js.map +1 -0
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-types.js +5 -0
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-types.js.map +1 -0
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js +150 -89
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
- package/dist/features/sheet-v2/resource-list/resource-list.js +26 -24
- package/dist/features/sheet-v2/resource-list/resource-list.js.map +1 -1
- package/dist/features/trial-session/comps/learning-plan/index.js +218 -91
- package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
- package/dist/features/trial-session/comps/learning-plan/learning-plan-styled.js +7 -6
- package/dist/features/trial-session/comps/learning-plan/learning-plan-styled.js.map +1 -1
- package/dist/features/trial-session/hooks/use-learning-plan-scroll-sync.js +75 -0
- package/dist/features/trial-session/hooks/use-learning-plan-scroll-sync.js.map +1 -0
- package/dist/features/trial-session/hooks/use-trial-session-navigation.js +125 -115
- package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
- package/dist/features/trial-session/trial-session-types.js +3 -2
- package/dist/features/trial-session/trial-session-types.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +69 -54
- package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet.js +44 -33
- package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +25 -22
- package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +48 -44
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +2 -2
- package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
- package/dist/index.d.ts +138 -2
- package/dist/node_modules/decode-uri-component/index.js.map +1 -0
- package/dist/node_modules/query-string/base.js +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/native.js +7 -0
- package/dist/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
- package/dist/node_modules/uuid/dist/esm-browser/rng.js +3 -2
- package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js +6 -10
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/v4.js +12 -9
- package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
- package/package.json +1 -1
- package/dist/features/trial-session/comps/learning-plan/use-learning-plan-scroll-sync.js +0 -37
- package/dist/features/trial-session/comps/learning-plan/use-learning-plan-scroll-sync.js.map +0 -1
- package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +0 -1
- package/dist/node_modules/uuid/dist/esm-browser/regex.js +0 -5
- package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +0 -1
- package/dist/node_modules/uuid/dist/esm-browser/validate.js +0 -8
- package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +0 -1
- /package/dist/node_modules/{query-string/node_modules/decode-uri-component → decode-uri-component}/index.js +0 -0
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { h as
|
|
3
|
-
import { memo as
|
|
4
|
-
import { ILLUSTRATIONS as
|
|
1
|
+
import { jsx as r, jsxs as O, Fragment as ce } from "react/jsx-runtime";
|
|
2
|
+
import { h as de } from "../../../node_modules/humanize-plus/dist/humanize.js";
|
|
3
|
+
import { memo as _e, useMemo as Ae, useState as u, useCallback as Ne, useEffect as f } from "react";
|
|
4
|
+
import { ILLUSTRATIONS as Me } from "../../../assets/illustrations/illustrations.js";
|
|
5
5
|
import { EVENTS as e } from "../../communication/pub-sub/constants.js";
|
|
6
|
-
import { useInClassActionListener as
|
|
6
|
+
import { useInClassActionListener as De } from "../../communication/pub-sub/hooks.js";
|
|
7
7
|
import { invalidateHomeworks as p } from "../../homework/hw-card-list/api/get-homeworks.js";
|
|
8
|
-
import
|
|
9
|
-
import { invalidateMilestoneResources as
|
|
10
|
-
import { useGetAllMilestonesdata as
|
|
11
|
-
import { invalidatePastMilestoneCount as
|
|
12
|
-
import { invalidateTestHelpData as
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import { ContentWrapper as
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
},
|
|
8
|
+
import Re from "../../ui/separator/separator.js";
|
|
9
|
+
import { invalidateMilestoneResources as Ce } from "./api/get-milestone-resources.js";
|
|
10
|
+
import { useGetAllMilestonesdata as Ie, invalidateMilestonesData as Le } from "./api/get-milestones.js";
|
|
11
|
+
import { invalidatePastMilestoneCount as Oe } from "./api/get-past-milestone-count.js";
|
|
12
|
+
import { invalidateTestHelpData as ue } from "./api/get-tests-list.js";
|
|
13
|
+
import fe from "./filter-milestones.js";
|
|
14
|
+
import pe from "./milestone-list/milestone-list.js";
|
|
15
|
+
import he from "./milestone-list/milestone-loader/milestone-loader.js";
|
|
16
|
+
import { ContentWrapper as ve, LoaderWrapper as Pe } from "./styled.js";
|
|
17
|
+
const Ue = (d) => {
|
|
18
|
+
Le(d), Oe(d.student_id);
|
|
19
|
+
}, Ge = _e(function({
|
|
20
20
|
studentName: h,
|
|
21
21
|
studentId: l,
|
|
22
22
|
studentClassroomId: v,
|
|
@@ -34,29 +34,31 @@ const ve = (d) => {
|
|
|
34
34
|
activeMilestoneId: w,
|
|
35
35
|
activeTabId: F,
|
|
36
36
|
isTrialSession: H,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
37
|
+
state: x,
|
|
38
|
+
onExpandPastMilestones: b,
|
|
39
|
+
onAddOutcome: k,
|
|
40
|
+
onChapterClick: y,
|
|
41
|
+
onEdit: K,
|
|
42
|
+
onCreateMilestoneTest: W,
|
|
43
|
+
onDraftPublish: j,
|
|
44
|
+
onAddChapter: X,
|
|
45
|
+
onCreatePlan: $,
|
|
46
|
+
onDelete: z,
|
|
47
|
+
onAssignResources: B,
|
|
48
|
+
onNodeAttempt: q,
|
|
49
|
+
onNodeView: J,
|
|
50
|
+
onNodeReview: Q,
|
|
51
|
+
onNodeReattempt: Y,
|
|
52
|
+
onNodeReset: Z,
|
|
53
|
+
onNodeUnassign: ee,
|
|
54
|
+
onTestPreview: te,
|
|
55
|
+
onTestReview: oe,
|
|
56
|
+
onTestStart: se,
|
|
57
|
+
onWidgetTabSelection: ne,
|
|
58
|
+
onNodeAssignAsHomework: ie,
|
|
59
|
+
onStateChange: Ee,
|
|
60
|
+
onCardClick: ae
|
|
61
|
+
} = P, n = Ae(
|
|
60
62
|
() => ({
|
|
61
63
|
milestone_state_group: s === "ACTIVE" ? _ === "TEACHER" ? "LIVE" : "STUDENT_LIVE" : s,
|
|
62
64
|
course_stream: A,
|
|
@@ -68,21 +70,21 @@ const ve = (d) => {
|
|
|
68
70
|
getAll: m,
|
|
69
71
|
isStale: M,
|
|
70
72
|
isProcessing: S
|
|
71
|
-
} =
|
|
73
|
+
} = Ie(n), [D, R] = u(), [C, I] = u(!1), re = Ne(
|
|
72
74
|
(T) => {
|
|
73
|
-
const { searchText: i, selectedBoard: E, selectedGrade:
|
|
74
|
-
(i || E ||
|
|
75
|
+
const { searchText: i, selectedBoard: E, selectedGrade: a } = T || {};
|
|
76
|
+
(i || E || a) && I(!0);
|
|
75
77
|
const c = o == null ? void 0 : o.filter((t) => {
|
|
76
|
-
const { milestone_name:
|
|
77
|
-
return (i ?
|
|
78
|
+
const { milestone_name: Se, board: me, grade: Te } = t || {};
|
|
79
|
+
return (i ? Se.toLowerCase().includes(i.toLowerCase()) : !0) && (E ? me === E : !0) && (a ? Te === a : !0);
|
|
78
80
|
});
|
|
79
81
|
R(c);
|
|
80
82
|
},
|
|
81
83
|
[o]
|
|
82
|
-
),
|
|
83
|
-
|
|
84
|
+
), le = () => {
|
|
85
|
+
I(!1), R(void 0);
|
|
84
86
|
};
|
|
85
|
-
if (
|
|
87
|
+
if (De(
|
|
86
88
|
{
|
|
87
89
|
studentClassroomId: v,
|
|
88
90
|
actions: [
|
|
@@ -109,21 +111,21 @@ const ve = (d) => {
|
|
|
109
111
|
[e.SHEET_MARKED_AS_REVIEWED]
|
|
110
112
|
],
|
|
111
113
|
callback: (T) => {
|
|
112
|
-
var
|
|
113
|
-
const i = (
|
|
114
|
+
var a, c;
|
|
115
|
+
const i = (a = T.find(
|
|
114
116
|
(t) => t.eventName === e.MILESTONE_RESOURCE_ASSIGNED || t.eventName === e.MILESTONE_RESOURCE_UNASSIGNED || t.eventName === e.MILESTONE_RESOURCE_RESET || t.eventName === e.SHEET_MARKED_AS_REVIEWED
|
|
115
|
-
)) == null ? void 0 :
|
|
117
|
+
)) == null ? void 0 : a.eventPayload, E = (c = T.find(
|
|
116
118
|
(t) => t.eventName === e.MILESTONE_TEST_ASSIGNED || t.eventName === e.MILESTONE_RESOURCE_RESET
|
|
117
119
|
)) == null ? void 0 : c.eventPayload;
|
|
118
120
|
if (i) {
|
|
119
121
|
const { milestoneId: t } = i || {};
|
|
120
|
-
p(l),
|
|
122
|
+
p(l), Ce(t);
|
|
121
123
|
}
|
|
122
124
|
if (E) {
|
|
123
125
|
const { milestoneId: t } = E;
|
|
124
|
-
p(l),
|
|
126
|
+
p(l), ue(t);
|
|
125
127
|
}
|
|
126
|
-
|
|
128
|
+
Ue(n);
|
|
127
129
|
}
|
|
128
130
|
},
|
|
129
131
|
(s === "ACTIVE" || s === "INACTIVE") && N
|
|
@@ -132,68 +134,70 @@ const ve = (d) => {
|
|
|
132
134
|
}, [m, n]), f(() => {
|
|
133
135
|
!S && M && m(n);
|
|
134
136
|
}, [m, n, M, S]), S && !o)
|
|
135
|
-
return /* @__PURE__ */
|
|
137
|
+
return /* @__PURE__ */ r(he, { numMilestones: 2 });
|
|
136
138
|
const L = s === "ACTIVE" && o && o.length > 6;
|
|
137
|
-
return /* @__PURE__ */ O(
|
|
138
|
-
S && /* @__PURE__ */
|
|
139
|
-
L && /* @__PURE__ */ O(
|
|
140
|
-
/* @__PURE__ */
|
|
141
|
-
|
|
139
|
+
return /* @__PURE__ */ O(ve, { $disablePointerEvents: S, children: [
|
|
140
|
+
S && /* @__PURE__ */ r(Pe, { children: /* @__PURE__ */ r("img", { src: Me.LOADER_1, alt: "loading" }) }),
|
|
141
|
+
L && /* @__PURE__ */ O(ce, { children: [
|
|
142
|
+
/* @__PURE__ */ r(
|
|
143
|
+
fe,
|
|
142
144
|
{
|
|
143
145
|
filteredMilestones: D,
|
|
144
146
|
milestones: o,
|
|
145
|
-
handleFilterMilestones:
|
|
146
|
-
handleClearFilter:
|
|
147
|
+
handleFilterMilestones: re,
|
|
148
|
+
handleClearFilter: le
|
|
147
149
|
}
|
|
148
150
|
),
|
|
149
|
-
/* @__PURE__ */
|
|
151
|
+
/* @__PURE__ */ r(Re, { heightX: 1.5 })
|
|
150
152
|
] }),
|
|
151
|
-
/* @__PURE__ */
|
|
152
|
-
|
|
153
|
+
/* @__PURE__ */ r(
|
|
154
|
+
pe,
|
|
153
155
|
{
|
|
154
156
|
showFilters: !!L,
|
|
155
157
|
canCreatePlan: G,
|
|
156
158
|
isClassOngoing: U,
|
|
157
|
-
isFiltersAdded:
|
|
159
|
+
isFiltersAdded: C,
|
|
158
160
|
isStudentPresent: N,
|
|
159
161
|
milestoneType: s,
|
|
160
|
-
milestones:
|
|
161
|
-
onAddChapter:
|
|
162
|
-
onAddOutcome:
|
|
163
|
-
onChapterClick:
|
|
164
|
-
onCreatePlan:
|
|
165
|
-
onDelete:
|
|
166
|
-
onDraftPublish:
|
|
167
|
-
onEdit:
|
|
168
|
-
onExpandPastMilestones:
|
|
169
|
-
onCreateMilestoneTest:
|
|
170
|
-
onAssignResources:
|
|
171
|
-
onTestPreview:
|
|
172
|
-
onTestReview:
|
|
173
|
-
onTestStart:
|
|
174
|
-
onNodeAttempt:
|
|
175
|
-
onNodeView:
|
|
176
|
-
onNodeReview:
|
|
177
|
-
onNodeReattempt:
|
|
178
|
-
onNodeReset:
|
|
179
|
-
onNodeUnassign:
|
|
180
|
-
onNodeAssignAsHomework:
|
|
162
|
+
milestones: C ? D : o,
|
|
163
|
+
onAddChapter: X,
|
|
164
|
+
onAddOutcome: k,
|
|
165
|
+
onChapterClick: y,
|
|
166
|
+
onCreatePlan: $,
|
|
167
|
+
onDelete: z,
|
|
168
|
+
onDraftPublish: j,
|
|
169
|
+
onEdit: K,
|
|
170
|
+
onExpandPastMilestones: b,
|
|
171
|
+
onCreateMilestoneTest: W,
|
|
172
|
+
onAssignResources: B,
|
|
173
|
+
onTestPreview: te,
|
|
174
|
+
onTestReview: oe,
|
|
175
|
+
onTestStart: se,
|
|
176
|
+
onNodeAttempt: q,
|
|
177
|
+
onNodeView: J,
|
|
178
|
+
onNodeReview: Q,
|
|
179
|
+
onNodeReattempt: Y,
|
|
180
|
+
onNodeReset: Z,
|
|
181
|
+
onNodeUnassign: ee,
|
|
182
|
+
onNodeAssignAsHomework: ie,
|
|
181
183
|
activeMilestoneId: w,
|
|
182
184
|
activeTabId: F,
|
|
183
|
-
onWidgetTabSelection:
|
|
185
|
+
onWidgetTabSelection: ne,
|
|
184
186
|
studentId: l,
|
|
185
|
-
studentName:
|
|
187
|
+
studentName: de.titleCase(h),
|
|
186
188
|
teacherName: g,
|
|
187
189
|
parentName: V,
|
|
188
190
|
userType: _,
|
|
189
191
|
courseStream: A,
|
|
190
192
|
isTrialSession: H,
|
|
191
|
-
|
|
193
|
+
state: x,
|
|
194
|
+
onStateChange: Ee,
|
|
195
|
+
onCardClick: ae
|
|
192
196
|
}
|
|
193
197
|
)
|
|
194
198
|
] });
|
|
195
|
-
}),
|
|
199
|
+
}), Ye = Ge;
|
|
196
200
|
export {
|
|
197
|
-
|
|
201
|
+
Ye as default
|
|
198
202
|
};
|
|
199
203
|
//# 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 { titleCase } from 'humanize-plus';\nimport { memo, useCallback, useEffect, useMemo, useState, type FC } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport { EVENTS } from '../../communication/pub-sub/constants';\nimport { useInClassActionListener } from '../../communication/pub-sub/hooks';\nimport { invalidateHomeworks } from '../../homework/hw-card-list/api/get-homeworks';\nimport Separator from '../../ui/separator/separator';\nimport { invalidateMilestoneResources } from './api/get-milestone-resources';\nimport { useGetAllMilestonesdata, invalidateMilestonesData } from './api/get-milestones';\nimport { invalidatePastMilestoneCount } from './api/get-past-milestone-count';\nimport { invalidateTestHelpData } from './api/get-tests-list';\nimport FilterMilestones from './filter-milestones';\nimport type {\n IMilestoneContainerProps,\n IMilestoneListQueryParams,\n} from './milestone-list-container-types';\nimport MilestoneList from './milestone-list/milestone-list';\nimport type { IMilestoneData } from './milestone-list/milestone-list-types';\nimport MilestoneLoader from './milestone-list/milestone-loader/milestone-loader';\nimport * as Styled from './styled';\n\nconst invalidateAllMilestones = (queryParams: IMilestoneListQueryParams) => {\n invalidateMilestonesData(queryParams);\n invalidatePastMilestoneCount(queryParams.student_id);\n};\n\nconst MilestoneListContainer: FC<IMilestoneContainerProps> = memo(function MilestoneListContainer({\n studentName,\n studentId,\n studentClassroomId,\n ...restMilestoneListContainerProps\n}) {\n const {\n milestoneType,\n isStudentPresent,\n isClassOngoing,\n userType,\n canCreatePlan,\n teacherName,\n parentName,\n courseStream,\n activeMilestoneId,\n activeTabId,\n isTrialSession,\n onExpandPastMilestones,\n onAddOutcome,\n onChapterClick,\n onEdit,\n onCreateMilestoneTest,\n onDraftPublish,\n onAddChapter,\n onCreatePlan,\n onDelete,\n onAssignResources,\n onNodeAttempt,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n onNodeReset,\n onNodeUnassign,\n onTestPreview,\n onTestReview,\n onTestStart,\n onWidgetTabSelection,\n onNodeAssignAsHomework,\n onCardClick,\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 course_stream: courseStream,\n student_id: studentId,\n }) as const,\n [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 [EVENTS.SHEET_MARKED_AS_REVIEWED],\n ],\n callback: messages => {\n const milestoneResourceEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_RESOURCE_ASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_UNASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_RESET ||\n message.eventName === EVENTS.SHEET_MARKED_AS_REVIEWED,\n )?.eventPayload;\n const milestoneTestEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_TEST_ASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_RESET,\n )?.eventPayload;\n\n if (milestoneResourceEventPayload) {\n const { milestoneId: resourceMilestoneId } =\n (milestoneResourceEventPayload as { milestoneId: string }) || {};\n\n invalidateHomeworks(studentId);\n invalidateMilestoneResources(resourceMilestoneId);\n }\n\n if (milestoneTestEventPayload) {\n const { milestoneId } = milestoneTestEventPayload as { milestoneId: string };\n\n invalidateHomeworks(studentId);\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 onAssignResources={onAssignResources}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n onNodeAttempt={onNodeAttempt}\n onNodeView={onNodeView}\n onNodeReview={onNodeReview}\n onNodeReattempt={onNodeReattempt}\n onNodeReset={onNodeReset}\n onNodeUnassign={onNodeUnassign}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\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 isTrialSession={isTrialSession}\n onCardClick={onCardClick}\n />\n </Styled.ContentWrapper>\n );\n});\n\nexport default MilestoneListContainer;\n"],"names":["invalidateAllMilestones","queryParams","invalidateMilestonesData","invalidatePastMilestoneCount","MilestoneListContainer","memo","studentName","studentId","studentClassroomId","restMilestoneListContainerProps","milestoneType","isStudentPresent","isClassOngoing","userType","canCreatePlan","teacherName","parentName","courseStream","activeMilestoneId","activeTabId","isTrialSession","onExpandPastMilestones","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onDraftPublish","onAddChapter","onCreatePlan","onDelete","onAssignResources","onNodeAttempt","onNodeView","onNodeReview","onNodeReattempt","onNodeReset","onNodeUnassign","onTestPreview","onTestReview","onTestStart","onWidgetTabSelection","onNodeAssignAsHomework","onCardClick","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","invalidateHomeworks","invalidateMilestoneResources","milestoneId","invalidateTestHelpData","useEffect","jsx","MilestoneLoader","showFilters","jsxs","Styled.ContentWrapper","Styled.LoaderWrapper","ILLUSTRATIONS","Fragment","FilterMilestones","Separator","MilestoneList","titleCase","MilestoneListContainer$1"],"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 { titleCase } from 'humanize-plus';\nimport { memo, useCallback, useEffect, useMemo, useState, type FC } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport { EVENTS } from '../../communication/pub-sub/constants';\nimport { useInClassActionListener } from '../../communication/pub-sub/hooks';\nimport { invalidateHomeworks } from '../../homework/hw-card-list/api/get-homeworks';\nimport Separator from '../../ui/separator/separator';\nimport { invalidateMilestoneResources } from './api/get-milestone-resources';\nimport { useGetAllMilestonesdata, invalidateMilestonesData } from './api/get-milestones';\nimport { invalidatePastMilestoneCount } from './api/get-past-milestone-count';\nimport { invalidateTestHelpData } from './api/get-tests-list';\nimport FilterMilestones from './filter-milestones';\nimport type {\n IMilestoneContainerProps,\n IMilestoneListQueryParams,\n} from './milestone-list-container-types';\nimport MilestoneList from './milestone-list/milestone-list';\nimport type { IMilestoneData } from './milestone-list/milestone-list-types';\nimport MilestoneLoader from './milestone-list/milestone-loader/milestone-loader';\nimport * as Styled from './styled';\n\nconst invalidateAllMilestones = (queryParams: IMilestoneListQueryParams) => {\n invalidateMilestonesData(queryParams);\n invalidatePastMilestoneCount(queryParams.student_id);\n};\n\nconst MilestoneListContainer: FC<IMilestoneContainerProps> = memo(function MilestoneListContainer({\n studentName,\n studentId,\n studentClassroomId,\n ...restMilestoneListContainerProps\n}) {\n const {\n milestoneType,\n isStudentPresent,\n isClassOngoing,\n userType,\n canCreatePlan,\n teacherName,\n parentName,\n courseStream,\n activeMilestoneId,\n activeTabId,\n isTrialSession,\n state,\n onExpandPastMilestones,\n onAddOutcome,\n onChapterClick,\n onEdit,\n onCreateMilestoneTest,\n onDraftPublish,\n onAddChapter,\n onCreatePlan,\n onDelete,\n onAssignResources,\n onNodeAttempt,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n onNodeReset,\n onNodeUnassign,\n onTestPreview,\n onTestReview,\n onTestStart,\n onWidgetTabSelection,\n onNodeAssignAsHomework,\n onStateChange,\n onCardClick,\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 course_stream: courseStream,\n student_id: studentId,\n }) as const,\n [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 [EVENTS.SHEET_MARKED_AS_REVIEWED],\n ],\n callback: messages => {\n const milestoneResourceEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_RESOURCE_ASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_UNASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_RESET ||\n message.eventName === EVENTS.SHEET_MARKED_AS_REVIEWED,\n )?.eventPayload;\n const milestoneTestEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_TEST_ASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_RESET,\n )?.eventPayload;\n\n if (milestoneResourceEventPayload) {\n const { milestoneId: resourceMilestoneId } =\n (milestoneResourceEventPayload as { milestoneId: string }) || {};\n\n invalidateHomeworks(studentId);\n invalidateMilestoneResources(resourceMilestoneId);\n }\n\n if (milestoneTestEventPayload) {\n const { milestoneId } = milestoneTestEventPayload as { milestoneId: string };\n\n invalidateHomeworks(studentId);\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 onAssignResources={onAssignResources}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n onNodeAttempt={onNodeAttempt}\n onNodeView={onNodeView}\n onNodeReview={onNodeReview}\n onNodeReattempt={onNodeReattempt}\n onNodeReset={onNodeReset}\n onNodeUnassign={onNodeUnassign}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\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 isTrialSession={isTrialSession}\n state={state}\n onStateChange={onStateChange}\n onCardClick={onCardClick}\n />\n </Styled.ContentWrapper>\n );\n});\n\nexport default MilestoneListContainer;\n"],"names":["invalidateAllMilestones","queryParams","invalidateMilestonesData","invalidatePastMilestoneCount","MilestoneListContainer","memo","studentName","studentId","studentClassroomId","restMilestoneListContainerProps","milestoneType","isStudentPresent","isClassOngoing","userType","canCreatePlan","teacherName","parentName","courseStream","activeMilestoneId","activeTabId","isTrialSession","state","onExpandPastMilestones","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onDraftPublish","onAddChapter","onCreatePlan","onDelete","onAssignResources","onNodeAttempt","onNodeView","onNodeReview","onNodeReattempt","onNodeReset","onNodeUnassign","onTestPreview","onTestReview","onTestStart","onWidgetTabSelection","onNodeAssignAsHomework","onStateChange","onCardClick","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","invalidateHomeworks","invalidateMilestoneResources","milestoneId","invalidateTestHelpData","useEffect","jsx","MilestoneLoader","showFilters","jsxs","Styled.ContentWrapper","Styled.LoaderWrapper","ILLUSTRATIONS","Fragment","FilterMilestones","Separator","MilestoneList","titleCase","MilestoneListContainer$1"],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { memo as m, useEffect as l } from "react";
|
|
3
|
+
import { useMilestoneListSync as f } from "./hooks/use-milestone-list-sync.js";
|
|
4
|
+
import p from "./milestone-list-container.js";
|
|
5
|
+
const h = m(function(o) {
|
|
6
|
+
const { channelId: s, userType: e, ...i } = o, t = e === "TEACHER", { syncedState: r, setSyncState: c, closeChannel: n } = f({
|
|
7
|
+
channelId: s,
|
|
8
|
+
isTeacher: t
|
|
9
|
+
});
|
|
10
|
+
return l(() => () => {
|
|
11
|
+
n();
|
|
12
|
+
}, [n]), /* @__PURE__ */ a(
|
|
13
|
+
p,
|
|
14
|
+
{
|
|
15
|
+
...i,
|
|
16
|
+
userType: e,
|
|
17
|
+
state: t ? void 0 : r,
|
|
18
|
+
onStateChange: t ? c : void 0
|
|
19
|
+
}
|
|
20
|
+
);
|
|
21
|
+
});
|
|
22
|
+
export {
|
|
23
|
+
h as default
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=milestone-list-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"milestone-list-sync.js","sources":["../../../../src/features/milestone/milestone-list-container/milestone-list-sync.tsx"],"sourcesContent":["import { memo, useEffect, type FC } from 'react';\n\nimport type { TUserTypes } from '../../ui/types';\nimport { useMilestoneListSync } from './hooks/use-milestone-list-sync';\nimport MilestoneList from './milestone-list-container';\nimport type { IMilestoneContainerProps } from './milestone-list-container-types';\n\ninterface IMilestoneListSync extends Omit<IMilestoneContainerProps, 'state' | 'onStateChange'> {\n channelId: string;\n userType: TUserTypes;\n}\n\nconst MilestoneListSync: FC<IMilestoneListSync> = memo(function MilestoneListSync(props) {\n const { channelId, userType, ...milestoneListProps } = props;\n\n const isTeacher = userType === 'TEACHER';\n\n const { syncedState, setSyncState, closeChannel } = useMilestoneListSync({\n channelId,\n isTeacher,\n });\n\n useEffect(() => {\n return () => {\n closeChannel();\n };\n }, [closeChannel]);\n\n return (\n <MilestoneList\n {...milestoneListProps}\n userType={userType}\n state={isTeacher ? undefined : syncedState}\n onStateChange={isTeacher ? setSyncState : undefined}\n />\n );\n});\n\nexport default MilestoneListSync;\n"],"names":["MilestoneListSync","memo","props","channelId","userType","milestoneListProps","isTeacher","syncedState","setSyncState","closeChannel","useMilestoneListSync","useEffect","jsx","MilestoneList"],"mappings":";;;;AAYA,MAAMA,IAA4CC,EAAK,SAA2BC,GAAO;AACvF,QAAM,EAAE,WAAAC,GAAW,UAAAC,GAAU,GAAGC,MAAuBH,GAEjDI,IAAYF,MAAa,WAEzB,EAAE,aAAAG,GAAa,cAAAC,GAAc,cAAAC,EAAA,IAAiBC,EAAqB;AAAA,IACvE,WAAAP;AAAA,IACA,WAAAG;AAAA,EAAA,CACD;AAED,SAAAK,EAAU,MACD,MAAM;AACE,IAAAF;EAAA,GAEd,CAACA,CAAY,CAAC,GAGf,gBAAAG;AAAA,IAACC;AAAAA,IAAA;AAAA,MACE,GAAGR;AAAA,MACJ,UAAAD;AAAA,MACA,OAAOE,IAAY,SAAYC;AAAA,MAC/B,eAAeD,IAAYE,IAAe;AAAA,IAAA;AAAA,EAAA;AAGhD,CAAC;"}
|