@cuemath/leap 3.0.26-gs1 → 3.0.26-guru.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +20 -20
- package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -1
- package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js +47 -46
- package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +1 -1
- package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +144 -128
- package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -1
- package/dist/features/chapters-v2/utils/node-card-utils.js +25 -25
- package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
- package/dist/features/homework/homework-card-view.js +25 -25
- package/dist/features/homework/homework-card-view.js.map +1 -1
- package/package.json +2 -3
@@ -1,192 +1,208 @@
|
|
1
1
|
import { jsxs as l, jsx as t } from "react/jsx-runtime";
|
2
|
-
import { memo as
|
3
|
-
import
|
4
|
-
import
|
5
|
-
import
|
6
|
-
import
|
7
|
-
import
|
8
|
-
import
|
9
|
-
import
|
10
|
-
import
|
11
|
-
import
|
12
|
-
import
|
13
|
-
import
|
14
|
-
import
|
15
|
-
import
|
16
|
-
import { BLOCK_TYPE as
|
17
|
-
import { NODE_CARD_STATES as
|
18
|
-
import { getNodeTypeBasedBgImage as
|
19
|
-
import { getNodeCardBasedIcon as
|
20
|
-
import { NodeCardContainer as
|
21
|
-
import
|
22
|
-
import
|
23
|
-
const
|
2
|
+
import { memo as ar, useRef as T, useCallback as d, useEffect as sr } from "react";
|
3
|
+
import lr from "../../../../../assets/line-icons/icons/check2.js";
|
4
|
+
import or from "../../../../../assets/line-icons/icons/eye2.js";
|
5
|
+
import mr from "../../../../../assets/line-icons/icons/home2.js";
|
6
|
+
import dr from "../../../../../assets/line-icons/icons/lock3.js";
|
7
|
+
import v from "../../../../../assets/line-icons/icons/more-vertical.js";
|
8
|
+
import pr from "../../../../../assets/line-icons/icons/redo.js";
|
9
|
+
import ur from "../../../../../assets/line-icons/icons/skip.js";
|
10
|
+
import hr from "../../../../../assets/line-icons/icons/unlock2.js";
|
11
|
+
import fr from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
|
12
|
+
import Cr from "../../../../ui/hooks/use-context-menu-click-handler.js";
|
13
|
+
import A from "../../../../ui/layout/flex-view.js";
|
14
|
+
import _r from "../../../../ui/lottie-animation/lottie-animation.js";
|
15
|
+
import $r from "../../../../ui/text/text.js";
|
16
|
+
import { BLOCK_TYPE as Ir } from "../../../constants/block-constants.js";
|
17
|
+
import { NODE_CARD_STATES as G, TEACHER_MENU_LABELS as br } from "../../../constants/node-constants.js";
|
18
|
+
import { getNodeTypeBasedBgImage as Er } from "../../../utils/index.js";
|
19
|
+
import { getNodeCardBasedIcon as kr } from "../../../utils/node-card-utils.js";
|
20
|
+
import { NodeCardContainer as gr, NodeCardInfoWrapper as Lr, IconWrapper as Or, StyledImportantIcon as Tr, NodeKebabMenuWrapper as j, NodeCardContentWrapper as yr, NodeCardTitle as xr, NodeMenuOptionsWrapper as Sr } from "../node-card-styled.js";
|
21
|
+
import Wr from "../node-card-tags.js";
|
22
|
+
import Mr from "../node-menu-options/node-menu-options.js";
|
23
|
+
const Br = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: Kr, REVIEW: vr, VIEW: Ar, MARK_AS_DONE: Gr, RESET: jr, LOCK: Xr, UNLOCK: Hr } = br, y = "cue_cp_close_other_node_card_menu_options", le = ar(
|
24
24
|
({
|
25
25
|
nodeData: r,
|
26
|
-
imageHue:
|
27
|
-
blockType:
|
28
|
-
isSkipped:
|
26
|
+
imageHue: X,
|
27
|
+
blockType: H,
|
28
|
+
isSkipped: q,
|
29
29
|
onNodeAssignAsHomework: p,
|
30
|
-
onNodeMarkAsDone:
|
30
|
+
onNodeMarkAsDone: u,
|
31
31
|
onNodeView: c,
|
32
|
-
onNodeReview:
|
32
|
+
onNodeReview: n,
|
33
33
|
onNodeReattempt: h,
|
34
|
-
onNodeUnlock:
|
35
|
-
onNodeUnassign:
|
36
|
-
onNodeSkipUnSkip:
|
34
|
+
onNodeUnlock: f,
|
35
|
+
onNodeUnassign: C,
|
36
|
+
onNodeSkipUnSkip: _
|
37
37
|
}) => {
|
38
|
-
const
|
39
|
-
accuracy:
|
40
|
-
attempt_location:
|
41
|
-
node_type:
|
42
|
-
card_header:
|
43
|
-
title:
|
44
|
-
state:
|
45
|
-
is_optional:
|
46
|
-
sheet_statement:
|
47
|
-
permissions:
|
48
|
-
user_attempt_id:
|
49
|
-
} = r, { lottie:
|
50
|
-
can_mark_familiar:
|
51
|
-
can_review:
|
52
|
-
can_assign_as_homework:
|
53
|
-
can_reset:
|
38
|
+
const x = T(r.node_id), b = T(null), { menuVisible: a, onMenuClick: S, hideMenu: W } = Cr(b), {
|
39
|
+
accuracy: F,
|
40
|
+
attempt_location: P,
|
41
|
+
node_type: E,
|
42
|
+
card_header: z,
|
43
|
+
title: Y,
|
44
|
+
state: k,
|
45
|
+
is_optional: J,
|
46
|
+
sheet_statement: M,
|
47
|
+
permissions: Q,
|
48
|
+
user_attempt_id: o
|
49
|
+
} = r, { lottie: Z } = kr(E), g = T(null), {
|
50
|
+
can_mark_familiar: R,
|
51
|
+
can_review: m,
|
52
|
+
can_assign_as_homework: w,
|
53
|
+
can_reset: V,
|
54
54
|
can_unlock: $,
|
55
|
-
can_unassign:
|
56
|
-
can_un_skip:
|
57
|
-
can_skip:
|
58
|
-
} =
|
55
|
+
can_unassign: U,
|
56
|
+
can_un_skip: L,
|
57
|
+
can_skip: O
|
58
|
+
} = Q, B = H === Ir.GOAL, i = k === G.LOCKED || L, D = k === G.NOT_STARTED, N = P === "INCLASS", rr = (i || D) && ($ || U), er = Er(E), s = d(
|
59
59
|
(e) => {
|
60
60
|
switch (e) {
|
61
61
|
case "node-card-view":
|
62
|
-
|
62
|
+
m && o ? n == null || n(r) : c == null || c(r);
|
63
63
|
return;
|
64
64
|
case "node-card-assign-as-hw":
|
65
65
|
p == null || p(r);
|
66
66
|
return;
|
67
67
|
case "node-card-mark-as-done":
|
68
|
-
|
68
|
+
u == null || u(r);
|
69
69
|
return;
|
70
70
|
case "node-card-reset":
|
71
71
|
h == null || h(r);
|
72
72
|
return;
|
73
73
|
case "node-card-unlock":
|
74
|
-
|
74
|
+
f == null || f(r);
|
75
75
|
return;
|
76
76
|
case "node-card-lock":
|
77
|
-
|
77
|
+
C == null || C(r);
|
78
78
|
return;
|
79
79
|
case "node-card-skip":
|
80
80
|
case "node-card-revert-skip":
|
81
|
-
|
81
|
+
_ == null || _(r);
|
82
82
|
return;
|
83
83
|
default:
|
84
84
|
throw new Error(`No callback function for ${e}`);
|
85
85
|
}
|
86
86
|
},
|
87
87
|
[
|
88
|
-
|
88
|
+
m,
|
89
89
|
r,
|
90
90
|
p,
|
91
|
-
|
91
|
+
u,
|
92
92
|
h,
|
93
|
-
|
93
|
+
n,
|
94
|
+
_,
|
94
95
|
C,
|
95
96
|
f,
|
96
|
-
u,
|
97
97
|
c,
|
98
|
-
|
98
|
+
o
|
99
99
|
]
|
100
|
-
),
|
100
|
+
), tr = d(() => {
|
101
101
|
var e;
|
102
|
-
|
103
|
-
}, [
|
102
|
+
i || (e = g.current) == null || e.play();
|
103
|
+
}, [i]), cr = d(() => {
|
104
104
|
var e;
|
105
|
-
(e =
|
106
|
-
}, []),
|
107
|
-
|
108
|
-
}, [
|
105
|
+
(e = g.current) == null || e.stop();
|
106
|
+
}, []), nr = d(() => {
|
107
|
+
m && o ? n == null || n(r) : c == null || c(r);
|
108
|
+
}, [m, r, n, c, o]), K = d(
|
109
109
|
(e) => {
|
110
|
-
e.stopPropagation(),
|
110
|
+
if (e.stopPropagation(), !a) {
|
111
|
+
const I = new CustomEvent(y, {
|
112
|
+
detail: { sourceId: x.current }
|
113
|
+
});
|
114
|
+
document.dispatchEvent(I);
|
115
|
+
}
|
116
|
+
S();
|
111
117
|
},
|
112
|
-
[
|
113
|
-
)
|
118
|
+
[S, a]
|
119
|
+
);
|
120
|
+
sr(() => {
|
121
|
+
const e = (I) => {
|
122
|
+
I.detail && I.detail.sourceId !== x.current && a && W();
|
123
|
+
};
|
124
|
+
return document.addEventListener(y, e), () => {
|
125
|
+
document.removeEventListener(y, e);
|
126
|
+
};
|
127
|
+
}, [a, W]);
|
128
|
+
const ir = [
|
114
129
|
{
|
115
130
|
id: "node-card-view",
|
116
|
-
label:
|
117
|
-
icon:
|
131
|
+
label: m && o ? vr : Ar,
|
132
|
+
icon: or,
|
118
133
|
disabled: !1,
|
119
|
-
onClick:
|
134
|
+
onClick: s
|
120
135
|
},
|
121
136
|
{
|
122
137
|
id: "node-card-assign-as-hw",
|
123
|
-
label:
|
124
|
-
icon:
|
125
|
-
disabled: !
|
126
|
-
onClick:
|
138
|
+
label: Kr,
|
139
|
+
icon: mr,
|
140
|
+
disabled: !w,
|
141
|
+
onClick: s
|
127
142
|
},
|
128
143
|
{
|
129
144
|
id: "node-card-reset",
|
130
|
-
label:
|
131
|
-
icon:
|
132
|
-
disabled: !
|
133
|
-
onClick:
|
145
|
+
label: jr,
|
146
|
+
icon: pr,
|
147
|
+
disabled: !V,
|
148
|
+
onClick: s
|
134
149
|
},
|
135
150
|
{
|
136
151
|
id: "node-card-mark-as-done",
|
137
|
-
label:
|
138
|
-
icon:
|
139
|
-
disabled: !
|
140
|
-
onClick:
|
152
|
+
label: Gr,
|
153
|
+
icon: lr,
|
154
|
+
disabled: !R,
|
155
|
+
onClick: s
|
141
156
|
},
|
142
157
|
{
|
143
158
|
id: `node-card-${$ ? "unlock" : "lock"}`,
|
144
|
-
label: $ ?
|
145
|
-
icon: $ ?
|
146
|
-
disabled: !
|
147
|
-
onClick:
|
159
|
+
label: $ ? Hr : Xr,
|
160
|
+
icon: $ ? hr : dr,
|
161
|
+
disabled: !rr,
|
162
|
+
onClick: s
|
148
163
|
},
|
149
164
|
{
|
150
|
-
id: `node-card-${
|
151
|
-
label:
|
152
|
-
icon:
|
153
|
-
disabled: !
|
154
|
-
onClick:
|
165
|
+
id: `node-card-${O ? "skip" : "revert-skip"}`,
|
166
|
+
label: O ? "Skip" : "Revert 'Skip'",
|
167
|
+
icon: ur,
|
168
|
+
disabled: !L && !O,
|
169
|
+
onClick: s
|
155
170
|
}
|
156
171
|
];
|
157
|
-
return /* @__PURE__ */ l(
|
172
|
+
return /* @__PURE__ */ l(A, { $position: "relative", children: [
|
158
173
|
/* @__PURE__ */ t(
|
159
|
-
|
174
|
+
gr,
|
160
175
|
{
|
161
|
-
$background: `${
|
162
|
-
$disabled:
|
163
|
-
onClick:
|
176
|
+
$background: `${X}_2`,
|
177
|
+
$disabled: i,
|
178
|
+
onClick: nr,
|
179
|
+
$opacity: q ? 0.5 : 1,
|
164
180
|
children: /* @__PURE__ */ l(
|
165
|
-
|
181
|
+
fr,
|
166
182
|
{
|
167
183
|
renderAs: "primary",
|
168
|
-
tooltipItem:
|
184
|
+
tooltipItem: M,
|
169
185
|
position: "bottom",
|
170
186
|
zIndex: 5,
|
171
|
-
hidden:
|
187
|
+
hidden: a || !M,
|
172
188
|
parentWidth: "100%",
|
173
189
|
widthX: 11.25,
|
174
190
|
children: [
|
175
191
|
/* @__PURE__ */ l(
|
176
|
-
|
192
|
+
Lr,
|
177
193
|
{
|
178
194
|
$flexDirection: "row",
|
179
195
|
$alignItems: "center",
|
180
196
|
$width: "100%",
|
181
197
|
$heightX: 3.5,
|
182
|
-
$bgImage:
|
198
|
+
$bgImage: er,
|
183
199
|
$gutterX: 0.78125,
|
184
200
|
$flexGap: 8.5,
|
185
|
-
onMouseEnter:
|
186
|
-
onMouseLeave:
|
201
|
+
onMouseEnter: tr,
|
202
|
+
onMouseLeave: cr,
|
187
203
|
children: [
|
188
204
|
/* @__PURE__ */ l(
|
189
|
-
|
205
|
+
Or,
|
190
206
|
{
|
191
207
|
$width: 31,
|
192
208
|
$height: 31,
|
@@ -194,41 +210,41 @@ const yr = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: xr, REVIEW: Sr,
|
|
194
210
|
$position: "relative",
|
195
211
|
$alignItems: "center",
|
196
212
|
$justifyContent: "center",
|
197
|
-
$opacity:
|
213
|
+
$opacity: i ? 0.5 : 1,
|
198
214
|
children: [
|
199
215
|
/* @__PURE__ */ t(
|
200
|
-
|
216
|
+
_r,
|
201
217
|
{
|
202
|
-
src:
|
203
|
-
ref:
|
204
|
-
settings:
|
218
|
+
src: Z,
|
219
|
+
ref: g,
|
220
|
+
settings: Br
|
205
221
|
}
|
206
222
|
),
|
207
|
-
!
|
223
|
+
!J && /* @__PURE__ */ t(Tr, {})
|
208
224
|
]
|
209
225
|
}
|
210
226
|
),
|
211
227
|
/* @__PURE__ */ l(
|
212
|
-
|
228
|
+
$r,
|
213
229
|
{
|
214
230
|
$renderAs: "ac4-black",
|
215
231
|
$color: "BLACK",
|
216
|
-
$opacity:
|
217
|
-
$textDecoration:
|
232
|
+
$opacity: i ? 0.5 : 1,
|
233
|
+
$textDecoration: L ? "line-through" : "none",
|
218
234
|
children: [
|
219
|
-
|
235
|
+
z,
|
220
236
|
" ",
|
221
|
-
|
237
|
+
N && "• CW"
|
222
238
|
]
|
223
239
|
}
|
224
240
|
),
|
225
|
-
/* @__PURE__ */ t(
|
241
|
+
/* @__PURE__ */ t(A, { className: "context-menu", children: B && /* @__PURE__ */ t(j, { ref: b, onClick: K, children: /* @__PURE__ */ t(v, { width: 18, height: 18 }) }) })
|
226
242
|
]
|
227
243
|
}
|
228
244
|
),
|
229
|
-
/* @__PURE__ */ t(
|
230
|
-
!
|
231
|
-
|
245
|
+
/* @__PURE__ */ t(Wr, { nodeType: E, state: k, accuracy: F }),
|
246
|
+
!B && /* @__PURE__ */ l(
|
247
|
+
yr,
|
232
248
|
{
|
233
249
|
$flexDirection: "row",
|
234
250
|
$alignItems: "center",
|
@@ -238,15 +254,15 @@ const yr = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: xr, REVIEW: Sr,
|
|
238
254
|
$justifyContent: "space-between",
|
239
255
|
children: [
|
240
256
|
/* @__PURE__ */ t(
|
241
|
-
|
257
|
+
xr,
|
242
258
|
{
|
243
259
|
$renderAs: "ab3",
|
244
260
|
$color: "BLACK_1",
|
245
|
-
$opacity:
|
246
|
-
children:
|
261
|
+
$opacity: i ? 0.5 : 1,
|
262
|
+
children: Y
|
247
263
|
}
|
248
264
|
),
|
249
|
-
/* @__PURE__ */ t(
|
265
|
+
/* @__PURE__ */ t(j, { ref: b, onClick: K, children: /* @__PURE__ */ t(v, { width: 18, height: 18 }) })
|
250
266
|
]
|
251
267
|
}
|
252
268
|
)
|
@@ -255,11 +271,11 @@ const yr = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: xr, REVIEW: Sr,
|
|
255
271
|
)
|
256
272
|
}
|
257
273
|
),
|
258
|
-
/* @__PURE__ */ t(
|
274
|
+
/* @__PURE__ */ t(Sr, { $visible: a, children: /* @__PURE__ */ t(Mr, { options: ir }) })
|
259
275
|
] });
|
260
276
|
}
|
261
277
|
);
|
262
278
|
export {
|
263
|
-
|
279
|
+
le as default
|
264
280
|
};
|
265
281
|
//# sourceMappingURL=teacher-actions.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"teacher-actions.js","sources":["../../../../../../src/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport type { INodeCardProps } from '../node-card-types';\nimport type { INodeMenuOption } from '../node-menu-options/node-menu-options-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useRef } from 'react';\n\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport Eye2Icon from '../../../../../assets/line-icons/icons/eye2';\nimport Home2Icon from '../../../../../assets/line-icons/icons/home2';\nimport Lock3Icon from '../../../../../assets/line-icons/icons/lock3';\nimport MoreVerticalIcon from '../../../../../assets/line-icons/icons/more-vertical';\nimport RedoIcon from '../../../../../assets/line-icons/icons/redo';\nimport SkipIcon from '../../../../../assets/line-icons/icons/skip';\nimport Unlock2Icon from '../../../../../assets/line-icons/icons/unlock2';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport useContextMenuClickHandler from '../../../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Text from '../../../../ui/text/text';\nimport { BLOCK_TYPE } from '../../../constants/block-constants';\nimport { NODE_CARD_STATES, TEACHER_MENU_LABELS } from '../../../constants/node-constants';\nimport { getNodeTypeBasedBgImage } from '../../../utils';\nimport { getNodeCardBasedIcon } from '../../../utils/node-card-utils';\nimport * as Styled from '../node-card-styled';\nimport NodeCardTags from '../node-card-tags';\nimport NodeMenuOptions from '../node-menu-options/node-menu-options';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\nconst { ASSIGN_AS_HW, REVIEW, VIEW, MARK_AS_DONE, RESET, LOCK, UNLOCK } = TEACHER_MENU_LABELS;\n\nconst TeacherActions: FC<Omit<INodeCardProps, 'userType'>> = memo(\n ({\n nodeData,\n imageHue,\n blockType,\n isSkipped,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n onNodeUnlock,\n onNodeUnassign,\n onNodeSkipUnSkip,\n }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(containerRef);\n\n const {\n accuracy,\n attempt_location: attemptLocation,\n node_type: nodeType,\n card_header: cardHeader,\n title,\n state,\n is_optional: isOptional,\n sheet_statement: sheetStatement,\n permissions,\n user_attempt_id: userAttemptId,\n } = nodeData;\n\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n\n const {\n can_mark_familiar: canMarkFamiliar,\n can_review: canReview,\n can_assign_as_homework: canAssignAsHw,\n can_reset: canReset,\n can_unlock: canUnlock,\n can_unassign: canUnassign,\n can_un_skip: canUnSkip,\n can_skip: canSkip,\n } = permissions;\n\n const isGoalBlock = blockType === BLOCK_TYPE.GOAL;\n const sheetLocked = state === NODE_CARD_STATES.LOCKED || canUnSkip;\n const sheetNotStarted = state === NODE_CARD_STATES.NOT_STARTED;\n const inClassSheet = attemptLocation === 'INCLASS';\n const canLockUnlockSheet = (sheetLocked || sheetNotStarted) && (canUnlock || canUnassign);\n\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'node-card-view':\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n\n return;\n\n case 'node-card-assign-as-hw':\n onNodeAssignAsHomework?.(nodeData);\n\n return;\n\n case 'node-card-mark-as-done':\n onNodeMarkAsDone?.(nodeData);\n\n return;\n\n case 'node-card-reset':\n onNodeReattempt?.(nodeData);\n\n return;\n case 'node-card-unlock':\n onNodeUnlock?.(nodeData);\n\n return;\n case 'node-card-lock':\n onNodeUnassign?.(nodeData);\n\n return;\n case 'node-card-skip':\n case 'node-card-revert-skip':\n onNodeSkipUnSkip?.(nodeData);\n\n return;\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n canReview,\n nodeData,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeReattempt,\n onNodeReview,\n onNodeSkipUnSkip,\n onNodeUnassign,\n onNodeUnlock,\n onNodeView,\n userAttemptId,\n ],\n );\n\n const handleOnMouseEnter = useCallback(() => {\n if (sheetLocked) return;\n animationRef.current?.play();\n }, [sheetLocked]);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n const handleOnNodeCardClick = useCallback(() => {\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n }, [canReview, nodeData, onNodeReview, onNodeView, userAttemptId]);\n\n const handleOnKebabMenuClick = useCallback(\n (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n e.stopPropagation();\n onMenuClick();\n },\n [onMenuClick],\n );\n\n const menuOptions: INodeMenuOption[] = [\n {\n id: 'node-card-view',\n label: canReview && userAttemptId ? REVIEW : VIEW,\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-assign-as-hw',\n label: ASSIGN_AS_HW,\n icon: Home2Icon,\n disabled: !canAssignAsHw,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-reset',\n label: RESET,\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-mark-as-done',\n label: MARK_AS_DONE,\n icon: Check2Icon,\n disabled: !canMarkFamiliar,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: `node-card-${canUnlock ? 'unlock' : 'lock'}`,\n label: canUnlock ? UNLOCK : LOCK,\n icon: canUnlock ? Unlock2Icon : Lock3Icon,\n disabled: !canLockUnlockSheet,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: `node-card-${canSkip ? 'skip' : `revert-skip`}`,\n label: canSkip ? 'Skip' : `Revert 'Skip'`,\n icon: SkipIcon,\n disabled: !canUnSkip && !canSkip,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n return (\n <FlexView $position=\"relative\">\n <Styled.NodeCardContainer\n $background={`${imageHue}_2`}\n $disabled={Boolean(isSkipped || sheetLocked)}\n onClick={handleOnNodeCardClick}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem={sheetStatement}\n position=\"bottom\"\n zIndex={5}\n hidden={menuVisible || !sheetStatement}\n parentWidth=\"100%\"\n widthX={11.25}\n >\n <Styled.NodeCardInfoWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={nodeBgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n <LottieAnimation\n src={nodeCardLottie}\n ref={animationRef}\n settings={renderSettings}\n />\n {!isOptional && <Styled.StyledImportantIcon />}\n </Styled.IconWrapper>\n\n <Text\n $renderAs=\"ac4-black\"\n $color=\"BLACK\"\n $opacity={sheetLocked ? 0.5 : 1}\n $textDecoration={canUnSkip ? 'line-through' : 'none'}\n >\n {cardHeader} {inClassSheet && `• CW`}\n </Text>\n\n <FlexView className=\"context-menu\">\n {isGoalBlock && (\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={handleOnKebabMenuClick}>\n <MoreVerticalIcon width={18} height={18} />\n </Styled.NodeKebabMenuWrapper>\n )}\n </FlexView>\n </Styled.NodeCardInfoWrapper>\n\n <NodeCardTags nodeType={nodeType} state={state} accuracy={accuracy} />\n\n {!isGoalBlock && (\n <Styled.NodeCardContentWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $background=\"WHITE_1\"\n $flexGap={8}\n $heightX={4}\n $justifyContent=\"space-between\"\n >\n <Styled.NodeCardTitle\n $renderAs=\"ab3\"\n $color=\"BLACK_1\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {title}\n </Styled.NodeCardTitle>\n\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={handleOnKebabMenuClick}>\n <MoreVerticalIcon width={18} height={18} />\n </Styled.NodeKebabMenuWrapper>\n </Styled.NodeCardContentWrapper>\n )}\n </ArrowTooltip>\n </Styled.NodeCardContainer>\n <Styled.NodeMenuOptionsWrapper $visible={menuVisible}>\n <NodeMenuOptions options={menuOptions} />\n </Styled.NodeMenuOptionsWrapper>\n </FlexView>\n );\n },\n);\n\nexport default TeacherActions;\n"],"names":["renderSettings","ASSIGN_AS_HW","REVIEW","VIEW","MARK_AS_DONE","RESET","LOCK","UNLOCK","TEACHER_MENU_LABELS","TeacherActions","memo","nodeData","imageHue","blockType","isSkipped","onNodeAssignAsHomework","onNodeMarkAsDone","onNodeView","onNodeReview","onNodeReattempt","onNodeUnlock","onNodeUnassign","onNodeSkipUnSkip","containerRef","useRef","menuVisible","onMenuClick","useContextMenuClickHandler","accuracy","attemptLocation","nodeType","cardHeader","title","state","isOptional","sheetStatement","permissions","userAttemptId","nodeCardLottie","getNodeCardBasedIcon","animationRef","canMarkFamiliar","canReview","canAssignAsHw","canReset","canUnlock","canUnassign","canUnSkip","canSkip","isGoalBlock","BLOCK_TYPE","sheetLocked","NODE_CARD_STATES","sheetNotStarted","inClassSheet","canLockUnlockSheet","nodeBgImage","getNodeTypeBasedBgImage","handleOnMenuOptionClick","useCallback","optionId","handleOnMouseEnter","_a","handleOnMouseLeave","handleOnNodeCardClick","handleOnKebabMenuClick","menuOptions","Eye2Icon","Home2Icon","RedoIcon","Check2Icon","Unlock2Icon","Lock3Icon","SkipIcon","jsxs","FlexView","jsx","Styled.NodeCardContainer","ArrowTooltip","Styled.NodeCardInfoWrapper","Styled.IconWrapper","LottieAnimation","Styled.StyledImportantIcon","Text","Styled.NodeKebabMenuWrapper","MoreVerticalIcon","NodeCardTags","Styled.NodeCardContentWrapper","Styled.NodeCardTitle","Styled.NodeMenuOptionsWrapper","NodeMenuOptions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA4BA,MAAMA,KAAiB,EAAE,UAAU,UAAU,UAAU,GAAM,GACvD,EAAE,cAAAC,IAAc,QAAAC,IAAQ,MAAAC,IAAM,cAAAC,IAAc,OAAAC,IAAO,MAAAC,IAAM,QAAAC,GAAW,IAAAC,IAEpEC,KAAuDC;AAAA,EAC3D,CAAC;AAAA,IACC,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,kBAAAC;AAAA,EAAA,MACI;AACE,UAAAC,IAAeC,EAAuB,IAAI,GAC1C,EAAE,aAAAC,GAAa,aAAAC,EAAY,IAAIC,GAA2BJ,CAAY,GAEtE;AAAA,MACJ,UAAAK;AAAA,MACA,kBAAkBC;AAAA,MAClB,WAAWC;AAAA,MACX,aAAaC;AAAA,MACb,OAAAC;AAAA,MACA,OAAAC;AAAA,MACA,aAAaC;AAAA,MACb,iBAAiBC;AAAA,MACjB,aAAAC;AAAA,MACA,iBAAiBC;AAAA,IACf,IAAA1B,GAEE,EAAE,QAAQ2B,EAAe,IAAIC,GAAqBT,CAAQ,GAC1DU,IAAehB,EAAmC,IAAI,GAEtD;AAAA,MACJ,mBAAmBiB;AAAA,MACnB,YAAYC;AAAA,MACZ,wBAAwBC;AAAA,MACxB,WAAWC;AAAA,MACX,YAAYC;AAAA,MACZ,cAAcC;AAAA,MACd,aAAaC;AAAA,MACb,UAAUC;AAAA,IACR,IAAAZ,GAEEa,IAAcpC,MAAcqC,GAAW,MACvCC,IAAclB,MAAUmB,EAAiB,UAAUL,GACnDM,IAAkBpB,MAAUmB,EAAiB,aAC7CE,IAAezB,MAAoB,WACnC0B,KAAsBJ,KAAeE,OAAqBR,KAAaC,IAEvEU,IAAcC,GAAwB3B,CAAQ,GAE9C4B,IAA0BC;AAAA,MAC9B,CAACC,MAAqB;AACpB,gBAAQA,GAAU;AAAA,UAChB,KAAK;AACH,YAAIlB,KAAaL,IACfnB,KAAA,QAAAA,EAAeP,KAEfM,KAAA,QAAAA,EAAaN;AAGf;AAAA,UAEF,KAAK;AACH,YAAAI,KAAA,QAAAA,EAAyBJ;AAEzB;AAAA,UAEF,KAAK;AACH,YAAAK,KAAA,QAAAA,EAAmBL;AAEnB;AAAA,UAEF,KAAK;AACH,YAAAQ,KAAA,QAAAA,EAAkBR;AAElB;AAAA,UACF,KAAK;AACH,YAAAS,KAAA,QAAAA,EAAeT;AAEf;AAAA,UACF,KAAK;AACH,YAAAU,KAAA,QAAAA,EAAiBV;AAEjB;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AACH,YAAAW,KAAA,QAAAA,EAAmBX;AAEnB;AAAA,UACF;AACE,kBAAM,IAAI,MAAM,4BAA4BiD,CAAQ,EAAE;AAAA,QAC1D;AAAA,MACF;AAAA,MACA;AAAA,QACElB;AAAA,QACA/B;AAAA,QACAI;AAAA,QACAC;AAAA,QACAG;AAAA,QACAD;AAAA,QACAI;AAAA,QACAD;AAAA,QACAD;AAAA,QACAH;AAAA,QACAoB;AAAA,MACF;AAAA,IAAA,GAGIwB,IAAqBF,EAAY,MAAM;;AAC3C,MAAIR,MACJW,IAAAtB,EAAa,YAAb,QAAAsB,EAAsB;AAAA,IAAK,GAC1B,CAACX,CAAW,CAAC,GAEVY,IAAqBJ,EAAY,MAAM;;AAC3C,OAAAG,IAAAtB,EAAa,YAAb,QAAAsB,EAAsB;AAAA,IACxB,GAAG,CAAE,CAAA,GAECE,KAAwBL,EAAY,MAAM;AAC9C,MAAIjB,KAAaL,IACfnB,KAAA,QAAAA,EAAeP,KAEfM,KAAA,QAAAA,EAAaN;AAAA,IACf,GACC,CAAC+B,GAAW/B,GAAUO,GAAcD,GAAYoB,CAAa,CAAC,GAE3D4B,IAAyBN;AAAA,MAC7B,CAAC,MAAoD;AACnD,UAAE,gBAAgB,GACNjC;MACd;AAAA,MACA,CAACA,CAAW;AAAA,IAAA,GAGRwC,KAAiC;AAAA,MACrC;AAAA,QACE,IAAI;AAAA,QACJ,OAAOxB,KAAaL,IAAgBnC,KAASC;AAAA,QAC7C,MAAMgE;AAAA,QACN,UAAU;AAAA,QACV,SAAST;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAOzD;AAAA,QACP,MAAMmE;AAAA,QACN,UAAU,CAACzB;AAAA,QACX,SAASe;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAOrD;AAAA,QACP,MAAMgE;AAAA,QACN,UAAU,CAACzB;AAAA,QACX,SAASc;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAOtD;AAAA,QACP,MAAMkE;AAAA,QACN,UAAU,CAAC7B;AAAA,QACX,SAASiB;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI,aAAab,IAAY,WAAW,MAAM;AAAA,QAC9C,OAAOA,IAAYtC,KAASD;AAAA,QAC5B,MAAMuC,IAAY0B,KAAcC;AAAA,QAChC,UAAU,CAACjB;AAAA,QACX,SAASG;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI,aAAaV,IAAU,SAAS,aAAa;AAAA,QACjD,OAAOA,IAAU,SAAS;AAAA,QAC1B,MAAMyB;AAAA,QACN,UAAU,CAAC1B,KAAa,CAACC;AAAA,QACzB,SAASU;AAAA,MACX;AAAA,IAAA;AAIA,WAAA,gBAAAgB,EAACC,GAAS,EAAA,WAAU,YAClB,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAACC;AAAAA,QAAA;AAAA,UACC,aAAa,GAAGjE,CAAQ;AAAA,UACxB,WAAW,GAAQE,KAAaqC;AAAA,UAChC,SAASa;AAAA,UAET,UAAA,gBAAAU;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,aAAa3C;AAAA,cACb,UAAS;AAAA,cACT,QAAQ;AAAA,cACR,QAAQV,KAAe,CAACU;AAAA,cACxB,aAAY;AAAA,cACZ,QAAQ;AAAA,cAER,UAAA;AAAA,gBAAA,gBAAAuC;AAAA,kBAACK;AAAAA,kBAAA;AAAA,oBACC,gBAAe;AAAA,oBACf,aAAY;AAAA,oBACZ,QAAO;AAAA,oBACP,UAAU;AAAA,oBACV,UAAUvB;AAAA,oBACV,UAAU;AAAA,oBACV,UAAU;AAAA,oBACV,cAAcK;AAAA,oBACd,cAAcE;AAAA,oBAEd,UAAA;AAAA,sBAAA,gBAAAW;AAAA,wBAACM;AAAAA,wBAAA;AAAA,0BACC,QAAQ;AAAA,0BACR,SAAS;AAAA,0BACT,aAAY;AAAA,0BACZ,WAAU;AAAA,0BACV,aAAY;AAAA,0BACZ,iBAAgB;AAAA,0BAChB,UAAU7B,IAAc,MAAM;AAAA,0BAE9B,UAAA;AAAA,4BAAA,gBAAAyB;AAAA,8BAACK;AAAA,8BAAA;AAAA,gCACC,KAAK3C;AAAA,gCACL,KAAKE;AAAA,gCACL,UAAUxC;AAAA,8BAAA;AAAA,4BACZ;AAAA,4BACC,CAACkC,KAAe,gBAAA0C,EAAAM,IAAA,EAA2B;AAAA,0BAAA;AAAA,wBAAA;AAAA,sBAC9C;AAAA,sBAEA,gBAAAR;AAAA,wBAACS;AAAA,wBAAA;AAAA,0BACC,WAAU;AAAA,0BACV,QAAO;AAAA,0BACP,UAAUhC,IAAc,MAAM;AAAA,0BAC9B,iBAAiBJ,IAAY,iBAAiB;AAAA,0BAE7C,UAAA;AAAA,4BAAAhB;AAAA,4BAAW;AAAA,4BAAEuB,KAAgB;AAAA,0BAAA;AAAA,wBAAA;AAAA,sBAChC;AAAA,sBAEA,gBAAAsB,EAACD,KAAS,WAAU,gBACjB,eACE,gBAAAC,EAAAQ,GAAA,EAA4B,KAAK7D,GAAc,SAAS0C,GACvD,4BAACoB,GAAiB,EAAA,OAAO,IAAI,QAAQ,IAAI,GAC3C,EAEJ,CAAA;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBACF;AAAA,gBAEC,gBAAAT,EAAAU,IAAA,EAAa,UAAAxD,GAAoB,OAAAG,GAAc,UAAAL,EAAoB,CAAA;AAAA,gBAEnE,CAACqB,KACA,gBAAAyB;AAAA,kBAACa;AAAAA,kBAAA;AAAA,oBACC,gBAAe;AAAA,oBACf,aAAY;AAAA,oBACZ,aAAY;AAAA,oBACZ,UAAU;AAAA,oBACV,UAAU;AAAA,oBACV,iBAAgB;AAAA,oBAEhB,UAAA;AAAA,sBAAA,gBAAAX;AAAA,wBAACY;AAAAA,wBAAA;AAAA,0BACC,WAAU;AAAA,0BACV,QAAO;AAAA,0BACP,UAAUrC,IAAc,MAAM;AAAA,0BAE7B,UAAAnB;AAAA,wBAAA;AAAA,sBACH;AAAA,sBAEC,gBAAA4C,EAAAQ,GAAA,EAA4B,KAAK7D,GAAc,SAAS0C,GACvD,UAAA,gBAAAW,EAACS,GAAiB,EAAA,OAAO,IAAI,QAAQ,GAAI,CAAA,GAC3C;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBACF;AAAA,cAAA;AAAA,YAAA;AAAA,UAEJ;AAAA,QAAA;AAAA,MACF;AAAA,MACA,gBAAAT,EAACa,IAAA,EAA8B,UAAUhE,GACvC,UAAC,gBAAAmD,EAAAc,IAAA,EAAgB,SAASxB,GAAA,CAAa,EACzC,CAAA;AAAA,IACF,EAAA,CAAA;AAAA,EAEJ;AACF;"}
|
1
|
+
{"version":3,"file":"teacher-actions.js","sources":["../../../../../../src/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport type { INodeCardProps } from '../node-card-types';\nimport type { INodeMenuOption } from '../node-menu-options/node-menu-options-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useRef } from 'react';\n\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport Eye2Icon from '../../../../../assets/line-icons/icons/eye2';\nimport Home2Icon from '../../../../../assets/line-icons/icons/home2';\nimport Lock3Icon from '../../../../../assets/line-icons/icons/lock3';\nimport MoreVerticalIcon from '../../../../../assets/line-icons/icons/more-vertical';\nimport RedoIcon from '../../../../../assets/line-icons/icons/redo';\nimport SkipIcon from '../../../../../assets/line-icons/icons/skip';\nimport Unlock2Icon from '../../../../../assets/line-icons/icons/unlock2';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport useContextMenuClickHandler from '../../../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Text from '../../../../ui/text/text';\nimport { BLOCK_TYPE } from '../../../constants/block-constants';\nimport { NODE_CARD_STATES, TEACHER_MENU_LABELS } from '../../../constants/node-constants';\nimport { getNodeTypeBasedBgImage } from '../../../utils';\nimport { getNodeCardBasedIcon } from '../../../utils/node-card-utils';\nimport * as Styled from '../node-card-styled';\nimport NodeCardTags from '../node-card-tags';\nimport NodeMenuOptions from '../node-menu-options/node-menu-options';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\nconst { ASSIGN_AS_HW, REVIEW, VIEW, MARK_AS_DONE, RESET, LOCK, UNLOCK } = TEACHER_MENU_LABELS;\n\nconst customEventName = 'cue_cp_close_other_node_card_menu_options';\n\nconst TeacherActions: FC<Omit<INodeCardProps, 'userType'>> = memo(\n ({\n nodeData,\n imageHue,\n blockType,\n isSkipped,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n onNodeUnlock,\n onNodeUnassign,\n onNodeSkipUnSkip,\n }) => {\n const componentUniqueIdRef = useRef(nodeData.node_id);\n const containerRef = useRef<HTMLDivElement>(null);\n const { menuVisible, onMenuClick, hideMenu } = useContextMenuClickHandler(containerRef);\n\n const {\n accuracy,\n attempt_location: attemptLocation,\n node_type: nodeType,\n card_header: cardHeader,\n title,\n state,\n is_optional: isOptional,\n sheet_statement: sheetStatement,\n permissions,\n user_attempt_id: userAttemptId,\n } = nodeData;\n\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n\n const {\n can_mark_familiar: canMarkFamiliar,\n can_review: canReview,\n can_assign_as_homework: canAssignAsHw,\n can_reset: canReset,\n can_unlock: canUnlock,\n can_unassign: canUnassign,\n can_un_skip: canUnSkip,\n can_skip: canSkip,\n } = permissions;\n\n const isGoalBlock = blockType === BLOCK_TYPE.GOAL;\n const sheetLocked = state === NODE_CARD_STATES.LOCKED || canUnSkip;\n const sheetNotStarted = state === NODE_CARD_STATES.NOT_STARTED;\n const inClassSheet = attemptLocation === 'INCLASS';\n const canLockUnlockSheet = (sheetLocked || sheetNotStarted) && (canUnlock || canUnassign);\n\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'node-card-view':\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n\n return;\n\n case 'node-card-assign-as-hw':\n onNodeAssignAsHomework?.(nodeData);\n\n return;\n\n case 'node-card-mark-as-done':\n onNodeMarkAsDone?.(nodeData);\n\n return;\n\n case 'node-card-reset':\n onNodeReattempt?.(nodeData);\n\n return;\n case 'node-card-unlock':\n onNodeUnlock?.(nodeData);\n\n return;\n case 'node-card-lock':\n onNodeUnassign?.(nodeData);\n\n return;\n case 'node-card-skip':\n case 'node-card-revert-skip':\n onNodeSkipUnSkip?.(nodeData);\n\n return;\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n canReview,\n nodeData,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeReattempt,\n onNodeReview,\n onNodeSkipUnSkip,\n onNodeUnassign,\n onNodeUnlock,\n onNodeView,\n userAttemptId,\n ],\n );\n\n const handleOnMouseEnter = useCallback(() => {\n if (sheetLocked) return;\n animationRef.current?.play();\n }, [sheetLocked]);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n const handleOnNodeCardClick = useCallback(() => {\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n }, [canReview, nodeData, onNodeReview, onNodeView, userAttemptId]);\n\n const handleOnKebabMenuClick = useCallback(\n (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n e.stopPropagation();\n\n //* If this menu is not currently visible, it means onMenuClick will attempt to open it.\n //* In that case, dispatch an event to close other menus.\n //* This check ensures we only dispatch, When this menu is about to be opened.\n if (!menuVisible) {\n const event = new CustomEvent(customEventName, {\n detail: { sourceId: componentUniqueIdRef.current },\n });\n\n document.dispatchEvent(event);\n }\n\n //* This will toggle the current menu's visibility.\n onMenuClick();\n },\n [onMenuClick, menuVisible],\n );\n\n useEffect(() => {\n const handleCloseRequest = (event: CustomEvent) => {\n //*() Ensure event.detail and event.detail.sourceId exist before accessing\n if (event.detail && event.detail.sourceId !== componentUniqueIdRef.current && menuVisible) {\n hideMenu();\n }\n };\n\n document.addEventListener(customEventName, handleCloseRequest as EventListener);\n\n return () => {\n document.removeEventListener(customEventName, handleCloseRequest as EventListener);\n };\n }, [menuVisible, hideMenu]);\n\n const menuOptions: INodeMenuOption[] = [\n {\n id: 'node-card-view',\n label: canReview && userAttemptId ? REVIEW : VIEW,\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-assign-as-hw',\n label: ASSIGN_AS_HW,\n icon: Home2Icon,\n disabled: !canAssignAsHw,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-reset',\n label: RESET,\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-mark-as-done',\n label: MARK_AS_DONE,\n icon: Check2Icon,\n disabled: !canMarkFamiliar,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: `node-card-${canUnlock ? 'unlock' : 'lock'}`,\n label: canUnlock ? UNLOCK : LOCK,\n icon: canUnlock ? Unlock2Icon : Lock3Icon,\n disabled: !canLockUnlockSheet,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: `node-card-${canSkip ? 'skip' : `revert-skip`}`,\n label: canSkip ? 'Skip' : `Revert 'Skip'`,\n icon: SkipIcon,\n disabled: !canUnSkip && !canSkip,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n return (\n <FlexView $position=\"relative\">\n <Styled.NodeCardContainer\n $background={`${imageHue}_2`}\n $disabled={sheetLocked}\n onClick={handleOnNodeCardClick}\n $opacity={isSkipped ? 0.5 : 1}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem={sheetStatement}\n position=\"bottom\"\n zIndex={5}\n hidden={menuVisible || !sheetStatement}\n parentWidth=\"100%\"\n widthX={11.25}\n >\n <Styled.NodeCardInfoWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={nodeBgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n <LottieAnimation\n src={nodeCardLottie}\n ref={animationRef}\n settings={renderSettings}\n />\n {!isOptional && <Styled.StyledImportantIcon />}\n </Styled.IconWrapper>\n\n <Text\n $renderAs=\"ac4-black\"\n $color=\"BLACK\"\n $opacity={sheetLocked ? 0.5 : 1}\n $textDecoration={canUnSkip ? 'line-through' : 'none'}\n >\n {cardHeader} {inClassSheet && `• CW`}\n </Text>\n\n <FlexView className=\"context-menu\">\n {isGoalBlock && (\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={handleOnKebabMenuClick}>\n <MoreVerticalIcon width={18} height={18} />\n </Styled.NodeKebabMenuWrapper>\n )}\n </FlexView>\n </Styled.NodeCardInfoWrapper>\n\n <NodeCardTags nodeType={nodeType} state={state} accuracy={accuracy} />\n\n {!isGoalBlock && (\n <Styled.NodeCardContentWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $background=\"WHITE_1\"\n $flexGap={8}\n $heightX={4}\n $justifyContent=\"space-between\"\n >\n <Styled.NodeCardTitle\n $renderAs=\"ab3\"\n $color=\"BLACK_1\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {title}\n </Styled.NodeCardTitle>\n\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={handleOnKebabMenuClick}>\n <MoreVerticalIcon width={18} height={18} />\n </Styled.NodeKebabMenuWrapper>\n </Styled.NodeCardContentWrapper>\n )}\n </ArrowTooltip>\n </Styled.NodeCardContainer>\n <Styled.NodeMenuOptionsWrapper $visible={menuVisible}>\n <NodeMenuOptions options={menuOptions} />\n </Styled.NodeMenuOptionsWrapper>\n </FlexView>\n );\n },\n);\n\nexport default TeacherActions;\n"],"names":["renderSettings","ASSIGN_AS_HW","REVIEW","VIEW","MARK_AS_DONE","RESET","LOCK","UNLOCK","TEACHER_MENU_LABELS","customEventName","TeacherActions","memo","nodeData","imageHue","blockType","isSkipped","onNodeAssignAsHomework","onNodeMarkAsDone","onNodeView","onNodeReview","onNodeReattempt","onNodeUnlock","onNodeUnassign","onNodeSkipUnSkip","componentUniqueIdRef","useRef","containerRef","menuVisible","onMenuClick","hideMenu","useContextMenuClickHandler","accuracy","attemptLocation","nodeType","cardHeader","title","state","isOptional","sheetStatement","permissions","userAttemptId","nodeCardLottie","getNodeCardBasedIcon","animationRef","canMarkFamiliar","canReview","canAssignAsHw","canReset","canUnlock","canUnassign","canUnSkip","canSkip","isGoalBlock","BLOCK_TYPE","sheetLocked","NODE_CARD_STATES","sheetNotStarted","inClassSheet","canLockUnlockSheet","nodeBgImage","getNodeTypeBasedBgImage","handleOnMenuOptionClick","useCallback","optionId","handleOnMouseEnter","_a","handleOnMouseLeave","handleOnNodeCardClick","handleOnKebabMenuClick","event","useEffect","handleCloseRequest","menuOptions","Eye2Icon","Home2Icon","RedoIcon","Check2Icon","Unlock2Icon","Lock3Icon","SkipIcon","jsxs","FlexView","jsx","Styled.NodeCardContainer","ArrowTooltip","Styled.NodeCardInfoWrapper","Styled.IconWrapper","LottieAnimation","Styled.StyledImportantIcon","Text","Styled.NodeKebabMenuWrapper","MoreVerticalIcon","NodeCardTags","Styled.NodeCardContentWrapper","Styled.NodeCardTitle","Styled.NodeMenuOptionsWrapper","NodeMenuOptions"],"mappings":"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"}
|
@@ -3,20 +3,20 @@ import T from "../../../assets/line-icons/icons/check2.js";
|
|
3
3
|
import f from "../../../assets/line-icons/icons/exclamation.js";
|
4
4
|
import u from "../../../assets/line-icons/icons/lock2.js";
|
5
5
|
import R from "../../../assets/line-icons/icons/status.js";
|
6
|
-
import { LOTTIE as
|
6
|
+
import { LOTTIE as n } from "../../../assets/lottie/lottie.js";
|
7
7
|
import A from "../../ui/layout/flex-view.js";
|
8
8
|
import d from "../../ui/arrow-tooltip/arrow-tooltip.js";
|
9
9
|
import E from "../../ui/text/text.js";
|
10
|
-
import { InProgressIconWrapper as
|
10
|
+
import { InProgressIconWrapper as l } from "../comps/node-card/node-card-styled.js";
|
11
11
|
import m from "../comps/tag/tag.js";
|
12
|
-
const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t) => {
|
13
|
-
if (!t)
|
12
|
+
const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t, i) => {
|
13
|
+
if (!t || i)
|
14
14
|
return { isOverdue: !1, daysText: "", differenceInDays: 0 };
|
15
|
-
const
|
16
|
-
return { isOverdue:
|
17
|
-
}, w = (t,
|
18
|
-
const { isOverdue: a, daysText:
|
19
|
-
if (!
|
15
|
+
const c = Math.floor(Date.now() / 1e3), s = t - c, r = Math.ceil(s / h), a = r < 0, o = r > 0 ? `${Math.abs(r)}D` : "";
|
16
|
+
return { isOverdue: a, daysText: o, differenceInDays: r };
|
17
|
+
}, w = (t, i, c, s, r) => {
|
18
|
+
const { isOverdue: a, daysText: o, differenceInDays: I } = D(s, r);
|
19
|
+
if (!r && a && $.includes(t))
|
20
20
|
return {
|
21
21
|
icon: /* @__PURE__ */ e(
|
22
22
|
d,
|
@@ -25,7 +25,7 @@ const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t) => {
|
|
25
25
|
position: "bottom",
|
26
26
|
tooltipItem: "Complete now",
|
27
27
|
zIndex: 10,
|
28
|
-
hidden: !
|
28
|
+
hidden: !i,
|
29
29
|
parentWidth: "fit-content",
|
30
30
|
children: /* @__PURE__ */ e(A, { $background: "RED", $borderRadius: 16, $gapX: 0.24, $gutterX: 0.5, children: /* @__PURE__ */ e(E, { $renderAs: "ac4-black", $color: "WHITE", children: "OVERDUE" }) })
|
31
31
|
}
|
@@ -41,11 +41,11 @@ const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t) => {
|
|
41
41
|
{
|
42
42
|
renderAs: "primary",
|
43
43
|
position: "bottom",
|
44
|
-
tooltipItem:
|
44
|
+
tooltipItem: I > 1 ? `${I} days left` : "Complete it today",
|
45
45
|
zIndex: 10,
|
46
|
-
hidden: !
|
46
|
+
hidden: !i,
|
47
47
|
children: /* @__PURE__ */ e(
|
48
|
-
|
48
|
+
l,
|
49
49
|
{
|
50
50
|
$flexDirection: "row",
|
51
51
|
$alignItems: "center",
|
@@ -53,7 +53,7 @@ const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t) => {
|
|
53
53
|
$borderRadius: 16,
|
54
54
|
$paddingRight: 6,
|
55
55
|
$paddingLeft: 6,
|
56
|
-
children:
|
56
|
+
children: o && /* @__PURE__ */ e(E, { $renderAs: "ub3-bold", $color: "WHITE", children: o })
|
57
57
|
}
|
58
58
|
)
|
59
59
|
}
|
@@ -70,16 +70,16 @@ const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t) => {
|
|
70
70
|
case "IN_PROGRESS":
|
71
71
|
return {
|
72
72
|
icon: /* @__PURE__ */ p(
|
73
|
-
|
73
|
+
l,
|
74
74
|
{
|
75
75
|
$flexDirection: "row",
|
76
76
|
$alignItems: "center",
|
77
77
|
$justifyContent: "center",
|
78
78
|
$borderRadius: 16,
|
79
79
|
$paddingRight: 0,
|
80
|
-
$paddingLeft:
|
80
|
+
$paddingLeft: o ? 6 : 0,
|
81
81
|
children: [
|
82
|
-
|
82
|
+
o && /* @__PURE__ */ e(E, { $renderAs: "ub3-bold", $color: "WHITE", children: o }),
|
83
83
|
/* @__PURE__ */ e(R, {})
|
84
84
|
]
|
85
85
|
}
|
@@ -104,7 +104,7 @@ const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t) => {
|
|
104
104
|
{
|
105
105
|
renderAs: "primary",
|
106
106
|
position: "bottom",
|
107
|
-
tooltipItem:
|
107
|
+
tooltipItem: i ? "Waiting for teacher to review" : "Needs your review",
|
108
108
|
zIndex: 10,
|
109
109
|
children: /* @__PURE__ */ e(m, { Icon: f })
|
110
110
|
}
|
@@ -123,42 +123,42 @@ const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t) => {
|
|
123
123
|
case "LEVEL2":
|
124
124
|
case "LEVEL3":
|
125
125
|
return {
|
126
|
-
lottie:
|
126
|
+
lottie: n.LEARN
|
127
127
|
};
|
128
128
|
case "RECAP":
|
129
129
|
case "REMEDIAL":
|
130
130
|
case "REVISION":
|
131
131
|
return {
|
132
|
-
lottie:
|
132
|
+
lottie: n.RECAP
|
133
133
|
};
|
134
134
|
case "DYNAMIC":
|
135
135
|
case "ASSESSMENT":
|
136
136
|
case "CHAPTER_ASSESSMENT":
|
137
137
|
case "DIAGNOSTIC":
|
138
138
|
return {
|
139
|
-
lottie:
|
139
|
+
lottie: n.TEST
|
140
140
|
};
|
141
141
|
case "PRACTICE":
|
142
142
|
case "EXTRA_PRACTICE":
|
143
143
|
case "TARGET_PRACTICE":
|
144
144
|
case "MASTERY":
|
145
145
|
return {
|
146
|
-
lottie:
|
146
|
+
lottie: n.PRACTICE
|
147
147
|
};
|
148
148
|
case "PUZZLE":
|
149
149
|
case "PUZZLE_EASY":
|
150
150
|
case "PUZZLE_MEDIUM":
|
151
151
|
case "PUZZLE_HARD":
|
152
152
|
return {
|
153
|
-
lottie:
|
153
|
+
lottie: n.PUZZLE
|
154
154
|
};
|
155
155
|
case "VIDEO":
|
156
156
|
return {
|
157
|
-
lottie:
|
157
|
+
lottie: n.VIDEO
|
158
158
|
};
|
159
159
|
default:
|
160
160
|
return {
|
161
|
-
lottie:
|
161
|
+
lottie: n.PROJECT
|
162
162
|
};
|
163
163
|
}
|
164
164
|
};
|