@cuemath/leap 2.8.60-gs1 → 2.8.61-as1

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.
Files changed (76) hide show
  1. package/dist/constants/api.js +3 -2
  2. package/dist/constants/api.js.map +1 -1
  3. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js +1 -1
  4. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
  5. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +7 -7
  6. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -1
  7. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js +15 -16
  8. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js.map +1 -1
  9. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js +12 -8
  10. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +1 -1
  11. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js +2 -2
  12. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +1 -1
  13. package/dist/features/chapters-v2/utils/index.js +5 -4
  14. package/dist/features/chapters-v2/utils/index.js.map +1 -1
  15. package/dist/features/chapters-v2/utils/node-card-utils.js +62 -35
  16. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  17. package/dist/features/homework/card-menu-options.js +23 -0
  18. package/dist/features/homework/card-menu-options.js.map +1 -0
  19. package/dist/features/homework/homework-card.js +209 -0
  20. package/dist/features/homework/homework-card.js.map +1 -0
  21. package/dist/features/homework/styles.js +114 -0
  22. package/dist/features/homework/styles.js.map +1 -0
  23. package/dist/features/milestone/create/api/goal-submit.js +1 -1
  24. package/dist/features/milestone/create/api/goal-submit.js.map +1 -1
  25. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/patch-goal-plan.js +1 -1
  26. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/patch-goal-plan.js.map +1 -1
  27. package/dist/features/milestone/milestone-list-container/api/get-milestone-resources.js +1 -1
  28. package/dist/features/milestone/milestone-list-container/api/get-milestone-resources.js.map +1 -1
  29. package/dist/features/milestone/milestone-list-container/api/get-tests-list.js +1 -1
  30. package/dist/features/milestone/milestone-list-container/api/get-tests-list.js.map +1 -1
  31. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +79 -81
  32. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  33. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +59 -61
  34. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
  35. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +83 -85
  36. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  37. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +88 -90
  38. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  39. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +82 -98
  40. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
  41. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js +165 -0
  42. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -0
  43. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view-styled.js +25 -0
  44. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view-styled.js.map +1 -0
  45. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js +82 -0
  46. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js.map +1 -0
  47. package/dist/features/recent-chapters/api/get-recent-chapters.js +9 -0
  48. package/dist/features/recent-chapters/api/get-recent-chapters.js.map +1 -0
  49. package/dist/features/recent-chapters/recent-chapters-styled.js +16 -0
  50. package/dist/features/recent-chapters/recent-chapters-styled.js.map +1 -0
  51. package/dist/features/recent-chapters/recent-chapters.js +40 -0
  52. package/dist/features/recent-chapters/recent-chapters.js.map +1 -0
  53. package/dist/features/sheet-v2/resource-list/resource-list.js +49 -0
  54. package/dist/features/sheet-v2/resource-list/resource-list.js.map +1 -0
  55. package/dist/features/sheets/resources-list/resource-item/styled.js +1 -1
  56. package/dist/features/sheets/resources-list/resource-item/styled.js.map +1 -1
  57. package/dist/index.d.ts +35 -16
  58. package/dist/index.js +31 -29
  59. package/dist/index.js.map +1 -1
  60. package/package.json +1 -1
  61. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js +0 -71
  62. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js.map +0 -1
  63. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-styled.js +0 -31
  64. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-styled.js.map +0 -1
  65. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js +0 -38
  66. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js.map +0 -1
  67. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item.js +0 -79
  68. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item.js.map +0 -1
  69. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list-styled.js +0 -18
  70. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list-styled.js.map +0 -1
  71. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list.js +0 -51
  72. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list.js.map +0 -1
  73. package/dist/features/milestone/milestone-tests/tests-list/tests-list-styled.js +0 -11
  74. package/dist/features/milestone/milestone-tests/tests-list/tests-list-styled.js.map +0 -1
  75. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js +0 -144
  76. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js.map +0 -1
@@ -1,130 +1,128 @@
1
- import { jsxs as ee, jsx as t } from "react/jsx-runtime";
2
- import { memo as te, useState as oe, useCallback as h, useEffect as ne } from "react";
3
- import se from "../../../../ui/layout/flex-view.js";
4
- import ae from "./milestone-info.js";
5
- import ie from "./milestone-tabs/milestone-tabs.js";
6
- import { getGoalCategoryBasedColorTheme as re } from "./milestone-utils.js";
7
- import { MainContainer as le, Wrapper as de, ContentWrapper as ce, Content as me } from "./milestone-widget-styled.js";
8
- const Ee = te((f) => {
9
- const { milestone: s, studentId: a, isMilestoneActive: i, ...T } = f, {
1
+ import { jsxs as Z, jsx as o } from "react/jsx-runtime";
2
+ import { memo as ee, useState as oe, useCallback as f, useEffect as te } from "react";
3
+ import ne from "../../../../ui/layout/flex-view.js";
4
+ import se from "./milestone-info.js";
5
+ import ae from "./milestone-tabs/milestone-tabs.js";
6
+ import { getGoalCategoryBasedColorTheme as ie } from "./milestone-utils.js";
7
+ import { MainContainer as re, Wrapper as de, ContentWrapper as le, Content as ce } from "./milestone-widget-styled.js";
8
+ const Te = ee((h) => {
9
+ const { milestone: s, studentId: a, isMilestoneActive: i, ...T } = h, {
10
10
  isStudentPresent: E,
11
11
  isClassOngoing: M,
12
12
  userType: r,
13
13
  studentName: x,
14
14
  parentName: A,
15
- teacherName: _,
16
- courseStream: b,
17
- activeMilestoneId: l,
18
- activeTabId: D,
19
- onAddOutcome: I,
20
- onChapterClick: P,
21
- onEdit: R,
22
- onCreateMilestoneTest: S,
23
- onPreview: v,
24
- onReattempt: W,
25
- onReset: $,
26
- onResume: w,
27
- onReview: k,
28
- onStart: y,
29
- onDraftPublish: O,
30
- onAddChapter: N,
31
- onAssignResources: B,
32
- onUnAssignSheet: G,
33
- onWidgetTabSelection: F,
15
+ teacherName: N,
16
+ courseStream: _,
17
+ activeMilestoneId: d,
18
+ activeTabId: b,
19
+ onAddOutcome: D,
20
+ onChapterClick: I,
21
+ onEdit: P,
22
+ onCreateMilestoneTest: R,
23
+ onDraftPublish: W,
24
+ onAddChapter: $,
25
+ onAssignResources: v,
26
+ onNodeAttempt: w,
27
+ onNodeView: S,
28
+ onNodeReview: k,
29
+ onNodeReattempt: y,
30
+ onNodeReset: O,
31
+ onNodeUnassign: B,
32
+ onWidgetTabSelection: G,
34
33
  //* Test sheet callbacks
35
- onTestPreview: U,
36
- onTestReview: V,
37
- onTestStart: j,
38
- milestoneType: X
34
+ onTestPreview: V,
35
+ onTestReview: F,
36
+ onTestStart: U,
37
+ milestoneType: j
39
38
  } = T, {
40
- id: d,
39
+ id: l,
41
40
  user_milestone_plan: c,
42
- outcome_data: Y,
43
- milestone_state: o,
41
+ outcome_data: X,
42
+ milestone_state: t,
44
43
  permissions: m,
45
44
  goal_code: p,
46
- goal_category: u
47
- } = s, [g, n] = oe(
48
- i && o === "ACTIVE" || X === "DRAFT"
49
- ), q = !!c, { can_update_plan: z } = m, { outcomes: H } = Y || {}, { user_chapters: J = [] } = c || {}, K = h(() => {
45
+ goal_category: g
46
+ } = s, [u, n] = oe(
47
+ i && t === "ACTIVE" || j === "DRAFT"
48
+ ), Y = !!c, { can_update_plan: q } = m, { outcomes: z } = X || {}, { user_chapters: H = [] } = c || {}, J = f(() => {
50
49
  n((e) => !e);
51
- }, []), C = o === "DRAFT", L = o === "OUTCOME_ADDED", { backgroundColor: Q } = re(
52
- u,
50
+ }, []), C = t === "DRAFT", K = t === "OUTCOME_ADDED", { backgroundColor: L } = ie(
51
+ g,
53
52
  C
54
- ), Z = h(() => {
53
+ ), Q = f(() => {
55
54
  n((e) => !e);
56
55
  }, [n]);
57
- return ne(() => {
58
- const e = document.getElementById(`milestone-${l}`);
56
+ return te(() => {
57
+ const e = document.getElementById(`milestone-${d}`);
59
58
  e && e.scrollIntoView();
60
- }, []), /* @__PURE__ */ ee(le, { id: `milestone-${d}`, children: [
61
- /* @__PURE__ */ t(
59
+ }, []), /* @__PURE__ */ Z(re, { id: `milestone-${l}`, children: [
60
+ /* @__PURE__ */ o(
62
61
  de,
63
62
  {
64
- onClick: Z,
65
- $background: Q,
63
+ onClick: Q,
64
+ $background: L,
66
65
  $gapX: 1.5,
67
66
  $borderColor: "GREY_2",
68
- children: /* @__PURE__ */ t(se, { $flexGapX: p ? 1.5 : 1, children: /* @__PURE__ */ t(
69
- ae,
67
+ children: /* @__PURE__ */ o(ne, { $flexGapX: p ? 1.5 : 1, children: /* @__PURE__ */ o(
68
+ se,
70
69
  {
71
70
  milestone: s,
72
- onEdit: R,
73
- isExpanded: g,
74
- toggleExpand: K,
71
+ onEdit: P,
72
+ isExpanded: u,
73
+ toggleExpand: J,
75
74
  userType: r,
76
75
  isClassOngoing: M,
77
76
  isStudentPresent: E,
78
- onAddOutcome: I,
77
+ onAddOutcome: D,
79
78
  studentId: a,
80
79
  studentName: x,
81
- teacherName: _ ?? "",
80
+ teacherName: N ?? "",
82
81
  parentName: A ?? "",
83
- onDraftPublish: O,
84
- courseStream: b,
85
- outcomes: H
82
+ onDraftPublish: W,
83
+ courseStream: _,
84
+ outcomes: z
86
85
  }
87
86
  ) })
88
87
  }
89
88
  ),
90
- /* @__PURE__ */ t(ce, { $expanded: g, children: /* @__PURE__ */ t(me, { children: /* @__PURE__ */ t(
91
- ie,
89
+ /* @__PURE__ */ o(le, { $expanded: u, children: /* @__PURE__ */ o(ce, { children: /* @__PURE__ */ o(
90
+ ae,
92
91
  {
93
- goalCategory: u,
92
+ goalCategory: g,
94
93
  isGoalCreation: !!p,
95
94
  isDraftMilestone: C,
96
- isOutcomeAdded: L,
95
+ isOutcomeAdded: K,
97
96
  isMilestoneActive: i,
98
- isPlanAvailable: q,
99
- userMilestoneId: d,
100
- chapters: J,
97
+ isPlanAvailable: Y,
98
+ userMilestoneId: l,
99
+ chapters: H,
101
100
  userType: r,
102
- canUpdatePlan: z,
103
- milestoneState: o,
101
+ canUpdatePlan: q,
102
+ milestoneState: t,
104
103
  studentId: a,
105
- onAddChapter: N,
106
- onAssignResources: B,
107
- onChapterClick: P,
108
- onCreateMilestoneTest: S,
109
- onPreview: v,
110
- onReattempt: W,
111
- onReset: $,
112
- onResume: w,
113
- onReview: k,
114
- onStart: y,
115
- onTestPreview: U,
116
- onTestReview: V,
117
- onTestStart: j,
118
- onUnAssignSheet: G,
104
+ onAddChapter: $,
105
+ onAssignResources: v,
106
+ onChapterClick: I,
107
+ onCreateMilestoneTest: R,
108
+ onTestPreview: V,
109
+ onTestReview: F,
110
+ onTestStart: U,
111
+ onNodeAttempt: w,
112
+ onNodeView: S,
113
+ onNodeReview: k,
114
+ onNodeReattempt: y,
115
+ onNodeReset: O,
116
+ onNodeUnassign: B,
119
117
  milestonePermissions: m,
120
- activeMilestoneId: l,
121
- activeTabId: D,
122
- onWidgetTabSelection: F
118
+ activeMilestoneId: d,
119
+ activeTabId: b,
120
+ onWidgetTabSelection: G
123
121
  }
124
122
  ) }) })
125
123
  ] });
126
124
  });
127
125
  export {
128
- Ee as default
126
+ Te as default
129
127
  };
130
128
  //# sourceMappingURL=milestone-widget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"milestone-widget.js","sources":["../../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.tsx"],"sourcesContent":["import type { IMilestoneWidgetProps } from './milestone-widget-types';\n\nimport React, { memo, useCallback, useEffect, useState } from 'react';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport MilestoneInfoWrapper from './milestone-info';\nimport MilestoneTabs from './milestone-tabs/milestone-tabs';\nimport { getGoalCategoryBasedColorTheme } from './milestone-utils';\nimport * as Styled from './milestone-widget-styled';\n\nconst MilestoneWidget: React.FC<IMilestoneWidgetProps> = memo(props => {\n const { milestone, studentId, isMilestoneActive, ...restMilestoneWidgetProps } = props;\n const {\n isStudentPresent,\n isClassOngoing,\n userType,\n studentName,\n parentName,\n teacherName,\n courseStream,\n activeMilestoneId,\n activeTabId,\n onAddOutcome,\n onChapterClick,\n onEdit,\n onCreateMilestoneTest,\n onPreview,\n onReattempt,\n onReset,\n onResume,\n onReview,\n onStart,\n onDraftPublish,\n onAddChapter,\n onAssignResources,\n onUnAssignSheet,\n onWidgetTabSelection,\n //* Test sheet callbacks\n onTestPreview,\n onTestReview,\n onTestStart,\n milestoneType,\n } = restMilestoneWidgetProps;\n\n const {\n id: milestoneId,\n user_milestone_plan: userMileStonePlan,\n outcome_data: outcomeData,\n milestone_state: milestoneState,\n permissions: milestonePermissions,\n goal_code: goalCode,\n goal_category: goalCategory,\n } = milestone;\n\n const [widgetExpanded, setWidgetExpanded] = useState(\n (isMilestoneActive && milestoneState === 'ACTIVE') || milestoneType === 'DRAFT',\n );\n\n const isPlanAvailable = Boolean(userMileStonePlan);\n\n const { can_update_plan: canUpdatePlan } = milestonePermissions;\n const { outcomes } = outcomeData || {};\n\n const { user_chapters: chaptersData = [] } = userMileStonePlan || {};\n\n const toggleExpand = useCallback(() => {\n setWidgetExpanded(prev => !prev);\n }, []);\n\n const isDraftMilestone = milestoneState === 'DRAFT';\n const isOutcomeAdded = milestoneState === 'OUTCOME_ADDED';\n\n const { backgroundColor: goalBackgroundColor } = getGoalCategoryBasedColorTheme(\n goalCategory,\n isDraftMilestone,\n );\n\n const handleOnWidgetExpand = useCallback(() => {\n setWidgetExpanded(prev => !prev);\n }, [setWidgetExpanded]);\n\n useEffect(() => {\n const $element = document.getElementById(`milestone-${activeMilestoneId}`);\n\n if ($element) {\n $element.scrollIntoView();\n }\n //* Disabling the exhaustive-deps rule as we want to run this effect only once\n //* We don't want this to run when activeMilestoneId changes, as it will cause component to scroll into the view every time.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <Styled.MainContainer id={`milestone-${milestoneId}`}>\n <Styled.Wrapper\n onClick={handleOnWidgetExpand}\n $background={goalBackgroundColor}\n $gapX={1.5}\n $borderColor=\"GREY_2\"\n >\n <FlexView $flexGapX={goalCode ? 1.5 : 1}>\n <MilestoneInfoWrapper\n milestone={milestone}\n onEdit={onEdit}\n isExpanded={widgetExpanded}\n toggleExpand={toggleExpand}\n userType={userType}\n isClassOngoing={isClassOngoing}\n isStudentPresent={isStudentPresent}\n onAddOutcome={onAddOutcome}\n studentId={studentId}\n studentName={studentName}\n teacherName={teacherName ?? ''}\n parentName={parentName ?? ''}\n onDraftPublish={onDraftPublish}\n courseStream={courseStream}\n outcomes={outcomes}\n />\n </FlexView>\n </Styled.Wrapper>\n\n <Styled.ContentWrapper $expanded={widgetExpanded}>\n <Styled.Content>\n <MilestoneTabs\n goalCategory={goalCategory}\n isGoalCreation={!!goalCode}\n isDraftMilestone={isDraftMilestone}\n isOutcomeAdded={isOutcomeAdded}\n isMilestoneActive={isMilestoneActive}\n isPlanAvailable={isPlanAvailable}\n userMilestoneId={milestoneId}\n chapters={chaptersData}\n userType={userType}\n canUpdatePlan={canUpdatePlan}\n milestoneState={milestoneState}\n studentId={studentId}\n onAddChapter={onAddChapter}\n onAssignResources={onAssignResources}\n onChapterClick={onChapterClick}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onPreview={onPreview}\n onReattempt={onReattempt}\n onReset={onReset}\n onResume={onResume}\n onReview={onReview}\n onStart={onStart}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n onUnAssignSheet={onUnAssignSheet}\n milestonePermissions={milestonePermissions}\n activeMilestoneId={activeMilestoneId}\n activeTabId={activeTabId}\n onWidgetTabSelection={onWidgetTabSelection}\n />\n </Styled.Content>\n </Styled.ContentWrapper>\n </Styled.MainContainer>\n );\n});\n\nexport default MilestoneWidget;\n"],"names":["MilestoneWidget","memo","props","milestone","studentId","isMilestoneActive","restMilestoneWidgetProps","isStudentPresent","isClassOngoing","userType","studentName","parentName","teacherName","courseStream","activeMilestoneId","activeTabId","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onPreview","onReattempt","onReset","onResume","onReview","onStart","onDraftPublish","onAddChapter","onAssignResources","onUnAssignSheet","onWidgetTabSelection","onTestPreview","onTestReview","onTestStart","milestoneType","milestoneId","userMileStonePlan","outcomeData","milestoneState","milestonePermissions","goalCode","goalCategory","widgetExpanded","setWidgetExpanded","useState","isPlanAvailable","canUpdatePlan","outcomes","chaptersData","toggleExpand","useCallback","prev","isDraftMilestone","isOutcomeAdded","goalBackgroundColor","getGoalCategoryBasedColorTheme","handleOnWidgetExpand","useEffect","$element","Styled.MainContainer","jsx","Styled.Wrapper","FlexView","MilestoneInfoWrapper","Styled.ContentWrapper","Styled.Content","MilestoneTabs"],"mappings":"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"}
1
+ {"version":3,"file":"milestone-widget.js","sources":["../../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.tsx"],"sourcesContent":["import type { IMilestoneWidgetProps } from './milestone-widget-types';\n\nimport React, { memo, useCallback, useEffect, useState } from 'react';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport MilestoneInfoWrapper from './milestone-info';\nimport MilestoneTabs from './milestone-tabs/milestone-tabs';\nimport { getGoalCategoryBasedColorTheme } from './milestone-utils';\nimport * as Styled from './milestone-widget-styled';\n\nconst MilestoneWidget: React.FC<IMilestoneWidgetProps> = memo(props => {\n const { milestone, studentId, isMilestoneActive, ...restMilestoneWidgetProps } = props;\n const {\n isStudentPresent,\n isClassOngoing,\n userType,\n studentName,\n parentName,\n teacherName,\n courseStream,\n activeMilestoneId,\n activeTabId,\n onAddOutcome,\n onChapterClick,\n onEdit,\n onCreateMilestoneTest,\n onDraftPublish,\n onAddChapter,\n onAssignResources,\n onNodeAttempt,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n onNodeReset,\n onNodeUnassign,\n onWidgetTabSelection,\n //* Test sheet callbacks\n onTestPreview,\n onTestReview,\n onTestStart,\n milestoneType,\n } = restMilestoneWidgetProps;\n\n const {\n id: milestoneId,\n user_milestone_plan: userMileStonePlan,\n outcome_data: outcomeData,\n milestone_state: milestoneState,\n permissions: milestonePermissions,\n goal_code: goalCode,\n goal_category: goalCategory,\n } = milestone;\n\n const [widgetExpanded, setWidgetExpanded] = useState(\n (isMilestoneActive && milestoneState === 'ACTIVE') || milestoneType === 'DRAFT',\n );\n\n const isPlanAvailable = Boolean(userMileStonePlan);\n\n const { can_update_plan: canUpdatePlan } = milestonePermissions;\n const { outcomes } = outcomeData || {};\n\n const { user_chapters: chaptersData = [] } = userMileStonePlan || {};\n\n const toggleExpand = useCallback(() => {\n setWidgetExpanded(prev => !prev);\n }, []);\n\n const isDraftMilestone = milestoneState === 'DRAFT';\n const isOutcomeAdded = milestoneState === 'OUTCOME_ADDED';\n\n const { backgroundColor: goalBackgroundColor } = getGoalCategoryBasedColorTheme(\n goalCategory,\n isDraftMilestone,\n );\n\n const handleOnWidgetExpand = useCallback(() => {\n setWidgetExpanded(prev => !prev);\n }, [setWidgetExpanded]);\n\n useEffect(() => {\n const $element = document.getElementById(`milestone-${activeMilestoneId}`);\n\n if ($element) {\n $element.scrollIntoView();\n }\n //* Disabling the exhaustive-deps rule as we want to run this effect only once\n //* We don't want this to run when activeMilestoneId changes, as it will cause component to scroll into the view every time.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <Styled.MainContainer id={`milestone-${milestoneId}`}>\n <Styled.Wrapper\n onClick={handleOnWidgetExpand}\n $background={goalBackgroundColor}\n $gapX={1.5}\n $borderColor=\"GREY_2\"\n >\n <FlexView $flexGapX={goalCode ? 1.5 : 1}>\n <MilestoneInfoWrapper\n milestone={milestone}\n onEdit={onEdit}\n isExpanded={widgetExpanded}\n toggleExpand={toggleExpand}\n userType={userType}\n isClassOngoing={isClassOngoing}\n isStudentPresent={isStudentPresent}\n onAddOutcome={onAddOutcome}\n studentId={studentId}\n studentName={studentName}\n teacherName={teacherName ?? ''}\n parentName={parentName ?? ''}\n onDraftPublish={onDraftPublish}\n courseStream={courseStream}\n outcomes={outcomes}\n />\n </FlexView>\n </Styled.Wrapper>\n\n <Styled.ContentWrapper $expanded={widgetExpanded}>\n <Styled.Content>\n <MilestoneTabs\n goalCategory={goalCategory}\n isGoalCreation={!!goalCode}\n isDraftMilestone={isDraftMilestone}\n isOutcomeAdded={isOutcomeAdded}\n isMilestoneActive={isMilestoneActive}\n isPlanAvailable={isPlanAvailable}\n userMilestoneId={milestoneId}\n chapters={chaptersData}\n userType={userType}\n canUpdatePlan={canUpdatePlan}\n milestoneState={milestoneState}\n studentId={studentId}\n onAddChapter={onAddChapter}\n onAssignResources={onAssignResources}\n onChapterClick={onChapterClick}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n onNodeAttempt={onNodeAttempt}\n onNodeView={onNodeView}\n onNodeReview={onNodeReview}\n onNodeReattempt={onNodeReattempt}\n onNodeReset={onNodeReset}\n onNodeUnassign={onNodeUnassign}\n milestonePermissions={milestonePermissions}\n activeMilestoneId={activeMilestoneId}\n activeTabId={activeTabId}\n onWidgetTabSelection={onWidgetTabSelection}\n />\n </Styled.Content>\n </Styled.ContentWrapper>\n </Styled.MainContainer>\n );\n});\n\nexport default MilestoneWidget;\n"],"names":["MilestoneWidget","memo","props","milestone","studentId","isMilestoneActive","restMilestoneWidgetProps","isStudentPresent","isClassOngoing","userType","studentName","parentName","teacherName","courseStream","activeMilestoneId","activeTabId","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onDraftPublish","onAddChapter","onAssignResources","onNodeAttempt","onNodeView","onNodeReview","onNodeReattempt","onNodeReset","onNodeUnassign","onWidgetTabSelection","onTestPreview","onTestReview","onTestStart","milestoneType","milestoneId","userMileStonePlan","outcomeData","milestoneState","milestonePermissions","goalCode","goalCategory","widgetExpanded","setWidgetExpanded","useState","isPlanAvailable","canUpdatePlan","outcomes","chaptersData","toggleExpand","useCallback","prev","isDraftMilestone","isOutcomeAdded","goalBackgroundColor","getGoalCategoryBasedColorTheme","handleOnWidgetExpand","useEffect","$element","Styled.MainContainer","jsx","Styled.Wrapper","FlexView","MilestoneInfoWrapper","Styled.ContentWrapper","Styled.Content","MilestoneTabs"],"mappings":"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"}
@@ -1,24 +1,24 @@
1
- import { jsx as E, jsxs as O, Fragment as ae } from "react/jsx-runtime";
2
- import { h as Ee } from "../../../node_modules/humanize-plus/dist/humanize.js";
3
- import { memo as le, useMemo as Se, useState as R, useCallback as me, useEffect as f } from "react";
4
- import { ILLUSTRATIONS as ce } from "../../../assets/illustrations/illustrations.js";
1
+ import { jsx as E, jsxs as O, Fragment as re } from "react/jsx-runtime";
2
+ import { h as ae } from "../../../node_modules/humanize-plus/dist/humanize.js";
3
+ import { memo as Ee, useMemo as le, useState as R, useCallback as Se, useEffect as p } from "react";
4
+ import { ILLUSTRATIONS as me } from "../../../assets/illustrations/illustrations.js";
5
5
  import { EVENTS as e } from "../../communication/pub-sub/constants.js";
6
- import { useInClassActionListener as Te } from "../../communication/pub-sub/hooks.js";
6
+ import { useInClassActionListener as ce } from "../../communication/pub-sub/hooks.js";
7
7
  import de from "../../ui/separator/separator.js";
8
- import { invalidateMilestoneResources as Ae } from "./api/get-milestone-resources.js";
9
- import { useGetAllMilestonesdata as _e, invalidateMilestonesData as De } from "./api/get-milestones.js";
10
- import { invalidateTestHelpData as Ie } from "./api/get-tests-list.js";
11
- import Me from "./filter-milestones.js";
12
- import Ne from "./milestone-list/milestone-list.js";
13
- import Le from "./milestone-list/milestone-loader/milestone-loader.js";
14
- import { ContentWrapper as ue, LoaderWrapper as Ce } from "./styled.js";
15
- const Oe = (T) => {
16
- De(T);
17
- }, Re = le(
18
- ({ studentName: T, studentId: d, studentClassroomId: p, ...h }) => {
8
+ import { invalidateMilestoneResources as Te } from "./api/get-milestone-resources.js";
9
+ import { useGetAllMilestonesdata as Ae, invalidateMilestonesData as _e } from "./api/get-milestones.js";
10
+ import { invalidateTestHelpData as Ne } from "./api/get-tests-list.js";
11
+ import De from "./filter-milestones.js";
12
+ import Ie from "./milestone-list/milestone-list.js";
13
+ import Me from "./milestone-list/milestone-loader/milestone-loader.js";
14
+ import { ContentWrapper as Le, LoaderWrapper as ue } from "./styled.js";
15
+ const Ce = (d) => {
16
+ _e(d);
17
+ }, Oe = Ee(
18
+ ({ studentName: d, studentId: T, studentClassroomId: f, ...h }) => {
19
19
  const {
20
20
  milestoneType: o,
21
- isStudentPresent: D,
21
+ isStudentPresent: N,
22
22
  isClassOngoing: P,
23
23
  userType: A,
24
24
  canCreatePlan: v,
@@ -27,56 +27,55 @@ const Oe = (T) => {
27
27
  courseStream: _,
28
28
  activeMilestoneId: g,
29
29
  activeTabId: F,
30
- onExpandPastMilestones: w,
31
- onAddOutcome: x,
32
- onChapterClick: V,
30
+ onExpandPastMilestones: V,
31
+ onAddOutcome: w,
32
+ onChapterClick: x,
33
33
  onEdit: b,
34
34
  onCreateMilestoneTest: y,
35
- onPreview: H,
36
- onReattempt: k,
37
- onReset: K,
38
- onResume: W,
39
- onReview: j,
40
- onStart: X,
41
- onDraftPublish: $,
42
- onAddChapter: q,
43
- onCreatePlan: z,
44
- onDelete: B,
45
- onAssignResources: J,
46
- onUnAssignSheet: Q,
47
- onTestPreview: Y,
48
- onTestReview: Z,
49
- onTestStart: ee,
50
- onWidgetTabSelection: te
51
- } = h, n = Se(
35
+ onDraftPublish: H,
36
+ onAddChapter: k,
37
+ onCreatePlan: K,
38
+ onDelete: W,
39
+ onAssignResources: j,
40
+ onNodeAttempt: X,
41
+ onNodeView: $,
42
+ onNodeReview: q,
43
+ onNodeReattempt: z,
44
+ onNodeReset: B,
45
+ onNodeUnassign: J,
46
+ onTestPreview: Q,
47
+ onTestReview: Y,
48
+ onTestStart: Z,
49
+ onWidgetTabSelection: ee
50
+ } = h, n = le(
52
51
  () => ({
53
52
  milestone_state_group: o === "ACTIVE" ? A === "TEACHER" ? "LIVE" : "STUDENT_LIVE" : o,
54
53
  course_stream: _,
55
- student_id: d
54
+ student_id: T
56
55
  }),
57
- [o, _, d, A]
56
+ [o, _, T, A]
58
57
  ), {
59
58
  data: t,
60
59
  getAll: S,
61
- isStale: I,
60
+ isStale: D,
62
61
  isProcessing: l
63
- } = _e(n), [M, N] = R(), [L, u] = R(!1), se = me(
62
+ } = Ae(n), [I, M] = R(), [L, u] = R(!1), te = Se(
64
63
  (m) => {
65
64
  const { searchText: i, selectedBoard: r, selectedGrade: a } = m || {};
66
65
  (i || r || a) && u(!0);
67
66
  const c = t == null ? void 0 : t.filter((s) => {
68
- const { milestone_name: ne, board: ie, grade: re } = s || {};
69
- return (i ? ne.toLowerCase().includes(i.toLowerCase()) : !0) && (r ? ie === r : !0) && (a ? re === a : !0);
67
+ const { milestone_name: oe, board: ne, grade: ie } = s || {};
68
+ return (i ? oe.toLowerCase().includes(i.toLowerCase()) : !0) && (r ? ne === r : !0) && (a ? ie === a : !0);
70
69
  });
71
- N(c);
70
+ M(c);
72
71
  },
73
72
  [t]
74
- ), oe = () => {
75
- u(!1), N(void 0);
73
+ ), se = () => {
74
+ u(!1), M(void 0);
76
75
  };
77
- if (Te(
76
+ if (ce(
78
77
  {
79
- studentClassroomId: p,
78
+ studentClassroomId: f,
80
79
  actions: [
81
80
  [e.CHAPTER_UPDATED],
82
81
  [e.LESSONS_MARKED_AS_FAMILIAR],
@@ -108,72 +107,71 @@ const Oe = (T) => {
108
107
  )) == null ? void 0 : c.eventPayload;
109
108
  if (i) {
110
109
  const { milestoneId: s } = i || {};
111
- Ae(s);
110
+ Te(s);
112
111
  }
113
112
  if (r) {
114
113
  const { milestoneId: s } = r;
115
- Ie(s);
114
+ Ne(s);
116
115
  }
117
- Oe(n);
116
+ Ce(n);
118
117
  }
119
118
  },
120
- (o === "ACTIVE" || o === "INACTIVE") && D
121
- ), f(() => {
119
+ (o === "ACTIVE" || o === "INACTIVE") && N
120
+ ), p(() => {
122
121
  S(n);
123
- }, [S, n]), f(() => {
124
- !l && I && S(n);
125
- }, [S, n, I, l]), l && !t)
126
- return /* @__PURE__ */ E(Le, { numMilestones: 2 });
122
+ }, [S, n]), p(() => {
123
+ !l && D && S(n);
124
+ }, [S, n, D, l]), l && !t)
125
+ return /* @__PURE__ */ E(Me, { numMilestones: 2 });
127
126
  const C = o === "ACTIVE" && t && t.length > 6;
128
- return /* @__PURE__ */ O(ue, { $disablePointerEvents: l, children: [
129
- l && /* @__PURE__ */ E(Ce, { children: /* @__PURE__ */ E("img", { src: ce.LOADER_1, alt: "loading" }) }),
130
- C && /* @__PURE__ */ O(ae, { children: [
127
+ return /* @__PURE__ */ O(Le, { $disablePointerEvents: l, children: [
128
+ l && /* @__PURE__ */ E(ue, { children: /* @__PURE__ */ E("img", { src: me.LOADER_1, alt: "loading" }) }),
129
+ C && /* @__PURE__ */ O(re, { children: [
131
130
  /* @__PURE__ */ E(
132
- Me,
131
+ De,
133
132
  {
134
- filteredMilestones: M,
133
+ filteredMilestones: I,
135
134
  milestones: t,
136
- handleFilterMilestones: se,
137
- handleClearFilter: oe
135
+ handleFilterMilestones: te,
136
+ handleClearFilter: se
138
137
  }
139
138
  ),
140
139
  /* @__PURE__ */ E(de, { heightX: 1.5 })
141
140
  ] }),
142
141
  /* @__PURE__ */ E(
143
- Ne,
142
+ Ie,
144
143
  {
145
144
  showFilters: !!C,
146
145
  canCreatePlan: v,
147
146
  isClassOngoing: P,
148
147
  isFiltersAdded: L,
149
- isStudentPresent: D,
148
+ isStudentPresent: N,
150
149
  milestoneType: o,
151
- milestones: L ? M : t,
152
- onAddChapter: q,
153
- onAddOutcome: x,
154
- onChapterClick: V,
155
- onCreatePlan: z,
156
- onDelete: B,
157
- onDraftPublish: $,
150
+ milestones: L ? I : t,
151
+ onAddChapter: k,
152
+ onAddOutcome: w,
153
+ onChapterClick: x,
154
+ onCreatePlan: K,
155
+ onDelete: W,
156
+ onDraftPublish: H,
158
157
  onEdit: b,
159
- onExpandPastMilestones: w,
158
+ onExpandPastMilestones: V,
160
159
  onCreateMilestoneTest: y,
161
- onPreview: H,
162
- onReattempt: k,
163
- onReset: K,
164
- onResume: W,
165
- onReview: j,
166
- onStart: X,
167
- onAssignResources: J,
168
- onUnAssignSheet: Q,
169
- onTestPreview: Y,
170
- onTestReview: Z,
171
- onTestStart: ee,
160
+ onAssignResources: j,
161
+ onTestPreview: Q,
162
+ onTestReview: Y,
163
+ onTestStart: Z,
164
+ onNodeAttempt: X,
165
+ onNodeView: $,
166
+ onNodeReview: q,
167
+ onNodeReattempt: z,
168
+ onNodeReset: B,
169
+ onNodeUnassign: J,
172
170
  activeMilestoneId: g,
173
171
  activeTabId: F,
174
- onWidgetTabSelection: te,
175
- studentId: d,
176
- studentName: Ee.titleCase(T),
172
+ onWidgetTabSelection: ee,
173
+ studentId: T,
174
+ studentName: ae.titleCase(d),
177
175
  teacherName: G,
178
176
  parentName: U,
179
177
  userType: A,
@@ -182,8 +180,8 @@ const Oe = (T) => {
182
180
  )
183
181
  ] });
184
182
  }
185
- ), We = Re;
183
+ ), Ke = Oe;
186
184
  export {
187
- We as default
185
+ Ke as default
188
186
  };
189
187
  //# sourceMappingURL=milestone-list-container.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"milestone-list-container.js","sources":["../../../../src/features/milestone/milestone-list-container/milestone-list-container.tsx"],"sourcesContent":["import type {\n IMilestoneContainerProps,\n IMilestoneListQueryParams,\n} from './milestone-list-container-types';\nimport type { IMilestoneData } from './milestone-list/milestone-list-types';\n\nimport { titleCase } from 'humanize-plus';\nimport React, { memo, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport { EVENTS } from '../../communication/pub-sub/constants';\nimport { useInClassActionListener } from '../../communication/pub-sub/hooks';\nimport Separator from '../../ui/separator/separator';\nimport { invalidateMilestoneResources } from './api/get-milestone-resources';\nimport { useGetAllMilestonesdata, invalidateMilestonesData } from './api/get-milestones';\nimport { invalidateTestHelpData } from './api/get-tests-list';\nimport FilterMilestones from './filter-milestones';\nimport MilestoneList from './milestone-list/milestone-list';\nimport MilestoneLoader from './milestone-list/milestone-loader/milestone-loader';\nimport * as Styled from './styled';\n\nconst invalidateAllMilestones = (queryParams: IMilestoneListQueryParams) => {\n invalidateMilestonesData(queryParams);\n};\n\nconst MilestoneListContainer: React.FC<IMilestoneContainerProps> = memo(\n ({ studentName, studentId, studentClassroomId, ...restMilestoneListContainerProps }) => {\n const {\n milestoneType,\n isStudentPresent,\n isClassOngoing,\n userType,\n canCreatePlan,\n teacherName,\n parentName,\n courseStream,\n activeMilestoneId,\n activeTabId,\n onExpandPastMilestones,\n onAddOutcome,\n onChapterClick,\n onEdit,\n onCreateMilestoneTest,\n onPreview,\n onReattempt,\n onReset,\n onResume,\n onReview,\n onStart,\n onDraftPublish,\n onAddChapter,\n onCreatePlan,\n onDelete,\n onAssignResources,\n onUnAssignSheet,\n onTestPreview,\n onTestReview,\n onTestStart,\n onWidgetTabSelection,\n } = restMilestoneListContainerProps;\n\n const queryParams: IMilestoneListQueryParams = useMemo(\n () =>\n ({\n milestone_state_group:\n milestoneType === 'ACTIVE'\n ? userType === 'TEACHER'\n ? 'LIVE'\n : 'STUDENT_LIVE'\n : milestoneType,\n course_stream: courseStream,\n student_id: studentId,\n }) as const,\n [milestoneType, courseStream, studentId, userType],\n );\n\n const {\n data: milestoneData,\n getAll: getMilestoneData,\n isStale: isMilestoneDataStale,\n isProcessing: isMilestoneProcessing,\n } = useGetAllMilestonesdata(queryParams);\n\n const [filteredMilestones, setFilteredMilestones] = useState<IMilestoneData[] | undefined>();\n const [isFiltersAdded, setIsFiltersAdded] = useState<boolean>(false);\n\n const handleFilterMilestones = useCallback(\n (data: { searchText?: string; selectedBoard?: string; selectedGrade?: string }) => {\n const { searchText, selectedBoard, selectedGrade } = data || {};\n\n if (searchText || selectedBoard || selectedGrade) {\n setIsFiltersAdded(true);\n }\n\n const filteredData = milestoneData?.filter(item => {\n const { milestone_name: milestoneName, board, grade } = item || {};\n const matchesSearchText = searchText\n ? milestoneName.toLowerCase().includes(searchText.toLowerCase())\n : true;\n const matchesCurriculum = selectedBoard ? board === selectedBoard : true;\n const matchesGrade = selectedGrade ? grade === selectedGrade : true;\n\n return matchesSearchText && matchesCurriculum && matchesGrade;\n });\n\n setFilteredMilestones(filteredData);\n },\n [milestoneData],\n );\n\n const handleClearFilter = () => {\n setIsFiltersAdded(false);\n setFilteredMilestones(undefined);\n };\n\n useInClassActionListener(\n {\n studentClassroomId,\n actions: [\n [EVENTS.CHAPTER_UPDATED],\n [EVENTS.LESSONS_MARKED_AS_FAMILIAR],\n [EVENTS.LESSONS_MARKED_AS_IRRELEVANT],\n [EVENTS.LESSONS_PROGRESS_RESET],\n [EVENTS.UNLOCK_SHEETS],\n [EVENTS.EXTRA_PRACTICE_ASSIGNED],\n [EVENTS.MILESTONE_DATE_UPDATED],\n [EVENTS.MILESTONE_DELETED],\n [EVENTS.MILESTONE_NAME_UPDATED],\n [EVENTS.MILESTONE_EDITED],\n [EVENTS.MILESTONE_RESOURCE_ASSIGNED],\n [EVENTS.MILESTONE_RESOURCE_UNASSIGNED],\n [EVENTS.MILESTONE_RESOURCE_RESET],\n [EVENTS.SHEET_UNASSIGNED],\n [EVENTS.GOAL_CREATED],\n [EVENTS.GOAL_EDITED],\n [EVENTS.GOAL_DELETED],\n [EVENTS.GOAL_OUTCOME_ADDED],\n [EVENTS.PAST_MILESTONE_OUTCOME_ADDED],\n [EVENTS.MILESTONE_TEST_ASSIGNED],\n ],\n callback: messages => {\n const milestoneResourceEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_RESOURCE_ASSIGNED ||\n EVENTS.MILESTONE_RESOURCE_UNASSIGNED,\n )?.eventPayload;\n const milestoneTestEventPayload = messages.find(\n message => message.eventName === EVENTS.MILESTONE_TEST_ASSIGNED,\n )?.eventPayload;\n\n if (milestoneResourceEventPayload) {\n const { milestoneId: resourceMilestoneId } =\n (milestoneResourceEventPayload as { milestoneId: string }) || {};\n\n invalidateMilestoneResources(resourceMilestoneId);\n }\n\n if (milestoneTestEventPayload) {\n const { milestoneId } = milestoneTestEventPayload as { milestoneId: string };\n\n invalidateTestHelpData(milestoneId);\n }\n\n invalidateAllMilestones(queryParams);\n },\n },\n (milestoneType === 'ACTIVE' || milestoneType === 'INACTIVE') && isStudentPresent,\n );\n\n useEffect(() => {\n getMilestoneData(queryParams);\n }, [getMilestoneData, queryParams]);\n\n useEffect(() => {\n if (!isMilestoneProcessing && isMilestoneDataStale) {\n getMilestoneData(queryParams);\n }\n }, [getMilestoneData, queryParams, isMilestoneDataStale, isMilestoneProcessing]);\n\n if (isMilestoneProcessing && !milestoneData) {\n return <MilestoneLoader numMilestones={2} />;\n }\n\n const showFilters = milestoneType === 'ACTIVE' && milestoneData && milestoneData.length > 6;\n\n return (\n <Styled.ContentWrapper $disablePointerEvents={isMilestoneProcessing}>\n {isMilestoneProcessing && (\n <Styled.LoaderWrapper>\n <img src={ILLUSTRATIONS.LOADER_1} alt=\"loading\" />\n </Styled.LoaderWrapper>\n )}\n {showFilters && (\n <>\n <FilterMilestones\n filteredMilestones={filteredMilestones}\n milestones={milestoneData}\n handleFilterMilestones={handleFilterMilestones}\n handleClearFilter={handleClearFilter}\n />\n <Separator heightX={1.5} />\n </>\n )}\n\n <MilestoneList\n showFilters={!!showFilters}\n canCreatePlan={canCreatePlan}\n isClassOngoing={isClassOngoing}\n isFiltersAdded={isFiltersAdded}\n isStudentPresent={isStudentPresent}\n milestoneType={milestoneType}\n milestones={isFiltersAdded ? filteredMilestones : milestoneData}\n onAddChapter={onAddChapter}\n onAddOutcome={onAddOutcome}\n onChapterClick={onChapterClick}\n onCreatePlan={onCreatePlan}\n onDelete={onDelete}\n onDraftPublish={onDraftPublish}\n onEdit={onEdit}\n onExpandPastMilestones={onExpandPastMilestones}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onPreview={onPreview}\n onReattempt={onReattempt}\n onReset={onReset}\n onResume={onResume}\n onReview={onReview}\n onStart={onStart}\n onAssignResources={onAssignResources}\n onUnAssignSheet={onUnAssignSheet}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n activeMilestoneId={activeMilestoneId}\n activeTabId={activeTabId}\n onWidgetTabSelection={onWidgetTabSelection}\n studentId={studentId}\n studentName={titleCase(studentName)}\n teacherName={teacherName}\n parentName={parentName}\n userType={userType}\n courseStream={courseStream}\n />\n </Styled.ContentWrapper>\n );\n },\n);\n\nexport default MilestoneListContainer;\n"],"names":["invalidateAllMilestones","queryParams","invalidateMilestonesData","MilestoneListContainer","memo","studentName","studentId","studentClassroomId","restMilestoneListContainerProps","milestoneType","isStudentPresent","isClassOngoing","userType","canCreatePlan","teacherName","parentName","courseStream","activeMilestoneId","activeTabId","onExpandPastMilestones","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onPreview","onReattempt","onReset","onResume","onReview","onStart","onDraftPublish","onAddChapter","onCreatePlan","onDelete","onAssignResources","onUnAssignSheet","onTestPreview","onTestReview","onTestStart","onWidgetTabSelection","useMemo","milestoneData","getMilestoneData","isMilestoneDataStale","isMilestoneProcessing","useGetAllMilestonesdata","filteredMilestones","setFilteredMilestones","useState","isFiltersAdded","setIsFiltersAdded","handleFilterMilestones","useCallback","data","searchText","selectedBoard","selectedGrade","filteredData","item","milestoneName","board","grade","handleClearFilter","useInClassActionListener","EVENTS","messages","milestoneResourceEventPayload","_a","message","milestoneTestEventPayload","_b","resourceMilestoneId","invalidateMilestoneResources","milestoneId","invalidateTestHelpData","useEffect","jsx","MilestoneLoader","showFilters","jsxs","Styled.ContentWrapper","Styled.LoaderWrapper","ILLUSTRATIONS","Fragment","FilterMilestones","Separator","MilestoneList","titleCase"],"mappings":"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"}
1
+ {"version":3,"file":"milestone-list-container.js","sources":["../../../../src/features/milestone/milestone-list-container/milestone-list-container.tsx"],"sourcesContent":["import type {\n IMilestoneContainerProps,\n IMilestoneListQueryParams,\n} from './milestone-list-container-types';\nimport type { IMilestoneData } from './milestone-list/milestone-list-types';\n\nimport { titleCase } from 'humanize-plus';\nimport React, { memo, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport { EVENTS } from '../../communication/pub-sub/constants';\nimport { useInClassActionListener } from '../../communication/pub-sub/hooks';\nimport Separator from '../../ui/separator/separator';\nimport { invalidateMilestoneResources } from './api/get-milestone-resources';\nimport { useGetAllMilestonesdata, invalidateMilestonesData } from './api/get-milestones';\nimport { invalidateTestHelpData } from './api/get-tests-list';\nimport FilterMilestones from './filter-milestones';\nimport MilestoneList from './milestone-list/milestone-list';\nimport MilestoneLoader from './milestone-list/milestone-loader/milestone-loader';\nimport * as Styled from './styled';\n\nconst invalidateAllMilestones = (queryParams: IMilestoneListQueryParams) => {\n invalidateMilestonesData(queryParams);\n};\n\nconst MilestoneListContainer: React.FC<IMilestoneContainerProps> = memo(\n ({ studentName, studentId, studentClassroomId, ...restMilestoneListContainerProps }) => {\n const {\n milestoneType,\n isStudentPresent,\n isClassOngoing,\n userType,\n canCreatePlan,\n teacherName,\n parentName,\n courseStream,\n activeMilestoneId,\n activeTabId,\n onExpandPastMilestones,\n onAddOutcome,\n onChapterClick,\n onEdit,\n onCreateMilestoneTest,\n onDraftPublish,\n onAddChapter,\n onCreatePlan,\n onDelete,\n onAssignResources,\n onNodeAttempt,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n onNodeReset,\n onNodeUnassign,\n onTestPreview,\n onTestReview,\n onTestStart,\n onWidgetTabSelection,\n } = restMilestoneListContainerProps;\n\n const queryParams: IMilestoneListQueryParams = useMemo(\n () =>\n ({\n milestone_state_group:\n milestoneType === 'ACTIVE'\n ? userType === 'TEACHER'\n ? 'LIVE'\n : 'STUDENT_LIVE'\n : milestoneType,\n course_stream: courseStream,\n student_id: studentId,\n }) as const,\n [milestoneType, courseStream, studentId, userType],\n );\n\n const {\n data: milestoneData,\n getAll: getMilestoneData,\n isStale: isMilestoneDataStale,\n isProcessing: isMilestoneProcessing,\n } = useGetAllMilestonesdata(queryParams);\n\n const [filteredMilestones, setFilteredMilestones] = useState<IMilestoneData[] | undefined>();\n const [isFiltersAdded, setIsFiltersAdded] = useState<boolean>(false);\n\n const handleFilterMilestones = useCallback(\n (data: { searchText?: string; selectedBoard?: string; selectedGrade?: string }) => {\n const { searchText, selectedBoard, selectedGrade } = data || {};\n\n if (searchText || selectedBoard || selectedGrade) {\n setIsFiltersAdded(true);\n }\n\n const filteredData = milestoneData?.filter(item => {\n const { milestone_name: milestoneName, board, grade } = item || {};\n const matchesSearchText = searchText\n ? milestoneName.toLowerCase().includes(searchText.toLowerCase())\n : true;\n const matchesCurriculum = selectedBoard ? board === selectedBoard : true;\n const matchesGrade = selectedGrade ? grade === selectedGrade : true;\n\n return matchesSearchText && matchesCurriculum && matchesGrade;\n });\n\n setFilteredMilestones(filteredData);\n },\n [milestoneData],\n );\n\n const handleClearFilter = () => {\n setIsFiltersAdded(false);\n setFilteredMilestones(undefined);\n };\n\n useInClassActionListener(\n {\n studentClassroomId,\n actions: [\n [EVENTS.CHAPTER_UPDATED],\n [EVENTS.LESSONS_MARKED_AS_FAMILIAR],\n [EVENTS.LESSONS_MARKED_AS_IRRELEVANT],\n [EVENTS.LESSONS_PROGRESS_RESET],\n [EVENTS.UNLOCK_SHEETS],\n [EVENTS.EXTRA_PRACTICE_ASSIGNED],\n [EVENTS.MILESTONE_DATE_UPDATED],\n [EVENTS.MILESTONE_DELETED],\n [EVENTS.MILESTONE_NAME_UPDATED],\n [EVENTS.MILESTONE_EDITED],\n [EVENTS.MILESTONE_RESOURCE_ASSIGNED],\n [EVENTS.MILESTONE_RESOURCE_UNASSIGNED],\n [EVENTS.MILESTONE_RESOURCE_RESET],\n [EVENTS.SHEET_UNASSIGNED],\n [EVENTS.GOAL_CREATED],\n [EVENTS.GOAL_EDITED],\n [EVENTS.GOAL_DELETED],\n [EVENTS.GOAL_OUTCOME_ADDED],\n [EVENTS.PAST_MILESTONE_OUTCOME_ADDED],\n [EVENTS.MILESTONE_TEST_ASSIGNED],\n ],\n callback: messages => {\n const milestoneResourceEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_RESOURCE_ASSIGNED ||\n EVENTS.MILESTONE_RESOURCE_UNASSIGNED,\n )?.eventPayload;\n const milestoneTestEventPayload = messages.find(\n message => message.eventName === EVENTS.MILESTONE_TEST_ASSIGNED,\n )?.eventPayload;\n\n if (milestoneResourceEventPayload) {\n const { milestoneId: resourceMilestoneId } =\n (milestoneResourceEventPayload as { milestoneId: string }) || {};\n\n invalidateMilestoneResources(resourceMilestoneId);\n }\n\n if (milestoneTestEventPayload) {\n const { milestoneId } = milestoneTestEventPayload as { milestoneId: string };\n\n invalidateTestHelpData(milestoneId);\n }\n\n invalidateAllMilestones(queryParams);\n },\n },\n (milestoneType === 'ACTIVE' || milestoneType === 'INACTIVE') && isStudentPresent,\n );\n\n useEffect(() => {\n getMilestoneData(queryParams);\n }, [getMilestoneData, queryParams]);\n\n useEffect(() => {\n if (!isMilestoneProcessing && isMilestoneDataStale) {\n getMilestoneData(queryParams);\n }\n }, [getMilestoneData, queryParams, isMilestoneDataStale, isMilestoneProcessing]);\n\n if (isMilestoneProcessing && !milestoneData) {\n return <MilestoneLoader numMilestones={2} />;\n }\n\n const showFilters = milestoneType === 'ACTIVE' && milestoneData && milestoneData.length > 6;\n\n return (\n <Styled.ContentWrapper $disablePointerEvents={isMilestoneProcessing}>\n {isMilestoneProcessing && (\n <Styled.LoaderWrapper>\n <img src={ILLUSTRATIONS.LOADER_1} alt=\"loading\" />\n </Styled.LoaderWrapper>\n )}\n {showFilters && (\n <>\n <FilterMilestones\n filteredMilestones={filteredMilestones}\n milestones={milestoneData}\n handleFilterMilestones={handleFilterMilestones}\n handleClearFilter={handleClearFilter}\n />\n <Separator heightX={1.5} />\n </>\n )}\n\n <MilestoneList\n showFilters={!!showFilters}\n canCreatePlan={canCreatePlan}\n isClassOngoing={isClassOngoing}\n isFiltersAdded={isFiltersAdded}\n isStudentPresent={isStudentPresent}\n milestoneType={milestoneType}\n milestones={isFiltersAdded ? filteredMilestones : milestoneData}\n onAddChapter={onAddChapter}\n onAddOutcome={onAddOutcome}\n onChapterClick={onChapterClick}\n onCreatePlan={onCreatePlan}\n onDelete={onDelete}\n onDraftPublish={onDraftPublish}\n onEdit={onEdit}\n onExpandPastMilestones={onExpandPastMilestones}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onAssignResources={onAssignResources}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n onNodeAttempt={onNodeAttempt}\n onNodeView={onNodeView}\n onNodeReview={onNodeReview}\n onNodeReattempt={onNodeReattempt}\n onNodeReset={onNodeReset}\n onNodeUnassign={onNodeUnassign}\n activeMilestoneId={activeMilestoneId}\n activeTabId={activeTabId}\n onWidgetTabSelection={onWidgetTabSelection}\n studentId={studentId}\n studentName={titleCase(studentName)}\n teacherName={teacherName}\n parentName={parentName}\n userType={userType}\n courseStream={courseStream}\n />\n </Styled.ContentWrapper>\n );\n },\n);\n\nexport default MilestoneListContainer;\n"],"names":["invalidateAllMilestones","queryParams","invalidateMilestonesData","MilestoneListContainer","memo","studentName","studentId","studentClassroomId","restMilestoneListContainerProps","milestoneType","isStudentPresent","isClassOngoing","userType","canCreatePlan","teacherName","parentName","courseStream","activeMilestoneId","activeTabId","onExpandPastMilestones","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onDraftPublish","onAddChapter","onCreatePlan","onDelete","onAssignResources","onNodeAttempt","onNodeView","onNodeReview","onNodeReattempt","onNodeReset","onNodeUnassign","onTestPreview","onTestReview","onTestStart","onWidgetTabSelection","useMemo","milestoneData","getMilestoneData","isMilestoneDataStale","isMilestoneProcessing","useGetAllMilestonesdata","filteredMilestones","setFilteredMilestones","useState","isFiltersAdded","setIsFiltersAdded","handleFilterMilestones","useCallback","data","searchText","selectedBoard","selectedGrade","filteredData","item","milestoneName","board","grade","handleClearFilter","useInClassActionListener","EVENTS","messages","milestoneResourceEventPayload","_a","message","milestoneTestEventPayload","_b","resourceMilestoneId","invalidateMilestoneResources","milestoneId","invalidateTestHelpData","useEffect","jsx","MilestoneLoader","showFilters","jsxs","Styled.ContentWrapper","Styled.LoaderWrapper","ILLUSTRATIONS","Fragment","FilterMilestones","Separator","MilestoneList","titleCase"],"mappings":"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"}