@cuemath/leap 2.8.47 → 2.8.48-gs1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js +24 -24
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-styled.js +2 -3
- package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +62 -56
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +102 -98
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +126 -117
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js +104 -98
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +1 -0
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js +7 -7
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-list/tests-list.js +12 -12
- package/dist/features/milestone/milestone-tests/tests-list/tests-list.js.map +1 -1
- package/dist/features/sheets/resources-list/resource-item/resource-item.js +89 -87
- package/dist/features/sheets/resources-list/resource-item/resource-item.js.map +1 -1
- package/dist/index.d.ts +23 -5
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tests-list.js","sources":["../../../../../src/features/milestone/milestone-tests/tests-list/tests-list.tsx"],"sourcesContent":["import type { ITestsListProps } from './tests-list-types';\n\nimport { memo, useCallback, useEffect, type FC } from 'react';\n\nimport { IMAGES } from '../../../../assets/images/images';\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { useGetTestHelpData } from '../../milestone-list-container/api/get-tests-list';\nimport { TESTS_CREATION_ANALYTICS_EVENTS } from '../tests-creation/tests-creation-analytics-events';\nimport TestSheetsList from './test-sheets-list/test-sheets-list';\nimport * as Styled from './tests-list-styled';\n\nconst MilestoneTestsList: FC<ITestsListProps> = memo(props => {\n const {\n isChaptersAvailable,\n isDraftMilestone,\n isMilestoneActive,\n userType,\n studentId,\n userMilestoneId,\n canUpdatePlan,\n } = props;\n const { onCreateMilestoneTest, onTestPreview, onTestReview, onTestStart } = props;\n\n const {\n get: getTestHelpData,\n data,\n isProcessingFailed,\n isProcessed,\n isStale,\n isProcessing,\n } = useGetTestHelpData();\n\n const isTestSheetCreationDisabled =\n !canUpdatePlan ||\n !isChaptersAvailable ||\n !isMilestoneActive ||\n (isMilestoneActive && isDraftMilestone);\n const testCreationCtaTooltipText =\n isMilestoneActive && !isChaptersAvailable\n ? 'Chapters need to be assigned'\n : isDraftMilestone\n ? 'Allowed after plan is published'\n : 'Plan is completed';\n\n const handleOnTryAgain = useCallback(() => {\n getTestHelpData(userMilestoneId, undefined, {\n studentId,\n });\n }, [getTestHelpData, studentId, userMilestoneId]);\n\n useEffect(() => {\n if (!isProcessing && ((!isProcessed && !isProcessingFailed) || isStale)) {\n handleOnTryAgain();\n }\n }, [handleOnTryAgain, isProcessed, isProcessing, isProcessingFailed, isStale]);\n\n const handleOnCreateMilestoneTest = useCallback(() => {\n if (typeof onCreateMilestoneTest === 'function') {\n onCreateMilestoneTest?.(userMilestoneId, (data?.length || 0) + 1);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n }, [onCreateMilestoneTest, userMilestoneId, data]);\n\n const handleOnPreview = useCallback<NonNullable<ITestsListProps['onTestPreview']>>(\n (milestoneId, sheetData) => {\n if (typeof onTestPreview === 'function') {\n onTestPreview(milestoneId, sheetData);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestPreview],\n );\n\n const handleOnStart = useCallback<NonNullable<ITestsListProps['onTestStart']>>(\n sheet => {\n if (typeof onTestStart === 'function') {\n onTestStart(sheet);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestStart],\n );\n\n const handleOnReview = useCallback<NonNullable<ITestsListProps['onTestReview']>>(\n sheet => {\n if (typeof onTestReview === 'function') {\n onTestReview(sheet);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestReview],\n );\n\n if (isProcessingFailed) {\n return (\n <Styled.TestHelpWrapper $alignItems=\"center\" $justifyContent=\"center\">\n <FlexView $flexGapX={1.5} $alignItems=\"center\" $justifyContent=\"center\">\n <Text $renderAs=\"h6\">Oops! Something went wrong. Please try again later.</Text>\n <Button\n widthX={14}\n size=\"small\"\n shape=\"square\"\n renderAs=\"primary\"\n label=\"Try again\"\n onClick={handleOnTryAgain}\n />\n </FlexView>\n </Styled.TestHelpWrapper>\n );\n }\n\n if (isProcessed) {\n if (data?.length) {\n return (\n <Styled.TestHelpWrapper>\n <TestSheetsList\n milestoneId={userMilestoneId}\n sheets={data}\n userType={userType}\n studentId={studentId}\n onCreateNewTest={handleOnCreateMilestoneTest}\n onTestPreview={handleOnPreview}\n onTestReview={handleOnReview}\n onTestStart={handleOnStart}\n canUpdatedPlan={canUpdatePlan}\n isMilestoneActive={isMilestoneActive}\n />\n </Styled.TestHelpWrapper>\n );\n }\n\n return (\n <Styled.TestHelpWrapper $gapX={6.75} $alignItems=\"center\" $justifyContent=\"center\">\n <img src={IMAGES.EMPTY_MIX_TESTS} alt=\"empty_mix_tests\" />\n <Separator heightX={2} />\n {userType === 'TEACHER' ? (\n <>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={!isTestSheetCreationDisabled}\n tooltipItem={testCreationCtaTooltipText}\n >\n <Button\n widthX={10}\n renderAs=\"primary\"\n shape=\"square\"\n size=\"small\"\n label=\"Create a Test\"\n onClick={handleOnCreateMilestoneTest}\n disabled={isTestSheetCreationDisabled}\n analyticsLabel={TESTS_CREATION_ANALYTICS_EVENTS.CUSTOM_TEST_CREATION_STARTED}\n analyticsProps={{\n milestone_id: userMilestoneId,\n }}\n />\n </ArrowTooltip>\n <Separator heightX={2} />\n </>\n ) : (\n <Text $renderAs=\"ab2-bold\" $color=\"BLACK_T_87\">\n Wait for the teacher to create a test\n </Text>\n )}\n </Styled.TestHelpWrapper>\n );\n }\n\n return (\n <Styled.TestHelpWrapper $alignItems=\"center\" $justifyContent=\"center\">\n <AppLoader height=\"100%\" />\n </Styled.TestHelpWrapper>\n );\n});\n\nexport default MilestoneTestsList;\n"],"names":["MilestoneTestsList","memo","props","isChaptersAvailable","isDraftMilestone","isMilestoneActive","userType","studentId","userMilestoneId","canUpdatePlan","onCreateMilestoneTest","onTestPreview","onTestReview","onTestStart","getTestHelpData","data","isProcessingFailed","isProcessed","isStale","isProcessing","useGetTestHelpData","isTestSheetCreationDisabled","testCreationCtaTooltipText","handleOnTryAgain","useCallback","useEffect","handleOnCreateMilestoneTest","handleOnPreview","milestoneId","sheetData","handleOnStart","sheet","handleOnReview","jsx","Styled.TestHelpWrapper","jsxs","FlexView","Text","Button","TestSheetsList","IMAGES","Separator","Fragment","ArrowTooltip","TESTS_CREATION_ANALYTICS_EVENTS","AppLoader"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"tests-list.js","sources":["../../../../../src/features/milestone/milestone-tests/tests-list/tests-list.tsx"],"sourcesContent":["import type { ITestsListProps } from './tests-list-types';\n\nimport { memo, useCallback, useEffect, type FC } from 'react';\n\nimport { IMAGES } from '../../../../assets/images/images';\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { useGetTestHelpData } from '../../milestone-list-container/api/get-tests-list';\nimport { TESTS_CREATION_ANALYTICS_EVENTS } from '../tests-creation/tests-creation-analytics-events';\nimport TestSheetsList from './test-sheets-list/test-sheets-list';\nimport * as Styled from './tests-list-styled';\n\nconst MilestoneTestsList: FC<ITestsListProps> = memo(props => {\n const {\n isChaptersAvailable,\n isDraftMilestone,\n isMilestoneActive,\n userType,\n studentId,\n userMilestoneId,\n canUpdatePlan,\n } = props;\n const { onCreateMilestoneTest, onTestPreview, onTestReview, onTestStart } = props;\n\n const {\n get: getTestHelpData,\n data,\n isProcessingFailed,\n isProcessed,\n isStale,\n isProcessing,\n } = useGetTestHelpData();\n\n const isTestSheetCreationDisabled =\n !canUpdatePlan ||\n !isChaptersAvailable ||\n !isMilestoneActive ||\n (isMilestoneActive && isDraftMilestone);\n const testCreationCtaTooltipText =\n isMilestoneActive && !isChaptersAvailable\n ? 'Chapters need to be assigned'\n : isDraftMilestone\n ? 'Allowed after plan is published'\n : 'Plan is completed';\n\n const handleOnTryAgain = useCallback(() => {\n getTestHelpData(userMilestoneId, undefined, {\n studentId,\n });\n }, [getTestHelpData, studentId, userMilestoneId]);\n\n useEffect(() => {\n if (!isProcessing && ((!isProcessed && !isProcessingFailed) || isStale)) {\n handleOnTryAgain();\n }\n }, [handleOnTryAgain, isProcessed, isProcessing, isProcessingFailed, isStale]);\n\n const handleOnCreateMilestoneTest = useCallback(() => {\n if (typeof onCreateMilestoneTest === 'function') {\n onCreateMilestoneTest?.(userMilestoneId, (data?.length || 0) + 1);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n }, [onCreateMilestoneTest, userMilestoneId, data]);\n\n const handleOnPreview = useCallback<NonNullable<ITestsListProps['onTestPreview']>>(\n (milestoneId, sheetData) => {\n if (typeof onTestPreview === 'function') {\n onTestPreview(milestoneId, sheetData);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestPreview],\n );\n\n const handleOnStart = useCallback<NonNullable<ITestsListProps['onTestStart']>>(\n sheet => {\n if (typeof onTestStart === 'function') {\n onTestStart(sheet);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestStart],\n );\n\n const handleOnReview = useCallback<NonNullable<ITestsListProps['onTestReview']>>(\n sheet => {\n if (typeof onTestReview === 'function') {\n onTestReview(sheet, userMilestoneId);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestReview, userMilestoneId],\n );\n\n if (isProcessingFailed) {\n return (\n <Styled.TestHelpWrapper $alignItems=\"center\" $justifyContent=\"center\">\n <FlexView $flexGapX={1.5} $alignItems=\"center\" $justifyContent=\"center\">\n <Text $renderAs=\"h6\">Oops! Something went wrong. Please try again later.</Text>\n <Button\n widthX={14}\n size=\"small\"\n shape=\"square\"\n renderAs=\"primary\"\n label=\"Try again\"\n onClick={handleOnTryAgain}\n />\n </FlexView>\n </Styled.TestHelpWrapper>\n );\n }\n\n if (isProcessed) {\n if (data?.length) {\n return (\n <Styled.TestHelpWrapper>\n <TestSheetsList\n milestoneId={userMilestoneId}\n sheets={data}\n userType={userType}\n studentId={studentId}\n onCreateNewTest={handleOnCreateMilestoneTest}\n onTestPreview={handleOnPreview}\n onTestReview={handleOnReview}\n onTestStart={handleOnStart}\n canUpdatedPlan={canUpdatePlan}\n isMilestoneActive={isMilestoneActive}\n />\n </Styled.TestHelpWrapper>\n );\n }\n\n return (\n <Styled.TestHelpWrapper $gapX={6.75} $alignItems=\"center\" $justifyContent=\"center\">\n <img src={IMAGES.EMPTY_MIX_TESTS} alt=\"empty_mix_tests\" />\n <Separator heightX={2} />\n {userType === 'TEACHER' ? (\n <>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={!isTestSheetCreationDisabled}\n tooltipItem={testCreationCtaTooltipText}\n >\n <Button\n widthX={10}\n renderAs=\"primary\"\n shape=\"square\"\n size=\"small\"\n label=\"Create a Test\"\n onClick={handleOnCreateMilestoneTest}\n disabled={isTestSheetCreationDisabled}\n analyticsLabel={TESTS_CREATION_ANALYTICS_EVENTS.CUSTOM_TEST_CREATION_STARTED}\n analyticsProps={{\n milestone_id: userMilestoneId,\n }}\n />\n </ArrowTooltip>\n <Separator heightX={2} />\n </>\n ) : (\n <Text $renderAs=\"ab2-bold\" $color=\"BLACK_T_87\">\n Wait for the teacher to create a test\n </Text>\n )}\n </Styled.TestHelpWrapper>\n );\n }\n\n return (\n <Styled.TestHelpWrapper $alignItems=\"center\" $justifyContent=\"center\">\n <AppLoader height=\"100%\" />\n </Styled.TestHelpWrapper>\n );\n});\n\nexport default MilestoneTestsList;\n"],"names":["MilestoneTestsList","memo","props","isChaptersAvailable","isDraftMilestone","isMilestoneActive","userType","studentId","userMilestoneId","canUpdatePlan","onCreateMilestoneTest","onTestPreview","onTestReview","onTestStart","getTestHelpData","data","isProcessingFailed","isProcessed","isStale","isProcessing","useGetTestHelpData","isTestSheetCreationDisabled","testCreationCtaTooltipText","handleOnTryAgain","useCallback","useEffect","handleOnCreateMilestoneTest","handleOnPreview","milestoneId","sheetData","handleOnStart","sheet","handleOnReview","jsx","Styled.TestHelpWrapper","jsxs","FlexView","Text","Button","TestSheetsList","IMAGES","Separator","Fragment","ArrowTooltip","TESTS_CREATION_ANALYTICS_EVENTS","AppLoader"],"mappings":"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"}
|
@@ -1,25 +1,26 @@
|
|
1
|
-
import { jsxs as
|
2
|
-
import { memo as
|
3
|
-
import
|
4
|
-
import
|
5
|
-
import
|
6
|
-
import
|
7
|
-
import
|
8
|
-
import { useUIContext as
|
9
|
-
import
|
10
|
-
import
|
11
|
-
import
|
12
|
-
import { SHEETS_ANALYTICS_EVENTS as
|
13
|
-
import { TEACHER_MENU_OPTIONS as
|
1
|
+
import { jsxs as v, jsx as e } from "react/jsx-runtime";
|
2
|
+
import { memo as J, useRef as Q, useState as Z, useMemo as ee, useCallback as d, useLayoutEffect as te } from "react";
|
3
|
+
import oe from "../../../../assets/line-icons/icons/minus2.js";
|
4
|
+
import re from "../../../../assets/line-icons/icons/plus2.js";
|
5
|
+
import ne from "../../../../assets/line-icons/icons/redo.js";
|
6
|
+
import A from "../../../ui/arrow-tooltip/arrow-tooltip.js";
|
7
|
+
import ie from "../../../ui/context-menu/context-menu.js";
|
8
|
+
import { useUIContext as ce } from "../../../ui/context/context.js";
|
9
|
+
import se from "../../../ui/layout/flex-view.js";
|
10
|
+
import ae from "../../comps/sheet-button/index.js";
|
11
|
+
import ue from "../../lessons-list/lesson-item/context-menu-helper/target-element.js";
|
12
|
+
import { SHEETS_ANALYTICS_EVENTS as k } from "../../sheets-analytics-events.js";
|
13
|
+
import { TEACHER_MENU_OPTIONS as me } from "../../sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js";
|
14
14
|
import { isV3Worksheet as h } from "../../utils/is-v3-worksheet.js";
|
15
|
-
import
|
16
|
-
import { ResourceItemCard as
|
17
|
-
import { getResourceItemCtaState as
|
18
|
-
const { UNASSIGN:
|
15
|
+
import le from "./context-menu-helper/menu-element.js";
|
16
|
+
import { ResourceItemCard as pe, ResourceItemTitle as fe, IconButtonWrapper as de } from "./styled.js";
|
17
|
+
import { getResourceItemCtaState as he, getResourceItemCtaInfo as we, getResourceItemBackgroundColor as _e } from "./utils.js";
|
18
|
+
const { UNASSIGN: x, REDO: N } = me, Me = J(
|
19
19
|
({
|
20
20
|
sheet: t,
|
21
|
-
userType:
|
21
|
+
userType: O,
|
22
22
|
isMilestoneWidget: w,
|
23
|
+
userMilestoneId: _,
|
23
24
|
onUnlock: i,
|
24
25
|
onUnAssignSheet: u,
|
25
26
|
onReset: m,
|
@@ -27,77 +28,78 @@ const { UNASSIGN: k, REDO: x } = ue, Me = z(
|
|
27
28
|
onReview: p,
|
28
29
|
onStart: f
|
29
30
|
}) => {
|
30
|
-
const { onClick: c } =
|
31
|
-
accuracy:
|
32
|
-
permissions:
|
33
|
-
title:
|
34
|
-
sheet_statement:
|
35
|
-
state:
|
31
|
+
const { onClick: c } = ce(), r = Q(null), [D, M] = Z(!1), {
|
32
|
+
accuracy: b,
|
33
|
+
permissions: X,
|
34
|
+
title: C,
|
35
|
+
sheet_statement: j,
|
36
|
+
state: E,
|
36
37
|
node_id: o,
|
37
38
|
user_node_id: s,
|
38
|
-
node_sub_group:
|
39
|
-
node_type:
|
39
|
+
node_sub_group: G,
|
40
|
+
node_type: y
|
40
41
|
} = t, {
|
41
|
-
can_start:
|
42
|
-
can_resume:
|
43
|
-
can_unlock:
|
44
|
-
can_review:
|
45
|
-
can_teacher_review:
|
46
|
-
can_unassign:
|
47
|
-
can_reset:
|
48
|
-
} =
|
42
|
+
can_start: I,
|
43
|
+
can_resume: S,
|
44
|
+
can_unlock: g,
|
45
|
+
can_review: H,
|
46
|
+
can_teacher_review: L,
|
47
|
+
can_unassign: B,
|
48
|
+
can_reset: U
|
49
|
+
} = X, V = typeof b == "number" ? `${b}%` : void 0, n = O === "STUDENT", R = n ? H : L, P = he(E), { label: W, Icon: F } = we(G) || {}, a = ee(
|
49
50
|
() => ({
|
50
51
|
node_id: o,
|
51
|
-
node_type:
|
52
|
+
node_type: y
|
52
53
|
}),
|
53
|
-
[o,
|
54
|
-
),
|
54
|
+
[o, y]
|
55
|
+
), K = d(() => {
|
55
56
|
c({
|
56
|
-
analyticsLabel:
|
57
|
+
analyticsLabel: k.RESOURCE_ASSIGNED,
|
57
58
|
props: a
|
58
59
|
}), i == null || i(o);
|
59
|
-
}, [i, o, c, a]),
|
60
|
-
if (n && (
|
60
|
+
}, [i, o, c, a]), Y = d(() => {
|
61
|
+
if (n && (I || S)) {
|
61
62
|
if (typeof f == "function") {
|
62
63
|
f(o, h(t), s);
|
63
64
|
return;
|
64
65
|
}
|
65
66
|
throw new Error("No callback is available");
|
66
67
|
}
|
67
|
-
if (
|
68
|
+
if (R) {
|
68
69
|
if (typeof p != "function")
|
69
70
|
throw new Error("onReview must be a function");
|
70
71
|
if (!s)
|
71
72
|
throw new Error("user node id must be present to review the sheet");
|
72
|
-
p(s, h(t, "review"));
|
73
|
+
p(s, h(t, "review"), _);
|
73
74
|
return;
|
74
75
|
}
|
75
76
|
if (typeof l != "function")
|
76
77
|
throw new Error("onPreview must be a function");
|
77
78
|
l(t, h(t));
|
78
79
|
}, [
|
79
|
-
|
80
|
-
|
80
|
+
S,
|
81
|
+
R,
|
81
82
|
I,
|
82
|
-
|
83
|
+
n,
|
83
84
|
o,
|
84
85
|
t,
|
86
|
+
_,
|
85
87
|
s,
|
86
88
|
f,
|
87
89
|
p,
|
88
90
|
l
|
89
|
-
]),
|
90
|
-
(
|
91
|
-
switch (
|
92
|
-
case
|
91
|
+
]), T = d(
|
92
|
+
(z) => {
|
93
|
+
switch (z) {
|
94
|
+
case x:
|
93
95
|
if (typeof u != "function")
|
94
96
|
throw new Error("onUnassignSheet must be a function");
|
95
97
|
c({
|
96
|
-
analyticsLabel:
|
98
|
+
analyticsLabel: k.RESOURCE_UNASSIGNED,
|
97
99
|
props: a
|
98
100
|
}), u(t);
|
99
101
|
return;
|
100
|
-
case
|
102
|
+
case N:
|
101
103
|
if (typeof m != "function")
|
102
104
|
throw new Error("onReset must be a function");
|
103
105
|
m(t);
|
@@ -106,83 +108,83 @@ const { UNASSIGN: k, REDO: x } = ue, Me = z(
|
|
106
108
|
},
|
107
109
|
[t, u, m, a, c]
|
108
110
|
);
|
109
|
-
|
111
|
+
te(() => {
|
110
112
|
r.current && r.current.scrollHeight > r.current.clientHeight && M(!0);
|
111
113
|
}, [r]);
|
112
|
-
const
|
114
|
+
const q = [
|
113
115
|
{
|
114
116
|
id: "supplementary_resources_unassign",
|
115
117
|
label: "Unassign",
|
116
|
-
icon: /* @__PURE__ */ e(
|
117
|
-
option:
|
118
|
-
visible:
|
119
|
-
onClick:
|
118
|
+
icon: /* @__PURE__ */ e(oe, { width: 20, height: 20 }),
|
119
|
+
option: x,
|
120
|
+
visible: B,
|
121
|
+
onClick: T
|
120
122
|
},
|
121
123
|
{
|
122
124
|
id: "supplementary_resources_redo",
|
123
125
|
label: "Redo",
|
124
|
-
icon: /* @__PURE__ */ e(
|
125
|
-
option:
|
126
|
-
visible:
|
127
|
-
onClick:
|
126
|
+
icon: /* @__PURE__ */ e(ne, {}),
|
127
|
+
option: N,
|
128
|
+
visible: U,
|
129
|
+
onClick: T
|
128
130
|
}
|
129
|
-
],
|
130
|
-
|
131
|
+
], $ = _e(
|
132
|
+
E,
|
131
133
|
n,
|
132
|
-
|
134
|
+
g,
|
133
135
|
!!w
|
134
136
|
);
|
135
|
-
return /* @__PURE__ */
|
136
|
-
|
137
|
+
return /* @__PURE__ */ v(
|
138
|
+
pe,
|
137
139
|
{
|
138
140
|
$gapX: 1,
|
139
141
|
$gutterX: 1,
|
140
142
|
$flexGapX: 1.25,
|
141
|
-
$background:
|
143
|
+
$background: $,
|
142
144
|
$justifyContent: "space-between",
|
143
145
|
$heightX: 8,
|
144
146
|
$isMilestoneWidget: w,
|
145
147
|
children: [
|
146
148
|
/* @__PURE__ */ e(
|
147
|
-
|
149
|
+
A,
|
148
150
|
{
|
149
151
|
renderAs: "primary",
|
150
152
|
position: "bottom",
|
151
|
-
tooltipItem:
|
152
|
-
hidden: !
|
153
|
+
tooltipItem: C,
|
154
|
+
hidden: !D,
|
153
155
|
widthX: 21.75,
|
154
|
-
children: /* @__PURE__ */ e(
|
156
|
+
children: /* @__PURE__ */ e(fe, { ref: r, $renderAs: "ab2", $color: "BLACK_T_87", children: C })
|
155
157
|
}
|
156
158
|
),
|
157
|
-
/* @__PURE__ */
|
158
|
-
/* @__PURE__ */ e(
|
159
|
-
|
159
|
+
/* @__PURE__ */ v(se, { $flexDirection: "row", $justifyContent: "space-between", $alignItems: "center", children: [
|
160
|
+
/* @__PURE__ */ e(A, { position: "bottom", tooltipItem: j, renderAs: "secondary", children: /* @__PURE__ */ e(
|
161
|
+
ae,
|
160
162
|
{
|
161
163
|
renderAs: "primary",
|
162
|
-
label:
|
163
|
-
Icon:
|
164
|
-
backgroundColor:
|
165
|
-
state:
|
164
|
+
label: W ?? "",
|
165
|
+
Icon: F,
|
166
|
+
backgroundColor: $,
|
167
|
+
state: P,
|
166
168
|
hoverActive: !1,
|
167
|
-
onClick:
|
168
|
-
accuracy:
|
169
|
+
onClick: Y,
|
170
|
+
accuracy: V,
|
169
171
|
widthX: 8.5
|
170
172
|
}
|
171
173
|
) }),
|
172
|
-
!n && (
|
173
|
-
|
174
|
+
!n && (g ? /* @__PURE__ */ e(
|
175
|
+
de,
|
174
176
|
{
|
175
177
|
$flexDirection: "row",
|
176
178
|
$alignItems: "center",
|
177
179
|
$justifyContent: "center",
|
178
|
-
onClick:
|
179
|
-
children: /* @__PURE__ */ e(
|
180
|
+
onClick: K,
|
181
|
+
children: /* @__PURE__ */ e(re, {})
|
180
182
|
}
|
181
183
|
) : /* @__PURE__ */ e(
|
182
|
-
|
184
|
+
ie,
|
183
185
|
{
|
184
|
-
targetElement: /* @__PURE__ */ e(
|
185
|
-
menuElement: /* @__PURE__ */ e(
|
186
|
+
targetElement: /* @__PURE__ */ e(ue, { invertHover: !0 }),
|
187
|
+
menuElement: /* @__PURE__ */ e(le, { menuOptions: q })
|
186
188
|
}
|
187
189
|
))
|
188
190
|
] })
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"resource-item.js","sources":["../../../../../src/features/sheets/resources-list/resource-item/resource-item.tsx"],"sourcesContent":["import type { IMenuOptionsProps } from './context-menu-helper/menu-element-types';\nimport type { IResourceItemProps } from './types';\nimport type { FC } from 'react';\n\nimport { useCallback, useLayoutEffect, useRef, memo, useState, useMemo } from 'react';\n\nimport Minus2Icon from '../../../../assets/line-icons/icons/minus2';\nimport Plus2Icon from '../../../../assets/line-icons/icons/plus2';\nimport RedoIcon from '../../../../assets/line-icons/icons/redo';\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport ContextMenu from '../../../ui/context-menu/context-menu';\nimport { useUIContext } from '../../../ui/context/context';\nimport FlexView from '../../../ui/layout/flex-view';\nimport SheetButton from '../../comps/sheet-button';\nimport ContextMenuTargetElement from '../../lessons-list/lesson-item/context-menu-helper/target-element';\nimport { SHEETS_ANALYTICS_EVENTS } from '../../sheets-analytics-events';\nimport { TEACHER_MENU_OPTIONS } from '../../sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant';\nimport { isV3Worksheet } from '../../utils/is-v3-worksheet';\nimport ContextMenuElement from './context-menu-helper/menu-element';\nimport * as Styled from './styled';\nimport {\n getResourceItemBackgroundColor,\n getResourceItemCtaInfo,\n getResourceItemCtaState,\n} from './utils';\n\nconst { UNASSIGN, REDO } = TEACHER_MENU_OPTIONS;\n\nconst ResourceItem: FC<IResourceItemProps> = memo(\n ({\n sheet,\n userType,\n isMilestoneWidget,\n onUnlock,\n onUnAssignSheet,\n onReset,\n onPreview,\n onReview,\n onStart,\n }) => {\n const { onClick: trackClick } = useUIContext();\n const titleTextRef = useRef<HTMLDivElement>(null);\n const [showTitleTooltip, setShowTitleTooltip] = useState(false);\n\n const {\n accuracy,\n permissions,\n title,\n sheet_statement: sheetStatement,\n state: sheetState,\n node_id: nodeId,\n user_node_id: userNodeId,\n node_sub_group: nodeSubGroup,\n node_type: nodeType,\n } = sheet;\n const {\n can_start: canStart,\n can_resume: canResume,\n can_unlock: canUnlock,\n can_review: canReview,\n can_teacher_review: canTeacherReview,\n can_unassign: canUnassign,\n can_reset: canReset,\n } = permissions;\n\n const sheetAccuracy = typeof accuracy === 'number' ? `${accuracy}%` : undefined;\n const isStudent = userType === 'STUDENT';\n const canReviewSheet = isStudent ? canReview : canTeacherReview;\n\n const ctaState = getResourceItemCtaState(sheetState);\n const { label, Icon } = getResourceItemCtaInfo(nodeSubGroup) || {};\n\n const analyticsProps = useMemo(\n () => ({\n node_id: nodeId,\n node_type: nodeType,\n }),\n [nodeId, nodeType],\n );\n\n const handleAssignSheet = useCallback(() => {\n trackClick({\n analyticsLabel: SHEETS_ANALYTICS_EVENTS.RESOURCE_ASSIGNED,\n props: analyticsProps,\n });\n\n onUnlock?.(nodeId);\n }, [onUnlock, nodeId, trackClick, analyticsProps]);\n\n const handleOnClick = useCallback(() => {\n if (isStudent && (canStart || canResume)) {\n if (typeof onStart === 'function') {\n onStart(nodeId, isV3Worksheet(sheet), userNodeId);\n\n return;\n }\n\n throw new Error('No callback is available');\n }\n\n if (canReviewSheet) {\n if (typeof onReview !== 'function') {\n throw new Error('onReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n\n onReview(userNodeId, isV3Worksheet(sheet, 'review'));\n\n return;\n }\n\n if (typeof onPreview !== 'function') {\n throw new Error('onPreview must be a function');\n }\n\n onPreview(sheet, isV3Worksheet(sheet));\n }, [\n isStudent,\n canStart,\n canResume,\n canReviewSheet,\n nodeId,\n sheet,\n userNodeId,\n onStart,\n onReview,\n onPreview,\n ]);\n\n const handleMenuOptionClick = useCallback(\n (selectedOption: string) => {\n switch (selectedOption) {\n case UNASSIGN:\n if (typeof onUnAssignSheet !== 'function') {\n throw new Error('onUnassignSheet must be a function');\n }\n\n trackClick({\n analyticsLabel: SHEETS_ANALYTICS_EVENTS.RESOURCE_UNASSIGNED,\n props: analyticsProps,\n });\n\n onUnAssignSheet(sheet);\n\n return;\n\n case REDO:\n if (typeof onReset !== 'function') {\n throw new Error('onReset must be a function');\n }\n\n onReset(sheet);\n\n return;\n }\n },\n [sheet, onUnAssignSheet, onReset, analyticsProps, trackClick],\n );\n\n useLayoutEffect(() => {\n if (\n titleTextRef.current &&\n titleTextRef.current.scrollHeight > titleTextRef.current.clientHeight\n ) {\n setShowTitleTooltip(true);\n }\n }, [titleTextRef]);\n\n const menuOptions: IMenuOptionsProps[] = [\n {\n id: 'supplementary_resources_unassign',\n label: 'Unassign',\n icon: <Minus2Icon width={20} height={20} />,\n option: UNASSIGN,\n visible: canUnassign,\n onClick: handleMenuOptionClick,\n },\n {\n id: 'supplementary_resources_redo',\n label: 'Redo',\n icon: <RedoIcon />,\n option: REDO,\n visible: canReset,\n onClick: handleMenuOptionClick,\n },\n ];\n\n const backgroundColor = getResourceItemBackgroundColor(\n sheetState,\n isStudent,\n canUnlock,\n !!isMilestoneWidget,\n );\n\n return (\n <Styled.ResourceItemCard\n $gapX={1}\n $gutterX={1}\n $flexGapX={1.25}\n $background={backgroundColor}\n $justifyContent=\"space-between\"\n $heightX={8}\n $isMilestoneWidget={isMilestoneWidget}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={title}\n hidden={!showTitleTooltip}\n widthX={21.75}\n >\n <Styled.ResourceItemTitle ref={titleTextRef} $renderAs=\"ab2\" $color=\"BLACK_T_87\">\n {title}\n </Styled.ResourceItemTitle>\n </ArrowTooltip>\n\n <FlexView $flexDirection=\"row\" $justifyContent=\"space-between\" $alignItems=\"center\">\n <ArrowTooltip position=\"bottom\" tooltipItem={sheetStatement} renderAs=\"secondary\">\n <SheetButton\n renderAs=\"primary\"\n label={label ?? ''}\n Icon={Icon}\n backgroundColor={backgroundColor}\n state={ctaState}\n hoverActive={false}\n onClick={handleOnClick}\n accuracy={sheetAccuracy}\n widthX={8.5}\n />\n </ArrowTooltip>\n\n {!isStudent &&\n (canUnlock ? (\n <Styled.IconButtonWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n onClick={handleAssignSheet}\n >\n <Plus2Icon />\n </Styled.IconButtonWrapper>\n ) : (\n <ContextMenu\n targetElement={<ContextMenuTargetElement invertHover />}\n menuElement={<ContextMenuElement menuOptions={menuOptions} />}\n />\n ))}\n </FlexView>\n </Styled.ResourceItemCard>\n );\n },\n);\n\nexport default ResourceItem;\n"],"names":["UNASSIGN","REDO","TEACHER_MENU_OPTIONS","ResourceItem","memo","sheet","userType","isMilestoneWidget","onUnlock","onUnAssignSheet","onReset","onPreview","onReview","onStart","trackClick","useUIContext","titleTextRef","useRef","showTitleTooltip","setShowTitleTooltip","useState","accuracy","permissions","title","sheetStatement","sheetState","nodeId","userNodeId","nodeSubGroup","nodeType","canStart","canResume","canUnlock","canReview","canTeacherReview","canUnassign","canReset","sheetAccuracy","isStudent","canReviewSheet","ctaState","getResourceItemCtaState","label","Icon","getResourceItemCtaInfo","analyticsProps","useMemo","handleAssignSheet","useCallback","SHEETS_ANALYTICS_EVENTS","handleOnClick","isV3Worksheet","handleMenuOptionClick","selectedOption","useLayoutEffect","menuOptions","jsx","Minus2Icon","RedoIcon","backgroundColor","getResourceItemBackgroundColor","jsxs","Styled.ResourceItemCard","ArrowTooltip","Styled.ResourceItemTitle","FlexView","SheetButton","Styled.IconButtonWrapper","Plus2Icon","ContextMenu","ContextMenuTargetElement","ContextMenuElement"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"resource-item.js","sources":["../../../../../src/features/sheets/resources-list/resource-item/resource-item.tsx"],"sourcesContent":["import type { IMenuOptionsProps } from './context-menu-helper/menu-element-types';\nimport type { IResourceItemProps } from './types';\nimport type { FC } from 'react';\n\nimport { useCallback, useLayoutEffect, useRef, memo, useState, useMemo } from 'react';\n\nimport Minus2Icon from '../../../../assets/line-icons/icons/minus2';\nimport Plus2Icon from '../../../../assets/line-icons/icons/plus2';\nimport RedoIcon from '../../../../assets/line-icons/icons/redo';\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport ContextMenu from '../../../ui/context-menu/context-menu';\nimport { useUIContext } from '../../../ui/context/context';\nimport FlexView from '../../../ui/layout/flex-view';\nimport SheetButton from '../../comps/sheet-button';\nimport ContextMenuTargetElement from '../../lessons-list/lesson-item/context-menu-helper/target-element';\nimport { SHEETS_ANALYTICS_EVENTS } from '../../sheets-analytics-events';\nimport { TEACHER_MENU_OPTIONS } from '../../sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant';\nimport { isV3Worksheet } from '../../utils/is-v3-worksheet';\nimport ContextMenuElement from './context-menu-helper/menu-element';\nimport * as Styled from './styled';\nimport {\n getResourceItemBackgroundColor,\n getResourceItemCtaInfo,\n getResourceItemCtaState,\n} from './utils';\n\nconst { UNASSIGN, REDO } = TEACHER_MENU_OPTIONS;\n\nconst ResourceItem: FC<IResourceItemProps> = memo(\n ({\n sheet,\n userType,\n isMilestoneWidget,\n userMilestoneId,\n onUnlock,\n onUnAssignSheet,\n onReset,\n onPreview,\n onReview,\n onStart,\n }) => {\n const { onClick: trackClick } = useUIContext();\n const titleTextRef = useRef<HTMLDivElement>(null);\n const [showTitleTooltip, setShowTitleTooltip] = useState(false);\n\n const {\n accuracy,\n permissions,\n title,\n sheet_statement: sheetStatement,\n state: sheetState,\n node_id: nodeId,\n user_node_id: userNodeId,\n node_sub_group: nodeSubGroup,\n node_type: nodeType,\n } = sheet;\n const {\n can_start: canStart,\n can_resume: canResume,\n can_unlock: canUnlock,\n can_review: canReview,\n can_teacher_review: canTeacherReview,\n can_unassign: canUnassign,\n can_reset: canReset,\n } = permissions;\n\n const sheetAccuracy = typeof accuracy === 'number' ? `${accuracy}%` : undefined;\n const isStudent = userType === 'STUDENT';\n const canReviewSheet = isStudent ? canReview : canTeacherReview;\n\n const ctaState = getResourceItemCtaState(sheetState);\n const { label, Icon } = getResourceItemCtaInfo(nodeSubGroup) || {};\n\n const analyticsProps = useMemo(\n () => ({\n node_id: nodeId,\n node_type: nodeType,\n }),\n [nodeId, nodeType],\n );\n\n const handleAssignSheet = useCallback(() => {\n trackClick({\n analyticsLabel: SHEETS_ANALYTICS_EVENTS.RESOURCE_ASSIGNED,\n props: analyticsProps,\n });\n\n onUnlock?.(nodeId);\n }, [onUnlock, nodeId, trackClick, analyticsProps]);\n\n const handleOnClick = useCallback(() => {\n if (isStudent && (canStart || canResume)) {\n if (typeof onStart === 'function') {\n onStart(nodeId, isV3Worksheet(sheet), userNodeId);\n\n return;\n }\n\n throw new Error('No callback is available');\n }\n\n if (canReviewSheet) {\n if (typeof onReview !== 'function') {\n throw new Error('onReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n\n onReview(userNodeId, isV3Worksheet(sheet, 'review'), userMilestoneId);\n\n return;\n }\n\n if (typeof onPreview !== 'function') {\n throw new Error('onPreview must be a function');\n }\n\n onPreview(sheet, isV3Worksheet(sheet));\n }, [\n canResume,\n canReviewSheet,\n canStart,\n isStudent,\n nodeId,\n sheet,\n userMilestoneId,\n userNodeId,\n onStart,\n onReview,\n onPreview,\n ]);\n\n const handleMenuOptionClick = useCallback(\n (selectedOption: string) => {\n switch (selectedOption) {\n case UNASSIGN:\n if (typeof onUnAssignSheet !== 'function') {\n throw new Error('onUnassignSheet must be a function');\n }\n\n trackClick({\n analyticsLabel: SHEETS_ANALYTICS_EVENTS.RESOURCE_UNASSIGNED,\n props: analyticsProps,\n });\n\n onUnAssignSheet(sheet);\n\n return;\n\n case REDO:\n if (typeof onReset !== 'function') {\n throw new Error('onReset must be a function');\n }\n\n onReset(sheet);\n\n return;\n }\n },\n [sheet, onUnAssignSheet, onReset, analyticsProps, trackClick],\n );\n\n useLayoutEffect(() => {\n if (\n titleTextRef.current &&\n titleTextRef.current.scrollHeight > titleTextRef.current.clientHeight\n ) {\n setShowTitleTooltip(true);\n }\n }, [titleTextRef]);\n\n const menuOptions: IMenuOptionsProps[] = [\n {\n id: 'supplementary_resources_unassign',\n label: 'Unassign',\n icon: <Minus2Icon width={20} height={20} />,\n option: UNASSIGN,\n visible: canUnassign,\n onClick: handleMenuOptionClick,\n },\n {\n id: 'supplementary_resources_redo',\n label: 'Redo',\n icon: <RedoIcon />,\n option: REDO,\n visible: canReset,\n onClick: handleMenuOptionClick,\n },\n ];\n\n const backgroundColor = getResourceItemBackgroundColor(\n sheetState,\n isStudent,\n canUnlock,\n !!isMilestoneWidget,\n );\n\n return (\n <Styled.ResourceItemCard\n $gapX={1}\n $gutterX={1}\n $flexGapX={1.25}\n $background={backgroundColor}\n $justifyContent=\"space-between\"\n $heightX={8}\n $isMilestoneWidget={isMilestoneWidget}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={title}\n hidden={!showTitleTooltip}\n widthX={21.75}\n >\n <Styled.ResourceItemTitle ref={titleTextRef} $renderAs=\"ab2\" $color=\"BLACK_T_87\">\n {title}\n </Styled.ResourceItemTitle>\n </ArrowTooltip>\n\n <FlexView $flexDirection=\"row\" $justifyContent=\"space-between\" $alignItems=\"center\">\n <ArrowTooltip position=\"bottom\" tooltipItem={sheetStatement} renderAs=\"secondary\">\n <SheetButton\n renderAs=\"primary\"\n label={label ?? ''}\n Icon={Icon}\n backgroundColor={backgroundColor}\n state={ctaState}\n hoverActive={false}\n onClick={handleOnClick}\n accuracy={sheetAccuracy}\n widthX={8.5}\n />\n </ArrowTooltip>\n\n {!isStudent &&\n (canUnlock ? (\n <Styled.IconButtonWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n onClick={handleAssignSheet}\n >\n <Plus2Icon />\n </Styled.IconButtonWrapper>\n ) : (\n <ContextMenu\n targetElement={<ContextMenuTargetElement invertHover />}\n menuElement={<ContextMenuElement menuOptions={menuOptions} />}\n />\n ))}\n </FlexView>\n </Styled.ResourceItemCard>\n );\n },\n);\n\nexport default ResourceItem;\n"],"names":["UNASSIGN","REDO","TEACHER_MENU_OPTIONS","ResourceItem","memo","sheet","userType","isMilestoneWidget","userMilestoneId","onUnlock","onUnAssignSheet","onReset","onPreview","onReview","onStart","trackClick","useUIContext","titleTextRef","useRef","showTitleTooltip","setShowTitleTooltip","useState","accuracy","permissions","title","sheetStatement","sheetState","nodeId","userNodeId","nodeSubGroup","nodeType","canStart","canResume","canUnlock","canReview","canTeacherReview","canUnassign","canReset","sheetAccuracy","isStudent","canReviewSheet","ctaState","getResourceItemCtaState","label","Icon","getResourceItemCtaInfo","analyticsProps","useMemo","handleAssignSheet","useCallback","SHEETS_ANALYTICS_EVENTS","handleOnClick","isV3Worksheet","handleMenuOptionClick","selectedOption","useLayoutEffect","menuOptions","jsx","Minus2Icon","RedoIcon","backgroundColor","getResourceItemBackgroundColor","jsxs","Styled.ResourceItemCard","ArrowTooltip","Styled.ResourceItemTitle","FlexView","SheetButton","Styled.IconButtonWrapper","Plus2Icon","ContextMenu","ContextMenuTargetElement","ContextMenuElement"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
@@ -768,7 +768,7 @@ declare interface IChapterProps extends IChapterDataProps, IChapterCallbackProps
|
|
768
768
|
|
769
769
|
declare interface IChaptersListProps {
|
770
770
|
chapters: IChapterDataProps[];
|
771
|
-
onChapterClick: (chapterData: IChapterDataProps) => void;
|
771
|
+
onChapterClick: (chapterData: IChapterDataProps, userMilestoneId?: string) => void;
|
772
772
|
onAddChapter?: (props: {
|
773
773
|
milestoneId: string;
|
774
774
|
isGoalCreation: boolean;
|
@@ -1801,7 +1801,7 @@ declare interface IMilestoneContainerProps extends Omit<IMilestoneWidgetResource
|
|
1801
1801
|
teacherName?: string;
|
1802
1802
|
onEdit?: (editProps: IMilestoneEditProps) => void;
|
1803
1803
|
onAddOutcome?: (milestoneId: string) => void;
|
1804
|
-
onChapterClick:
|
1804
|
+
onChapterClick: IChaptersListProps['onChapterClick'];
|
1805
1805
|
isClassOngoing?: boolean;
|
1806
1806
|
isStudentPresent?: boolean;
|
1807
1807
|
onDraftPublish?: IMilestoneWidgetProps['onDraftPublish'];
|
@@ -1813,6 +1813,9 @@ declare interface IMilestoneContainerProps extends Omit<IMilestoneWidgetResource
|
|
1813
1813
|
canCreatePlan?: boolean;
|
1814
1814
|
studentClassroomId?: string | undefined;
|
1815
1815
|
courseStream: TCourseStream;
|
1816
|
+
activeMilestoneId?: string;
|
1817
|
+
activeTabId?: string;
|
1818
|
+
onWidgetTabSelection?: IMilestoneTabsProps['onWidgetTabSelection'];
|
1816
1819
|
}
|
1817
1820
|
|
1818
1821
|
export declare interface IMileStoneCreateContainerProps extends Omit<IMileStoneCreateProps, 'config' | 'learningConfig' | 'journeyCodesToInclude' | 'flow'> {
|
@@ -1941,6 +1944,18 @@ declare interface IMilestoneStartProps {
|
|
1941
1944
|
handleOnClick?: () => void;
|
1942
1945
|
}
|
1943
1946
|
|
1947
|
+
declare interface IMilestoneTabsProps extends Pick<IChaptersListProps, 'chapters' | 'onAddChapter' | 'onChapterClick' | 'isGoalCreation'>, Pick<IMilestoneWidgetResourcesProps, 'onAssignResources' | 'isDraftMilestone'>, ITestsListProps, ISheetItemCallbackProps {
|
1948
|
+
isPlanAvailable: boolean;
|
1949
|
+
isMilestoneActive: boolean;
|
1950
|
+
goalCategory: IMilestoneData['goal_category'];
|
1951
|
+
isOutcomeAdded?: boolean;
|
1952
|
+
milestoneState: IMilestoneData['milestone_state'];
|
1953
|
+
milestonePermissions: IMilestoneCardPermissions;
|
1954
|
+
activeMilestoneId?: string;
|
1955
|
+
activeTabId?: string;
|
1956
|
+
onWidgetTabSelection?: (milestoneId: string, tabName: string) => void;
|
1957
|
+
}
|
1958
|
+
|
1944
1959
|
declare interface IMilestoneWidgetProps extends Omit<IMilestoneWidgetResourcesProps, 'userMilestoneId' | 'onChangeLocation'>, Omit<ITestsListProps, 'userMilestoneId'> {
|
1945
1960
|
milestone: IMilestoneData;
|
1946
1961
|
studentName: string;
|
@@ -1954,10 +1969,13 @@ declare interface IMilestoneWidgetProps extends Omit<IMilestoneWidgetResourcesPr
|
|
1954
1969
|
milestoneType: TMilestoneType;
|
1955
1970
|
onEdit?: (editProps: IMilestoneEditProps) => void;
|
1956
1971
|
onAddOutcome?: (milestoneId: string) => void;
|
1957
|
-
onChapterClick:
|
1972
|
+
onChapterClick: IChaptersListProps['onChapterClick'];
|
1958
1973
|
onDelete?: (milestoneDeleteArgs: TMilestoneDeleteProps) => void;
|
1959
1974
|
onDraftPublish?: (milestoneId: string, isGoalPublish?: boolean) => void;
|
1960
1975
|
onAddChapter?: IChaptersListProps['onAddChapter'];
|
1976
|
+
activeMilestoneId?: string;
|
1977
|
+
activeTabId?: string;
|
1978
|
+
onWidgetTabSelection?: IMilestoneTabsProps['onWidgetTabSelection'];
|
1961
1979
|
courseStream: TCourseStream;
|
1962
1980
|
}
|
1963
1981
|
|
@@ -2490,7 +2508,7 @@ declare interface ISheetItemCallbackProps {
|
|
2490
2508
|
onResume?: (nodeId: string, isV3Worksheet: boolean, userNodeId?: string | null) => void;
|
2491
2509
|
onReattempt?: (nodeId: string, isV3Worksheet: boolean, userNodeId?: string | null) => void;
|
2492
2510
|
onPreview?: (sheetData: ISheetDataProps, isV3Worksheet: boolean) => void;
|
2493
|
-
onReview?: (nodeId: string, isV3Worksheet: boolean) => void;
|
2511
|
+
onReview?: (nodeId: string, isV3Worksheet: boolean, userMilestoneId?: string) => void;
|
2494
2512
|
onChangeLocation?: (sheetData: ISheetDataProps, sheetDataType?: (typeof SHEET_DATA_TYPE)[keyof typeof SHEET_DATA_TYPE]) => void;
|
2495
2513
|
onReset?: (sheetData: ISheetDataProps, userMilestoneId?: string) => void;
|
2496
2514
|
onMarkAsFamiliar?: (nodeId: string) => void;
|
@@ -2786,7 +2804,7 @@ declare interface ITestsCreationProps {
|
|
2786
2804
|
declare interface ITestSheetItemCallbackProps {
|
2787
2805
|
onTestPreview?: (milestoneId: string, sheetData: ISheetDataProps) => void;
|
2788
2806
|
onTestStart?: (sheetData: ISheetDataProps) => void;
|
2789
|
-
onTestReview?: (sheetData: ISheetDataProps) => void;
|
2807
|
+
onTestReview?: (sheetData: ISheetDataProps, milestoneId: string) => void;
|
2790
2808
|
}
|
2791
2809
|
|
2792
2810
|
declare interface ITestsListProps extends ITestSheetItemCallbackProps {
|