@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
package/dist/features/milestone/milestone-resources/resources-assign/store/resource-assign-store.js
ADDED
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { create as p } from "zustand";
|
|
2
|
+
import { useShallow as l } from "../../../../../node_modules/zustand/esm/react/shallow.js";
|
|
3
|
+
const m = (e) => !!(e.board || e.grade || e.node_type), t = {
|
|
4
|
+
pageNumber: 1,
|
|
5
|
+
searchValue: "",
|
|
6
|
+
resourceItems: [],
|
|
7
|
+
selectedResourceItems: [],
|
|
8
|
+
resourceFilters: {
|
|
9
|
+
boards: [],
|
|
10
|
+
grades: [],
|
|
11
|
+
node_types: []
|
|
12
|
+
},
|
|
13
|
+
selectedTab: "resource-filters",
|
|
14
|
+
filterExpansion: {
|
|
15
|
+
curriculum: !0,
|
|
16
|
+
grade: !0,
|
|
17
|
+
type: !0
|
|
18
|
+
},
|
|
19
|
+
isFilterAdded: !1,
|
|
20
|
+
error: "",
|
|
21
|
+
totalPages: 0,
|
|
22
|
+
isResourceSearchProcessing: !1,
|
|
23
|
+
isResourceSearchFailed: !1
|
|
24
|
+
}, S = (e) => {
|
|
25
|
+
const { controlledState: s, stream: r, studentId: c, userMilestoneId: d, programId: u } = e, n = {
|
|
26
|
+
stream: r,
|
|
27
|
+
page: (s == null ? void 0 : s.pageNumber) ?? 1,
|
|
28
|
+
per_page: 50,
|
|
29
|
+
user_id: c,
|
|
30
|
+
user_milestone_id: d,
|
|
31
|
+
program_id: u
|
|
32
|
+
}, a = (s == null ? void 0 : s.searchQuery) ?? n;
|
|
33
|
+
return {
|
|
34
|
+
pageNumber: (s == null ? void 0 : s.pageNumber) ?? t.pageNumber,
|
|
35
|
+
searchValue: (s == null ? void 0 : s.searchValue) ?? t.searchValue,
|
|
36
|
+
searchQuery: a,
|
|
37
|
+
resourceItems: (s == null ? void 0 : s.resourceItems) ?? t.resourceItems,
|
|
38
|
+
selectedResourceItems: (s == null ? void 0 : s.selectedResourceItems) ?? t.selectedResourceItems,
|
|
39
|
+
resourceFilters: (s == null ? void 0 : s.resourceFilters) ?? t.resourceFilters,
|
|
40
|
+
selectedTab: (s == null ? void 0 : s.selectedTab) ?? t.selectedTab,
|
|
41
|
+
filterExpansion: (s == null ? void 0 : s.filterExpansion) ?? t.filterExpansion,
|
|
42
|
+
isFilterAdded: m(a),
|
|
43
|
+
error: t.error,
|
|
44
|
+
totalPages: t.totalPages,
|
|
45
|
+
isResourceSearchProcessing: t.isResourceSearchProcessing,
|
|
46
|
+
isResourceSearchFailed: t.isResourceSearchFailed
|
|
47
|
+
};
|
|
48
|
+
}, R = {
|
|
49
|
+
stream: "MATH",
|
|
50
|
+
page: 1,
|
|
51
|
+
per_page: 50,
|
|
52
|
+
user_id: ""
|
|
53
|
+
}, o = p((e) => ({
|
|
54
|
+
// Initial empty state
|
|
55
|
+
...t,
|
|
56
|
+
searchQuery: R,
|
|
57
|
+
// Actions
|
|
58
|
+
initialize: (s) => {
|
|
59
|
+
const r = S(s);
|
|
60
|
+
e(r);
|
|
61
|
+
},
|
|
62
|
+
setPageNumber: (s) => {
|
|
63
|
+
e({ pageNumber: s });
|
|
64
|
+
},
|
|
65
|
+
setSearchValue: (s) => {
|
|
66
|
+
e({ searchValue: s });
|
|
67
|
+
},
|
|
68
|
+
updateSearchQuery: (s) => {
|
|
69
|
+
e((r) => {
|
|
70
|
+
const c = { ...r.searchQuery, ...s };
|
|
71
|
+
return {
|
|
72
|
+
searchQuery: c,
|
|
73
|
+
isFilterAdded: m(c)
|
|
74
|
+
};
|
|
75
|
+
});
|
|
76
|
+
},
|
|
77
|
+
setResourceItems: (s) => {
|
|
78
|
+
e({ resourceItems: s });
|
|
79
|
+
},
|
|
80
|
+
appendResourceItems: (s) => {
|
|
81
|
+
e((r) => {
|
|
82
|
+
const c = [...r.resourceItems, ...s];
|
|
83
|
+
return { resourceItems: Array.from(new Map(c.map((u) => [u.id, u])).values()) };
|
|
84
|
+
});
|
|
85
|
+
},
|
|
86
|
+
addSelectedResource: (s) => {
|
|
87
|
+
e((r) => ({
|
|
88
|
+
selectedResourceItems: [...r.selectedResourceItems, s]
|
|
89
|
+
}));
|
|
90
|
+
},
|
|
91
|
+
removeSelectedResource: (s) => {
|
|
92
|
+
e((r) => ({
|
|
93
|
+
selectedResourceItems: r.selectedResourceItems.filter((c) => c.node_id !== s)
|
|
94
|
+
}));
|
|
95
|
+
},
|
|
96
|
+
setResourceFilters: (s) => {
|
|
97
|
+
e({ resourceFilters: s });
|
|
98
|
+
},
|
|
99
|
+
setSelectedTab: (s) => {
|
|
100
|
+
e({ selectedTab: s });
|
|
101
|
+
},
|
|
102
|
+
setFilterExpansion: (s, r) => {
|
|
103
|
+
e((c) => ({
|
|
104
|
+
filterExpansion: {
|
|
105
|
+
...c.filterExpansion,
|
|
106
|
+
[s]: r
|
|
107
|
+
}
|
|
108
|
+
}));
|
|
109
|
+
},
|
|
110
|
+
setError: (s) => {
|
|
111
|
+
e({ error: s });
|
|
112
|
+
},
|
|
113
|
+
setTotalPages: (s) => {
|
|
114
|
+
e({ totalPages: s });
|
|
115
|
+
},
|
|
116
|
+
setIsResourceSearchProcessing: (s) => {
|
|
117
|
+
e({ isResourceSearchProcessing: s });
|
|
118
|
+
},
|
|
119
|
+
setIsResourceSearchFailed: (s) => {
|
|
120
|
+
e({ isResourceSearchFailed: s });
|
|
121
|
+
},
|
|
122
|
+
resetState: (s) => {
|
|
123
|
+
e((r) => ({
|
|
124
|
+
...r,
|
|
125
|
+
...s
|
|
126
|
+
}));
|
|
127
|
+
},
|
|
128
|
+
syncState: (s) => {
|
|
129
|
+
e((r) => {
|
|
130
|
+
const c = Object.entries(s).reduce(
|
|
131
|
+
(n, [a, i]) => (i !== void 0 && (n[a] = i), n),
|
|
132
|
+
{}
|
|
133
|
+
);
|
|
134
|
+
if (!Object.keys(c).some((n) => {
|
|
135
|
+
const a = n, i = c[a], h = r[a];
|
|
136
|
+
return i === h ? !1 : typeof i == "object" && i !== null ? JSON.stringify(i) !== JSON.stringify(h) : !0;
|
|
137
|
+
})) return r;
|
|
138
|
+
const u = { ...r, ...c };
|
|
139
|
+
return c.searchQuery && (u.isFilterAdded = m(u.searchQuery)), u;
|
|
140
|
+
});
|
|
141
|
+
},
|
|
142
|
+
reset: () => {
|
|
143
|
+
e({
|
|
144
|
+
...t,
|
|
145
|
+
searchQuery: R
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
})), g = (e) => e.resourceItems, I = (e) => e.selectedResourceItems, F = (e) => ({
|
|
149
|
+
searchValue: e.searchValue,
|
|
150
|
+
searchQuery: e.searchQuery,
|
|
151
|
+
isFilterAdded: e.isFilterAdded
|
|
152
|
+
}), f = (e) => ({
|
|
153
|
+
resourceFilters: e.resourceFilters,
|
|
154
|
+
selectedTab: e.selectedTab,
|
|
155
|
+
filterExpansion: e.filterExpansion
|
|
156
|
+
}), y = (e) => e.pageNumber, b = (e) => ({
|
|
157
|
+
error: e.error,
|
|
158
|
+
totalPages: e.totalPages,
|
|
159
|
+
isResourceSearchProcessing: e.isResourceSearchProcessing,
|
|
160
|
+
isResourceSearchFailed: e.isResourceSearchFailed
|
|
161
|
+
}), P = (e) => ({
|
|
162
|
+
initialize: e.initialize,
|
|
163
|
+
setPageNumber: e.setPageNumber,
|
|
164
|
+
setSearchValue: e.setSearchValue,
|
|
165
|
+
updateSearchQuery: e.updateSearchQuery,
|
|
166
|
+
setResourceItems: e.setResourceItems,
|
|
167
|
+
appendResourceItems: e.appendResourceItems,
|
|
168
|
+
addSelectedResource: e.addSelectedResource,
|
|
169
|
+
removeSelectedResource: e.removeSelectedResource,
|
|
170
|
+
setResourceFilters: e.setResourceFilters,
|
|
171
|
+
setSelectedTab: e.setSelectedTab,
|
|
172
|
+
setFilterExpansion: e.setFilterExpansion,
|
|
173
|
+
setError: e.setError,
|
|
174
|
+
setTotalPages: e.setTotalPages,
|
|
175
|
+
setIsResourceSearchProcessing: e.setIsResourceSearchProcessing,
|
|
176
|
+
setIsResourceSearchFailed: e.setIsResourceSearchFailed,
|
|
177
|
+
resetState: e.resetState,
|
|
178
|
+
syncState: e.syncState,
|
|
179
|
+
reset: e.reset
|
|
180
|
+
}), T = () => o(l(P)), Q = () => o(g), _ = () => o(I), x = () => o(l(F)), N = () => o(l(f)), V = () => o(y), v = () => o(l(b));
|
|
181
|
+
export {
|
|
182
|
+
P as selectActions,
|
|
183
|
+
b as selectApiState,
|
|
184
|
+
f as selectFilterState,
|
|
185
|
+
y as selectPagination,
|
|
186
|
+
g as selectResourceItems,
|
|
187
|
+
F as selectSearchState,
|
|
188
|
+
I as selectSelectedResources,
|
|
189
|
+
v as useApiState,
|
|
190
|
+
N as useFilterState,
|
|
191
|
+
V as usePagination,
|
|
192
|
+
T as useResourceAssignActions,
|
|
193
|
+
o as useResourceAssignStore,
|
|
194
|
+
Q as useResourceItems,
|
|
195
|
+
x as useSearchState,
|
|
196
|
+
_ as useSelectedResources
|
|
197
|
+
};
|
|
198
|
+
//# sourceMappingURL=resource-assign-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-assign-store.js","sources":["../../../../../../src/features/milestone/milestone-resources/resources-assign/store/resource-assign-store.ts"],"sourcesContent":["import { create } from 'zustand';\nimport { useShallow } from 'zustand/react/shallow';\n\nimport type { TCourseStream } from '../../../create/milestone-create-types';\nimport type { IExtraPracticeQuery } from '../api/get-resource';\nimport type {\n IEPResourceState,\n IResourceData,\n IResourceItemData,\n TFilterType,\n TResourceTab,\n} from '../resources-assign-type';\n\ninterface IResourceAssignStoreState extends IEPResourceState {\n // Computed/derived state\n isFilterAdded: boolean;\n // API state\n error: string;\n totalPages: number;\n isResourceSearchProcessing: boolean;\n isResourceSearchFailed: boolean;\n}\n\ninterface IResourceAssignStoreActions {\n initialize: (params: {\n controlledState?: Partial<IEPResourceState>;\n stream: TCourseStream;\n studentId: string;\n userMilestoneId?: string;\n programId?: string;\n }) => void;\n\n setPageNumber: (pageNumber: number) => void;\n\n setSearchValue: (searchValue: string) => void;\n updateSearchQuery: (query: Partial<IExtraPracticeQuery>) => void;\n\n setResourceItems: (items: IResourceItemData[]) => void;\n appendResourceItems: (items: IResourceItemData[]) => void;\n\n addSelectedResource: (resource: IResourceItemData) => void;\n removeSelectedResource: (nodeId: string) => void;\n\n setResourceFilters: (filters: IResourceData['filters']) => void;\n\n setSelectedTab: (tab: TResourceTab) => void;\n\n setFilterExpansion: (filterType: TFilterType, expanded: boolean) => void;\n\n setError: (error: string) => void;\n setTotalPages: (totalPages: number) => void;\n setIsResourceSearchProcessing: (isProcessing: boolean) => void;\n setIsResourceSearchFailed: (isFailed: boolean) => void;\n\n resetState: (partialState: Partial<IEPResourceState>) => void;\n syncState: (partialState: Partial<IEPResourceState>) => void;\n reset: () => void;\n}\n\nexport type TResourceAssignStore = IResourceAssignStoreState & IResourceAssignStoreActions;\n\nconst checkIfFiltersAreAdded = (query: IExtraPracticeQuery): boolean => {\n return !!(query.board || query.grade || query.node_type);\n};\n\nconst DEFAULT_STATE: Omit<IResourceAssignStoreState, 'searchQuery'> = {\n pageNumber: 1,\n searchValue: '',\n resourceItems: [],\n selectedResourceItems: [],\n resourceFilters: {\n boards: [],\n grades: [],\n node_types: [],\n },\n selectedTab: 'resource-filters',\n filterExpansion: {\n curriculum: true,\n grade: true,\n type: true,\n },\n isFilterAdded: false,\n error: '',\n totalPages: 0,\n isResourceSearchProcessing: false,\n isResourceSearchFailed: false,\n};\n\nconst createInitialState = (params: {\n controlledState?: Partial<IEPResourceState>;\n stream: TCourseStream;\n studentId: string;\n userMilestoneId?: string;\n programId?: string;\n}): IResourceAssignStoreState => {\n const { controlledState, stream, studentId, userMilestoneId, programId } = params;\n\n const defaultSearchQuery: IExtraPracticeQuery = {\n stream,\n page: controlledState?.pageNumber ?? 1,\n per_page: 50,\n user_id: studentId,\n user_milestone_id: userMilestoneId,\n program_id: programId,\n };\n\n const searchQuery = controlledState?.searchQuery ?? defaultSearchQuery;\n\n return {\n pageNumber: controlledState?.pageNumber ?? DEFAULT_STATE.pageNumber,\n searchValue: controlledState?.searchValue ?? DEFAULT_STATE.searchValue,\n searchQuery,\n resourceItems: controlledState?.resourceItems ?? DEFAULT_STATE.resourceItems,\n selectedResourceItems:\n controlledState?.selectedResourceItems ?? DEFAULT_STATE.selectedResourceItems,\n resourceFilters: controlledState?.resourceFilters ?? DEFAULT_STATE.resourceFilters,\n selectedTab: controlledState?.selectedTab ?? DEFAULT_STATE.selectedTab,\n filterExpansion: controlledState?.filterExpansion ?? DEFAULT_STATE.filterExpansion,\n isFilterAdded: checkIfFiltersAreAdded(searchQuery),\n error: DEFAULT_STATE.error,\n totalPages: DEFAULT_STATE.totalPages,\n isResourceSearchProcessing: DEFAULT_STATE.isResourceSearchProcessing,\n isResourceSearchFailed: DEFAULT_STATE.isResourceSearchFailed,\n };\n};\n\nconst INITIAL_SEARCH_QUERY: IExtraPracticeQuery = {\n stream: 'MATH',\n page: 1,\n per_page: 50,\n user_id: '',\n};\n\nexport const useResourceAssignStore = create<TResourceAssignStore>(set => ({\n // Initial empty state\n ...DEFAULT_STATE,\n searchQuery: INITIAL_SEARCH_QUERY,\n\n // Actions\n initialize: params => {\n const initialState = createInitialState(params);\n\n set(initialState);\n },\n\n setPageNumber: pageNumber => {\n set({ pageNumber });\n },\n\n setSearchValue: searchValue => {\n set({ searchValue });\n },\n\n updateSearchQuery: query => {\n set(state => {\n const newSearchQuery = { ...state.searchQuery, ...query };\n\n return {\n searchQuery: newSearchQuery,\n isFilterAdded: checkIfFiltersAreAdded(newSearchQuery),\n };\n });\n },\n\n setResourceItems: items => {\n set({ resourceItems: items });\n },\n\n appendResourceItems: items => {\n set(state => {\n const combined = [...state.resourceItems, ...items];\n const uniqueItems = Array.from(new Map(combined.map(item => [item.id, item])).values());\n\n return { resourceItems: uniqueItems };\n });\n },\n\n addSelectedResource: resource => {\n set(state => ({\n selectedResourceItems: [...state.selectedResourceItems, resource],\n }));\n },\n\n removeSelectedResource: nodeId => {\n set(state => ({\n selectedResourceItems: state.selectedResourceItems.filter(item => item.node_id !== nodeId),\n }));\n },\n\n setResourceFilters: filters => {\n set({ resourceFilters: filters });\n },\n\n setSelectedTab: tab => {\n set({ selectedTab: tab });\n },\n\n setFilterExpansion: (filterType, expanded) => {\n set(state => ({\n filterExpansion: {\n ...state.filterExpansion,\n [filterType]: expanded,\n },\n }));\n },\n\n setError: error => {\n set({ error });\n },\n\n setTotalPages: totalPages => {\n set({ totalPages });\n },\n\n setIsResourceSearchProcessing: isProcessing => {\n set({ isResourceSearchProcessing: isProcessing });\n },\n\n setIsResourceSearchFailed: isFailed => {\n set({ isResourceSearchFailed: isFailed });\n },\n\n resetState: partialState => {\n set(state => ({\n ...state,\n ...partialState,\n }));\n },\n\n syncState: partialState => {\n set(state => {\n const definedState = Object.entries(partialState).reduce<Record<string, unknown>>(\n (acc, [key, value]) => {\n if (value !== undefined) {\n acc[key] = value;\n }\n\n return acc;\n },\n {},\n ) as Partial<IEPResourceState>;\n\n const hasChanges = Object.keys(definedState).some(key => {\n const stateKey = key as keyof IEPResourceState;\n const payloadValue = definedState[stateKey];\n const stateValue = state[stateKey];\n\n if (payloadValue === stateValue) {\n return false;\n }\n\n if (typeof payloadValue === 'object' && payloadValue !== null) {\n return JSON.stringify(payloadValue) !== JSON.stringify(stateValue);\n }\n\n return true;\n });\n\n if (!hasChanges) return state;\n\n const newState = { ...state, ...definedState };\n\n if (definedState.searchQuery) {\n newState.isFilterAdded = checkIfFiltersAreAdded(newState.searchQuery);\n }\n\n return newState;\n });\n },\n\n reset: () => {\n set({\n ...DEFAULT_STATE,\n searchQuery: INITIAL_SEARCH_QUERY,\n });\n },\n}));\n\nexport const selectResourceItems = (state: TResourceAssignStore) => state.resourceItems;\nexport const selectSelectedResources = (state: TResourceAssignStore) => state.selectedResourceItems;\nexport const selectSearchState = (state: TResourceAssignStore) => ({\n searchValue: state.searchValue,\n searchQuery: state.searchQuery,\n isFilterAdded: state.isFilterAdded,\n});\nexport const selectFilterState = (state: TResourceAssignStore) => ({\n resourceFilters: state.resourceFilters,\n selectedTab: state.selectedTab,\n filterExpansion: state.filterExpansion,\n});\nexport const selectPagination = (state: TResourceAssignStore) => state.pageNumber;\nexport const selectApiState = (state: TResourceAssignStore) => ({\n error: state.error,\n totalPages: state.totalPages,\n isResourceSearchProcessing: state.isResourceSearchProcessing,\n isResourceSearchFailed: state.isResourceSearchFailed,\n});\n\nexport const selectActions = (state: TResourceAssignStore) => ({\n initialize: state.initialize,\n setPageNumber: state.setPageNumber,\n setSearchValue: state.setSearchValue,\n updateSearchQuery: state.updateSearchQuery,\n setResourceItems: state.setResourceItems,\n appendResourceItems: state.appendResourceItems,\n addSelectedResource: state.addSelectedResource,\n removeSelectedResource: state.removeSelectedResource,\n setResourceFilters: state.setResourceFilters,\n setSelectedTab: state.setSelectedTab,\n setFilterExpansion: state.setFilterExpansion,\n setError: state.setError,\n setTotalPages: state.setTotalPages,\n setIsResourceSearchProcessing: state.setIsResourceSearchProcessing,\n setIsResourceSearchFailed: state.setIsResourceSearchFailed,\n resetState: state.resetState,\n syncState: state.syncState,\n reset: state.reset,\n});\n\nexport const useResourceAssignActions = () => useResourceAssignStore(useShallow(selectActions));\n\nexport const useResourceItems = () => useResourceAssignStore(selectResourceItems);\n\nexport const useSelectedResources = () => useResourceAssignStore(selectSelectedResources);\n\nexport const useSearchState = () => useResourceAssignStore(useShallow(selectSearchState));\n\nexport const useFilterState = () => useResourceAssignStore(useShallow(selectFilterState));\n\nexport const usePagination = () => useResourceAssignStore(selectPagination);\n\nexport const useApiState = () => useResourceAssignStore(useShallow(selectApiState));\n"],"names":["checkIfFiltersAreAdded","query","DEFAULT_STATE","createInitialState","params","controlledState","stream","studentId","userMilestoneId","programId","defaultSearchQuery","searchQuery","INITIAL_SEARCH_QUERY","useResourceAssignStore","create","set","initialState","pageNumber","searchValue","state","newSearchQuery","items","combined","item","resource","nodeId","filters","tab","filterType","expanded","error","totalPages","isProcessing","isFailed","partialState","definedState","acc","key","value","stateKey","payloadValue","stateValue","newState","selectResourceItems","selectSelectedResources","selectSearchState","selectFilterState","selectPagination","selectApiState","selectActions","useResourceAssignActions","useShallow","useResourceItems","useSelectedResources","useSearchState","useFilterState","usePagination","useApiState"],"mappings":"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"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { jsx as e, jsxs as l, Fragment as
|
|
2
|
-
import { memo as
|
|
3
|
-
import { IMAGES as
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import { useGetMilestoneResources as
|
|
14
|
-
import { MilestoneResourcesWrapper as m, SearchButtonWrapper as
|
|
15
|
-
const
|
|
16
|
-
function(
|
|
1
|
+
import { jsx as e, jsxs as l, Fragment as D } from "react/jsx-runtime";
|
|
2
|
+
import { memo as H, useCallback as d, useEffect as v } from "react";
|
|
3
|
+
import { IMAGES as G } from "../../../../assets/images/images.js";
|
|
4
|
+
import O from "../../../../assets/line-icons/icons/plus.js";
|
|
5
|
+
import X from "../../../../assets/line-icons/icons/search.js";
|
|
6
|
+
import q from "../../../sheet-v2/resource-list/resource-list.js";
|
|
7
|
+
import z from "../../../ui/arrow-tooltip/arrow-tooltip.js";
|
|
8
|
+
import b from "../../../ui/buttons/button/button.js";
|
|
9
|
+
import F from "../../../ui/buttons/icon-button/icon-button.js";
|
|
10
|
+
import C from "../../../ui/layout/flex-view.js";
|
|
11
|
+
import L from "../../../ui/loader/app-loader/app-loader.js";
|
|
12
|
+
import E from "../../../ui/text/text.js";
|
|
13
|
+
import { useGetMilestoneResources as U } from "../../milestone-list-container/api/get-milestone-resources.js";
|
|
14
|
+
import { MilestoneResourcesWrapper as m, SearchButtonWrapper as V, SearchButtonCover as _, DefaultWrapper as M } from "./resources-list-styled.js";
|
|
15
|
+
const de = H(
|
|
16
|
+
function(T) {
|
|
17
17
|
const {
|
|
18
18
|
isDraftMilestone: u,
|
|
19
19
|
isMilestoneActive: t,
|
|
@@ -21,47 +21,48 @@ const le = D(
|
|
|
21
21
|
studentId: o,
|
|
22
22
|
userMilestoneId: r,
|
|
23
23
|
canUpdatePlan: h,
|
|
24
|
+
isTrialSession: f,
|
|
24
25
|
onAssignResources: s,
|
|
25
|
-
onNodeAttempt:
|
|
26
|
+
onNodeAttempt: S,
|
|
26
27
|
onNodeView: P,
|
|
27
|
-
onNodeReview:
|
|
28
|
-
onNodeReset:
|
|
29
|
-
onNodeUnassign:
|
|
30
|
-
onNodeReattempt:
|
|
31
|
-
onNodeAssignAsHomework:
|
|
32
|
-
} =
|
|
33
|
-
get:
|
|
28
|
+
onNodeReview: W,
|
|
29
|
+
onNodeReset: x,
|
|
30
|
+
onNodeUnassign: j,
|
|
31
|
+
onNodeReattempt: k,
|
|
32
|
+
onNodeAssignAsHomework: N
|
|
33
|
+
} = T, g = p === "TEACHER", $ = f ? !1 : !h || !t || t && u, {
|
|
34
|
+
get: A,
|
|
34
35
|
isProcessed: n,
|
|
35
|
-
isProcessing:
|
|
36
|
+
isProcessing: R,
|
|
36
37
|
isProcessingFailed: i,
|
|
37
|
-
isStale:
|
|
38
|
+
isStale: w,
|
|
38
39
|
data: a
|
|
39
|
-
} =
|
|
40
|
-
r &&
|
|
40
|
+
} = U(), y = d(() => {
|
|
41
|
+
r && A(r, void 0, {
|
|
41
42
|
studentId: o
|
|
42
43
|
});
|
|
43
|
-
}, [o, r,
|
|
44
|
-
|
|
45
|
-
}, [
|
|
46
|
-
|
|
47
|
-
!
|
|
48
|
-
}, [c, n,
|
|
49
|
-
const
|
|
44
|
+
}, [o, r, A]), c = d(() => {
|
|
45
|
+
y();
|
|
46
|
+
}, [y]);
|
|
47
|
+
v(() => {
|
|
48
|
+
!R && (!n && !i || w) && c();
|
|
49
|
+
}, [c, n, R, i, w]);
|
|
50
|
+
const I = d(() => {
|
|
50
51
|
if (typeof s != "function")
|
|
51
52
|
throw new Error("onAssignResources must be a function");
|
|
52
53
|
if (!r) throw new Error("userMilestoneId is required");
|
|
53
54
|
s(r);
|
|
54
|
-
}, [s, r]),
|
|
55
|
+
}, [s, r]), B = a && a.length > 0;
|
|
55
56
|
return i ? /* @__PURE__ */ e(
|
|
56
57
|
m,
|
|
57
58
|
{
|
|
58
59
|
$alignItems: "center",
|
|
59
60
|
$justifyContent: "center",
|
|
60
61
|
$background: "WHITE",
|
|
61
|
-
children: /* @__PURE__ */ l(
|
|
62
|
-
/* @__PURE__ */ e(
|
|
62
|
+
children: /* @__PURE__ */ l(C, { $flexGapX: 1.5, $alignItems: "center", $justifyContent: "center", children: [
|
|
63
|
+
/* @__PURE__ */ e(E, { $renderAs: "h6", children: "Oops! Something went wrong. Please try again later." }),
|
|
63
64
|
/* @__PURE__ */ e(
|
|
64
|
-
|
|
65
|
+
b,
|
|
65
66
|
{
|
|
66
67
|
widthX: 14,
|
|
67
68
|
size: "small",
|
|
@@ -73,45 +74,46 @@ const le = D(
|
|
|
73
74
|
)
|
|
74
75
|
] })
|
|
75
76
|
}
|
|
76
|
-
) : n ? /* @__PURE__ */ e(m, { $justifyContent: "space-between", children:
|
|
77
|
+
) : n ? /* @__PURE__ */ e(m, { $justifyContent: "space-between", children: B ? /* @__PURE__ */ l(D, { children: [
|
|
77
78
|
/* @__PURE__ */ e(
|
|
78
|
-
|
|
79
|
+
q,
|
|
79
80
|
{
|
|
80
81
|
sheets: a,
|
|
81
82
|
userType: p,
|
|
82
|
-
onNodeAttempt:
|
|
83
|
+
onNodeAttempt: S,
|
|
83
84
|
onNodeView: P,
|
|
84
|
-
onNodeReview:
|
|
85
|
-
onNodeReattempt:
|
|
86
|
-
onNodeReset:
|
|
87
|
-
onNodeUnassign:
|
|
88
|
-
onNodeAssignAsHomework:
|
|
85
|
+
onNodeReview: W,
|
|
86
|
+
onNodeReattempt: k,
|
|
87
|
+
onNodeReset: x,
|
|
88
|
+
onNodeUnassign: j,
|
|
89
|
+
onNodeAssignAsHomework: N,
|
|
89
90
|
studentId: o,
|
|
90
|
-
userMilestoneId: r
|
|
91
|
+
userMilestoneId: r,
|
|
92
|
+
isTrialSession: f
|
|
91
93
|
}
|
|
92
94
|
),
|
|
93
|
-
|
|
94
|
-
|
|
95
|
+
g && h && /* @__PURE__ */ e(
|
|
96
|
+
V,
|
|
95
97
|
{
|
|
96
98
|
$flexDirection: "row",
|
|
97
99
|
$justifyContent: "flex-end",
|
|
98
100
|
$gapX: 1,
|
|
99
101
|
$gutterX: 1,
|
|
100
|
-
children: /* @__PURE__ */ e(
|
|
101
|
-
|
|
102
|
+
children: /* @__PURE__ */ e(_, { children: /* @__PURE__ */ e(
|
|
103
|
+
F,
|
|
102
104
|
{
|
|
103
|
-
Icon:
|
|
105
|
+
Icon: X,
|
|
104
106
|
renderAs: "secondary",
|
|
105
107
|
size: "small",
|
|
106
108
|
analyticsLabel: "Milestone Resource Search",
|
|
107
|
-
onClick:
|
|
109
|
+
onClick: I,
|
|
108
110
|
disabled: !t
|
|
109
111
|
}
|
|
110
112
|
) })
|
|
111
113
|
}
|
|
112
114
|
)
|
|
113
115
|
] }) : /* @__PURE__ */ l(
|
|
114
|
-
|
|
116
|
+
C,
|
|
115
117
|
{
|
|
116
118
|
$width: "100%",
|
|
117
119
|
$height: "100%",
|
|
@@ -119,42 +121,42 @@ const le = D(
|
|
|
119
121
|
$justifyContent: "flex-start",
|
|
120
122
|
$background: "WHITE",
|
|
121
123
|
children: [
|
|
122
|
-
/* @__PURE__ */ e(
|
|
124
|
+
/* @__PURE__ */ e(M, { $isImageWrapper: !0, children: /* @__PURE__ */ e(
|
|
123
125
|
"img",
|
|
124
126
|
{
|
|
125
|
-
src:
|
|
127
|
+
src: G.BG_EMPTY_RESOURCES,
|
|
126
128
|
alt: "Empty resources",
|
|
127
129
|
width: 420,
|
|
128
130
|
height: 420
|
|
129
131
|
}
|
|
130
132
|
) }),
|
|
131
|
-
/* @__PURE__ */ e(
|
|
132
|
-
|
|
133
|
+
/* @__PURE__ */ e(M, { children: g ? /* @__PURE__ */ e(
|
|
134
|
+
z,
|
|
133
135
|
{
|
|
134
136
|
renderAs: "primary",
|
|
135
137
|
position: "bottom",
|
|
136
|
-
hidden:
|
|
138
|
+
hidden: !$,
|
|
137
139
|
tooltipItem: u ? "Allowed after plan is published" : "Plan is completed",
|
|
138
140
|
children: /* @__PURE__ */ e(
|
|
139
|
-
|
|
141
|
+
b,
|
|
140
142
|
{
|
|
141
143
|
renderAs: "primary",
|
|
142
144
|
label: "Assign Resource",
|
|
143
|
-
Icon:
|
|
145
|
+
Icon: O,
|
|
144
146
|
shape: "square",
|
|
145
147
|
size: "small",
|
|
146
|
-
onClick:
|
|
147
|
-
disabled:
|
|
148
|
+
onClick: I,
|
|
149
|
+
disabled: $
|
|
148
150
|
}
|
|
149
151
|
)
|
|
150
152
|
}
|
|
151
|
-
) : /* @__PURE__ */ e(
|
|
153
|
+
) : /* @__PURE__ */ e(E, { $renderAs: "ab2-bold", children: "Wait for the teacher to assign a resource" }) })
|
|
152
154
|
]
|
|
153
155
|
}
|
|
154
|
-
) }) : /* @__PURE__ */ e(m, { $justifyContent: "center", $background: "WHITE", children: /* @__PURE__ */ e(
|
|
156
|
+
) }) : /* @__PURE__ */ e(m, { $justifyContent: "center", $background: "WHITE", children: /* @__PURE__ */ e(L, { height: "100%" }) });
|
|
155
157
|
}
|
|
156
158
|
);
|
|
157
159
|
export {
|
|
158
|
-
|
|
160
|
+
de as default
|
|
159
161
|
};
|
|
160
162
|
//# sourceMappingURL=resources-list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources-list.js","sources":["../../../../../src/features/milestone/milestone-resources/resources-list/resources-list.tsx"],"sourcesContent":["import { type FC, 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 '../../../sheet-v2/resource-list/resource-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';\nimport type { IMilestoneWidgetResourcesProps } from './resources-list-types';\n\nconst MilestoneWidgetResources: FC<IMilestoneWidgetResourcesProps> = memo(\n function MilestoneWidgetResources(props) {\n const {\n isDraftMilestone,\n isMilestoneActive,\n userType,\n studentId,\n userMilestoneId,\n canUpdatePlan,\n onAssignResources,\n onNodeAttempt,\n onNodeView,\n onNodeReview,\n onNodeReset,\n onNodeUnassign,\n onNodeReattempt,\n onNodeAssignAsHomework,\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 sheetsDataPresent = sheets && sheets.length > 0;\n\n if (isProcessingFailed) {\n return (\n <Styled.MilestoneResourcesWrapper\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"WHITE\"\n >\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 {sheetsDataPresent ? (\n <>\n <ResourcesList\n sheets={sheets}\n userType={userType}\n onNodeAttempt={onNodeAttempt}\n onNodeView={onNodeView}\n onNodeReview={onNodeReview}\n onNodeReattempt={onNodeReattempt}\n onNodeReset={onNodeReset}\n onNodeUnassign={onNodeUnassign}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\n studentId={studentId}\n userMilestoneId={userMilestoneId}\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\n $width=\"100%\"\n $height=\"100%\"\n $alignItems=\"center\"\n $justifyContent=\"flex-start\"\n $background=\"WHITE\"\n >\n <Styled.DefaultWrapper $isImageWrapper>\n <img\n src={IMAGES.BG_EMPTY_RESOURCES}\n alt=\"Empty resources\"\n width={420}\n height={420}\n />\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\" $background=\"WHITE\">\n <AppLoader height=\"100%\" />\n </Styled.MilestoneResourcesWrapper>\n );\n },\n);\n\nexport default MilestoneWidgetResources;\n"],"names":["MilestoneWidgetResources","memo","props","isDraftMilestone","isMilestoneActive","userType","studentId","userMilestoneId","canUpdatePlan","onAssignResources","onNodeAttempt","onNodeView","onNodeReview","onNodeReset","onNodeUnassign","onNodeReattempt","onNodeAssignAsHomework","isTeacher","isEPSheetCreationDisabled","getMilestoneResources","isProcessed","isProcessing","isProcessingFailed","isStale","sheets","useGetMilestoneResources","fetchMilestoneResources","useCallback","handleOnTryAgain","useEffect","handleOnAssignResources","sheetsDataPresent","jsx","Styled.MilestoneResourcesWrapper","FlexView","Text","Button","jsxs","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 FC, 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 '../../../sheet-v2/resource-list/resource-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';\nimport type { IMilestoneWidgetResourcesProps } from './resources-list-types';\n\nconst MilestoneWidgetResources: FC<IMilestoneWidgetResourcesProps> = memo(\n function MilestoneWidgetResources(props) {\n const {\n isDraftMilestone,\n isMilestoneActive,\n userType,\n studentId,\n userMilestoneId,\n canUpdatePlan,\n isTrialSession,\n onAssignResources,\n onNodeAttempt,\n onNodeView,\n onNodeReview,\n onNodeReset,\n onNodeUnassign,\n onNodeReattempt,\n onNodeAssignAsHomework,\n } = props;\n\n const isTeacher = userType === 'TEACHER';\n const isEPSheetCreationDisabled = isTrialSession\n ? false\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 sheetsDataPresent = sheets && sheets.length > 0;\n\n if (isProcessingFailed) {\n return (\n <Styled.MilestoneResourcesWrapper\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"WHITE\"\n >\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 {sheetsDataPresent ? (\n <>\n <ResourcesList\n sheets={sheets}\n userType={userType}\n onNodeAttempt={onNodeAttempt}\n onNodeView={onNodeView}\n onNodeReview={onNodeReview}\n onNodeReattempt={onNodeReattempt}\n onNodeReset={onNodeReset}\n onNodeUnassign={onNodeUnassign}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\n studentId={studentId}\n userMilestoneId={userMilestoneId}\n isTrialSession={isTrialSession}\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\n $width=\"100%\"\n $height=\"100%\"\n $alignItems=\"center\"\n $justifyContent=\"flex-start\"\n $background=\"WHITE\"\n >\n <Styled.DefaultWrapper $isImageWrapper>\n <img\n src={IMAGES.BG_EMPTY_RESOURCES}\n alt=\"Empty resources\"\n width={420}\n height={420}\n />\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\" $background=\"WHITE\">\n <AppLoader height=\"100%\" />\n </Styled.MilestoneResourcesWrapper>\n );\n },\n);\n\nexport default MilestoneWidgetResources;\n"],"names":["MilestoneWidgetResources","memo","props","isDraftMilestone","isMilestoneActive","userType","studentId","userMilestoneId","canUpdatePlan","isTrialSession","onAssignResources","onNodeAttempt","onNodeView","onNodeReview","onNodeReset","onNodeUnassign","onNodeReattempt","onNodeAssignAsHomework","isTeacher","isEPSheetCreationDisabled","getMilestoneResources","isProcessed","isProcessing","isProcessingFailed","isStale","sheets","useGetMilestoneResources","fetchMilestoneResources","useCallback","handleOnTryAgain","useEffect","handleOnAssignResources","sheetsDataPresent","jsx","Styled.MilestoneResourcesWrapper","FlexView","Text","Button","jsxs","Fragment","ResourcesList","Styled.SearchButtonWrapper","Styled.SearchButtonCover","IconButton","SearchIcon","Styled.DefaultWrapper","IMAGES","ArrowTooltip","PlusIcon","AppLoader"],"mappings":"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"}
|