@cuemath/leap 3.2.30-aa1 → 3.2.30-aa11
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/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js +8 -8
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js +64 -67
- package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +59 -63
- package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-container.js +62 -42
- package/dist/features/worksheet/worksheet/worksheet-container.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js +222 -299
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-styled.js +34 -34
- package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet.js +192 -196
- package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js +42 -43
- package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +25 -24
- package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +64 -71
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +26 -26
- package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
- package/dist/index.d.ts +29 -36
- package/dist/index.js +230 -226
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/features/worksheet/worksheet/hooks/use-worksheet-journey.js +0 -28
- package/dist/features/worksheet/worksheet/hooks/use-worksheet-journey.js.map +0 -1
|
@@ -5,16 +5,16 @@ import C from "../../../../../worksheet/worksheet-preview/worksheet-preview.js";
|
|
|
5
5
|
import { TESTS_CREATION_ANALYTICS_EVENTS as E } from "../../tests-creation-analytics-events.js";
|
|
6
6
|
import { ButtonWrapper as v } from "./test-preview-styled.js";
|
|
7
7
|
const y = A((l) => {
|
|
8
|
-
const { studentId: m, items: e, testNumber:
|
|
8
|
+
const { studentId: m, items: e, testNumber: o, isAssignInProgress: T, onTestStageChange: n, onTestSheetAssign: c } = l, [p, i] = N(!1), t = a(() => e == null ? void 0 : e.map((s) => s.ref), [e]), u = a(
|
|
9
9
|
() => ({
|
|
10
10
|
step: "preview",
|
|
11
11
|
items: e,
|
|
12
|
-
title: `Test ${
|
|
12
|
+
title: `Test ${o}`
|
|
13
13
|
}),
|
|
14
|
-
[
|
|
14
|
+
[o, e]
|
|
15
15
|
), f = d(() => {
|
|
16
|
-
|
|
17
|
-
}, [
|
|
16
|
+
n("DIFFICULTY_AND_DURATION_SELECTION");
|
|
17
|
+
}, [n]), S = d(
|
|
18
18
|
(s) => {
|
|
19
19
|
i(s);
|
|
20
20
|
},
|
|
@@ -25,7 +25,7 @@ const y = A((l) => {
|
|
|
25
25
|
C,
|
|
26
26
|
{
|
|
27
27
|
activityReference: "test",
|
|
28
|
-
|
|
28
|
+
mode: "preview",
|
|
29
29
|
nodeType: "DYNAMIC",
|
|
30
30
|
userType: "STUDENT",
|
|
31
31
|
studentId: m ?? "student-id",
|
|
@@ -46,8 +46,8 @@ const y = A((l) => {
|
|
|
46
46
|
label: "Assign",
|
|
47
47
|
analyticsLabel: E.CUSTOM_TEST_ASSIGNED,
|
|
48
48
|
analyticsProps: u,
|
|
49
|
-
onClick:
|
|
50
|
-
disabled: !!
|
|
49
|
+
onClick: c,
|
|
50
|
+
disabled: !!T
|
|
51
51
|
}
|
|
52
52
|
) })
|
|
53
53
|
] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-preview.js","sources":["../../../../../../../src/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.tsx"],"sourcesContent":["import type { ITestPreviewProps } from './test-preview-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useMemo, useState } from 'react';\n\nimport Button from '../../../../../ui/buttons/button/button';\nimport PreviewWorksheet from '../../../../../worksheet/worksheet-preview/worksheet-preview';\nimport { TESTS_CREATION_ANALYTICS_EVENTS } from '../../tests-creation-analytics-events';\nimport * as Styled from './test-preview-styled';\n\nconst TestPreview: FC<ITestPreviewProps> = memo(props => {\n const { studentId, items, testNumber, isAssignInProgress, onTestStageChange, onTestSheetAssign } =\n props;\n\n const [testPreviewLoaded, setTestPreviewLoaded] = useState(false);\n\n const itemRefs = useMemo(() => items?.map(item => item.ref), [items]);\n const analyticsProps = useMemo(\n () => ({\n step: 'preview',\n items,\n title: `Test ${testNumber}`,\n }),\n [testNumber, items],\n );\n\n const handleOnBack = useCallback(() => {\n onTestStageChange('DIFFICULTY_AND_DURATION_SELECTION');\n }, [onTestStageChange]);\n\n const handleOnPreviewLoad = useCallback(\n (loaded: boolean) => {\n setTestPreviewLoaded(loaded);\n },\n [setTestPreviewLoaded],\n );\n\n if (!itemRefs || itemRefs.length === 0) return null;\n\n return (\n <>\n <PreviewWorksheet\n activityReference=\"test\"\n
|
|
1
|
+
{"version":3,"file":"test-preview.js","sources":["../../../../../../../src/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.tsx"],"sourcesContent":["import type { ITestPreviewProps } from './test-preview-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useMemo, useState } from 'react';\n\nimport Button from '../../../../../ui/buttons/button/button';\nimport PreviewWorksheet from '../../../../../worksheet/worksheet-preview/worksheet-preview';\nimport { TESTS_CREATION_ANALYTICS_EVENTS } from '../../tests-creation-analytics-events';\nimport * as Styled from './test-preview-styled';\n\nconst TestPreview: FC<ITestPreviewProps> = memo(props => {\n const { studentId, items, testNumber, isAssignInProgress, onTestStageChange, onTestSheetAssign } =\n props;\n\n const [testPreviewLoaded, setTestPreviewLoaded] = useState(false);\n\n const itemRefs = useMemo(() => items?.map(item => item.ref), [items]);\n const analyticsProps = useMemo(\n () => ({\n step: 'preview',\n items,\n title: `Test ${testNumber}`,\n }),\n [testNumber, items],\n );\n\n const handleOnBack = useCallback(() => {\n onTestStageChange('DIFFICULTY_AND_DURATION_SELECTION');\n }, [onTestStageChange]);\n\n const handleOnPreviewLoad = useCallback(\n (loaded: boolean) => {\n setTestPreviewLoaded(loaded);\n },\n [setTestPreviewLoaded],\n );\n\n if (!itemRefs || itemRefs.length === 0) return null;\n\n return (\n <>\n <PreviewWorksheet\n activityReference=\"test\"\n mode=\"preview\"\n nodeType=\"DYNAMIC\"\n userType=\"STUDENT\"\n studentId={studentId ?? 'student-id'}\n isLessonV3Enabled={false}\n worksheetName=\"Preview test\"\n items={itemRefs}\n onBackIconClick={handleOnBack}\n onWorksheetLoaded={handleOnPreviewLoad}\n />\n\n {testPreviewLoaded && (\n <Styled.ButtonWrapper>\n <Button\n widthX={6}\n renderAs={'primary'}\n size=\"small\"\n shape=\"square\"\n label=\"Assign\"\n analyticsLabel={TESTS_CREATION_ANALYTICS_EVENTS.CUSTOM_TEST_ASSIGNED}\n analyticsProps={analyticsProps}\n onClick={onTestSheetAssign}\n disabled={!!isAssignInProgress}\n />\n </Styled.ButtonWrapper>\n )}\n </>\n );\n});\n\nexport default TestPreview;\n"],"names":["TestPreview","memo","props","studentId","items","testNumber","isAssignInProgress","onTestStageChange","onTestSheetAssign","testPreviewLoaded","setTestPreviewLoaded","useState","itemRefs","useMemo","item","analyticsProps","handleOnBack","useCallback","handleOnPreviewLoad","loaded","jsxs","Fragment","jsx","PreviewWorksheet","Styled.ButtonWrapper","Button","TESTS_CREATION_ANALYTICS_EVENTS"],"mappings":";;;;;;AAUM,MAAAA,IAAqCC,EAAK,CAASC,MAAA;AACvD,QAAM,EAAE,WAAAC,GAAW,OAAAC,GAAO,YAAAC,GAAY,oBAAAC,GAAoB,mBAAAC,GAAmB,mBAAAC,EAC3E,IAAAN,GAEI,CAACO,GAAmBC,CAAoB,IAAIC,EAAS,EAAK,GAE1DC,IAAWC,EAAQ,MAAMT,KAAA,gBAAAA,EAAO,IAAI,CAAQU,MAAAA,EAAK,MAAM,CAACV,CAAK,CAAC,GAC9DW,IAAiBF;AAAA,IACrB,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAAT;AAAA,MACA,OAAO,QAAQC,CAAU;AAAA,IAAA;AAAA,IAE3B,CAACA,GAAYD,CAAK;AAAA,EAAA,GAGdY,IAAeC,EAAY,MAAM;AACrC,IAAAV,EAAkB,mCAAmC;AAAA,EAAA,GACpD,CAACA,CAAiB,CAAC,GAEhBW,IAAsBD;AAAA,IAC1B,CAACE,MAAoB;AACnB,MAAAT,EAAqBS,CAAM;AAAA,IAC7B;AAAA,IACA,CAACT,CAAoB;AAAA,EAAA;AAGvB,SAAI,CAACE,KAAYA,EAAS,WAAW,IAAU,OAI3C,gBAAAQ,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,mBAAkB;AAAA,QAClB,MAAK;AAAA,QACL,UAAS;AAAA,QACT,UAAS;AAAA,QACT,WAAWpB,KAAa;AAAA,QACxB,mBAAmB;AAAA,QACnB,eAAc;AAAA,QACd,OAAOS;AAAA,QACP,iBAAiBI;AAAA,QACjB,mBAAmBE;AAAA,MAAA;AAAA,IACrB;AAAA,IAECT,KACC,gBAAAa,EAACE,GAAA,EACC,UAAA,gBAAAF;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,MAAK;AAAA,QACL,OAAM;AAAA,QACN,OAAM;AAAA,QACN,gBAAgBC,EAAgC;AAAA,QAChD,gBAAAX;AAAA,QACA,SAASP;AAAA,QACT,UAAU,CAAC,CAACF;AAAA,MAAA;AAAA,IAAA,GAEhB;AAAA,EAEJ,EAAA,CAAA;AAEJ,CAAC;"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { jsx as e, jsxs as b, Fragment as B } from "react/jsx-runtime";
|
|
2
|
-
import { memo as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import { scrollToQuestion as
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import { IconContainer as
|
|
14
|
-
import
|
|
15
|
-
const
|
|
2
|
+
import { memo as K, useState as L, useCallback as r } from "react";
|
|
3
|
+
import M from "../../../../assets/line-icons/icons/calculator.js";
|
|
4
|
+
import Y from "../../../../assets/line-icons/icons/down.js";
|
|
5
|
+
import Z from "../../../../assets/line-icons/icons/up.js";
|
|
6
|
+
import ee from "../../../cue-canvas/toolbar/toolbar.js";
|
|
7
|
+
import oe from "../../../ui/buttons/button/button.js";
|
|
8
|
+
import ne from "../../../ui/layout/flex-view.js";
|
|
9
|
+
import { scrollToQuestion as te } from "../worksheet-helpers.js";
|
|
10
|
+
import se from "../worksheet-questions-controller/scribble-switch.js";
|
|
11
|
+
import ie from "../worksheet-questions-controller/worksheet-questions-controller.js";
|
|
12
|
+
import re from "../worksheet-questions-summary/worksheet-questions-summary.js";
|
|
13
|
+
import { IconContainer as ae, SummaryWrapper as le } from "../worksheet-styled.js";
|
|
14
|
+
import me from "../worksheet-summary-controller/worksheet-summary-controller.js";
|
|
15
|
+
const we = K(($) => {
|
|
16
16
|
const {
|
|
17
17
|
userType: m,
|
|
18
18
|
layout: f,
|
|
@@ -28,98 +28,96 @@ const xe = M(($) => {
|
|
|
28
28
|
isSummaryVisible: k,
|
|
29
29
|
setIsScribblingEnabled: q,
|
|
30
30
|
setActiveQuestionId: c,
|
|
31
|
-
setResponses:
|
|
32
|
-
getTimeSpentOnQuestion:
|
|
33
|
-
setBlocker:
|
|
31
|
+
setResponses: E,
|
|
32
|
+
getTimeSpentOnQuestion: O,
|
|
33
|
+
setBlocker: V,
|
|
34
34
|
setSummaryVisible: u,
|
|
35
|
-
showCalculator:
|
|
36
|
-
onItemNumberClick:
|
|
35
|
+
showCalculator: j,
|
|
36
|
+
onItemNumberClick: g,
|
|
37
37
|
onTeacherValidation: F,
|
|
38
|
-
onGoToReview:
|
|
38
|
+
onGoToReview: C,
|
|
39
39
|
onResponseChange: G,
|
|
40
40
|
onHelp: N,
|
|
41
41
|
onSubmit: a,
|
|
42
|
-
onCalculatorOpen:
|
|
43
|
-
canSubmitWorksheet:
|
|
42
|
+
onCalculatorOpen: D,
|
|
43
|
+
canSubmitWorksheet: I,
|
|
44
44
|
loggerRef: y,
|
|
45
|
-
onSkip:
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
canToggleScribbling: H
|
|
49
|
-
} = $, { navigationBar: P, questionsScrollable: v } = f, d = o[i], { response_id: l } = d ?? {}, [w, p] = Y(!1), X = l ? R.includes(l) : !1, J = r(
|
|
45
|
+
onSkip: U,
|
|
46
|
+
actionBarRightElement: _
|
|
47
|
+
} = $, { navigationBar: z, questionsScrollable: v } = f, d = o[i], { response_id: l } = d ?? {}, [w, p] = L(!1), H = l ? R.includes(l) : !1, P = r(
|
|
50
48
|
(n) => {
|
|
51
|
-
p(!1),
|
|
49
|
+
p(!1), g(n);
|
|
52
50
|
},
|
|
53
|
-
[
|
|
54
|
-
),
|
|
55
|
-
p(!1),
|
|
56
|
-
}, [
|
|
51
|
+
[g]
|
|
52
|
+
), X = r(() => {
|
|
53
|
+
p(!1), C();
|
|
54
|
+
}, [C]), Q = r(() => {
|
|
57
55
|
p((n) => !n);
|
|
58
|
-
}, []),
|
|
59
|
-
var
|
|
56
|
+
}, []), J = r(() => {
|
|
57
|
+
var x;
|
|
60
58
|
u(!1);
|
|
61
|
-
const n = (
|
|
62
|
-
n && (v ? requestAnimationFrame(() =>
|
|
63
|
-
}, [o, v, c, u]),
|
|
59
|
+
const n = (x = o[o.length - 1]) == null ? void 0 : x.response_id;
|
|
60
|
+
n && (v ? requestAnimationFrame(() => te(n)) : c(n));
|
|
61
|
+
}, [o, v, c, u]), T = r(() => {
|
|
64
62
|
a == null || a(s);
|
|
65
63
|
}, [a, s]);
|
|
66
64
|
return k ? /* @__PURE__ */ e(
|
|
67
|
-
|
|
65
|
+
me,
|
|
68
66
|
{
|
|
69
|
-
onBack:
|
|
67
|
+
onBack: J,
|
|
70
68
|
behavior: t,
|
|
71
|
-
onSubmit:
|
|
72
|
-
canSubmitWorksheet: !!
|
|
69
|
+
onSubmit: T,
|
|
70
|
+
canSubmitWorksheet: !!I
|
|
73
71
|
}
|
|
74
72
|
) : /* @__PURE__ */ b(B, { children: [
|
|
75
|
-
/* @__PURE__ */ b(
|
|
73
|
+
/* @__PURE__ */ b(ne, { $flexDirection: "row", $flexGap: 12, children: [
|
|
76
74
|
/* @__PURE__ */ e(
|
|
77
|
-
|
|
75
|
+
se,
|
|
78
76
|
{
|
|
79
77
|
isScribblingEnabled: S,
|
|
80
78
|
setIsScribblingEnabled: q,
|
|
81
79
|
isCanvasEnabled: !!t.canvasEnabled,
|
|
82
80
|
loggerRef: y,
|
|
83
|
-
canToggleScribbling:
|
|
81
|
+
canToggleScribbling: t.canToggleScribbling
|
|
84
82
|
}
|
|
85
83
|
),
|
|
86
84
|
t.canShowDesmosCalc && /* @__PURE__ */ e(
|
|
87
|
-
|
|
85
|
+
ae,
|
|
88
86
|
{
|
|
89
|
-
$active:
|
|
87
|
+
$active: j,
|
|
90
88
|
$alignItems: "center",
|
|
91
89
|
$justifyContent: "space-between",
|
|
92
|
-
onClick:
|
|
93
|
-
children: /* @__PURE__ */ e(
|
|
90
|
+
onClick: D,
|
|
91
|
+
children: /* @__PURE__ */ e(M, {})
|
|
94
92
|
}
|
|
95
93
|
)
|
|
96
94
|
] }),
|
|
97
|
-
S && /* @__PURE__ */ e(
|
|
98
|
-
|
|
99
|
-
w && /* @__PURE__ */ e(
|
|
100
|
-
|
|
95
|
+
S && /* @__PURE__ */ e(ee, { userType: m, renderAs: "canvas" }),
|
|
96
|
+
z === "bottom" && /* @__PURE__ */ b(B, { children: [
|
|
97
|
+
w && /* @__PURE__ */ e(le, { $alignItems: "center", children: /* @__PURE__ */ e(
|
|
98
|
+
re,
|
|
101
99
|
{
|
|
102
100
|
activeQuestionIndex: i,
|
|
103
101
|
lastUnlockedQuestionIndex: h,
|
|
104
|
-
onItemNumberClick:
|
|
102
|
+
onItemNumberClick: P,
|
|
105
103
|
questions: o,
|
|
106
104
|
responses: s,
|
|
107
105
|
worksheetName: A,
|
|
108
106
|
behavior: t,
|
|
109
107
|
userType: m,
|
|
110
108
|
onClose: Q,
|
|
111
|
-
onGoToReview:
|
|
109
|
+
onGoToReview: X,
|
|
112
110
|
summaryVisible: k
|
|
113
111
|
}
|
|
114
112
|
) }),
|
|
115
113
|
/* @__PURE__ */ e(
|
|
116
|
-
|
|
114
|
+
oe,
|
|
117
115
|
{
|
|
118
116
|
renderAs: "secondary",
|
|
119
117
|
widthX: 13.25,
|
|
120
118
|
label: `Question ${i + 1} of ${o.length}`,
|
|
121
119
|
size: "small",
|
|
122
|
-
Icon: w ?
|
|
120
|
+
Icon: w ? Y : Z,
|
|
123
121
|
iconPosition: "right",
|
|
124
122
|
justifyContent: "space-between",
|
|
125
123
|
onClick: Q
|
|
@@ -127,15 +125,15 @@ const xe = M(($) => {
|
|
|
127
125
|
)
|
|
128
126
|
] }),
|
|
129
127
|
d && l && /* @__PURE__ */ e(
|
|
130
|
-
|
|
128
|
+
ie,
|
|
131
129
|
{
|
|
132
130
|
learnosity: W,
|
|
133
131
|
question: d,
|
|
134
132
|
questions: o,
|
|
135
133
|
responses: s,
|
|
136
|
-
canSubmitWorksheet:
|
|
134
|
+
canSubmitWorksheet: I,
|
|
137
135
|
questionIndex: i,
|
|
138
|
-
isQuestionAppended:
|
|
136
|
+
isQuestionAppended: H,
|
|
139
137
|
isQuestionUnlocked: i <= h,
|
|
140
138
|
response: s[l],
|
|
141
139
|
behavior: t,
|
|
@@ -144,21 +142,20 @@ const xe = M(($) => {
|
|
|
144
142
|
onResponseChange: G,
|
|
145
143
|
onTeacherValidation: F,
|
|
146
144
|
onHelp: N,
|
|
147
|
-
onSubmit:
|
|
148
|
-
onUnassign: _,
|
|
149
|
-
onReview: z,
|
|
145
|
+
onSubmit: T,
|
|
150
146
|
setActiveQuestionId: c,
|
|
151
|
-
setBlocker:
|
|
147
|
+
setBlocker: V,
|
|
152
148
|
setSummaryVisible: u,
|
|
153
|
-
setResponses:
|
|
154
|
-
getTimeSpentOnQuestion:
|
|
149
|
+
setResponses: E,
|
|
150
|
+
getTimeSpentOnQuestion: O,
|
|
155
151
|
loggerRef: y,
|
|
156
|
-
onSkip:
|
|
152
|
+
onSkip: U,
|
|
153
|
+
actionBarRightElement: _
|
|
157
154
|
}
|
|
158
155
|
)
|
|
159
156
|
] });
|
|
160
157
|
});
|
|
161
158
|
export {
|
|
162
|
-
|
|
159
|
+
we as default
|
|
163
160
|
};
|
|
164
161
|
//# sourceMappingURL=worksheet-action-bar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worksheet-action-bar.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.tsx"],"sourcesContent":["import type { IWorksheetActionBarProps } from './worksheet-action-bar-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useState } from 'react';\n\nimport CalculatorIcon from '../../../../assets/line-icons/icons/calculator';\nimport DownIcon from '../../../../assets/line-icons/icons/down';\nimport UpIcon from '../../../../assets/line-icons/icons/up';\nimport Toolbar from '../../../cue-canvas/toolbar/toolbar';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport { scrollToQuestion } from '../worksheet-helpers';\nimport ScribbleSwitch from '../worksheet-questions-controller/scribble-switch';\nimport WorksheetQuestionsController from '../worksheet-questions-controller/worksheet-questions-controller';\nimport WorksheetQuestionsSummary from '../worksheet-questions-summary/worksheet-questions-summary';\nimport * as Styled from '../worksheet-styled';\nimport WorksheetSummaryController from '../worksheet-summary-controller/worksheet-summary-controller';\n\nconst WorksheetActionBar: FC<IWorksheetActionBarProps> = memo(props => {\n const {\n userType,\n layout,\n behavior,\n worksheetName,\n questions,\n responses,\n activeQuestionIndex,\n lastUnlockedQuestionIndex,\n appendedQuestionIds,\n learnosity,\n isScribblingEnabled,\n isSummaryVisible,\n setIsScribblingEnabled,\n setActiveQuestionId,\n setResponses,\n getTimeSpentOnQuestion,\n setBlocker,\n setSummaryVisible,\n showCalculator,\n onItemNumberClick,\n onTeacherValidation,\n onGoToReview,\n onResponseChange,\n onHelp,\n onSubmit,\n onCalculatorOpen,\n canSubmitWorksheet,\n loggerRef,\n onSkip,\n onUnassign,\n onReview,\n canToggleScribbling,\n } = props;\n const { navigationBar, questionsScrollable } = layout;\n const activeQuestion = questions[activeQuestionIndex];\n const { response_id: activeQuestionId } = activeQuestion ?? {};\n const [isSummaryOpened, setIsSummaryOpened] = useState(false);\n const isAppended = activeQuestionId ? appendedQuestionIds.includes(activeQuestionId) : false;\n\n const handleItemNumberClick = useCallback(\n (questionId: string) => {\n setIsSummaryOpened(false);\n onItemNumberClick(questionId);\n },\n [onItemNumberClick],\n );\n\n const handleOnGoToReview = useCallback(() => {\n setIsSummaryOpened(false);\n onGoToReview();\n }, [onGoToReview]);\n\n const handleSummaryButtonClick = useCallback(() => {\n setIsSummaryOpened(prev => !prev);\n }, []);\n\n const handleBackFromSummary = useCallback(() => {\n setSummaryVisible(false);\n\n const questionId = questions[questions.length - 1]?.response_id;\n\n if (questionId) {\n if (questionsScrollable) {\n requestAnimationFrame(() => scrollToQuestion(questionId));\n } else {\n setActiveQuestionId(questionId);\n }\n }\n }, [questions, questionsScrollable, setActiveQuestionId, setSummaryVisible]);\n\n const handleSheetSubmitButtonClick = useCallback(() => {\n onSubmit?.(responses);\n }, [onSubmit, responses]);\n\n if (isSummaryVisible) {\n return (\n <WorksheetSummaryController\n onBack={handleBackFromSummary}\n behavior={behavior}\n onSubmit={handleSheetSubmitButtonClick}\n canSubmitWorksheet={!!canSubmitWorksheet}\n />\n );\n }\n\n return (\n <>\n <FlexView $flexDirection=\"row\" $flexGap={12}>\n <ScribbleSwitch\n isScribblingEnabled={isScribblingEnabled}\n setIsScribblingEnabled={setIsScribblingEnabled}\n isCanvasEnabled={!!behavior.canvasEnabled}\n loggerRef={loggerRef}\n canToggleScribbling={canToggleScribbling}\n />\n {behavior.canShowDesmosCalc && (\n <Styled.IconContainer\n $active={showCalculator}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n onClick={onCalculatorOpen}\n >\n <CalculatorIcon />\n </Styled.IconContainer>\n )}\n </FlexView>\n {isScribblingEnabled && <Toolbar userType={userType} renderAs=\"canvas\" />}\n {navigationBar === 'bottom' && (\n <>\n {isSummaryOpened && (\n <Styled.SummaryWrapper $alignItems=\"center\">\n <WorksheetQuestionsSummary\n activeQuestionIndex={activeQuestionIndex}\n lastUnlockedQuestionIndex={lastUnlockedQuestionIndex}\n onItemNumberClick={handleItemNumberClick}\n questions={questions}\n responses={responses}\n worksheetName={worksheetName}\n behavior={behavior}\n userType={userType}\n onClose={handleSummaryButtonClick}\n onGoToReview={handleOnGoToReview}\n summaryVisible={isSummaryVisible}\n />\n </Styled.SummaryWrapper>\n )}\n <Button\n renderAs=\"secondary\"\n widthX={13.25}\n label={`Question ${activeQuestionIndex + 1} of ${questions.length}`}\n size=\"small\"\n Icon={isSummaryOpened ? DownIcon : UpIcon}\n iconPosition=\"right\"\n justifyContent=\"space-between\"\n onClick={handleSummaryButtonClick}\n />\n </>\n )}\n {activeQuestion && activeQuestionId && (\n <WorksheetQuestionsController\n learnosity={learnosity}\n question={activeQuestion}\n questions={questions}\n responses={responses}\n canSubmitWorksheet={canSubmitWorksheet}\n questionIndex={activeQuestionIndex}\n isQuestionAppended={isAppended}\n isQuestionUnlocked={activeQuestionIndex <= lastUnlockedQuestionIndex}\n response={responses[activeQuestionId]}\n behavior={behavior}\n userType={userType}\n layout={layout}\n onResponseChange={onResponseChange}\n onTeacherValidation={onTeacherValidation}\n onHelp={onHelp}\n onSubmit={handleSheetSubmitButtonClick}\n onUnassign={onUnassign}\n onReview={onReview}\n setActiveQuestionId={setActiveQuestionId}\n setBlocker={setBlocker}\n setSummaryVisible={setSummaryVisible}\n setResponses={setResponses}\n getTimeSpentOnQuestion={getTimeSpentOnQuestion}\n loggerRef={loggerRef}\n onSkip={onSkip}\n />\n )}\n </>\n );\n});\n\nexport default WorksheetActionBar;\n"],"names":["WorksheetActionBar","memo","props","userType","layout","behavior","worksheetName","questions","responses","activeQuestionIndex","lastUnlockedQuestionIndex","appendedQuestionIds","learnosity","isScribblingEnabled","isSummaryVisible","setIsScribblingEnabled","setActiveQuestionId","setResponses","getTimeSpentOnQuestion","setBlocker","setSummaryVisible","showCalculator","onItemNumberClick","onTeacherValidation","onGoToReview","onResponseChange","onHelp","onSubmit","onCalculatorOpen","canSubmitWorksheet","loggerRef","onSkip","onUnassign","onReview","canToggleScribbling","navigationBar","questionsScrollable","activeQuestion","activeQuestionId","isSummaryOpened","setIsSummaryOpened","useState","isAppended","handleItemNumberClick","useCallback","questionId","handleOnGoToReview","handleSummaryButtonClick","prev","handleBackFromSummary","_a","scrollToQuestion","handleSheetSubmitButtonClick","jsx","WorksheetSummaryController","jsxs","Fragment","FlexView","ScribbleSwitch","Styled.IconContainer","CalculatorIcon","Toolbar","Styled.SummaryWrapper","WorksheetQuestionsSummary","Button","DownIcon","UpIcon","WorksheetQuestionsController"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worksheet-action-bar.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.tsx"],"sourcesContent":["import type { IWorksheetActionBarProps } from './worksheet-action-bar-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useState } from 'react';\n\nimport CalculatorIcon from '../../../../assets/line-icons/icons/calculator';\nimport DownIcon from '../../../../assets/line-icons/icons/down';\nimport UpIcon from '../../../../assets/line-icons/icons/up';\nimport Toolbar from '../../../cue-canvas/toolbar/toolbar';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport { scrollToQuestion } from '../worksheet-helpers';\nimport ScribbleSwitch from '../worksheet-questions-controller/scribble-switch';\nimport WorksheetQuestionsController from '../worksheet-questions-controller/worksheet-questions-controller';\nimport WorksheetQuestionsSummary from '../worksheet-questions-summary/worksheet-questions-summary';\nimport * as Styled from '../worksheet-styled';\nimport WorksheetSummaryController from '../worksheet-summary-controller/worksheet-summary-controller';\n\nconst WorksheetActionBar: FC<IWorksheetActionBarProps> = memo(props => {\n const {\n userType,\n layout,\n behavior,\n worksheetName,\n questions,\n responses,\n activeQuestionIndex,\n lastUnlockedQuestionIndex,\n appendedQuestionIds,\n learnosity,\n isScribblingEnabled,\n isSummaryVisible,\n setIsScribblingEnabled,\n setActiveQuestionId,\n setResponses,\n getTimeSpentOnQuestion,\n setBlocker,\n setSummaryVisible,\n showCalculator,\n onItemNumberClick,\n onTeacherValidation,\n onGoToReview,\n onResponseChange,\n onHelp,\n onSubmit,\n onCalculatorOpen,\n canSubmitWorksheet,\n loggerRef,\n onSkip,\n actionBarRightElement,\n } = props;\n const { navigationBar, questionsScrollable } = layout;\n const activeQuestion = questions[activeQuestionIndex];\n const { response_id: activeQuestionId } = activeQuestion ?? {};\n const [isSummaryOpened, setIsSummaryOpened] = useState(false);\n const isAppended = activeQuestionId ? appendedQuestionIds.includes(activeQuestionId) : false;\n\n const handleItemNumberClick = useCallback(\n (questionId: string) => {\n setIsSummaryOpened(false);\n onItemNumberClick(questionId);\n },\n [onItemNumberClick],\n );\n\n const handleOnGoToReview = useCallback(() => {\n setIsSummaryOpened(false);\n onGoToReview();\n }, [onGoToReview]);\n\n const handleSummaryButtonClick = useCallback(() => {\n setIsSummaryOpened(prev => !prev);\n }, []);\n\n const handleBackFromSummary = useCallback(() => {\n setSummaryVisible(false);\n\n const questionId = questions[questions.length - 1]?.response_id;\n\n if (questionId) {\n if (questionsScrollable) {\n requestAnimationFrame(() => scrollToQuestion(questionId));\n } else {\n setActiveQuestionId(questionId);\n }\n }\n }, [questions, questionsScrollable, setActiveQuestionId, setSummaryVisible]);\n\n const handleSheetSubmitButtonClick = useCallback(() => {\n onSubmit?.(responses);\n }, [onSubmit, responses]);\n\n if (isSummaryVisible) {\n return (\n <WorksheetSummaryController\n onBack={handleBackFromSummary}\n behavior={behavior}\n onSubmit={handleSheetSubmitButtonClick}\n canSubmitWorksheet={!!canSubmitWorksheet}\n />\n );\n }\n\n return (\n <>\n <FlexView $flexDirection=\"row\" $flexGap={12}>\n <ScribbleSwitch\n isScribblingEnabled={isScribblingEnabled}\n setIsScribblingEnabled={setIsScribblingEnabled}\n isCanvasEnabled={!!behavior.canvasEnabled}\n loggerRef={loggerRef}\n canToggleScribbling={behavior.canToggleScribbling}\n />\n {behavior.canShowDesmosCalc && (\n <Styled.IconContainer\n $active={showCalculator}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n onClick={onCalculatorOpen}\n >\n <CalculatorIcon />\n </Styled.IconContainer>\n )}\n </FlexView>\n {isScribblingEnabled && <Toolbar userType={userType} renderAs=\"canvas\" />}\n {navigationBar === 'bottom' && (\n <>\n {isSummaryOpened && (\n <Styled.SummaryWrapper $alignItems=\"center\">\n <WorksheetQuestionsSummary\n activeQuestionIndex={activeQuestionIndex}\n lastUnlockedQuestionIndex={lastUnlockedQuestionIndex}\n onItemNumberClick={handleItemNumberClick}\n questions={questions}\n responses={responses}\n worksheetName={worksheetName}\n behavior={behavior}\n userType={userType}\n onClose={handleSummaryButtonClick}\n onGoToReview={handleOnGoToReview}\n summaryVisible={isSummaryVisible}\n />\n </Styled.SummaryWrapper>\n )}\n <Button\n renderAs=\"secondary\"\n widthX={13.25}\n label={`Question ${activeQuestionIndex + 1} of ${questions.length}`}\n size=\"small\"\n Icon={isSummaryOpened ? DownIcon : UpIcon}\n iconPosition=\"right\"\n justifyContent=\"space-between\"\n onClick={handleSummaryButtonClick}\n />\n </>\n )}\n {activeQuestion && activeQuestionId && (\n <WorksheetQuestionsController\n learnosity={learnosity}\n question={activeQuestion}\n questions={questions}\n responses={responses}\n canSubmitWorksheet={canSubmitWorksheet}\n questionIndex={activeQuestionIndex}\n isQuestionAppended={isAppended}\n isQuestionUnlocked={activeQuestionIndex <= lastUnlockedQuestionIndex}\n response={responses[activeQuestionId]}\n behavior={behavior}\n userType={userType}\n layout={layout}\n onResponseChange={onResponseChange}\n onTeacherValidation={onTeacherValidation}\n onHelp={onHelp}\n onSubmit={handleSheetSubmitButtonClick}\n setActiveQuestionId={setActiveQuestionId}\n setBlocker={setBlocker}\n setSummaryVisible={setSummaryVisible}\n setResponses={setResponses}\n getTimeSpentOnQuestion={getTimeSpentOnQuestion}\n loggerRef={loggerRef}\n onSkip={onSkip}\n actionBarRightElement={actionBarRightElement}\n />\n )}\n </>\n );\n});\n\nexport default WorksheetActionBar;\n"],"names":["WorksheetActionBar","memo","props","userType","layout","behavior","worksheetName","questions","responses","activeQuestionIndex","lastUnlockedQuestionIndex","appendedQuestionIds","learnosity","isScribblingEnabled","isSummaryVisible","setIsScribblingEnabled","setActiveQuestionId","setResponses","getTimeSpentOnQuestion","setBlocker","setSummaryVisible","showCalculator","onItemNumberClick","onTeacherValidation","onGoToReview","onResponseChange","onHelp","onSubmit","onCalculatorOpen","canSubmitWorksheet","loggerRef","onSkip","actionBarRightElement","navigationBar","questionsScrollable","activeQuestion","activeQuestionId","isSummaryOpened","setIsSummaryOpened","useState","isAppended","handleItemNumberClick","useCallback","questionId","handleOnGoToReview","handleSummaryButtonClick","prev","handleBackFromSummary","_a","scrollToQuestion","handleSheetSubmitButtonClick","jsx","WorksheetSummaryController","jsxs","Fragment","FlexView","ScribbleSwitch","Styled.IconContainer","CalculatorIcon","Toolbar","Styled.SummaryWrapper","WorksheetQuestionsSummary","Button","DownIcon","UpIcon","WorksheetQuestionsController"],"mappings":"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"}
|
|
@@ -1,145 +1,141 @@
|
|
|
1
|
-
import { TRIAL_V3_NODE_TYPES as
|
|
2
|
-
const
|
|
3
|
-
nodeType:
|
|
4
|
-
inClass:
|
|
5
|
-
isLessonV3Enabled:
|
|
1
|
+
import { TRIAL_V3_NODE_TYPES as u, ASSESSMENT_NODE_TYPES as T } from "../../sheets/utils/is-v3-worksheet.js";
|
|
2
|
+
const o = ({
|
|
3
|
+
nodeType: t,
|
|
4
|
+
inClass: E,
|
|
5
|
+
isLessonV3Enabled: i,
|
|
6
6
|
isDesmosEnabled: m = !1,
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
attemptState: i,
|
|
11
|
-
isStudentPresent: o
|
|
7
|
+
userType: c,
|
|
8
|
+
mode: n,
|
|
9
|
+
worksheetCompleted: A
|
|
12
10
|
}) => {
|
|
13
|
-
const
|
|
14
|
-
hints:
|
|
11
|
+
const s = u.includes(t), r = T.includes(t), a = n === "resume", e = {
|
|
12
|
+
hints: a,
|
|
15
13
|
navigationMode: "OPEN",
|
|
16
|
-
initialQuestion:
|
|
17
|
-
maximumAttempts:
|
|
14
|
+
initialQuestion: a ? "CURRENT" : "FIRST",
|
|
15
|
+
maximumAttempts: r ? -1 : 99999,
|
|
18
16
|
minimumAccuracy: 100,
|
|
19
|
-
teacherValidationEnabled:
|
|
20
|
-
canTeacherValidate: !!
|
|
21
|
-
validation: !(
|
|
22
|
-
review: !
|
|
23
|
-
canAttempt:
|
|
17
|
+
teacherValidationEnabled: i || s,
|
|
18
|
+
canTeacherValidate: !!E && (i || s),
|
|
19
|
+
validation: !(c === "STUDENT" && r),
|
|
20
|
+
review: !1,
|
|
21
|
+
canAttempt: c === "STUDENT" ? a : !1,
|
|
24
22
|
canExceedAttempts: !0,
|
|
25
23
|
checkButtonLabel: "Check",
|
|
26
24
|
retryButtonLabel: "Retry",
|
|
27
25
|
canMarkForReview: !1,
|
|
28
26
|
canShowDesmosCalc: m,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
canvasEnabled: i !== void 0,
|
|
32
|
-
isStudentPresent: s && o
|
|
27
|
+
canvasEnabled: n !== "preview",
|
|
28
|
+
canToggleScribbling: n !== "preview"
|
|
33
29
|
};
|
|
34
|
-
|
|
35
|
-
switch (E) {
|
|
30
|
+
switch (t) {
|
|
36
31
|
case "LEARNING":
|
|
37
32
|
case "SAT_MATH_LEARNING":
|
|
38
33
|
case "SAT_ENGLISH_LEARNING":
|
|
39
|
-
|
|
40
|
-
|
|
34
|
+
return {
|
|
35
|
+
...e,
|
|
36
|
+
navigationMode: i && a && !E ? "OPEN" : "LINEAR",
|
|
37
|
+
review: !0
|
|
38
|
+
};
|
|
41
39
|
case "GENERAL":
|
|
42
40
|
case "REMEDIAL":
|
|
43
41
|
case "RECAP":
|
|
44
42
|
case "SAT_MATH_RECAP":
|
|
45
|
-
|
|
43
|
+
return {
|
|
44
|
+
...e,
|
|
46
45
|
maximumAttempts: 1,
|
|
47
|
-
navigationMode: "LINEAR"
|
|
46
|
+
navigationMode: "LINEAR",
|
|
47
|
+
review: !0
|
|
48
48
|
};
|
|
49
|
-
break;
|
|
50
49
|
case "EXTRA_PRACTICE":
|
|
51
50
|
case "TARGET_PRACTICE":
|
|
52
51
|
case "PRACTICE":
|
|
53
|
-
|
|
54
|
-
break;
|
|
52
|
+
return { ...e, maximumAttempts: 1, review: !0 };
|
|
55
53
|
case "TURING_PRACTICE":
|
|
56
|
-
|
|
57
|
-
break;
|
|
54
|
+
return { ...e, maximumAttempts: 1 };
|
|
58
55
|
case "PUZZLE_CARD":
|
|
59
|
-
|
|
60
|
-
|
|
56
|
+
return {
|
|
57
|
+
...e,
|
|
58
|
+
navigationMode: "LINEAR",
|
|
61
59
|
maximumAttempts: -2,
|
|
62
60
|
solutionHidden: !0,
|
|
63
61
|
validation: !1,
|
|
64
62
|
minimumAccuracy: 0
|
|
65
63
|
};
|
|
66
|
-
break;
|
|
67
64
|
case "PUZZLE_EASY":
|
|
68
65
|
case "PUZZLE_MEDIUM":
|
|
69
66
|
case "PUZZLE_HARD":
|
|
70
|
-
|
|
71
|
-
break;
|
|
67
|
+
return { ...e, navigationMode: "LINEAR" };
|
|
72
68
|
case "TRIAL_DIAGNOSTIC":
|
|
73
|
-
|
|
74
|
-
break;
|
|
69
|
+
return { ...e, navigationMode: "ADAPTIVE" };
|
|
75
70
|
case "TRIAL_BASIC":
|
|
76
71
|
case "TRIAL_INTERMEDIATE":
|
|
77
72
|
case "TRIAL_ADVANCED":
|
|
78
|
-
|
|
73
|
+
return {
|
|
74
|
+
...e,
|
|
79
75
|
navigationMode: "CURRENT"
|
|
80
76
|
};
|
|
81
|
-
break;
|
|
82
77
|
case "ASSESSMENT":
|
|
83
78
|
case "CHAPTER_ASSESSMENT":
|
|
84
79
|
case "DIAGNOSTIC":
|
|
85
80
|
case "DYNAMIC":
|
|
86
81
|
case "TURING_ASSESSMENT":
|
|
87
|
-
|
|
82
|
+
return {
|
|
83
|
+
...e,
|
|
88
84
|
validation: !1,
|
|
89
85
|
minimumAccuracy: 0
|
|
90
86
|
};
|
|
91
|
-
break;
|
|
92
87
|
case "SAT_MATH_ASSESSMENT":
|
|
93
88
|
case "SAT_ENGLISH_ASSESSMENT":
|
|
94
|
-
|
|
89
|
+
return {
|
|
90
|
+
...e,
|
|
95
91
|
validation: !1,
|
|
96
92
|
canMarkForReview: !0,
|
|
97
93
|
minimumAccuracy: 0,
|
|
98
94
|
canvasEnabled: !1
|
|
99
95
|
};
|
|
100
|
-
break;
|
|
101
96
|
case "MASTERY":
|
|
102
|
-
|
|
97
|
+
return {
|
|
98
|
+
...e,
|
|
103
99
|
hintsTimer: 90,
|
|
104
100
|
navigationMode: "LINEAR",
|
|
105
101
|
skippable: !0,
|
|
106
102
|
skippableTime: 90,
|
|
107
103
|
validation: !1,
|
|
108
|
-
solutionHidden:
|
|
109
|
-
minimumAccuracy: 0
|
|
104
|
+
solutionHidden: !A,
|
|
105
|
+
minimumAccuracy: 0,
|
|
106
|
+
canToggleScribbling: c === "TEACHER" ? A : !0
|
|
110
107
|
};
|
|
111
|
-
break;
|
|
112
108
|
case "SUBJECTIVE":
|
|
113
109
|
case "TURING_SUBJECTIVE":
|
|
114
|
-
|
|
110
|
+
return {
|
|
111
|
+
...e,
|
|
115
112
|
maximumAttempts: 1,
|
|
116
113
|
minimumAccuracy: 0,
|
|
117
114
|
validation: !1,
|
|
118
115
|
navigationMode: "LINEAR",
|
|
119
|
-
solutionHidden:
|
|
116
|
+
solutionHidden: !A
|
|
120
117
|
};
|
|
121
|
-
break;
|
|
122
118
|
case "LEGACY":
|
|
123
119
|
case "LEVEL2":
|
|
124
120
|
case "LEVEL3":
|
|
125
121
|
case "REVISION":
|
|
126
|
-
|
|
122
|
+
return {
|
|
123
|
+
...e,
|
|
127
124
|
maximumAttempts: 2,
|
|
128
|
-
canExceedAttempts: !1
|
|
125
|
+
canExceedAttempts: !1,
|
|
126
|
+
minimumAccuracy: 0,
|
|
127
|
+
review: !0
|
|
129
128
|
};
|
|
130
|
-
break;
|
|
131
129
|
default:
|
|
132
|
-
|
|
130
|
+
return {
|
|
131
|
+
...e,
|
|
133
132
|
maximumAttempts: 1,
|
|
134
133
|
navigationMode: "LINEAR"
|
|
135
134
|
};
|
|
136
135
|
}
|
|
137
|
-
return
|
|
138
|
-
...r,
|
|
139
|
-
...a
|
|
140
|
-
};
|
|
136
|
+
return e;
|
|
141
137
|
};
|
|
142
138
|
export {
|
|
143
|
-
|
|
139
|
+
o as getWorksheetBehaviour
|
|
144
140
|
};
|
|
145
141
|
//# sourceMappingURL=worksheet-behavior-helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worksheet-behavior-helper.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-behavior-helper.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"worksheet-behavior-helper.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-behavior-helper.ts"],"sourcesContent":["import type { TNodeTypes } from '../../../types/models/worksheet';\nimport type { TUserTypes } from '../../ui/types';\nimport type { IWorksheetBehavior } from './worksheet-types';\n\nimport { ASSESSMENT_NODE_TYPES, TRIAL_V3_NODE_TYPES } from '../../sheets/utils/is-v3-worksheet';\n\nexport const getWorksheetBehaviour = ({\n nodeType,\n inClass,\n isLessonV3Enabled,\n isDesmosEnabled = false,\n userType,\n mode,\n worksheetCompleted,\n}: {\n nodeType: TNodeTypes;\n inClass?: boolean;\n isLessonV3Enabled: boolean;\n isDesmosEnabled?: boolean;\n canStartJourney?: boolean;\n userType: TUserTypes;\n mode: 'resume' | 'review' | 'preview';\n worksheetCompleted?: boolean;\n}): IWorksheetBehavior => {\n const isTrialV3 = TRIAL_V3_NODE_TYPES.includes(nodeType);\n const isAssessment = ASSESSMENT_NODE_TYPES.includes(nodeType);\n const canAttempt = mode === 'resume';\n\n const baseBehavior: IWorksheetBehavior = {\n hints: canAttempt,\n navigationMode: 'OPEN',\n initialQuestion: canAttempt ? 'CURRENT' : 'FIRST',\n maximumAttempts: isAssessment ? -1 : 99999,\n minimumAccuracy: 100,\n teacherValidationEnabled: isLessonV3Enabled || isTrialV3,\n canTeacherValidate: !!inClass && (isLessonV3Enabled || isTrialV3),\n validation: userType === 'STUDENT' && isAssessment ? false : true,\n review: false,\n canAttempt: userType === 'STUDENT' ? canAttempt : false,\n canExceedAttempts: true,\n checkButtonLabel: 'Check',\n retryButtonLabel: 'Retry',\n canMarkForReview: false,\n canShowDesmosCalc: isDesmosEnabled,\n canvasEnabled: mode !== 'preview',\n canToggleScribbling: mode !== 'preview',\n };\n\n switch (nodeType) {\n // LEARNING SHEETS\n case 'LEARNING':\n case 'SAT_MATH_LEARNING':\n case 'SAT_ENGLISH_LEARNING':\n return {\n ...baseBehavior,\n navigationMode: isLessonV3Enabled && canAttempt && !inClass ? 'OPEN' : 'LINEAR',\n review: true,\n };\n\n // RECAP SHEETS\n case 'GENERAL':\n case 'REMEDIAL':\n case 'RECAP':\n case 'SAT_MATH_RECAP':\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n navigationMode: 'LINEAR',\n review: true,\n };\n\n // PRACTICE SHEETS\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'PRACTICE':\n return { ...baseBehavior, maximumAttempts: 1, review: true };\n\n case 'TURING_PRACTICE':\n return { ...baseBehavior, maximumAttempts: 1 };\n\n //PUZZLE SHEETS\n case 'PUZZLE_CARD':\n return {\n ...baseBehavior,\n navigationMode: 'LINEAR',\n maximumAttempts: -2,\n solutionHidden: true,\n validation: false,\n minimumAccuracy: 0,\n };\n\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return { ...baseBehavior, navigationMode: 'LINEAR' };\n\n // TRIAL SHEETS\n case 'TRIAL_DIAGNOSTIC':\n return { ...baseBehavior, navigationMode: 'ADAPTIVE' };\n\n case 'TRIAL_BASIC':\n case 'TRIAL_INTERMEDIATE':\n case 'TRIAL_ADVANCED':\n return {\n ...baseBehavior,\n navigationMode: 'CURRENT',\n };\n\n // ASSESSMENT SHEETS\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'DYNAMIC':\n case 'TURING_ASSESSMENT':\n return {\n ...baseBehavior,\n validation: false,\n minimumAccuracy: 0,\n };\n\n case 'SAT_MATH_ASSESSMENT':\n case 'SAT_ENGLISH_ASSESSMENT':\n return {\n ...baseBehavior,\n validation: false,\n canMarkForReview: true,\n minimumAccuracy: 0,\n canvasEnabled: false,\n };\n\n case 'MASTERY':\n return {\n ...baseBehavior,\n hintsTimer: 90,\n navigationMode: 'LINEAR',\n skippable: true,\n skippableTime: 90,\n validation: false,\n solutionHidden: !worksheetCompleted,\n minimumAccuracy: 0,\n canToggleScribbling: userType === 'TEACHER' ? worksheetCompleted : true,\n };\n\n // SUBJECTIVE SHEETS\n case 'SUBJECTIVE':\n case 'TURING_SUBJECTIVE':\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n minimumAccuracy: 0,\n validation: false,\n navigationMode: 'LINEAR',\n solutionHidden: !worksheetCompleted,\n };\n\n // REVISION SHEETS\n case 'LEGACY':\n case 'LEVEL2':\n case 'LEVEL3':\n case 'REVISION':\n return {\n ...baseBehavior,\n maximumAttempts: 2,\n canExceedAttempts: false,\n minimumAccuracy: 0,\n review: true,\n };\n\n default:\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n navigationMode: 'LINEAR',\n };\n }\n\n return baseBehavior;\n};\n"],"names":["getWorksheetBehaviour","nodeType","inClass","isLessonV3Enabled","isDesmosEnabled","userType","mode","worksheetCompleted","isTrialV3","TRIAL_V3_NODE_TYPES","isAssessment","ASSESSMENT_NODE_TYPES","canAttempt","baseBehavior"],"mappings":"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"}
|