@cuemath/leap 3.5.56-j1 → 3.5.56-j3
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/create/comps/goal-completion-date-selector/goal-completion-date-selector.js +82 -81
- 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.js +20 -18
- package/dist/features/milestone/create/milestone-create.js.map +1 -1
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +28 -26
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
- package/dist/features/trial-session/comps/learning-plan/index.js +27 -26
- package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
- package/dist/features/trial-session/trial-session-types.js +1 -1
- package/dist/features/trial-session/trial-session-types.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +11 -10
- package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/package.json +1 -1
|
@@ -1,82 +1,83 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { memo as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
1
|
+
import { jsx as s, jsxs as z } from "react/jsx-runtime";
|
|
2
|
+
import { memo as H, useState as C, useCallback as l, useMemo as P, useEffect as J } from "react";
|
|
3
|
+
import K from "../../../../../assets/line-icons/icons/draft.js";
|
|
4
|
+
import Q from "../../../../ui/buttons/button/button.js";
|
|
5
|
+
import Z from "../../../../ui/buttons/icon-button/icon-button.js";
|
|
6
6
|
import y from "../../../../ui/layout/flex-view.js";
|
|
7
|
-
import
|
|
8
|
-
import { ONE_YEAR_TIMESTAMP_IN_MILLISECONDS as
|
|
9
|
-
import
|
|
10
|
-
import { useMilestoneContext as
|
|
11
|
-
import
|
|
12
|
-
import { ButtonWrapper as
|
|
7
|
+
import F from "../../../../ui/text/text.js";
|
|
8
|
+
import { ONE_YEAR_TIMESTAMP_IN_MILLISECONDS as ee } from "../../../constants.js";
|
|
9
|
+
import te from "../../../hooks/use-submit-goal-creation.js";
|
|
10
|
+
import { useMilestoneContext as oe } from "../../milestone-create-context.js";
|
|
11
|
+
import se from "../body-layout/body-layout.js";
|
|
12
|
+
import { ButtonWrapper as $ } from "./goal-completion-date-selector-styled.js";
|
|
13
13
|
import ae from "./goal-completion-date-selector-view.js";
|
|
14
|
-
import { lastDayOfMonth as
|
|
14
|
+
import { lastDayOfMonth as v } from "../../../../../node_modules/date-fns/lastDayOfMonth.js";
|
|
15
15
|
import { addDays as ne } from "../../../../../node_modules/date-fns/addDays.js";
|
|
16
|
-
import { eachMonthOfInterval as
|
|
17
|
-
import { addMonths as
|
|
16
|
+
import { eachMonthOfInterval as re } from "../../../../../node_modules/date-fns/eachMonthOfInterval.js";
|
|
17
|
+
import { addMonths as ie } from "../../../../../node_modules/date-fns/addMonths.js";
|
|
18
18
|
import { formatDate as c } from "../../../../../node_modules/date-fns/format.js";
|
|
19
|
-
const
|
|
19
|
+
const ve = H(function({
|
|
20
20
|
formData: D,
|
|
21
|
-
config:
|
|
22
|
-
studentId:
|
|
21
|
+
config: S,
|
|
22
|
+
studentId: _,
|
|
23
23
|
milestoneId: A = "",
|
|
24
|
-
currentStep:
|
|
25
|
-
onFormDataChange:
|
|
24
|
+
currentStep: G,
|
|
25
|
+
onFormDataChange: n,
|
|
26
26
|
onPreSubmit: m,
|
|
27
|
-
courseStream:
|
|
28
|
-
useAbsoluteFooter:
|
|
29
|
-
userType: L
|
|
27
|
+
courseStream: O,
|
|
28
|
+
useAbsoluteFooter: B,
|
|
29
|
+
userType: L,
|
|
30
|
+
disablePublish: N
|
|
30
31
|
}) {
|
|
31
|
-
const [f, d] =
|
|
32
|
+
const [f, d] = C(""), [h, j] = C(!1), { flow: a } = oe(), {
|
|
32
33
|
share_message: {
|
|
33
34
|
default: {
|
|
34
|
-
create_message_template:
|
|
35
|
-
update_message_template:
|
|
35
|
+
create_message_template: E,
|
|
36
|
+
update_message_template: M
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
|
-
} =
|
|
39
|
+
} = S, u = l(
|
|
39
40
|
(e) => {
|
|
40
|
-
if (
|
|
41
|
-
const o =
|
|
41
|
+
if (a) {
|
|
42
|
+
const o = a === "EDIT" ? M : E;
|
|
42
43
|
m == null || m({
|
|
43
44
|
isDraftPlan: !e,
|
|
44
|
-
flow:
|
|
45
|
+
flow: a,
|
|
45
46
|
submitBaseMessage: o
|
|
46
47
|
});
|
|
47
48
|
}
|
|
48
49
|
},
|
|
49
|
-
[
|
|
50
|
-
), { isProcessing:
|
|
50
|
+
[a, E, M, m]
|
|
51
|
+
), { isProcessing: g, onSubmit: I } = te({
|
|
51
52
|
formData: D,
|
|
52
|
-
studentId:
|
|
53
|
-
onSubmit:
|
|
53
|
+
studentId: _,
|
|
54
|
+
onSubmit: u,
|
|
54
55
|
setError: d,
|
|
55
56
|
milestoneId: A,
|
|
56
|
-
flow:
|
|
57
|
-
courseStream:
|
|
58
|
-
}), { testType:
|
|
59
|
-
const e = /* @__PURE__ */ new Date(), o =
|
|
60
|
-
return
|
|
57
|
+
flow: a ?? "CREATE",
|
|
58
|
+
courseStream: O
|
|
59
|
+
}), { testType: k, milestoneEndDate: t, committed: R } = D, { milestoneEndDate: T } = R, { title: W } = G, U = a === "EDIT" ? "Update goal" : "Create goal", w = /* @__PURE__ */ new Date(), r = c(w.setDate(w.getDate() + 1), "yyyy-MM-dd"), i = c(Date.now() + ee, "yyyy-MM-dd"), V = P(() => {
|
|
60
|
+
const e = /* @__PURE__ */ new Date(), o = v(e) ? ne(e, 1) : e;
|
|
61
|
+
return re({
|
|
61
62
|
start: o,
|
|
62
|
-
end:
|
|
63
|
-
}).map((
|
|
64
|
-
const
|
|
63
|
+
end: ie(o, 11)
|
|
64
|
+
}).map((b) => {
|
|
65
|
+
const x = v(b);
|
|
65
66
|
return {
|
|
66
|
-
id: c(
|
|
67
|
-
label: c(
|
|
68
|
-
value:
|
|
67
|
+
id: c(x, "yyyy-MM-dd"),
|
|
68
|
+
label: c(b, "MMMM yyyy"),
|
|
69
|
+
value: x
|
|
69
70
|
};
|
|
70
71
|
});
|
|
71
|
-
}, []),
|
|
72
|
+
}, []), X = l(
|
|
72
73
|
(e) => {
|
|
73
|
-
|
|
74
|
+
n({
|
|
74
75
|
milestoneEndDate: e,
|
|
75
76
|
milestoneEndDateIsTentative: !0
|
|
76
77
|
});
|
|
77
78
|
},
|
|
78
|
-
[
|
|
79
|
-
),
|
|
79
|
+
[n]
|
|
80
|
+
), Y = l(
|
|
80
81
|
(e) => {
|
|
81
82
|
const o = e.target.value;
|
|
82
83
|
if (o) {
|
|
@@ -84,76 +85,76 @@ const be = z(function({
|
|
|
84
85
|
d("");
|
|
85
86
|
return;
|
|
86
87
|
}
|
|
87
|
-
|
|
88
|
+
n({
|
|
88
89
|
milestoneEndDate: o,
|
|
89
90
|
milestoneEndDateIsTentative: !0
|
|
90
91
|
});
|
|
91
92
|
}
|
|
92
93
|
},
|
|
93
|
-
[r, f,
|
|
94
|
-
),
|
|
94
|
+
[r, f, n, i]
|
|
95
|
+
), p = l(
|
|
95
96
|
(e) => {
|
|
96
|
-
t && (t < r || t > i) ? t < r ? d("Please enter a future date") : d("Please select a date within the next year") : e ?
|
|
97
|
+
t && (t < r || t > i) ? t < r ? d("Please enter a future date") : d("Please select a date within the next year") : e ? I(!0) : (n({
|
|
97
98
|
milestoneEndDate: t,
|
|
98
99
|
committed: {
|
|
99
100
|
milestoneEndDate: !0,
|
|
100
101
|
milestoneEndDateIsTentative: !0
|
|
101
102
|
}
|
|
102
|
-
}),
|
|
103
|
+
}), j(!0));
|
|
103
104
|
},
|
|
104
|
-
[t, r, i,
|
|
105
|
-
),
|
|
106
|
-
|
|
107
|
-
}, [
|
|
108
|
-
return
|
|
109
|
-
|
|
110
|
-
}, [
|
|
111
|
-
|
|
105
|
+
[t, r, i, n, I]
|
|
106
|
+
), q = l(() => {
|
|
107
|
+
p(!0);
|
|
108
|
+
}, [p]);
|
|
109
|
+
return J(() => {
|
|
110
|
+
T && h && u(!0);
|
|
111
|
+
}, [T, h, u]), /* @__PURE__ */ s(
|
|
112
|
+
se,
|
|
112
113
|
{
|
|
113
|
-
useAbsoluteFooter:
|
|
114
|
-
headerElement: /* @__PURE__ */
|
|
114
|
+
useAbsoluteFooter: B,
|
|
115
|
+
headerElement: /* @__PURE__ */ s(y, { $flexDirection: "row", $alignItems: "center", $flexGapX: 1, children: /* @__PURE__ */ s(F, { $renderAs: "ab2", children: W }) }),
|
|
115
116
|
bodyHeight: "100%",
|
|
116
|
-
bodyElement: /* @__PURE__ */
|
|
117
|
+
bodyElement: /* @__PURE__ */ s(y, { $width: "100%", $height: "100%", $alignItems: "center", $justifyContent: "center", children: /* @__PURE__ */ s(
|
|
117
118
|
ae,
|
|
118
119
|
{
|
|
119
|
-
testType:
|
|
120
|
+
testType: k,
|
|
120
121
|
tomorrowsDate: r,
|
|
121
122
|
oneYearFutureDate: i,
|
|
122
123
|
errorMessage: f,
|
|
123
|
-
durationOptions:
|
|
124
|
+
durationOptions: V,
|
|
124
125
|
milestoneEndDate: t,
|
|
125
|
-
handleDateChange:
|
|
126
|
-
handleDurationChange:
|
|
126
|
+
handleDateChange: Y,
|
|
127
|
+
handleDurationChange: X
|
|
127
128
|
}
|
|
128
129
|
) }),
|
|
129
|
-
footerElement: /* @__PURE__ */
|
|
130
|
-
|
|
131
|
-
|
|
130
|
+
footerElement: L !== "STUDENT" ? /* @__PURE__ */ z(y, { $flexDirection: "row", $flexGap: 12, $alignItems: "center", children: [
|
|
131
|
+
a !== "EDIT" && /* @__PURE__ */ s($, { $borderRadius: 50, children: /* @__PURE__ */ s(
|
|
132
|
+
Z,
|
|
132
133
|
{
|
|
133
134
|
renderAs: "secondary",
|
|
134
135
|
analyticsLabel: "Save as draft",
|
|
135
|
-
Icon:
|
|
136
|
-
disabled: !t ||
|
|
137
|
-
onClick:
|
|
136
|
+
Icon: K,
|
|
137
|
+
disabled: !t || g,
|
|
138
|
+
onClick: q
|
|
138
139
|
}
|
|
139
140
|
) }),
|
|
140
|
-
|
|
141
|
-
|
|
141
|
+
/* @__PURE__ */ s($, { children: /* @__PURE__ */ s(
|
|
142
|
+
Q,
|
|
142
143
|
{
|
|
143
144
|
renderAs: "primary",
|
|
144
145
|
size: "small",
|
|
145
146
|
shape: "square",
|
|
146
147
|
widthX: 9,
|
|
147
|
-
label:
|
|
148
|
-
disabled: !t ||
|
|
149
|
-
onClick:
|
|
148
|
+
label: U,
|
|
149
|
+
disabled: !t || g || !!N,
|
|
150
|
+
onClick: p
|
|
150
151
|
}
|
|
151
152
|
) })
|
|
152
|
-
] })
|
|
153
|
+
] }) : void 0
|
|
153
154
|
}
|
|
154
155
|
);
|
|
155
156
|
});
|
|
156
157
|
export {
|
|
157
|
-
|
|
158
|
+
ve as default
|
|
158
159
|
};
|
|
159
160
|
//# sourceMappingURL=goal-completion-date-selector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"goal-completion-date-selector.js","sources":["../../../../../../src/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.tsx"],"sourcesContent":["import { addDays, addMonths, eachMonthOfInterval, format, lastDayOfMonth } from 'date-fns';\nimport { memo, useCallback, useEffect, useMemo, useState, type FC } from 'react';\n\nimport DraftIcon from '../../../../../assets/line-icons/icons/draft';\nimport Button from '../../../../ui/buttons/button/button';\nimport IconButton from '../../../../ui/buttons/icon-button/icon-button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { ONE_YEAR_TIMESTAMP_IN_MILLISECONDS } from '../../../constants';\nimport useSubmitGoalCreation from '../../../hooks/use-submit-goal-creation';\nimport { useMilestoneContext } from '../../milestone-create-context';\nimport type { IFormStepProps } from '../../milestone-create-types';\nimport BodyLayout from '../body-layout/body-layout';\nimport * as Styled from './goal-completion-date-selector-styled';\nimport GoalCompletionDateSelectorView from './goal-completion-date-selector-view';\n\nconst GoalCompletionDateSelector: FC<IFormStepProps> = memo(function GoalCompletionDateSelector({\n formData,\n config,\n studentId,\n milestoneId = '',\n currentStep,\n onFormDataChange,\n onPreSubmit,\n courseStream,\n useAbsoluteFooter,\n userType,\n}) {\n const [errorMessage, setErrorMessage] = useState('');\n const [proceedingWithChanges, setProceedingWithChanges] = useState(false);\n\n const { flow } = useMilestoneContext();\n\n const {\n share_message: {\n default: {\n create_message_template: createMessageTemplate,\n update_message_template: updateMessageTemplate,\n },\n },\n } = config;\n\n const handleGoalCreationSubmission = useCallback(\n (isGoalCreation?: boolean) => {\n if (flow) {\n const submitBaseMessage = flow === 'EDIT' ? updateMessageTemplate : createMessageTemplate;\n\n onPreSubmit?.({\n isDraftPlan: !isGoalCreation,\n flow: flow,\n submitBaseMessage,\n });\n }\n },\n [flow, createMessageTemplate, updateMessageTemplate, onPreSubmit],\n );\n\n const { isProcessing, onSubmit } = useSubmitGoalCreation({\n formData,\n studentId,\n onSubmit: handleGoalCreationSubmission,\n setError: setErrorMessage,\n milestoneId,\n flow: flow ?? 'CREATE',\n courseStream,\n });\n\n const { testType, milestoneEndDate, committed } = formData;\n const { milestoneEndDate: committedMilestoneEndDate } = committed;\n const { title } = currentStep;\n const buttonLabel = flow === 'EDIT' ? 'Update goal' : 'Create goal';\n\n const newDate = new Date();\n const tomorrowsDate = format(newDate.setDate(newDate.getDate() + 1), 'yyyy-MM-dd');\n\n const oneYearFutureDate = format(Date.now() + ONE_YEAR_TIMESTAMP_IN_MILLISECONDS, 'yyyy-MM-dd');\n\n const durationOptions = useMemo(() => {\n const today = new Date();\n const startDay = lastDayOfMonth(today) ? addDays(today, 1) : today;\n const months = eachMonthOfInterval({\n start: startDay,\n end: addMonths(startDay, 11),\n });\n\n return months.map(date => {\n const lastDay = lastDayOfMonth(date);\n\n return {\n id: format(lastDay, 'yyyy-MM-dd'),\n label: format(date, 'MMMM yyyy'),\n value: lastDay,\n };\n });\n }, []);\n\n const handleDurationChange = useCallback(\n (date: string) => {\n onFormDataChange({\n milestoneEndDate: date,\n milestoneEndDateIsTentative: true,\n });\n },\n [onFormDataChange],\n );\n\n const handleDateChange = useCallback<\n NonNullable<React.InputHTMLAttributes<HTMLInputElement>['onChange']>\n >(\n event => {\n const value = event.target.value;\n\n if (!value) return;\n\n if (errorMessage && value >= tomorrowsDate && value < oneYearFutureDate) {\n setErrorMessage('');\n\n return;\n }\n\n onFormDataChange({\n milestoneEndDate: value,\n milestoneEndDateIsTentative: true,\n });\n },\n [tomorrowsDate, errorMessage, onFormDataChange, oneYearFutureDate],\n );\n\n const handleNext = useCallback(\n (isDraft?: boolean) => {\n if (\n milestoneEndDate &&\n (milestoneEndDate < tomorrowsDate || milestoneEndDate > oneYearFutureDate)\n ) {\n if (milestoneEndDate < tomorrowsDate) {\n setErrorMessage('Please enter a future date');\n } else {\n setErrorMessage('Please select a date within the next year');\n }\n } else if (isDraft) {\n onSubmit(true);\n } else {\n onFormDataChange({\n milestoneEndDate,\n committed: {\n milestoneEndDate: true,\n milestoneEndDateIsTentative: true,\n },\n });\n setProceedingWithChanges(true);\n }\n },\n [milestoneEndDate, tomorrowsDate, oneYearFutureDate, onFormDataChange, onSubmit],\n );\n\n const handleOnSaveAsDraft = useCallback(() => {\n handleNext(true);\n }, [handleNext]);\n\n useEffect(() => {\n if (committedMilestoneEndDate && proceedingWithChanges) {\n handleGoalCreationSubmission(true);\n }\n }, [committedMilestoneEndDate, proceedingWithChanges, handleGoalCreationSubmission]);\n\n return (\n <BodyLayout\n useAbsoluteFooter={useAbsoluteFooter}\n headerElement={\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGapX={1}>\n <Text $renderAs=\"ab2\">{title}</Text>\n </FlexView>\n }\n bodyHeight=\"100%\"\n bodyElement={\n <FlexView $width=\"100%\" $height=\"100%\" $alignItems=\"center\" $justifyContent=\"center\">\n <GoalCompletionDateSelectorView\n testType={testType}\n tomorrowsDate={tomorrowsDate}\n oneYearFutureDate={oneYearFutureDate}\n errorMessage={errorMessage}\n durationOptions={durationOptions}\n milestoneEndDate={milestoneEndDate}\n handleDateChange={handleDateChange}\n handleDurationChange={handleDurationChange}\n />\n </FlexView>\n }\n footerElement={\n <FlexView $flexDirection=\"row\" $flexGap={12} $alignItems=\"center\">\n {flow !== 'EDIT' && userType !== 'STUDENT' && (\n <Styled.ButtonWrapper $borderRadius={50}>\n <IconButton\n renderAs=\"secondary\"\n analyticsLabel=\"Save as draft\"\n Icon={DraftIcon}\n disabled={!milestoneEndDate || isProcessing}\n onClick={handleOnSaveAsDraft}\n />\n </Styled.ButtonWrapper>\n )}\n\n {!useAbsoluteFooter && (\n <Styled.ButtonWrapper>\n <Button\n renderAs=\"primary\"\n size=\"small\"\n shape=\"square\"\n widthX={9}\n label={buttonLabel}\n disabled={!milestoneEndDate || isProcessing}\n onClick={handleNext}\n />\n </Styled.ButtonWrapper>\n )}\n </FlexView>\n }\n />\n );\n});\n\nexport default GoalCompletionDateSelector;\n"],"names":["GoalCompletionDateSelector","memo","formData","config","studentId","milestoneId","currentStep","onFormDataChange","onPreSubmit","courseStream","useAbsoluteFooter","userType","errorMessage","setErrorMessage","useState","proceedingWithChanges","setProceedingWithChanges","flow","useMilestoneContext","createMessageTemplate","updateMessageTemplate","handleGoalCreationSubmission","useCallback","isGoalCreation","submitBaseMessage","isProcessing","onSubmit","useSubmitGoalCreation","testType","milestoneEndDate","committed","committedMilestoneEndDate","title","buttonLabel","newDate","tomorrowsDate","format","oneYearFutureDate","ONE_YEAR_TIMESTAMP_IN_MILLISECONDS","durationOptions","useMemo","today","startDay","lastDayOfMonth","addDays","eachMonthOfInterval","addMonths","date","lastDay","handleDurationChange","handleDateChange","event","value","handleNext","isDraft","handleOnSaveAsDraft","useEffect","jsx","BodyLayout","FlexView","Text","GoalCompletionDateSelectorView","Styled.ButtonWrapper","IconButton","DraftIcon","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"goal-completion-date-selector.js","sources":["../../../../../../src/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.tsx"],"sourcesContent":["import { addDays, addMonths, eachMonthOfInterval, format, lastDayOfMonth } from 'date-fns';\nimport { memo, useCallback, useEffect, useMemo, useState, type FC } from 'react';\n\nimport DraftIcon from '../../../../../assets/line-icons/icons/draft';\nimport Button from '../../../../ui/buttons/button/button';\nimport IconButton from '../../../../ui/buttons/icon-button/icon-button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { ONE_YEAR_TIMESTAMP_IN_MILLISECONDS } from '../../../constants';\nimport useSubmitGoalCreation from '../../../hooks/use-submit-goal-creation';\nimport { useMilestoneContext } from '../../milestone-create-context';\nimport type { IFormStepProps } from '../../milestone-create-types';\nimport BodyLayout from '../body-layout/body-layout';\nimport * as Styled from './goal-completion-date-selector-styled';\nimport GoalCompletionDateSelectorView from './goal-completion-date-selector-view';\n\nconst GoalCompletionDateSelector: FC<IFormStepProps> = memo(function GoalCompletionDateSelector({\n formData,\n config,\n studentId,\n milestoneId = '',\n currentStep,\n onFormDataChange,\n onPreSubmit,\n courseStream,\n useAbsoluteFooter,\n userType,\n disablePublish,\n}) {\n const [errorMessage, setErrorMessage] = useState('');\n const [proceedingWithChanges, setProceedingWithChanges] = useState(false);\n\n const { flow } = useMilestoneContext();\n\n const {\n share_message: {\n default: {\n create_message_template: createMessageTemplate,\n update_message_template: updateMessageTemplate,\n },\n },\n } = config;\n\n const handleGoalCreationSubmission = useCallback(\n (isGoalCreation?: boolean) => {\n if (flow) {\n const submitBaseMessage = flow === 'EDIT' ? updateMessageTemplate : createMessageTemplate;\n\n onPreSubmit?.({\n isDraftPlan: !isGoalCreation,\n flow: flow,\n submitBaseMessage,\n });\n }\n },\n [flow, createMessageTemplate, updateMessageTemplate, onPreSubmit],\n );\n\n const { isProcessing, onSubmit } = useSubmitGoalCreation({\n formData,\n studentId,\n onSubmit: handleGoalCreationSubmission,\n setError: setErrorMessage,\n milestoneId,\n flow: flow ?? 'CREATE',\n courseStream,\n });\n\n const { testType, milestoneEndDate, committed } = formData;\n const { milestoneEndDate: committedMilestoneEndDate } = committed;\n const { title } = currentStep;\n const buttonLabel = flow === 'EDIT' ? 'Update goal' : 'Create goal';\n\n const newDate = new Date();\n const tomorrowsDate = format(newDate.setDate(newDate.getDate() + 1), 'yyyy-MM-dd');\n\n const oneYearFutureDate = format(Date.now() + ONE_YEAR_TIMESTAMP_IN_MILLISECONDS, 'yyyy-MM-dd');\n\n const durationOptions = useMemo(() => {\n const today = new Date();\n const startDay = lastDayOfMonth(today) ? addDays(today, 1) : today;\n const months = eachMonthOfInterval({\n start: startDay,\n end: addMonths(startDay, 11),\n });\n\n return months.map(date => {\n const lastDay = lastDayOfMonth(date);\n\n return {\n id: format(lastDay, 'yyyy-MM-dd'),\n label: format(date, 'MMMM yyyy'),\n value: lastDay,\n };\n });\n }, []);\n\n const handleDurationChange = useCallback(\n (date: string) => {\n onFormDataChange({\n milestoneEndDate: date,\n milestoneEndDateIsTentative: true,\n });\n },\n [onFormDataChange],\n );\n\n const handleDateChange = useCallback<\n NonNullable<React.InputHTMLAttributes<HTMLInputElement>['onChange']>\n >(\n event => {\n const value = event.target.value;\n\n if (!value) return;\n\n if (errorMessage && value >= tomorrowsDate && value < oneYearFutureDate) {\n setErrorMessage('');\n\n return;\n }\n\n onFormDataChange({\n milestoneEndDate: value,\n milestoneEndDateIsTentative: true,\n });\n },\n [tomorrowsDate, errorMessage, onFormDataChange, oneYearFutureDate],\n );\n\n const handleNext = useCallback(\n (isDraft?: boolean) => {\n if (\n milestoneEndDate &&\n (milestoneEndDate < tomorrowsDate || milestoneEndDate > oneYearFutureDate)\n ) {\n if (milestoneEndDate < tomorrowsDate) {\n setErrorMessage('Please enter a future date');\n } else {\n setErrorMessage('Please select a date within the next year');\n }\n } else if (isDraft) {\n onSubmit(true);\n } else {\n onFormDataChange({\n milestoneEndDate,\n committed: {\n milestoneEndDate: true,\n milestoneEndDateIsTentative: true,\n },\n });\n setProceedingWithChanges(true);\n }\n },\n [milestoneEndDate, tomorrowsDate, oneYearFutureDate, onFormDataChange, onSubmit],\n );\n\n const handleOnSaveAsDraft = useCallback(() => {\n handleNext(true);\n }, [handleNext]);\n\n useEffect(() => {\n if (committedMilestoneEndDate && proceedingWithChanges) {\n handleGoalCreationSubmission(true);\n }\n }, [committedMilestoneEndDate, proceedingWithChanges, handleGoalCreationSubmission]);\n\n return (\n <BodyLayout\n useAbsoluteFooter={useAbsoluteFooter}\n headerElement={\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGapX={1}>\n <Text $renderAs=\"ab2\">{title}</Text>\n </FlexView>\n }\n bodyHeight=\"100%\"\n bodyElement={\n <FlexView $width=\"100%\" $height=\"100%\" $alignItems=\"center\" $justifyContent=\"center\">\n <GoalCompletionDateSelectorView\n testType={testType}\n tomorrowsDate={tomorrowsDate}\n oneYearFutureDate={oneYearFutureDate}\n errorMessage={errorMessage}\n durationOptions={durationOptions}\n milestoneEndDate={milestoneEndDate}\n handleDateChange={handleDateChange}\n handleDurationChange={handleDurationChange}\n />\n </FlexView>\n }\n footerElement={\n userType !== 'STUDENT' ? (\n <FlexView $flexDirection=\"row\" $flexGap={12} $alignItems=\"center\">\n {flow !== 'EDIT' && (\n <Styled.ButtonWrapper $borderRadius={50}>\n <IconButton\n renderAs=\"secondary\"\n analyticsLabel=\"Save as draft\"\n Icon={DraftIcon}\n disabled={!milestoneEndDate || isProcessing}\n onClick={handleOnSaveAsDraft}\n />\n </Styled.ButtonWrapper>\n )}\n\n <Styled.ButtonWrapper>\n <Button\n renderAs=\"primary\"\n size=\"small\"\n shape=\"square\"\n widthX={9}\n label={buttonLabel}\n disabled={!milestoneEndDate || isProcessing || !!disablePublish}\n onClick={handleNext}\n />\n </Styled.ButtonWrapper>\n </FlexView>\n ) : undefined\n }\n />\n );\n});\n\nexport default GoalCompletionDateSelector;\n"],"names":["GoalCompletionDateSelector","memo","formData","config","studentId","milestoneId","currentStep","onFormDataChange","onPreSubmit","courseStream","useAbsoluteFooter","userType","disablePublish","errorMessage","setErrorMessage","useState","proceedingWithChanges","setProceedingWithChanges","flow","useMilestoneContext","createMessageTemplate","updateMessageTemplate","handleGoalCreationSubmission","useCallback","isGoalCreation","submitBaseMessage","isProcessing","onSubmit","useSubmitGoalCreation","testType","milestoneEndDate","committed","committedMilestoneEndDate","title","buttonLabel","newDate","tomorrowsDate","format","oneYearFutureDate","ONE_YEAR_TIMESTAMP_IN_MILLISECONDS","durationOptions","useMemo","today","startDay","lastDayOfMonth","addDays","eachMonthOfInterval","addMonths","date","lastDay","handleDurationChange","handleDateChange","event","value","handleNext","isDraft","handleOnSaveAsDraft","useEffect","jsx","BodyLayout","FlexView","Text","GoalCompletionDateSelectorView","jsxs","Styled.ButtonWrapper","IconButton","DraftIcon","Button"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import { memo as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import { useFormDataPrefiller as
|
|
6
|
-
import { Container as
|
|
7
|
-
const
|
|
2
|
+
import { memo as I, useMemo as J, useEffect as K } from "react";
|
|
3
|
+
import L from "./milestone-create-components-map.js";
|
|
4
|
+
import N from "./milestone-create-context.js";
|
|
5
|
+
import { useFormDataPrefiller as O, useMilestoneFormTree as Q, useFormTreeTraversal as U } from "./milestone-create-hooks.js";
|
|
6
|
+
import { Container as W, BodyContainer as X } from "./milestone-create-styled.js";
|
|
7
|
+
const oe = I(function({
|
|
8
8
|
studentName: M,
|
|
9
9
|
studentId: l,
|
|
10
10
|
height: x,
|
|
@@ -29,30 +29,31 @@ const te = A(function({
|
|
|
29
29
|
isTeacherTrainingAccount: j,
|
|
30
30
|
onDeleteGoal: k,
|
|
31
31
|
userType: w,
|
|
32
|
-
useAbsoluteFooter: H
|
|
32
|
+
useAbsoluteFooter: H,
|
|
33
|
+
disablePublish: R
|
|
33
34
|
}) {
|
|
34
|
-
const { formDataState: i, setFormData:
|
|
35
|
+
const { formDataState: i, setFormData: q } = O(s, {
|
|
35
36
|
schoolData: P,
|
|
36
37
|
board: F,
|
|
37
38
|
grade: T,
|
|
38
39
|
config: a,
|
|
39
40
|
flow: t,
|
|
40
41
|
currentCountryCode: B
|
|
41
|
-
}),
|
|
42
|
+
}), y = Q({
|
|
42
43
|
flow: t,
|
|
43
44
|
formDataState: i,
|
|
44
45
|
isGoalCreation: c
|
|
45
|
-
}), o = e ? i : s, n = e ? "edit" : "view", u = n === "view", { currentStep: m, updateFormData:
|
|
46
|
+
}), o = e ? i : s, n = e ? "edit" : "view", u = n === "view", { currentStep: m, updateFormData: z, handleBack: p } = U({
|
|
46
47
|
flow: t,
|
|
47
|
-
updatedFormTree:
|
|
48
|
+
updatedFormTree: y,
|
|
48
49
|
formData: o,
|
|
49
50
|
formDataState: i,
|
|
50
|
-
setFormData:
|
|
51
|
+
setFormData: q,
|
|
51
52
|
handleExit: $
|
|
52
|
-
}), { name: f } = m || {}, v = f ?
|
|
53
|
-
return
|
|
53
|
+
}), { name: f } = m || {}, v = f ? L[f] : void 0, A = J(() => ({ handleBack: p, mode: n, flow: t }), [p, n, t]);
|
|
54
|
+
return K(() => {
|
|
54
55
|
e && e(o);
|
|
55
|
-
}, [o, e]), /* @__PURE__ */ r(
|
|
56
|
+
}, [o, e]), /* @__PURE__ */ r(N.Provider, { value: A, children: /* @__PURE__ */ r(W, { $height: x, $minHeight: S, $viewMode: u, children: /* @__PURE__ */ r(X, { $viewMode: u, children: v && m && d ? /* @__PURE__ */ r(
|
|
56
57
|
v,
|
|
57
58
|
{
|
|
58
59
|
studentName: M,
|
|
@@ -60,7 +61,7 @@ const te = A(function({
|
|
|
60
61
|
isGoalCreation: c,
|
|
61
62
|
config: a,
|
|
62
63
|
formData: o,
|
|
63
|
-
onFormDataChange:
|
|
64
|
+
onFormDataChange: z,
|
|
64
65
|
onChapterExitWarning: h,
|
|
65
66
|
studentId: l,
|
|
66
67
|
onPreSubmit: C,
|
|
@@ -72,11 +73,12 @@ const te = A(function({
|
|
|
72
73
|
canDeleteGoal: V,
|
|
73
74
|
onDeleteGoal: k,
|
|
74
75
|
userType: w,
|
|
75
|
-
useAbsoluteFooter: H
|
|
76
|
+
useAbsoluteFooter: H,
|
|
77
|
+
disablePublish: R
|
|
76
78
|
}
|
|
77
79
|
) : void 0 }) }) });
|
|
78
80
|
});
|
|
79
81
|
export {
|
|
80
|
-
|
|
82
|
+
oe as default
|
|
81
83
|
};
|
|
82
84
|
//# sourceMappingURL=milestone-create.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"milestone-create.js","sources":["../../../../src/features/milestone/create/milestone-create.tsx"],"sourcesContent":["import { memo, useEffect, useMemo, type FC } from 'react';\n\nimport ComponentsMap from './milestone-create-components-map';\nimport MilestoneCreateContext, { type MileStoneJourneyMode } from './milestone-create-context';\nimport {\n useFormDataPrefiller,\n useFormTreeTraversal,\n useMilestoneFormTree,\n} from './milestone-create-hooks';\nimport { BodyContainer, Container } from './milestone-create-styled';\nimport type { IMileStoneCreateProps, IMilestoneFormData } from './milestone-create-types';\n\nconst MilestoneCreate: FC<IMileStoneCreateProps> = memo(function MilestoneCreate({\n studentName,\n studentId,\n height,\n minHeight,\n formData: formDataProp,\n config,\n onChapterExitWarning,\n onFormDataChange,\n onPreSubmit: handlePreSubmit,\n onExit: handleExit,\n board,\n schoolData,\n grade,\n flow,\n milestoneId,\n currentCountryCode,\n isGoalCreation,\n courseStream,\n classRatio,\n enrollmentType,\n canDeleteGoal,\n isTeacherTrainingAccount,\n onDeleteGoal,\n userType,\n useAbsoluteFooter,\n}) {\n const { formDataState, setFormData } = useFormDataPrefiller(formDataProp, {\n schoolData,\n board,\n grade,\n config,\n flow,\n currentCountryCode,\n });\n\n const updatedFormTree = useMilestoneFormTree({\n flow,\n formDataState,\n isGoalCreation,\n });\n\n const formData = (onFormDataChange ? formDataState : formDataProp) as IMilestoneFormData; //TODO: make better\n\n const mode: MileStoneJourneyMode = onFormDataChange ? 'edit' : 'view';\n const isViewMode = mode === 'view';\n\n const { currentStep, updateFormData, handleBack } = useFormTreeTraversal({\n flow,\n updatedFormTree,\n formData,\n formDataState,\n setFormData,\n handleExit,\n });\n\n const { name } = currentStep || {};\n const StepComponent = name ? ComponentsMap[name] : undefined;\n\n const contextValue = useMemo(() => ({ handleBack, mode, flow }), [handleBack, mode, flow]);\n\n useEffect(() => {\n if (onFormDataChange) {\n onFormDataChange(formData);\n }\n }, [formData, onFormDataChange]);\n\n return (\n <MilestoneCreateContext.Provider value={contextValue}>\n <Container $height={height} $minHeight={minHeight} $viewMode={isViewMode}>\n <BodyContainer $viewMode={isViewMode}>\n {StepComponent && currentStep && enrollmentType ? (\n <StepComponent\n studentName={studentName}\n currentStep={currentStep}\n isGoalCreation={isGoalCreation}\n config={config}\n formData={formData}\n onFormDataChange={updateFormData}\n onChapterExitWarning={onChapterExitWarning}\n studentId={studentId}\n onPreSubmit={handlePreSubmit}\n milestoneId={milestoneId}\n courseStream={courseStream}\n classRatio={classRatio || 0}\n enrollmentType={enrollmentType}\n isTeacherTrainingAccount={isTeacherTrainingAccount}\n canDeleteGoal={canDeleteGoal}\n onDeleteGoal={onDeleteGoal}\n userType={userType}\n useAbsoluteFooter={useAbsoluteFooter}\n />\n ) : undefined}\n </BodyContainer>\n </Container>\n </MilestoneCreateContext.Provider>\n );\n});\n\nexport default MilestoneCreate;\n"],"names":["MilestoneCreate","memo","studentName","studentId","height","minHeight","formDataProp","config","onChapterExitWarning","onFormDataChange","handlePreSubmit","handleExit","board","schoolData","grade","flow","milestoneId","currentCountryCode","isGoalCreation","courseStream","classRatio","enrollmentType","canDeleteGoal","isTeacherTrainingAccount","onDeleteGoal","userType","useAbsoluteFooter","formDataState","setFormData","useFormDataPrefiller","updatedFormTree","useMilestoneFormTree","formData","mode","isViewMode","currentStep","updateFormData","handleBack","useFormTreeTraversal","name","StepComponent","ComponentsMap","contextValue","useMemo","useEffect","jsx","MilestoneCreateContext","Container","BodyContainer"],"mappings":";;;;;;AAYM,MAAAA,KAA6CC,EAAK,SAAyB;AAAA,EAC/E,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAUC;AAAA,EACV,QAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,aAAaC;AAAA,EACb,QAAQC;AAAA,EACR,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,aAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,0BAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,mBAAAC;AACF,GAAG;AACD,QAAM,EAAE,eAAAC,GAAe,aAAAC,MAAgBC,
|
|
1
|
+
{"version":3,"file":"milestone-create.js","sources":["../../../../src/features/milestone/create/milestone-create.tsx"],"sourcesContent":["import { memo, useEffect, useMemo, type FC } from 'react';\n\nimport ComponentsMap from './milestone-create-components-map';\nimport MilestoneCreateContext, { type MileStoneJourneyMode } from './milestone-create-context';\nimport {\n useFormDataPrefiller,\n useFormTreeTraversal,\n useMilestoneFormTree,\n} from './milestone-create-hooks';\nimport { BodyContainer, Container } from './milestone-create-styled';\nimport type { IMileStoneCreateProps, IMilestoneFormData } from './milestone-create-types';\n\nconst MilestoneCreate: FC<IMileStoneCreateProps> = memo(function MilestoneCreate({\n studentName,\n studentId,\n height,\n minHeight,\n formData: formDataProp,\n config,\n onChapterExitWarning,\n onFormDataChange,\n onPreSubmit: handlePreSubmit,\n onExit: handleExit,\n board,\n schoolData,\n grade,\n flow,\n milestoneId,\n currentCountryCode,\n isGoalCreation,\n courseStream,\n classRatio,\n enrollmentType,\n canDeleteGoal,\n isTeacherTrainingAccount,\n onDeleteGoal,\n userType,\n useAbsoluteFooter,\n disablePublish,\n}) {\n const { formDataState, setFormData } = useFormDataPrefiller(formDataProp, {\n schoolData,\n board,\n grade,\n config,\n flow,\n currentCountryCode,\n });\n\n const updatedFormTree = useMilestoneFormTree({\n flow,\n formDataState,\n isGoalCreation,\n });\n\n const formData = (onFormDataChange ? formDataState : formDataProp) as IMilestoneFormData; //TODO: make better\n\n const mode: MileStoneJourneyMode = onFormDataChange ? 'edit' : 'view';\n const isViewMode = mode === 'view';\n\n const { currentStep, updateFormData, handleBack } = useFormTreeTraversal({\n flow,\n updatedFormTree,\n formData,\n formDataState,\n setFormData,\n handleExit,\n });\n\n const { name } = currentStep || {};\n const StepComponent = name ? ComponentsMap[name] : undefined;\n\n const contextValue = useMemo(() => ({ handleBack, mode, flow }), [handleBack, mode, flow]);\n\n useEffect(() => {\n if (onFormDataChange) {\n onFormDataChange(formData);\n }\n }, [formData, onFormDataChange]);\n\n return (\n <MilestoneCreateContext.Provider value={contextValue}>\n <Container $height={height} $minHeight={minHeight} $viewMode={isViewMode}>\n <BodyContainer $viewMode={isViewMode}>\n {StepComponent && currentStep && enrollmentType ? (\n <StepComponent\n studentName={studentName}\n currentStep={currentStep}\n isGoalCreation={isGoalCreation}\n config={config}\n formData={formData}\n onFormDataChange={updateFormData}\n onChapterExitWarning={onChapterExitWarning}\n studentId={studentId}\n onPreSubmit={handlePreSubmit}\n milestoneId={milestoneId}\n courseStream={courseStream}\n classRatio={classRatio || 0}\n enrollmentType={enrollmentType}\n isTeacherTrainingAccount={isTeacherTrainingAccount}\n canDeleteGoal={canDeleteGoal}\n onDeleteGoal={onDeleteGoal}\n userType={userType}\n useAbsoluteFooter={useAbsoluteFooter}\n disablePublish={disablePublish}\n />\n ) : undefined}\n </BodyContainer>\n </Container>\n </MilestoneCreateContext.Provider>\n );\n});\n\nexport default MilestoneCreate;\n"],"names":["MilestoneCreate","memo","studentName","studentId","height","minHeight","formDataProp","config","onChapterExitWarning","onFormDataChange","handlePreSubmit","handleExit","board","schoolData","grade","flow","milestoneId","currentCountryCode","isGoalCreation","courseStream","classRatio","enrollmentType","canDeleteGoal","isTeacherTrainingAccount","onDeleteGoal","userType","useAbsoluteFooter","disablePublish","formDataState","setFormData","useFormDataPrefiller","updatedFormTree","useMilestoneFormTree","formData","mode","isViewMode","currentStep","updateFormData","handleBack","useFormTreeTraversal","name","StepComponent","ComponentsMap","contextValue","useMemo","useEffect","jsx","MilestoneCreateContext","Container","BodyContainer"],"mappings":";;;;;;AAYM,MAAAA,KAA6CC,EAAK,SAAyB;AAAA,EAC/E,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAUC;AAAA,EACV,QAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,aAAaC;AAAA,EACb,QAAQC;AAAA,EACR,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,aAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,0BAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,gBAAAC;AACF,GAAG;AACD,QAAM,EAAE,eAAAC,GAAe,aAAAC,MAAgBC,EAAqBxB,GAAc;AAAA,IACxE,YAAAO;AAAA,IACA,OAAAD;AAAA,IACA,OAAAE;AAAA,IACA,QAAAP;AAAA,IACA,MAAAQ;AAAA,IACA,oBAAAE;AAAA,EAAA,CACD,GAEKc,IAAkBC,EAAqB;AAAA,IAC3C,MAAAjB;AAAA,IACA,eAAAa;AAAA,IACA,gBAAAV;AAAA,EAAA,CACD,GAEKe,IAAYxB,IAAmBmB,IAAgBtB,GAE/C4B,IAA6BzB,IAAmB,SAAS,QACzD0B,IAAaD,MAAS,QAEtB,EAAE,aAAAE,GAAa,gBAAAC,GAAgB,YAAAC,EAAA,IAAeC,EAAqB;AAAA,IACvE,MAAAxB;AAAA,IACA,iBAAAgB;AAAA,IACA,UAAAE;AAAA,IACA,eAAAL;AAAA,IACA,aAAAC;AAAA,IACA,YAAAlB;AAAA,EAAA,CACD,GAEK,EAAE,MAAA6B,EAAA,IAASJ,KAAe,IAC1BK,IAAgBD,IAAOE,EAAcF,CAAI,IAAI,QAE7CG,IAAeC,EAAQ,OAAO,EAAE,YAAAN,GAAY,MAAAJ,GAAM,MAAAnB,EAAK,IAAI,CAACuB,GAAYJ,GAAMnB,CAAI,CAAC;AAEzF,SAAA8B,EAAU,MAAM;AACd,IAAIpC,KACFA,EAAiBwB,CAAQ;AAAA,EAC3B,GACC,CAACA,GAAUxB,CAAgB,CAAC,GAG7B,gBAAAqC,EAACC,EAAuB,UAAvB,EAAgC,OAAOJ,GACtC,UAAA,gBAAAG,EAACE,KAAU,SAAS5C,GAAQ,YAAYC,GAAW,WAAW8B,GAC5D,UAAC,gBAAAW,EAAAG,GAAA,EAAc,WAAWd,GACvB,UAAAM,KAAiBL,KAAef,IAC/B,gBAAAyB;AAAA,IAACL;AAAA,IAAA;AAAA,MACC,aAAAvC;AAAA,MACA,aAAAkC;AAAA,MACA,gBAAAlB;AAAA,MACA,QAAAX;AAAA,MACA,UAAA0B;AAAA,MACA,kBAAkBI;AAAA,MAClB,sBAAA7B;AAAA,MACA,WAAAL;AAAA,MACA,aAAaO;AAAA,MACb,aAAAM;AAAA,MACA,cAAAG;AAAA,MACA,YAAYC,KAAc;AAAA,MAC1B,gBAAAC;AAAA,MACA,0BAAAE;AAAA,MACA,eAAAD;AAAA,MACA,cAAAE;AAAA,MACA,UAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,gBAAAC;AAAA,IAAA;AAAA,EACF,IACE,OACN,CAAA,EACF,CAAA,EACF,CAAA;AAEJ,CAAC;"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as m } from "react/jsx-runtime";
|
|
2
|
-
import { h as
|
|
3
|
-
import { memo as
|
|
4
|
-
import { useGetMileStoneConfig as
|
|
5
|
-
import
|
|
6
|
-
import { useMilestoneGet as
|
|
7
|
-
import
|
|
8
|
-
import { transformGoalData as
|
|
9
|
-
const
|
|
2
|
+
import { h as z } from "../../../../node_modules/humanize-plus/dist/humanize.js";
|
|
3
|
+
import { memo as H, useEffect as l, useMemo as C } from "react";
|
|
4
|
+
import { useGetMileStoneConfig as L } from "../../create/api/milestone-config.js";
|
|
5
|
+
import T from "../../create/milestone-create.js";
|
|
6
|
+
import { useMilestoneGet as b } from "../comps/edit-milestone-modal/api/get-milestone.js";
|
|
7
|
+
import k from "../comps/milestone-edit-loader/milestone-edit-loader.js";
|
|
8
|
+
import { transformGoalData as q } from "../goal-edit-helpers.js";
|
|
9
|
+
const A = H(
|
|
10
10
|
function({
|
|
11
11
|
studentName: h,
|
|
12
12
|
studentId: D,
|
|
@@ -25,25 +25,26 @@ const q = z(
|
|
|
25
25
|
courseStream: s,
|
|
26
26
|
classRatio: w,
|
|
27
27
|
enrollmentType: a,
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
useAbsoluteFooter: f,
|
|
29
|
+
disablePublish: S,
|
|
30
|
+
onDeleteGoal: v
|
|
30
31
|
}) {
|
|
31
32
|
const {
|
|
32
33
|
get: c,
|
|
33
34
|
data: o,
|
|
34
|
-
isProcessing:
|
|
35
|
-
isProcessingFailed:
|
|
36
|
-
} =
|
|
35
|
+
isProcessing: N,
|
|
36
|
+
isProcessingFailed: R
|
|
37
|
+
} = L();
|
|
37
38
|
l(() => {
|
|
38
39
|
c("", void 0);
|
|
39
40
|
}, [c]);
|
|
40
41
|
const {
|
|
41
42
|
get: d,
|
|
42
43
|
data: i,
|
|
43
|
-
isProcessing:
|
|
44
|
-
isProcessingFailed:
|
|
45
|
-
} =
|
|
46
|
-
() => i && o &&
|
|
44
|
+
isProcessing: U,
|
|
45
|
+
isProcessingFailed: W
|
|
46
|
+
} = b(e), r = C(
|
|
47
|
+
() => i && o && q({
|
|
47
48
|
currentMilestoneData: i,
|
|
48
49
|
config: o,
|
|
49
50
|
courseStream: s,
|
|
@@ -54,20 +55,20 @@ const q = z(
|
|
|
54
55
|
), E = C(() => !t || !r ? t || r : {
|
|
55
56
|
...r,
|
|
56
57
|
...t
|
|
57
|
-
}, [t, r]), { can_delete:
|
|
58
|
+
}, [t, r]), { can_delete: j } = (i == null ? void 0 : i.permissions) || {};
|
|
58
59
|
return l(() => {
|
|
59
60
|
(n === "TEACHER" || f && n === "STUDENT") && d(e, {
|
|
60
61
|
with_sheets: !0,
|
|
61
62
|
with_recommended_chapters: !0
|
|
62
63
|
});
|
|
63
|
-
}, [d, f, e, n]),
|
|
64
|
-
|
|
64
|
+
}, [d, f, e, n]), N || U ? /* @__PURE__ */ m(k, {}) : W || R ? /* @__PURE__ */ m("p", { children: "Error" }) : o && E ? /* @__PURE__ */ m(
|
|
65
|
+
T,
|
|
65
66
|
{
|
|
66
67
|
flow: "DRAFT_EDIT",
|
|
67
68
|
board: _,
|
|
68
69
|
schoolData: F,
|
|
69
70
|
studentId: D,
|
|
70
|
-
studentName:
|
|
71
|
+
studentName: z.titleCase(h),
|
|
71
72
|
height: G,
|
|
72
73
|
formData: E,
|
|
73
74
|
config: o,
|
|
@@ -82,14 +83,15 @@ const q = z(
|
|
|
82
83
|
courseStream: (i == null ? void 0 : i.course_stream) || s,
|
|
83
84
|
classRatio: w,
|
|
84
85
|
enrollmentType: a,
|
|
85
|
-
canDeleteGoal:
|
|
86
|
-
onDeleteGoal:
|
|
87
|
-
useAbsoluteFooter: f
|
|
86
|
+
canDeleteGoal: j,
|
|
87
|
+
onDeleteGoal: v,
|
|
88
|
+
useAbsoluteFooter: f,
|
|
89
|
+
disablePublish: S
|
|
88
90
|
}
|
|
89
91
|
) : null;
|
|
90
92
|
}
|
|
91
|
-
),
|
|
93
|
+
), $ = A;
|
|
92
94
|
export {
|
|
93
|
-
|
|
95
|
+
$ as default
|
|
94
96
|
};
|
|
95
97
|
//# sourceMappingURL=goal-draft-edit-container.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"goal-draft-edit-container.js","sources":["../../../../../src/features/milestone/edit/goal-drafts/goal-draft-edit-container.tsx"],"sourcesContent":["import { titleCase } from 'humanize-plus';\nimport { memo, useEffect, useMemo, type FC } from 'react';\n\nimport { useGetMileStoneConfig } from '../../create/api/milestone-config';\nimport MilestoneCreate from '../../create/milestone-create';\nimport { useMilestoneGet } from '../comps/edit-milestone-modal/api/get-milestone';\nimport MilestoneEditLoader from '../comps/milestone-edit-loader/milestone-edit-loader';\nimport { transformGoalData } from '../goal-edit-helpers';\nimport type { IMileStoneEditContainerProps } from '../milestone-edit-types';\n\nconst GoalDraftEditContainer: FC<IMileStoneEditContainerProps> = memo(\n function GoalDraftEditContainer({\n studentName,\n studentId,\n height,\n formData: formDataProp,\n onFormDataChange: handleFormDataChange,\n onPreSubmit: handlePreSubmit,\n onExit: handleExit,\n onChapterExitWarning: handleChapterExitWarning,\n userType,\n board,\n schoolData,\n grade,\n milestoneId,\n currentCountryCode,\n courseStream,\n classRatio,\n enrollmentType,\n
|
|
1
|
+
{"version":3,"file":"goal-draft-edit-container.js","sources":["../../../../../src/features/milestone/edit/goal-drafts/goal-draft-edit-container.tsx"],"sourcesContent":["import { titleCase } from 'humanize-plus';\nimport { memo, useEffect, useMemo, type FC } from 'react';\n\nimport { useGetMileStoneConfig } from '../../create/api/milestone-config';\nimport MilestoneCreate from '../../create/milestone-create';\nimport { useMilestoneGet } from '../comps/edit-milestone-modal/api/get-milestone';\nimport MilestoneEditLoader from '../comps/milestone-edit-loader/milestone-edit-loader';\nimport { transformGoalData } from '../goal-edit-helpers';\nimport type { IMileStoneEditContainerProps } from '../milestone-edit-types';\n\nconst GoalDraftEditContainer: FC<IMileStoneEditContainerProps> = memo(\n function GoalDraftEditContainer({\n studentName,\n studentId,\n height,\n formData: formDataProp,\n onFormDataChange: handleFormDataChange,\n onPreSubmit: handlePreSubmit,\n onExit: handleExit,\n onChapterExitWarning: handleChapterExitWarning,\n userType,\n board,\n schoolData,\n grade,\n milestoneId,\n currentCountryCode,\n courseStream,\n classRatio,\n enrollmentType,\n useAbsoluteFooter,\n disablePublish,\n onDeleteGoal,\n }) {\n const {\n get: getConfig,\n data: configData,\n isProcessing: isConfigProcessing,\n isProcessingFailed: isConfigProcessingFailed,\n } = useGetMileStoneConfig();\n\n useEffect(() => {\n getConfig('', undefined);\n }, [getConfig]);\n\n const {\n get: getMilestone,\n data: currentMilestoneData,\n isProcessing: isMilestoneProcessing,\n isProcessingFailed: isMilestoneProcessingFailed,\n } = useMilestoneGet(milestoneId);\n\n const convertedData = useMemo(\n () =>\n currentMilestoneData &&\n configData &&\n transformGoalData({\n currentMilestoneData,\n config: configData,\n courseStream,\n enrollmentType,\n currentCountryCode,\n }),\n [configData, currentCountryCode, enrollmentType, currentMilestoneData, courseStream],\n );\n\n const formDataToUse = useMemo(() => {\n if (!formDataProp || !convertedData) return formDataProp || convertedData;\n\n return {\n ...convertedData,\n ...formDataProp,\n };\n }, [formDataProp, convertedData]);\n\n const { can_delete: canDeleteGoal } = currentMilestoneData?.permissions || {};\n\n useEffect(() => {\n if (userType === 'TEACHER' || (useAbsoluteFooter && userType === 'STUDENT'))\n getMilestone(milestoneId, {\n with_sheets: true,\n with_recommended_chapters: true,\n });\n }, [getMilestone, useAbsoluteFooter, milestoneId, userType]);\n\n if (isConfigProcessing || isMilestoneProcessing) return <MilestoneEditLoader />;\n\n if (isMilestoneProcessingFailed || isConfigProcessingFailed) {\n return <p>Error</p>;\n }\n\n return configData && formDataToUse ? (\n <MilestoneCreate\n flow=\"DRAFT_EDIT\"\n board={board}\n schoolData={schoolData}\n studentId={studentId}\n studentName={titleCase(studentName)}\n height={height}\n formData={formDataToUse}\n config={configData}\n onFormDataChange={handleFormDataChange}\n onPreSubmit={handlePreSubmit}\n onExit={handleExit}\n onChapterExitWarning={handleChapterExitWarning}\n userType={userType}\n grade={grade}\n milestoneId={milestoneId}\n isGoalCreation={true}\n courseStream={currentMilestoneData?.course_stream || courseStream}\n classRatio={classRatio}\n enrollmentType={enrollmentType}\n canDeleteGoal={canDeleteGoal}\n onDeleteGoal={onDeleteGoal}\n useAbsoluteFooter={useAbsoluteFooter}\n disablePublish={disablePublish}\n />\n ) : null;\n },\n);\n\nexport default GoalDraftEditContainer;\n"],"names":["GoalDraftEditContainer","memo","studentName","studentId","height","formDataProp","handleFormDataChange","handlePreSubmit","handleExit","handleChapterExitWarning","userType","board","schoolData","grade","milestoneId","currentCountryCode","courseStream","classRatio","enrollmentType","useAbsoluteFooter","disablePublish","onDeleteGoal","getConfig","configData","isConfigProcessing","isConfigProcessingFailed","useGetMileStoneConfig","useEffect","getMilestone","currentMilestoneData","isMilestoneProcessing","isMilestoneProcessingFailed","useMilestoneGet","convertedData","useMemo","transformGoalData","formDataToUse","canDeleteGoal","jsx","MilestoneEditLoader","MilestoneCreate","titleCase","GoalDraftEdit"],"mappings":";;;;;;;;AAUA,MAAMA,IAA2DC;AAAA,EAC/D,SAAgC;AAAA,IAC9B,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAUC;AAAA,IACV,kBAAkBC;AAAA,IAClB,aAAaC;AAAA,IACb,QAAQC;AAAA,IACR,sBAAsBC;AAAA,IACtB,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,GACC;AACK,UAAA;AAAA,MACJ,KAAKC;AAAA,MACL,MAAMC;AAAA,MACN,cAAcC;AAAA,MACd,oBAAoBC;AAAA,QAClBC,EAAsB;AAE1B,IAAAC,EAAU,MAAM;AACd,MAAAL,EAAU,IAAI,MAAS;AAAA,IAAA,GACtB,CAACA,CAAS,CAAC;AAER,UAAA;AAAA,MACJ,KAAKM;AAAA,MACL,MAAMC;AAAA,MACN,cAAcC;AAAA,MACd,oBAAoBC;AAAA,IAAA,IAClBC,EAAgBlB,CAAW,GAEzBmB,IAAgBC;AAAA,MACpB,MACEL,KACAN,KACAY,EAAkB;AAAA,QAChB,sBAAAN;AAAA,QACA,QAAQN;AAAA,QACR,cAAAP;AAAA,QACA,gBAAAE;AAAA,QACA,oBAAAH;AAAA,MAAA,CACD;AAAA,MACH,CAACQ,GAAYR,GAAoBG,GAAgBW,GAAsBb,CAAY;AAAA,IAAA,GAG/EoB,IAAgBF,EAAQ,MACxB,CAAC7B,KAAgB,CAAC4B,IAAsB5B,KAAgB4B,IAErD;AAAA,MACL,GAAGA;AAAA,MACH,GAAG5B;AAAA,IAAA,GAEJ,CAACA,GAAc4B,CAAa,CAAC,GAE1B,EAAE,YAAYI,EAAA,KAAkBR,KAAA,gBAAAA,EAAsB,gBAAe,CAAA;AAU3E,WARAF,EAAU,MAAM;AACV,OAAAjB,MAAa,aAAcS,KAAqBT,MAAa,cAC/DkB,EAAad,GAAa;AAAA,QACxB,aAAa;AAAA,QACb,2BAA2B;AAAA,MAAA,CAC5B;AAAA,OACF,CAACc,GAAcT,GAAmBL,GAAaJ,CAAQ,CAAC,GAEvDc,KAAsBM,IAA8B,gBAAAQ,EAACC,GAAoB,CAAA,CAAA,IAEzER,KAA+BN,IAC1B,gBAAAa,EAAC,OAAE,UAAK,QAAA,CAAA,IAGVf,KAAca,IACnB,gBAAAE;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAA7B;AAAA,QACA,YAAAC;AAAA,QACA,WAAAT;AAAA,QACA,aAAasC,YAAUvC,CAAW;AAAA,QAClC,QAAAE;AAAA,QACA,UAAUgC;AAAA,QACV,QAAQb;AAAA,QACR,kBAAkBjB;AAAA,QAClB,aAAaC;AAAA,QACb,QAAQC;AAAA,QACR,sBAAsBC;AAAA,QACtB,UAAAC;AAAA,QACA,OAAAG;AAAA,QACA,aAAAC;AAAA,QACA,gBAAgB;AAAA,QAChB,eAAce,KAAA,gBAAAA,EAAsB,kBAAiBb;AAAA,QACrD,YAAAC;AAAA,QACA,gBAAAC;AAAA,QACA,eAAAmB;AAAA,QACA,cAAAhB;AAAA,QACA,mBAAAF;AAAA,QACA,gBAAAC;AAAA,MAAA;AAAA,IAEA,IAAA;AAAA,EACN;AACF,GAEAsB,IAAe1C;"}
|
|
@@ -13,11 +13,11 @@ import { useLearningPlanScrollSync as Q } from "../../hooks/use-learning-plan-sc
|
|
|
13
13
|
import { ELearningPlanView as i } from "../../trial-session-types.js";
|
|
14
14
|
import { Container as ee, Wrapper as ne } from "./learning-plan-styled.js";
|
|
15
15
|
const pe = () => {
|
|
16
|
-
const { trialHomeData:
|
|
17
|
-
demo_info: { student_classroom_id: c, stream: g, region_data:
|
|
18
|
-
intel_student:
|
|
16
|
+
const { trialHomeData: b, studentId: a, formData: t, isTeacher: e, updateSlideConfig: r } = Y(), {
|
|
17
|
+
demo_info: { student_classroom_id: c, stream: g, region_data: O },
|
|
18
|
+
intel_student: f,
|
|
19
19
|
student: x
|
|
20
|
-
} =
|
|
20
|
+
} = b || {}, { opportunity_country: A = "US" } = O || {}, { enrollment_type: _ } = x || {}, { name: T = "", grade: v = "" } = t || {}, R = z(null), V = q(f == null ? void 0 : f.source), m = t == null ? void 0 : t.learningPlanView, P = t == null ? void 0 : t.learningPlanChapterId, o = t == null ? void 0 : t.learningPlanActiveMilestoneId, d = e ? "TEACHER" : "STUDENT", { resetScrollPosition: E, closeScrollChannel: w } = Q({
|
|
21
21
|
studentClassroomId: c,
|
|
22
22
|
containerRef: R,
|
|
23
23
|
isTeacher: e
|
|
@@ -40,7 +40,7 @@ const pe = () => {
|
|
|
40
40
|
), D = s(
|
|
41
41
|
(n) => {
|
|
42
42
|
e && r({
|
|
43
|
-
learningPlanView: i.
|
|
43
|
+
learningPlanView: i.ADD_TEST,
|
|
44
44
|
learningPlanActiveMilestoneId: n
|
|
45
45
|
});
|
|
46
46
|
},
|
|
@@ -48,7 +48,7 @@ const pe = () => {
|
|
|
48
48
|
), N = s(
|
|
49
49
|
(n) => {
|
|
50
50
|
e && r({
|
|
51
|
-
learningPlanView: i.
|
|
51
|
+
learningPlanView: i.EDIT_MILESTONE,
|
|
52
52
|
learningPlanActiveMilestoneId: n.milestoneId
|
|
53
53
|
});
|
|
54
54
|
},
|
|
@@ -73,22 +73,22 @@ const pe = () => {
|
|
|
73
73
|
U(() => () => {
|
|
74
74
|
w();
|
|
75
75
|
}, [w]);
|
|
76
|
-
const
|
|
76
|
+
const I = F(
|
|
77
77
|
() => t == null ? void 0 : t.learningPlanWorksheetData,
|
|
78
78
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
79
79
|
[JSON.stringify(t == null ? void 0 : t.learningPlanWorksheetData)]
|
|
80
|
-
),
|
|
80
|
+
), C = s((n) => {
|
|
81
81
|
alert(`Error: ${n || "Unknown error"}`);
|
|
82
82
|
}, []), p = s(
|
|
83
83
|
(n) => {
|
|
84
|
-
var
|
|
84
|
+
var h;
|
|
85
85
|
if (!e) return;
|
|
86
|
-
const
|
|
86
|
+
const S = n.node_type === X.PUZZLE_CARD ? "puzzle" : "test";
|
|
87
87
|
r({
|
|
88
88
|
learningPlanView: i.VIEW_WORKSHEET,
|
|
89
89
|
learningPlanWorksheetData: {
|
|
90
|
-
itemRefs: ((
|
|
91
|
-
activityReference: n.learnosity_activity_ref ??
|
|
90
|
+
itemRefs: ((h = n.items) == null ? void 0 : h.map((y) => y.ref)) ?? [],
|
|
91
|
+
activityReference: n.learnosity_activity_ref ?? S,
|
|
92
92
|
nodeType: n.node_type,
|
|
93
93
|
worksheetName: n.title,
|
|
94
94
|
activityType: n.activity_type
|
|
@@ -97,18 +97,18 @@ const pe = () => {
|
|
|
97
97
|
},
|
|
98
98
|
[e, r]
|
|
99
99
|
), H = s(() => {
|
|
100
|
-
if (m === i.VIEW_WORKSHEET &&
|
|
101
|
-
const { itemRefs: n, activityReference: $, nodeType:
|
|
100
|
+
if (m === i.VIEW_WORKSHEET && I) {
|
|
101
|
+
const { itemRefs: n, activityReference: $, nodeType: S, worksheetName: h, activityType: y } = I;
|
|
102
102
|
return /* @__PURE__ */ l(
|
|
103
103
|
J,
|
|
104
104
|
{
|
|
105
105
|
activityReference: $,
|
|
106
106
|
mode: "preview",
|
|
107
|
-
nodeType:
|
|
107
|
+
nodeType: S,
|
|
108
108
|
activityType: y,
|
|
109
109
|
userType: d,
|
|
110
110
|
studentId: a,
|
|
111
|
-
worksheetName:
|
|
111
|
+
worksheetName: h,
|
|
112
112
|
onBackIconClick: L,
|
|
113
113
|
items: n,
|
|
114
114
|
behaviorOverride: { navigationMode: "OPEN" },
|
|
@@ -136,9 +136,9 @@ const pe = () => {
|
|
|
136
136
|
onResourceAssign: u,
|
|
137
137
|
onExitResourceAssign: u,
|
|
138
138
|
onViewResource: () => alert("View Resource"),
|
|
139
|
-
onError:
|
|
139
|
+
onError: C
|
|
140
140
|
}
|
|
141
|
-
) : m === i.
|
|
141
|
+
) : m === i.ADD_TEST && o ? /* @__PURE__ */ l(
|
|
142
142
|
j,
|
|
143
143
|
{
|
|
144
144
|
channelId: `a-t-s-${c}-${o}`,
|
|
@@ -149,10 +149,10 @@ const pe = () => {
|
|
|
149
149
|
userType: d,
|
|
150
150
|
onTestAssign: u,
|
|
151
151
|
onExit: u,
|
|
152
|
-
onError:
|
|
152
|
+
onError: C,
|
|
153
153
|
useAbsoluteFooter: !0
|
|
154
154
|
}
|
|
155
|
-
) : m === i.
|
|
155
|
+
) : m === i.EDIT_MILESTONE && o ? /* @__PURE__ */ l(
|
|
156
156
|
G,
|
|
157
157
|
{
|
|
158
158
|
channelId: `e-m-s-${c}-${o}`,
|
|
@@ -160,7 +160,7 @@ const pe = () => {
|
|
|
160
160
|
height: "100%",
|
|
161
161
|
grade: v || "",
|
|
162
162
|
currentCountryCode: A,
|
|
163
|
-
studentName:
|
|
163
|
+
studentName: T,
|
|
164
164
|
onExit: u,
|
|
165
165
|
onPreSubmit: u,
|
|
166
166
|
userType: d,
|
|
@@ -169,14 +169,15 @@ const pe = () => {
|
|
|
169
169
|
courseStream: g,
|
|
170
170
|
classRatio: 1,
|
|
171
171
|
enrollmentType: _,
|
|
172
|
-
useAbsoluteFooter: !0
|
|
172
|
+
useAbsoluteFooter: !0,
|
|
173
|
+
disablePublish: !0
|
|
173
174
|
}
|
|
174
175
|
) : /* @__PURE__ */ l(
|
|
175
176
|
K,
|
|
176
177
|
{
|
|
177
178
|
channelId: `milestone-list-sync-${c}`,
|
|
178
179
|
userType: d,
|
|
179
|
-
studentName:
|
|
180
|
+
studentName: T,
|
|
180
181
|
studentId: a,
|
|
181
182
|
studentClassroomId: c,
|
|
182
183
|
milestoneType: V ? "ACTIVE" : "DRAFT",
|
|
@@ -192,12 +193,12 @@ const pe = () => {
|
|
|
192
193
|
);
|
|
193
194
|
}, [
|
|
194
195
|
m,
|
|
195
|
-
|
|
196
|
+
I,
|
|
196
197
|
P,
|
|
197
198
|
o,
|
|
198
199
|
c,
|
|
199
200
|
d,
|
|
200
|
-
|
|
201
|
+
T,
|
|
201
202
|
a,
|
|
202
203
|
V,
|
|
203
204
|
g,
|
|
@@ -212,7 +213,7 @@ const pe = () => {
|
|
|
212
213
|
L,
|
|
213
214
|
k,
|
|
214
215
|
u,
|
|
215
|
-
|
|
216
|
+
C
|
|
216
217
|
]);
|
|
217
218
|
return /* @__PURE__ */ l(ee, { ref: R, $isScrollable: e, children: /* @__PURE__ */ l(
|
|
218
219
|
ne,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/features/trial-session/comps/learning-plan/index.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, type FC } from 'react';\n\nimport type { IChapterDataProps } from '../../../chapters/chapter/chapter-types';\nimport ChapterDetails from '../../../chapters-v2/chapter-details/chapter-details';\nimport type { INodeDataProps } from '../../../chapters-v2/comps/node-card/node-card-types';\nimport GoalDraftEditSync from '../../../milestone/edit/goal-draft-edit-sync';\nimport type { IMilestoneEditProps } from '../../../milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-types';\nimport MilestoneListSync from '../../../milestone/milestone-list-container/milestone-list-sync';\nimport EPResourceAssignSync from '../../../milestone/milestone-resources/resources-assign/resource-assign-sync';\nimport TestsCreationSync from '../../../milestone/milestone-tests/tests-creation/tests-creation-sync';\nimport PreviewWorksheet from '../../../worksheet/worksheet-preview/worksheet-preview';\nimport { NODE_TYPES, type TNodeTypes } from '../../../../types/models/worksheet';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { isPLASource } from '../../helper';\nimport { useLearningPlanScrollSync } from '../../hooks/use-learning-plan-scroll-sync';\nimport { ELearningPlanView } from '../../trial-session-types';\nimport * as Styled from './learning-plan-styled';\n\nconst LearningPlan: FC = () => {\n const { trialHomeData, studentId, formData, isTeacher, updateSlideConfig } =\n useTrialSessionContext();\n const {\n demo_info: { student_classroom_id: studentClassroomId, stream, region_data: regionData },\n intel_student: intelStudent,\n student,\n } = trialHomeData || {};\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n const { enrollment_type: enrollmentType } = student || {};\n const { name = '', grade = '' } = formData || {};\n const containerRef = useRef<HTMLDivElement>(null);\n const isPLA = isPLASource(intelStudent?.source);\n const learningPlanView = formData?.learningPlanView;\n const learningPlanChapterId = formData?.learningPlanChapterId;\n const learningPlanActiveMilestoneId = formData?.learningPlanActiveMilestoneId;\n const userType = isTeacher ? 'TEACHER' : 'STUDENT';\n const { resetScrollPosition, closeScrollChannel } = useLearningPlanScrollSync({\n studentClassroomId,\n containerRef,\n isTeacher,\n });\n\n const handleChapterClick = useCallback(\n (chapter: IChapterDataProps) => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: ELearningPlanView.VIEW_CHAPTER_DETAILS,\n learningPlanChapterId: chapter.id,\n });\n },\n [isTeacher, updateSlideConfig],\n );\n\n const handleAssignResources = useCallback(\n (userMilestoneId: string) => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: ELearningPlanView.ADD_RESOURCE,\n learningPlanActiveMilestoneId: userMilestoneId,\n });\n },\n [isTeacher, updateSlideConfig],\n );\n\n const handleCreateTest = useCallback(\n (userMilestoneId: string) => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: ELearningPlanView.ADD_TESTS,\n learningPlanActiveMilestoneId: userMilestoneId,\n });\n },\n [isTeacher, updateSlideConfig],\n );\n\n const handleEditMilestone = useCallback(\n (editProps: IMilestoneEditProps) => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: ELearningPlanView.EDIT_MILESTONES,\n learningPlanActiveMilestoneId: editProps.milestoneId,\n });\n },\n [isTeacher, updateSlideConfig],\n );\n\n const handleBackToList = useCallback(() => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: undefined,\n learningPlanChapterId: undefined,\n learningPlanWorksheetData: undefined,\n });\n resetScrollPosition();\n }, [isTeacher, updateSlideConfig, resetScrollPosition]);\n\n const handleExitWorksheet = useCallback(() => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: learningPlanChapterId ? ELearningPlanView.VIEW_CHAPTER_DETAILS : undefined,\n learningPlanWorksheetData: undefined,\n });\n resetScrollPosition();\n }, [isTeacher, updateSlideConfig, learningPlanChapterId, resetScrollPosition]);\n\n const handleExitForm = useCallback(() => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: undefined,\n learningPlanActiveMilestoneId: undefined,\n });\n resetScrollPosition();\n }, [isTeacher, updateSlideConfig, resetScrollPosition]);\n\n useEffect(() => {\n return () => {\n closeScrollChannel();\n };\n }, [closeScrollChannel]);\n\n const syncedWorksheetData = useMemo(\n () => formData?.learningPlanWorksheetData,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(formData?.learningPlanWorksheetData)],\n );\n\n const handleError = useCallback((errorMessage?: string) => {\n alert(`Error: ${errorMessage || 'Unknown error'}`);\n }, []);\n\n const handleNodeView = useCallback(\n (worksheetData: INodeDataProps) => {\n if (!isTeacher) return;\n\n const isPuzzleSheet = worksheetData.node_type === NODE_TYPES.PUZZLE_CARD;\n const defaultActivityRef = isPuzzleSheet ? 'puzzle' : 'test';\n\n updateSlideConfig({\n learningPlanView: ELearningPlanView.VIEW_WORKSHEET,\n learningPlanWorksheetData: {\n itemRefs: worksheetData.items?.map(item => item.ref) ?? [],\n activityReference: worksheetData.learnosity_activity_ref ?? defaultActivityRef,\n nodeType: worksheetData.node_type,\n worksheetName: worksheetData.title,\n activityType: worksheetData.activity_type,\n },\n });\n },\n [isTeacher, updateSlideConfig],\n );\n\n const renderContent = useCallback(() => {\n if (learningPlanView === ELearningPlanView.VIEW_WORKSHEET && syncedWorksheetData) {\n const { itemRefs, activityReference, nodeType, worksheetName, activityType } =\n syncedWorksheetData;\n\n return (\n <PreviewWorksheet\n activityReference={activityReference!}\n mode=\"preview\"\n nodeType={nodeType as TNodeTypes}\n activityType={activityType}\n userType={userType}\n studentId={studentId}\n worksheetName={worksheetName}\n onBackIconClick={handleExitWorksheet}\n items={itemRefs}\n behaviorOverride={{ navigationMode: 'OPEN' }}\n layoutOverride={{ containerWidth: '100%' }}\n />\n );\n }\n\n if (learningPlanView === ELearningPlanView.VIEW_CHAPTER_DETAILS && learningPlanChapterId) {\n return (\n <ChapterDetails\n userChapterId={learningPlanChapterId}\n studentId={studentId}\n userType={userType}\n onExit={handleBackToList}\n onNodeView={handleNodeView}\n />\n );\n }\n\n if (learningPlanView === ELearningPlanView.ADD_RESOURCE && learningPlanActiveMilestoneId) {\n return (\n <EPResourceAssignSync\n channelId={`a-r-s-${studentClassroomId}-${learningPlanActiveMilestoneId}`}\n stream={stream}\n studentId={studentId}\n userMilestoneId={learningPlanActiveMilestoneId}\n userType={userType}\n onResourceAssign={handleExitForm}\n onExitResourceAssign={handleExitForm}\n onViewResource={() => alert('View Resource')}\n onError={handleError}\n />\n );\n }\n\n if (learningPlanView === ELearningPlanView.ADD_TESTS && learningPlanActiveMilestoneId) {\n return (\n <TestsCreationSync\n channelId={`a-t-s-${studentClassroomId}-${learningPlanActiveMilestoneId}`}\n courseStream={stream}\n milestoneId={learningPlanActiveMilestoneId}\n studentId={studentId}\n testNumber={1}\n userType={userType}\n onTestAssign={handleExitForm}\n onExit={handleExitForm}\n onError={handleError}\n useAbsoluteFooter\n />\n );\n }\n\n if (learningPlanView === ELearningPlanView.EDIT_MILESTONES && learningPlanActiveMilestoneId) {\n return (\n <GoalDraftEditSync\n channelId={`e-m-s-${studentClassroomId}-${learningPlanActiveMilestoneId}`}\n studentId={studentId}\n height=\"100%\"\n grade={grade || ''}\n currentCountryCode={countryCode}\n studentName={name}\n onExit={handleExitForm}\n onPreSubmit={handleExitForm}\n userType={userType}\n milestoneId={learningPlanActiveMilestoneId}\n isGoalCreation={false}\n courseStream={stream}\n classRatio={1}\n enrollmentType={enrollmentType}\n useAbsoluteFooter\n />\n );\n }\n\n return (\n <MilestoneListSync\n channelId={`milestone-list-sync-${studentClassroomId}`}\n userType={userType}\n studentName={name}\n studentId={studentId}\n studentClassroomId={studentClassroomId}\n milestoneType={isPLA ? 'ACTIVE' : 'DRAFT'}\n onChapterClick={handleChapterClick}\n onAssignResources={handleAssignResources}\n onCreateMilestoneTest={handleCreateTest}\n onEdit={handleEditMilestone}\n courseStream={stream}\n onNodeView={handleNodeView}\n onTestPreview={handleNodeView}\n isDraftModeEnabled\n />\n );\n }, [\n learningPlanView,\n syncedWorksheetData,\n learningPlanChapterId,\n learningPlanActiveMilestoneId,\n studentClassroomId,\n userType,\n name,\n studentId,\n isPLA,\n stream,\n grade,\n countryCode,\n enrollmentType,\n handleChapterClick,\n handleAssignResources,\n handleCreateTest,\n handleEditMilestone,\n handleNodeView,\n handleExitWorksheet,\n handleBackToList,\n handleExitForm,\n handleError,\n ]);\n\n return (\n <Styled.Container ref={containerRef} $isScrollable={isTeacher}>\n <Styled.Wrapper\n $clickable={isTeacher}\n $gutterX={2}\n $isScrollable={isTeacher}\n id=\"milestone-list-element-container\"\n $height=\"100%\"\n >\n {renderContent()}\n </Styled.Wrapper>\n </Styled.Container>\n );\n};\n\nexport default LearningPlan;\n"],"names":["LearningPlan","trialHomeData","studentId","formData","isTeacher","updateSlideConfig","useTrialSessionContext","studentClassroomId","stream","regionData","intelStudent","student","countryCode","enrollmentType","name","grade","containerRef","useRef","isPLA","isPLASource","learningPlanView","learningPlanChapterId","learningPlanActiveMilestoneId","userType","resetScrollPosition","closeScrollChannel","useLearningPlanScrollSync","handleChapterClick","useCallback","chapter","ELearningPlanView","handleAssignResources","userMilestoneId","handleCreateTest","handleEditMilestone","editProps","handleBackToList","handleExitWorksheet","handleExitForm","useEffect","syncedWorksheetData","useMemo","handleError","errorMessage","handleNodeView","worksheetData","defaultActivityRef","NODE_TYPES","_a","item","renderContent","itemRefs","activityReference","nodeType","worksheetName","activityType","jsx","PreviewWorksheet","ChapterDetails","EPResourceAssignSync","TestsCreationSync","GoalDraftEditSync","MilestoneListSync","Styled.Container","Styled.Wrapper"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/features/trial-session/comps/learning-plan/index.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, type FC } from 'react';\n\nimport type { IChapterDataProps } from '../../../chapters/chapter/chapter-types';\nimport ChapterDetails from '../../../chapters-v2/chapter-details/chapter-details';\nimport type { INodeDataProps } from '../../../chapters-v2/comps/node-card/node-card-types';\nimport GoalDraftEditSync from '../../../milestone/edit/goal-draft-edit-sync';\nimport type { IMilestoneEditProps } from '../../../milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-types';\nimport MilestoneListSync from '../../../milestone/milestone-list-container/milestone-list-sync';\nimport EPResourceAssignSync from '../../../milestone/milestone-resources/resources-assign/resource-assign-sync';\nimport TestsCreationSync from '../../../milestone/milestone-tests/tests-creation/tests-creation-sync';\nimport PreviewWorksheet from '../../../worksheet/worksheet-preview/worksheet-preview';\nimport { NODE_TYPES, type TNodeTypes } from '../../../../types/models/worksheet';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { isPLASource } from '../../helper';\nimport { useLearningPlanScrollSync } from '../../hooks/use-learning-plan-scroll-sync';\nimport { ELearningPlanView } from '../../trial-session-types';\nimport * as Styled from './learning-plan-styled';\n\nconst LearningPlan: FC = () => {\n const { trialHomeData, studentId, formData, isTeacher, updateSlideConfig } =\n useTrialSessionContext();\n const {\n demo_info: { student_classroom_id: studentClassroomId, stream, region_data: regionData },\n intel_student: intelStudent,\n student,\n } = trialHomeData || {};\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n const { enrollment_type: enrollmentType } = student || {};\n const { name = '', grade = '' } = formData || {};\n const containerRef = useRef<HTMLDivElement>(null);\n const isPLA = isPLASource(intelStudent?.source);\n const learningPlanView = formData?.learningPlanView;\n const learningPlanChapterId = formData?.learningPlanChapterId;\n const learningPlanActiveMilestoneId = formData?.learningPlanActiveMilestoneId;\n const userType = isTeacher ? 'TEACHER' : 'STUDENT';\n const { resetScrollPosition, closeScrollChannel } = useLearningPlanScrollSync({\n studentClassroomId,\n containerRef,\n isTeacher,\n });\n\n const handleChapterClick = useCallback(\n (chapter: IChapterDataProps) => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: ELearningPlanView.VIEW_CHAPTER_DETAILS,\n learningPlanChapterId: chapter.id,\n });\n },\n [isTeacher, updateSlideConfig],\n );\n\n const handleAssignResources = useCallback(\n (userMilestoneId: string) => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: ELearningPlanView.ADD_RESOURCE,\n learningPlanActiveMilestoneId: userMilestoneId,\n });\n },\n [isTeacher, updateSlideConfig],\n );\n\n const handleCreateTest = useCallback(\n (userMilestoneId: string) => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: ELearningPlanView.ADD_TEST,\n learningPlanActiveMilestoneId: userMilestoneId,\n });\n },\n [isTeacher, updateSlideConfig],\n );\n\n const handleEditMilestone = useCallback(\n (editProps: IMilestoneEditProps) => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: ELearningPlanView.EDIT_MILESTONE,\n learningPlanActiveMilestoneId: editProps.milestoneId,\n });\n },\n [isTeacher, updateSlideConfig],\n );\n\n const handleBackToList = useCallback(() => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: undefined,\n learningPlanChapterId: undefined,\n learningPlanWorksheetData: undefined,\n });\n resetScrollPosition();\n }, [isTeacher, updateSlideConfig, resetScrollPosition]);\n\n const handleExitWorksheet = useCallback(() => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: learningPlanChapterId ? ELearningPlanView.VIEW_CHAPTER_DETAILS : undefined,\n learningPlanWorksheetData: undefined,\n });\n resetScrollPosition();\n }, [isTeacher, updateSlideConfig, learningPlanChapterId, resetScrollPosition]);\n\n const handleExitForm = useCallback(() => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: undefined,\n learningPlanActiveMilestoneId: undefined,\n });\n resetScrollPosition();\n }, [isTeacher, updateSlideConfig, resetScrollPosition]);\n\n useEffect(() => {\n return () => {\n closeScrollChannel();\n };\n }, [closeScrollChannel]);\n\n const syncedWorksheetData = useMemo(\n () => formData?.learningPlanWorksheetData,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(formData?.learningPlanWorksheetData)],\n );\n\n const handleError = useCallback((errorMessage?: string) => {\n alert(`Error: ${errorMessage || 'Unknown error'}`);\n }, []);\n\n const handleNodeView = useCallback(\n (worksheetData: INodeDataProps) => {\n if (!isTeacher) return;\n\n const isPuzzleSheet = worksheetData.node_type === NODE_TYPES.PUZZLE_CARD;\n const defaultActivityRef = isPuzzleSheet ? 'puzzle' : 'test';\n\n updateSlideConfig({\n learningPlanView: ELearningPlanView.VIEW_WORKSHEET,\n learningPlanWorksheetData: {\n itemRefs: worksheetData.items?.map(item => item.ref) ?? [],\n activityReference: worksheetData.learnosity_activity_ref ?? defaultActivityRef,\n nodeType: worksheetData.node_type,\n worksheetName: worksheetData.title,\n activityType: worksheetData.activity_type,\n },\n });\n },\n [isTeacher, updateSlideConfig],\n );\n\n const renderContent = useCallback(() => {\n if (learningPlanView === ELearningPlanView.VIEW_WORKSHEET && syncedWorksheetData) {\n const { itemRefs, activityReference, nodeType, worksheetName, activityType } =\n syncedWorksheetData;\n\n return (\n <PreviewWorksheet\n activityReference={activityReference!}\n mode=\"preview\"\n nodeType={nodeType as TNodeTypes}\n activityType={activityType}\n userType={userType}\n studentId={studentId}\n worksheetName={worksheetName}\n onBackIconClick={handleExitWorksheet}\n items={itemRefs}\n behaviorOverride={{ navigationMode: 'OPEN' }}\n layoutOverride={{ containerWidth: '100%' }}\n />\n );\n }\n\n if (learningPlanView === ELearningPlanView.VIEW_CHAPTER_DETAILS && learningPlanChapterId) {\n return (\n <ChapterDetails\n userChapterId={learningPlanChapterId}\n studentId={studentId}\n userType={userType}\n onExit={handleBackToList}\n onNodeView={handleNodeView}\n />\n );\n }\n\n if (learningPlanView === ELearningPlanView.ADD_RESOURCE && learningPlanActiveMilestoneId) {\n return (\n <EPResourceAssignSync\n channelId={`a-r-s-${studentClassroomId}-${learningPlanActiveMilestoneId}`}\n stream={stream}\n studentId={studentId}\n userMilestoneId={learningPlanActiveMilestoneId}\n userType={userType}\n onResourceAssign={handleExitForm}\n onExitResourceAssign={handleExitForm}\n onViewResource={() => alert('View Resource')}\n onError={handleError}\n />\n );\n }\n\n if (learningPlanView === ELearningPlanView.ADD_TEST && learningPlanActiveMilestoneId) {\n return (\n <TestsCreationSync\n channelId={`a-t-s-${studentClassroomId}-${learningPlanActiveMilestoneId}`}\n courseStream={stream}\n milestoneId={learningPlanActiveMilestoneId}\n studentId={studentId}\n testNumber={1}\n userType={userType}\n onTestAssign={handleExitForm}\n onExit={handleExitForm}\n onError={handleError}\n useAbsoluteFooter\n />\n );\n }\n\n if (learningPlanView === ELearningPlanView.EDIT_MILESTONE && learningPlanActiveMilestoneId) {\n return (\n <GoalDraftEditSync\n channelId={`e-m-s-${studentClassroomId}-${learningPlanActiveMilestoneId}`}\n studentId={studentId}\n height=\"100%\"\n grade={grade || ''}\n currentCountryCode={countryCode}\n studentName={name}\n onExit={handleExitForm}\n onPreSubmit={handleExitForm}\n userType={userType}\n milestoneId={learningPlanActiveMilestoneId}\n isGoalCreation={false}\n courseStream={stream}\n classRatio={1}\n enrollmentType={enrollmentType}\n useAbsoluteFooter\n disablePublish\n />\n );\n }\n\n return (\n <MilestoneListSync\n channelId={`milestone-list-sync-${studentClassroomId}`}\n userType={userType}\n studentName={name}\n studentId={studentId}\n studentClassroomId={studentClassroomId}\n milestoneType={isPLA ? 'ACTIVE' : 'DRAFT'}\n onChapterClick={handleChapterClick}\n onAssignResources={handleAssignResources}\n onCreateMilestoneTest={handleCreateTest}\n onEdit={handleEditMilestone}\n courseStream={stream}\n onNodeView={handleNodeView}\n onTestPreview={handleNodeView}\n isDraftModeEnabled\n />\n );\n }, [\n learningPlanView,\n syncedWorksheetData,\n learningPlanChapterId,\n learningPlanActiveMilestoneId,\n studentClassroomId,\n userType,\n name,\n studentId,\n isPLA,\n stream,\n grade,\n countryCode,\n enrollmentType,\n handleChapterClick,\n handleAssignResources,\n handleCreateTest,\n handleEditMilestone,\n handleNodeView,\n handleExitWorksheet,\n handleBackToList,\n handleExitForm,\n handleError,\n ]);\n\n return (\n <Styled.Container ref={containerRef} $isScrollable={isTeacher}>\n <Styled.Wrapper\n $clickable={isTeacher}\n $gutterX={2}\n $isScrollable={isTeacher}\n id=\"milestone-list-element-container\"\n $height=\"100%\"\n >\n {renderContent()}\n </Styled.Wrapper>\n </Styled.Container>\n );\n};\n\nexport default LearningPlan;\n"],"names":["LearningPlan","trialHomeData","studentId","formData","isTeacher","updateSlideConfig","useTrialSessionContext","studentClassroomId","stream","regionData","intelStudent","student","countryCode","enrollmentType","name","grade","containerRef","useRef","isPLA","isPLASource","learningPlanView","learningPlanChapterId","learningPlanActiveMilestoneId","userType","resetScrollPosition","closeScrollChannel","useLearningPlanScrollSync","handleChapterClick","useCallback","chapter","ELearningPlanView","handleAssignResources","userMilestoneId","handleCreateTest","handleEditMilestone","editProps","handleBackToList","handleExitWorksheet","handleExitForm","useEffect","syncedWorksheetData","useMemo","handleError","errorMessage","handleNodeView","worksheetData","defaultActivityRef","NODE_TYPES","_a","item","renderContent","itemRefs","activityReference","nodeType","worksheetName","activityType","jsx","PreviewWorksheet","ChapterDetails","EPResourceAssignSync","TestsCreationSync","GoalDraftEditSync","MilestoneListSync","Styled.Container","Styled.Wrapper"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var t = /* @__PURE__ */ ((E) => (E.FIVE_MIN = "5min", E.FIFTEEN_MIN = "15min", E))(t || {}), I = /* @__PURE__ */ ((E) => (E.ADD_RESOURCE = "add-resource", E.
|
|
1
|
+
var t = /* @__PURE__ */ ((E) => (E.FIVE_MIN = "5min", E.FIFTEEN_MIN = "15min", E))(t || {}), I = /* @__PURE__ */ ((E) => (E.ADD_RESOURCE = "add-resource", E.ADD_TEST = "add-test", E.EDIT_MILESTONE = "edit-milestone", E.VIEW_WORKSHEET = "view-worksheet", E.VIEW_CHAPTER_DETAILS = "view-chapter-details", E))(I || {});
|
|
2
2
|
export {
|
|
3
3
|
t as EClassTimeAlertLevel,
|
|
4
4
|
I as ELearningPlanView
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trial-session-types.js","sources":["../../../src/features/trial-session/trial-session-types.ts"],"sourcesContent":["import type { Dispatch, ReactElement, SetStateAction } from 'react';\n\nimport type { TNodeTypes } from '../../types/models/worksheet';\nimport type { IInfoMessage } from '../circle-games/games/web-view/web-view-types';\nimport type {\n IMilestoneConfig,\n TCourseStream,\n TEnrollmentTypes,\n TPreferenceCategory,\n} from '../milestone/create/milestone-create-types';\nimport type { IAvatarLayer } from '../ui/avatar/avatar-types';\nimport type { TUserTypes } from '../ui/types';\nimport type { TPreference } from './comps/class-preference/class-preference-types';\nimport type {\n ITrialCircleConfig,\n ITrialCircleGameParams,\n} from './comps/trial-circle-game/trial-circle-game-types';\nimport type { TrialPageId } from './trial-session-constants';\nimport type { INodeDataProps } from '../chapters-v2/comps/node-card/node-card-types';\n\nexport type { TSessionReportData as TSessionReport } from './comps/session-report/session-report-types';\n\nexport type TSlideId = TrialPageId;\n\nexport type TRegionData = {\n opportunity_country: string;\n};\n\nexport type TPreferenceSchema = {\n preference_code: string;\n preference_name: string;\n preference_category: TPreferenceCategory;\n};\n\nexport enum EClassTimeAlertLevel {\n FIVE_MIN = '5min',\n FIFTEEN_MIN = '15min',\n}\ninterface IButtonConfig {\n buttonLabel: string;\n pageId: string;\n}\n\nexport interface ISolution {\n media?: string;\n media_type?: 'image' | 'video';\n text?: string;\n}\n\nexport type TDegreeInformation = {\n degree_name?: string;\n field_of_study?: string;\n degree_code?: string;\n};\n\nexport interface ITeacherProfileDetails {\n lower_grade: string;\n higher_grade: string;\n header_image: string;\n years_of_experience: number;\n number_of_students_taught: number;\n countries: string[];\n degree: TDegreeInformation;\n first_name: string;\n last_name: string;\n teacher_profile_url?: string;\n}\n\nexport interface ISlide {\n id: TrialPageId;\n renderAs: 'split' | 'full';\n renderAVIn: 'left' | 'right';\n header: string;\n subHeader?: string;\n prevPage?: IButtonConfig;\n nextPage?: IButtonConfig;\n cues?: string[];\n dos?: string[];\n donts?: string[];\n navigationLabel?: string;\n slideTag?: string;\n teacher_profile?: ITeacherProfileDetails;\n solutions?: ISolution[];\n enableSessionPerk?: boolean;\n showProfileHighlights?: boolean;\n}\n\nexport interface TGoals {\n goal_code?: string;\n milestone_date_ts?: number;\n goal_category?: string;\n milestone_name?: string;\n publish?: boolean;\n program_code?: string;\n}\n\nexport interface ITrialSessionFormFields {\n id: string;\n name?: string;\n grade?: string;\n curriculum?: string;\n goals?: TGoals[];\n studentProfile?: {\n profileSummary?: string;\n dummyProfileImageIndex?: number;\n summaryFetched?: boolean;\n summaryFetchFailed?: boolean;\n };\n enrollmentType?: TEnrollmentTypes;\n userNodeId?: string;\n nodeId?: string;\n nodeType?: TNodeTypes;\n attemptId?: string;\n preferences?: TPreference[];\n personalizedLevel?: string[];\n personalizedFocus?: string[];\n personalizedBehaviors?: string[];\n personalizedObjectives?: string[];\n personalizedPosition?: string[];\n isCircleGamePlayed?: boolean;\n isCirclePuzzleSolved?: boolean;\n isCircleSkillCompleted?: boolean;\n studentTimezone?: string;\n showCircleGameScreen?: boolean;\n accuracyStr?: string;\n totalTimeTaken?: number;\n matchmakingId?: string;\n numberInNameError?: boolean;\n confirmationModalActive?: boolean;\n resetAttempt: boolean;\n // Learning Plan state\n learningPlanView?: ELearningPlanView;\n learningPlanChapterId?: string;\n learningPlanActiveMilestoneId?: string;\n learningPlanWorksheetData?: IWorksheetData;\n}\n\nexport interface IButtonState {\n isDisabled: boolean;\n isLoading: boolean;\n}\n\nexport interface ITrialHomeData {\n pages: ISlide[];\n demo_info: {\n student_classroom_id: string;\n stream: TCourseStream;\n region_data: TRegionData;\n scheduled_start_time: number;\n course?: string;\n goal_code?: string | null;\n };\n parent: {\n name: string;\n };\n student: {\n grade: string;\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n enrollment_type: TEnrollmentTypes;\n };\n teacher: {\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n };\n intel_student?: {\n source?: string;\n student_preference?: {\n preferences?: TPreferenceSchema[];\n };\n };\n circle_trial_game_config: ITrialCircleConfig;\n}\n\nexport interface IClassTimeAlertConfig {\n alertLevel: EClassTimeAlertLevel | null;\n isVisible: boolean;\n onComplete: () => void;\n}\n\nexport interface ITrialSessionProps {\n classStartedOn?: Date;\n height?: string | number;\n userType: TUserTypes;\n studentId: string;\n teacherId: string;\n teacherClassroomId: string;\n teacherPanel?: ReactElement;\n studentPanel?: ReactElement;\n formData?: ITrialSessionFormFields;\n onFormDataChange?: Dispatch<SetStateAction<ITrialSessionFormFields | undefined>>;\n worksheet?: ReactElement;\n worksheetNavigationPanel?: ReactElement;\n questionsRatingPanel?: ReactElement;\n studentAbsentInClass?: boolean;\n openEndClassModal?: () => void;\n trialGameUrl: string;\n handleInfoMessage: (message: IInfoMessage) => void;\n classTimeAlertConfig?: IClassTimeAlertConfig;\n classDuration?: number;\n changeDemoLevel?: boolean;\n}\n\nexport interface ITrialSessionContext\n extends Pick<\n ITrialSessionProps,\n | 'classStartedOn'\n | 'formData'\n | 'teacherPanel'\n | 'studentId'\n | 'teacherId'\n | 'studentPanel'\n | 'worksheet'\n | 'worksheetNavigationPanel'\n | 'questionsRatingPanel'\n | 'openEndClassModal'\n | 'studentAbsentInClass'\n | 'classDuration'\n | 'classTimeAlertConfig'\n > {\n buttonState: { left: IButtonState; right: IButtonState };\n isTeacher: boolean;\n milestoneConfig: IMilestoneConfig;\n slideConfig: ISlide;\n updateButtonState: (\n btnNavDir: 'left' | 'right' | 'both',\n currentState: IButtonState | { left: IButtonState; right: IButtonState },\n ) => void;\n updateSlideConfig: (config: Partial<ITrialSessionFormFields>) => void;\n trialHomeData: ITrialHomeData;\n onTrialInformationUpdate?: () => void;\n circleGames: ITrialCircleGameParams;\n trialGameUrl: string;\n handleInfoMessage: (message: IInfoMessage) => void;\n onRemoveOptionalSlides?: (grade?: string, goal?: string) => void;\n}\n\nexport interface ITrialSessionViewProps extends ITrialSessionProps {\n trialHomeData: ITrialHomeData;\n milestoneConfig: IMilestoneConfig;\n studentTimezone?: string;\n onStudentTimezoneUpdate?: () => void;\n onTrialInformationUpdate?: () => void;\n handleInfoMessage: (message: IInfoMessage) => void;\n onRemoveOptionalSlides?: (grade?: string, goal?: string) => void;\n}\n\nexport enum ELearningPlanView {\n ADD_RESOURCE = 'add-resource',\n
|
|
1
|
+
{"version":3,"file":"trial-session-types.js","sources":["../../../src/features/trial-session/trial-session-types.ts"],"sourcesContent":["import type { Dispatch, ReactElement, SetStateAction } from 'react';\n\nimport type { TNodeTypes } from '../../types/models/worksheet';\nimport type { IInfoMessage } from '../circle-games/games/web-view/web-view-types';\nimport type {\n IMilestoneConfig,\n TCourseStream,\n TEnrollmentTypes,\n TPreferenceCategory,\n} from '../milestone/create/milestone-create-types';\nimport type { IAvatarLayer } from '../ui/avatar/avatar-types';\nimport type { TUserTypes } from '../ui/types';\nimport type { TPreference } from './comps/class-preference/class-preference-types';\nimport type {\n ITrialCircleConfig,\n ITrialCircleGameParams,\n} from './comps/trial-circle-game/trial-circle-game-types';\nimport type { TrialPageId } from './trial-session-constants';\nimport type { INodeDataProps } from '../chapters-v2/comps/node-card/node-card-types';\n\nexport type { TSessionReportData as TSessionReport } from './comps/session-report/session-report-types';\n\nexport type TSlideId = TrialPageId;\n\nexport type TRegionData = {\n opportunity_country: string;\n};\n\nexport type TPreferenceSchema = {\n preference_code: string;\n preference_name: string;\n preference_category: TPreferenceCategory;\n};\n\nexport enum EClassTimeAlertLevel {\n FIVE_MIN = '5min',\n FIFTEEN_MIN = '15min',\n}\ninterface IButtonConfig {\n buttonLabel: string;\n pageId: string;\n}\n\nexport interface ISolution {\n media?: string;\n media_type?: 'image' | 'video';\n text?: string;\n}\n\nexport type TDegreeInformation = {\n degree_name?: string;\n field_of_study?: string;\n degree_code?: string;\n};\n\nexport interface ITeacherProfileDetails {\n lower_grade: string;\n higher_grade: string;\n header_image: string;\n years_of_experience: number;\n number_of_students_taught: number;\n countries: string[];\n degree: TDegreeInformation;\n first_name: string;\n last_name: string;\n teacher_profile_url?: string;\n}\n\nexport interface ISlide {\n id: TrialPageId;\n renderAs: 'split' | 'full';\n renderAVIn: 'left' | 'right';\n header: string;\n subHeader?: string;\n prevPage?: IButtonConfig;\n nextPage?: IButtonConfig;\n cues?: string[];\n dos?: string[];\n donts?: string[];\n navigationLabel?: string;\n slideTag?: string;\n teacher_profile?: ITeacherProfileDetails;\n solutions?: ISolution[];\n enableSessionPerk?: boolean;\n showProfileHighlights?: boolean;\n}\n\nexport interface TGoals {\n goal_code?: string;\n milestone_date_ts?: number;\n goal_category?: string;\n milestone_name?: string;\n publish?: boolean;\n program_code?: string;\n}\n\nexport interface ITrialSessionFormFields {\n id: string;\n name?: string;\n grade?: string;\n curriculum?: string;\n goals?: TGoals[];\n studentProfile?: {\n profileSummary?: string;\n dummyProfileImageIndex?: number;\n summaryFetched?: boolean;\n summaryFetchFailed?: boolean;\n };\n enrollmentType?: TEnrollmentTypes;\n userNodeId?: string;\n nodeId?: string;\n nodeType?: TNodeTypes;\n attemptId?: string;\n preferences?: TPreference[];\n personalizedLevel?: string[];\n personalizedFocus?: string[];\n personalizedBehaviors?: string[];\n personalizedObjectives?: string[];\n personalizedPosition?: string[];\n isCircleGamePlayed?: boolean;\n isCirclePuzzleSolved?: boolean;\n isCircleSkillCompleted?: boolean;\n studentTimezone?: string;\n showCircleGameScreen?: boolean;\n accuracyStr?: string;\n totalTimeTaken?: number;\n matchmakingId?: string;\n numberInNameError?: boolean;\n confirmationModalActive?: boolean;\n resetAttempt: boolean;\n // Learning Plan state\n learningPlanView?: ELearningPlanView;\n learningPlanChapterId?: string;\n learningPlanActiveMilestoneId?: string;\n learningPlanWorksheetData?: IWorksheetData;\n}\n\nexport interface IButtonState {\n isDisabled: boolean;\n isLoading: boolean;\n}\n\nexport interface ITrialHomeData {\n pages: ISlide[];\n demo_info: {\n student_classroom_id: string;\n stream: TCourseStream;\n region_data: TRegionData;\n scheduled_start_time: number;\n course?: string;\n goal_code?: string | null;\n };\n parent: {\n name: string;\n };\n student: {\n grade: string;\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n enrollment_type: TEnrollmentTypes;\n };\n teacher: {\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n };\n intel_student?: {\n source?: string;\n student_preference?: {\n preferences?: TPreferenceSchema[];\n };\n };\n circle_trial_game_config: ITrialCircleConfig;\n}\n\nexport interface IClassTimeAlertConfig {\n alertLevel: EClassTimeAlertLevel | null;\n isVisible: boolean;\n onComplete: () => void;\n}\n\nexport interface ITrialSessionProps {\n classStartedOn?: Date;\n height?: string | number;\n userType: TUserTypes;\n studentId: string;\n teacherId: string;\n teacherClassroomId: string;\n teacherPanel?: ReactElement;\n studentPanel?: ReactElement;\n formData?: ITrialSessionFormFields;\n onFormDataChange?: Dispatch<SetStateAction<ITrialSessionFormFields | undefined>>;\n worksheet?: ReactElement;\n worksheetNavigationPanel?: ReactElement;\n questionsRatingPanel?: ReactElement;\n studentAbsentInClass?: boolean;\n openEndClassModal?: () => void;\n trialGameUrl: string;\n handleInfoMessage: (message: IInfoMessage) => void;\n classTimeAlertConfig?: IClassTimeAlertConfig;\n classDuration?: number;\n changeDemoLevel?: boolean;\n}\n\nexport interface ITrialSessionContext\n extends Pick<\n ITrialSessionProps,\n | 'classStartedOn'\n | 'formData'\n | 'teacherPanel'\n | 'studentId'\n | 'teacherId'\n | 'studentPanel'\n | 'worksheet'\n | 'worksheetNavigationPanel'\n | 'questionsRatingPanel'\n | 'openEndClassModal'\n | 'studentAbsentInClass'\n | 'classDuration'\n | 'classTimeAlertConfig'\n > {\n buttonState: { left: IButtonState; right: IButtonState };\n isTeacher: boolean;\n milestoneConfig: IMilestoneConfig;\n slideConfig: ISlide;\n updateButtonState: (\n btnNavDir: 'left' | 'right' | 'both',\n currentState: IButtonState | { left: IButtonState; right: IButtonState },\n ) => void;\n updateSlideConfig: (config: Partial<ITrialSessionFormFields>) => void;\n trialHomeData: ITrialHomeData;\n onTrialInformationUpdate?: () => void;\n circleGames: ITrialCircleGameParams;\n trialGameUrl: string;\n handleInfoMessage: (message: IInfoMessage) => void;\n onRemoveOptionalSlides?: (grade?: string, goal?: string) => void;\n}\n\nexport interface ITrialSessionViewProps extends ITrialSessionProps {\n trialHomeData: ITrialHomeData;\n milestoneConfig: IMilestoneConfig;\n studentTimezone?: string;\n onStudentTimezoneUpdate?: () => void;\n onTrialInformationUpdate?: () => void;\n handleInfoMessage: (message: IInfoMessage) => void;\n onRemoveOptionalSlides?: (grade?: string, goal?: string) => void;\n}\n\nexport enum ELearningPlanView {\n ADD_RESOURCE = 'add-resource',\n ADD_TEST = 'add-test',\n EDIT_MILESTONE = 'edit-milestone',\n VIEW_WORKSHEET = 'view-worksheet',\n VIEW_CHAPTER_DETAILS = 'view-chapter-details',\n}\n\nexport interface IMilestoneWidgetState {\n selectedTab?: string;\n isExpanded?: boolean;\n}\n\nexport interface IMilestoneState {\n [milestoneId: string]: IMilestoneWidgetState;\n}\n\nexport interface IWorksheetData {\n itemRefs: string[];\n activityReference: string;\n nodeType: INodeDataProps['node_type'];\n worksheetName: string;\n activityType: INodeDataProps['activity_type'];\n}\n\nexport interface ILearningPlanSyncState {\n currentView?: ELearningPlanView;\n chapterId?: string;\n activeMilestoneId?: string;\n worksheetData?: IWorksheetData;\n}\n"],"names":["EClassTimeAlertLevel","ELearningPlanView"],"mappings":"AAkCY,IAAAA,sBAAAA,OACVA,EAAA,WAAW,QACXA,EAAA,cAAc,SAFJA,IAAAA,KAAA,CAAA,CAAA,GAuNAC,sBAAAA,OACVA,EAAA,eAAe,gBACfA,EAAA,WAAW,YACXA,EAAA,iBAAiB,kBACjBA,EAAA,iBAAiB,kBACjBA,EAAA,uBAAuB,wBALbA,IAAAA,KAAA,CAAA,CAAA;"}
|
|
@@ -2,15 +2,15 @@ import { EWorksheetActivity as E } from "../../../types/models/worksheet.js";
|
|
|
2
2
|
import { TRIAL_V3_NODE_TYPES as N, ASSESSMENT_NODE_TYPES as R } from "../../sheets/utils/is-v3-worksheet.js";
|
|
3
3
|
const l = (S) => {
|
|
4
4
|
const {
|
|
5
|
-
nodeType:
|
|
5
|
+
nodeType: A,
|
|
6
6
|
activityType: c,
|
|
7
|
-
inClass:
|
|
7
|
+
inClass: r,
|
|
8
8
|
isDesmosEnabled: u = !1,
|
|
9
9
|
userType: i,
|
|
10
|
-
mode:
|
|
10
|
+
mode: n,
|
|
11
11
|
worksheetCompleted: t,
|
|
12
12
|
behaviorOverride: m
|
|
13
|
-
} = S, o = N.includes(
|
|
13
|
+
} = S, o = N.includes(A), T = R.includes(A), s = n === "resume", a = {
|
|
14
14
|
hints: s,
|
|
15
15
|
navigationMode: "OPEN",
|
|
16
16
|
initialQuestion: s || i === "TEACHER" && !t ? "CURRENT" : "FIRST",
|
|
@@ -18,7 +18,7 @@ const l = (S) => {
|
|
|
18
18
|
minimumAccuracy: 100,
|
|
19
19
|
teacherDiscussionEnabled: c === E.LESSON_V3_1,
|
|
20
20
|
teacherValidationEnabled: c === E.LESSON_V3 || o,
|
|
21
|
-
canTeacherValidate: !!
|
|
21
|
+
canTeacherValidate: !!r && (c === E.LESSON_V3 || o),
|
|
22
22
|
validation: i === "STUDENT" && T ? !!t : !0,
|
|
23
23
|
review: !1,
|
|
24
24
|
canAttempt: i === "STUDENT" ? s : !1,
|
|
@@ -27,21 +27,22 @@ const l = (S) => {
|
|
|
27
27
|
retryButtonLabel: "Retry",
|
|
28
28
|
canMarkForReview: !1,
|
|
29
29
|
canShowDesmosCalc: u,
|
|
30
|
-
canvasEnabled:
|
|
31
|
-
canScribble:
|
|
30
|
+
canvasEnabled: n !== "preview",
|
|
31
|
+
canScribble: n !== "preview",
|
|
32
32
|
solutionHidden: !1
|
|
33
33
|
};
|
|
34
34
|
let e;
|
|
35
|
-
switch (
|
|
35
|
+
switch (A) {
|
|
36
36
|
case "LEARNING":
|
|
37
37
|
case "SAT_MATH_LEARNING":
|
|
38
38
|
case "SAT_ENGLISH_LEARNING":
|
|
39
|
-
|
|
39
|
+
e = {
|
|
40
40
|
...a,
|
|
41
|
-
navigationMode: c === E.LESSON_V3 && s && !
|
|
41
|
+
navigationMode: c === E.LESSON_V3 && s && !r ? "OPEN" : "LINEAR",
|
|
42
42
|
attemptsAfterTeacherInterventionNeeded: 2,
|
|
43
43
|
review: !0
|
|
44
44
|
};
|
|
45
|
+
break;
|
|
45
46
|
case "GENERAL":
|
|
46
47
|
case "REMEDIAL":
|
|
47
48
|
case "RECAP":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worksheet-behavior-helper.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-behavior-helper.ts"],"sourcesContent":["import { EWorksheetActivity, type TNodeTypes } from '../../../types/models/worksheet';\nimport { ASSESSMENT_NODE_TYPES, TRIAL_V3_NODE_TYPES } from '../../sheets/utils/is-v3-worksheet';\nimport type { TUserTypes } from '../../ui/types';\nimport type { IWorksheetBehavior } from './worksheet-types';\n\ninterface IGetWorksheetBehaviour {\n (params: {\n nodeType: TNodeTypes;\n activityType: EWorksheetActivity | null;\n inClass?: boolean;\n isDesmosEnabled?: boolean;\n userType: TUserTypes;\n mode: 'resume' | 'review' | 'preview';\n worksheetCompleted?: boolean;\n behaviorOverride?: Partial<IWorksheetBehavior>;\n }): IWorksheetBehavior;\n}\n\nexport const getWorksheetBehaviour: IGetWorksheetBehaviour = params => {\n const {\n nodeType,\n activityType,\n inClass,\n isDesmosEnabled = false,\n userType,\n mode,\n worksheetCompleted,\n behaviorOverride,\n } = params;\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:\n canAttempt || (userType === 'TEACHER' && !worksheetCompleted) ? 'CURRENT' : 'FIRST',\n maximumAttempts: isAssessment ? -1 : 99999,\n minimumAccuracy: 100,\n teacherDiscussionEnabled: activityType === EWorksheetActivity.LESSON_V3_1,\n teacherValidationEnabled: activityType === EWorksheetActivity.LESSON_V3 || isTrialV3,\n canTeacherValidate: !!inClass && (activityType === EWorksheetActivity.LESSON_V3 || isTrialV3),\n validation: userType === 'STUDENT' && isAssessment ? !!worksheetCompleted : 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 canScribble: mode !== 'preview',\n solutionHidden: false,\n };\n\n let behavior: IWorksheetBehavior;\n\n switch (nodeType) {\n // LEARNING SHEETS\n case 'LEARNING':\n case 'SAT_MATH_LEARNING':\n case 'SAT_ENGLISH_LEARNING'
|
|
1
|
+
{"version":3,"file":"worksheet-behavior-helper.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-behavior-helper.ts"],"sourcesContent":["import { EWorksheetActivity, type TNodeTypes } from '../../../types/models/worksheet';\nimport { ASSESSMENT_NODE_TYPES, TRIAL_V3_NODE_TYPES } from '../../sheets/utils/is-v3-worksheet';\nimport type { TUserTypes } from '../../ui/types';\nimport type { IWorksheetBehavior } from './worksheet-types';\n\ninterface IGetWorksheetBehaviour {\n (params: {\n nodeType: TNodeTypes;\n activityType: EWorksheetActivity | null;\n inClass?: boolean;\n isDesmosEnabled?: boolean;\n userType: TUserTypes;\n mode: 'resume' | 'review' | 'preview';\n worksheetCompleted?: boolean;\n behaviorOverride?: Partial<IWorksheetBehavior>;\n }): IWorksheetBehavior;\n}\n\nexport const getWorksheetBehaviour: IGetWorksheetBehaviour = params => {\n const {\n nodeType,\n activityType,\n inClass,\n isDesmosEnabled = false,\n userType,\n mode,\n worksheetCompleted,\n behaviorOverride,\n } = params;\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:\n canAttempt || (userType === 'TEACHER' && !worksheetCompleted) ? 'CURRENT' : 'FIRST',\n maximumAttempts: isAssessment ? -1 : 99999,\n minimumAccuracy: 100,\n teacherDiscussionEnabled: activityType === EWorksheetActivity.LESSON_V3_1,\n teacherValidationEnabled: activityType === EWorksheetActivity.LESSON_V3 || isTrialV3,\n canTeacherValidate: !!inClass && (activityType === EWorksheetActivity.LESSON_V3 || isTrialV3),\n validation: userType === 'STUDENT' && isAssessment ? !!worksheetCompleted : 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 canScribble: mode !== 'preview',\n solutionHidden: false,\n };\n\n let behavior: IWorksheetBehavior;\n\n switch (nodeType) {\n // LEARNING SHEETS\n case 'LEARNING':\n case 'SAT_MATH_LEARNING':\n case 'SAT_ENGLISH_LEARNING':\n behavior = {\n ...baseBehavior,\n navigationMode:\n activityType === EWorksheetActivity.LESSON_V3 && canAttempt && !inClass\n ? 'OPEN'\n : 'LINEAR',\n attemptsAfterTeacherInterventionNeeded: 2,\n review: true,\n };\n break;\n\n // RECAP SHEETS\n case 'GENERAL':\n case 'REMEDIAL':\n case 'RECAP':\n case 'SAT_MATH_RECAP':\n behavior = {\n ...baseBehavior,\n maximumAttempts: 1,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n review: true,\n };\n break;\n\n // PRACTICE SHEETS\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'PRACTICE':\n behavior = { ...baseBehavior, maximumAttempts: 1, review: true };\n break;\n\n case 'TURING_PRACTICE':\n behavior = { ...baseBehavior, maximumAttempts: 1 };\n break;\n\n //PUZZLE SHEETS\n case 'PUZZLE_CARD':\n behavior = {\n ...baseBehavior,\n navigationMode: 'LINEAR',\n maximumAttempts: -2,\n solutionHidden: true,\n validation: false,\n minimumAccuracy: 0,\n };\n break;\n\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n behavior = { ...baseBehavior, navigationMode: 'LINEAR' };\n break;\n\n // TRIAL SHEETS\n case 'TRIAL_DIAGNOSTIC':\n behavior = { ...baseBehavior, navigationMode: 'ADAPTIVE', review: true };\n break;\n\n case 'TRIAL_BASIC':\n case 'TRIAL_INTERMEDIATE':\n case 'TRIAL_ADVANCED':\n behavior = {\n ...baseBehavior,\n navigationMode: 'CURRENT',\n review: true,\n };\n break;\n\n // ASSESSMENT SHEETS\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'DYNAMIC':\n case 'TURING_ASSESSMENT':\n behavior = {\n ...baseBehavior,\n minimumAccuracy: 0,\n };\n break;\n\n case 'SAT_MATH_ASSESSMENT':\n case 'SAT_ENGLISH_ASSESSMENT':\n behavior = {\n ...baseBehavior,\n canMarkForReview: true,\n minimumAccuracy: 0,\n canvasEnabled: false,\n };\n break;\n\n case 'MASTERY':\n behavior = {\n ...baseBehavior,\n hintsTimer: userType === 'STUDENT' && canAttempt ? 90 : undefined,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n skippable: true,\n skippableTime: 90,\n solutionHidden: !worksheetCompleted,\n minimumAccuracy: 0,\n canScribble: userType === 'TEACHER' ? worksheetCompleted : true,\n };\n break;\n\n // SUBJECTIVE SHEETS\n case 'SUBJECTIVE':\n case 'TURING_SUBJECTIVE':\n behavior = {\n ...baseBehavior,\n maximumAttempts: 1,\n minimumAccuracy: 0,\n validation: false,\n solutionHidden: !worksheetCompleted,\n };\n break;\n\n // REVISION SHEETS\n case 'LEGACY':\n case 'REVISION':\n behavior = {\n ...baseBehavior,\n maximumAttempts: 2,\n canExceedAttempts: false,\n minimumAccuracy: 0,\n review: true,\n };\n break;\n\n case 'LEVEL2':\n case 'LEVEL3':\n behavior = {\n ...baseBehavior,\n maximumAttempts: 1,\n canExceedAttempts: false,\n minimumAccuracy: 0,\n review: true,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n };\n break;\n\n default:\n behavior = {\n ...baseBehavior,\n maximumAttempts: 1,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n };\n }\n\n return behaviorOverride ? { ...behavior, ...behaviorOverride } : behavior;\n};\n"],"names":["getWorksheetBehaviour","params","nodeType","activityType","inClass","isDesmosEnabled","userType","mode","worksheetCompleted","behaviorOverride","isTrialV3","TRIAL_V3_NODE_TYPES","isAssessment","ASSESSMENT_NODE_TYPES","canAttempt","baseBehavior","EWorksheetActivity","behavior"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -587,8 +587,8 @@ export declare enum ELeaderboardType {
|
|
|
587
587
|
|
|
588
588
|
declare enum ELearningPlanView {
|
|
589
589
|
ADD_RESOURCE = "add-resource",
|
|
590
|
-
|
|
591
|
-
|
|
590
|
+
ADD_TEST = "add-test",
|
|
591
|
+
EDIT_MILESTONE = "edit-milestone",
|
|
592
592
|
VIEW_WORKSHEET = "view-worksheet",
|
|
593
593
|
VIEW_CHAPTER_DETAILS = "view-chapter-details"
|
|
594
594
|
}
|
|
@@ -2956,6 +2956,7 @@ declare interface IMileStoneCreateProps {
|
|
|
2956
2956
|
onExit?: () => void;
|
|
2957
2957
|
onPreSubmit?: TCreateOnPresubmit;
|
|
2958
2958
|
useAbsoluteFooter?: boolean;
|
|
2959
|
+
disablePublish?: boolean;
|
|
2959
2960
|
}
|
|
2960
2961
|
|
|
2961
2962
|
export declare interface IMilestoneData {
|