@cuemath/leap 4.1.1-beta.5 → 4.1.1-link.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js +27 -25
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapters-list.js +53 -43
- package/dist/features/chapters/chapters-list/chapters-list.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/chapter-details.js +70 -68
- package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
- package/dist/features/journey/journey-id/journey-id-teacher.js +1 -1
- package/dist/features/journey/journey-id/journey-id-teacher.js.map +1 -1
- package/dist/features/journey/mocks/chapter-page-journey-mock-data.js +1 -1
- package/dist/features/journey/mocks/chapter-page-journey-mock-data.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +105 -93
- 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/goals/goal-action-ctas.js +44 -43
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js +36 -34
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +126 -107
- 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 +107 -95
- 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 +116 -104
- 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 +100 -93
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js +81 -76
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -1
- package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-types.js.map +1 -1
- package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report.js +97 -113
- package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report.js.map +1 -1
- package/dist/features/trial-session/comps/learning-plan/goal-edit-sync.js +40 -0
- package/dist/features/trial-session/comps/learning-plan/goal-edit-sync.js.map +1 -0
- package/dist/features/trial-session/comps/learning-plan/learning-assign-resource-sync.js +55 -0
- package/dist/features/trial-session/comps/learning-plan/learning-assign-resource-sync.js.map +1 -0
- package/dist/features/trial-session/comps/learning-plan/learning-chapter-details.js +48 -0
- package/dist/features/trial-session/comps/learning-plan/learning-chapter-details.js.map +1 -0
- package/dist/features/trial-session/comps/learning-plan/learning-milestone-sync.js +145 -0
- package/dist/features/trial-session/comps/learning-plan/learning-milestone-sync.js.map +1 -0
- package/dist/features/trial-session/comps/learning-plan/learning-plan-helpers.js +30 -0
- package/dist/features/trial-session/comps/learning-plan/learning-plan-helpers.js.map +1 -0
- package/dist/features/trial-session/comps/learning-plan/learning-plan-view.js +17 -0
- package/dist/features/trial-session/comps/learning-plan/learning-plan-view.js.map +1 -0
- package/dist/features/trial-session/comps/learning-plan/learning-plan.js +93 -0
- package/dist/features/trial-session/comps/learning-plan/learning-plan.js.map +1 -0
- package/dist/features/trial-session/comps/learning-plan/learning-preview-worksheet.js +81 -0
- package/dist/features/trial-session/comps/learning-plan/learning-preview-worksheet.js.map +1 -0
- package/dist/features/trial-session/comps/learning-plan/learning-test-creation-sync.js +41 -0
- package/dist/features/trial-session/comps/learning-plan/learning-test-creation-sync.js.map +1 -0
- package/dist/features/trial-session/hooks/use-chapter-details-journey.js +97 -0
- package/dist/features/trial-session/hooks/use-chapter-details-journey.js.map +1 -0
- package/dist/features/trial-session/hooks/use-learning-plan-journey.js +105 -0
- package/dist/features/trial-session/hooks/use-learning-plan-journey.js.map +1 -0
- package/dist/features/trial-session/hooks/use-resource-assignment-journey.js +64 -0
- package/dist/features/trial-session/hooks/use-resource-assignment-journey.js.map +1 -0
- package/dist/features/trial-session/hooks/use-test-creation-journey.js +64 -0
- package/dist/features/trial-session/hooks/use-test-creation-journey.js.map +1 -0
- package/dist/features/trial-session/hooks/use-worksheet-preview-journey.js +65 -0
- package/dist/features/trial-session/hooks/use-worksheet-preview-journey.js.map +1 -0
- package/dist/features/trial-session/right-panel/slide-components-map.js +1 -1
- package/dist/features/trial-session/right-panel/slide-components-map.js.map +1 -1
- package/dist/features/trial-session/trial-session-types.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js +47 -34
- package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +43 -42
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +28 -26
- package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
- package/dist/index.d.ts +42 -4
- package/package.json +1 -1
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback-styled.js +0 -16
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback-styled.js.map +0 -1
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback.js +0 -56
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback.js.map +0 -1
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer-styled.js +0 -22
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer-styled.js.map +0 -1
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer.js +0 -14
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer.js.map +0 -1
- package/dist/features/trial-session/comps/learning-plan/index.js +0 -355
- package/dist/features/trial-session/comps/learning-plan/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"milestone-list-container.js","sources":["../../../../src/features/milestone/milestone-list-container/milestone-list-container.tsx"],"sourcesContent":["import { titleCase } from 'humanize-plus';\nimport { memo, useCallback, useEffect, useMemo, useState, type FC } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport { EVENTS } from '../../communication/pub-sub/constants';\nimport { useInClassActionListener } from '../../communication/pub-sub/hooks';\nimport { invalidateHomeworks } from '../../homework/hw-card-list/api/get-homeworks';\nimport Separator from '../../ui/separator/separator';\nimport { invalidateMilestoneResources } from './api/get-milestone-resources';\nimport { useGetAllMilestonesdata, invalidateMilestonesData } from './api/get-milestones';\nimport { invalidatePastMilestoneCount } from './api/get-past-milestone-count';\nimport { invalidateTestHelpData } from './api/get-tests-list';\nimport FilterMilestones from './filter-milestones';\nimport type {\n IMilestoneContainerProps,\n IMilestoneListQueryParams,\n} from './milestone-list-container-types';\nimport MilestoneList from './milestone-list/milestone-list';\nimport type { IMilestoneData } from './milestone-list/milestone-list-types';\nimport MilestoneLoader from './milestone-list/milestone-loader/milestone-loader';\nimport * as Styled from './styled';\n\nconst invalidateAllMilestones = (queryParams: IMilestoneListQueryParams) => {\n invalidateMilestonesData(queryParams);\n invalidatePastMilestoneCount(queryParams.student_id);\n};\n\nconst MilestoneListContainer: FC<IMilestoneContainerProps> = memo(function MilestoneListContainer({\n studentName,\n studentId,\n studentClassroomId,\n ...restMilestoneListContainerProps\n}) {\n const {\n milestoneType,\n isStudentPresent,\n isClassOngoing,\n userType,\n canCreatePlan,\n teacherName,\n parentName,\n courseStream,\n activeMilestoneId,\n activeTabId,\n isDraftModeEnabled,\n widgetState,\n defaultVisibleTab,\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 onNodeAssignAsHomework,\n onCardClick,\n onWidgetStateChange,\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 [EVENTS.SHEET_MARKED_AS_REVIEWED],\n ],\n callback: messages => {\n const milestoneResourceEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_RESOURCE_ASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_UNASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_RESET ||\n message.eventName === EVENTS.SHEET_MARKED_AS_REVIEWED,\n )?.eventPayload;\n const milestoneTestEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_TEST_ASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_RESET,\n )?.eventPayload;\n\n if (milestoneResourceEventPayload) {\n const { milestoneId: resourceMilestoneId } =\n (milestoneResourceEventPayload as { milestoneId: string }) || {};\n\n invalidateHomeworks(studentId);\n invalidateMilestoneResources(resourceMilestoneId);\n }\n\n if (milestoneTestEventPayload) {\n const { milestoneId } = milestoneTestEventPayload as { milestoneId: string };\n\n invalidateHomeworks(studentId);\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 onNodeAssignAsHomework={onNodeAssignAsHomework}\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 onCardClick={onCardClick}\n isDraftModeEnabled={isDraftModeEnabled}\n widgetState={widgetState}\n onWidgetStateChange={onWidgetStateChange}\n defaultVisibleTab={defaultVisibleTab}\n />\n </Styled.ContentWrapper>\n );\n});\n\nexport default MilestoneListContainer;\n"],"names":["invalidateAllMilestones","queryParams","invalidateMilestonesData","invalidatePastMilestoneCount","MilestoneListContainer","memo","studentName","studentId","studentClassroomId","restMilestoneListContainerProps","milestoneType","isStudentPresent","isClassOngoing","userType","canCreatePlan","teacherName","parentName","courseStream","activeMilestoneId","activeTabId","isDraftModeEnabled","widgetState","defaultVisibleTab","onExpandPastMilestones","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onDraftPublish","onAddChapter","onCreatePlan","onDelete","onAssignResources","onNodeAttempt","onNodeView","onNodeReview","onNodeReattempt","onNodeReset","onNodeUnassign","onTestPreview","onTestReview","onTestStart","onWidgetTabSelection","onNodeAssignAsHomework","onCardClick","onWidgetStateChange","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","invalidateHomeworks","invalidateMilestoneResources","milestoneId","invalidateTestHelpData","useEffect","jsx","MilestoneLoader","showFilters","jsxs","Styled.ContentWrapper","Styled.LoaderWrapper","ILLUSTRATIONS","Fragment","FilterMilestones","Separator","MilestoneList","titleCase","MilestoneListContainer$1"],"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 { titleCase } from 'humanize-plus';\nimport { memo, useCallback, useEffect, useMemo, useState, type FC } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport { EVENTS } from '../../communication/pub-sub/constants';\nimport { useInClassActionListener } from '../../communication/pub-sub/hooks';\nimport { invalidateHomeworks } from '../../homework/hw-card-list/api/get-homeworks';\nimport Separator from '../../ui/separator/separator';\nimport { invalidateMilestoneResources } from './api/get-milestone-resources';\nimport { useGetAllMilestonesdata, invalidateMilestonesData } from './api/get-milestones';\nimport { invalidatePastMilestoneCount } from './api/get-past-milestone-count';\nimport { invalidateTestHelpData } from './api/get-tests-list';\nimport FilterMilestones from './filter-milestones';\nimport type {\n IMilestoneContainerProps,\n IMilestoneListQueryParams,\n} from './milestone-list-container-types';\nimport MilestoneList from './milestone-list/milestone-list';\nimport type { IMilestoneData } from './milestone-list/milestone-list-types';\nimport MilestoneLoader from './milestone-list/milestone-loader/milestone-loader';\nimport * as Styled from './styled';\n\nconst invalidateAllMilestones = (queryParams: IMilestoneListQueryParams) => {\n invalidateMilestonesData(queryParams);\n invalidatePastMilestoneCount(queryParams.student_id);\n};\n\nconst MilestoneListContainer: FC<IMilestoneContainerProps> = memo(function MilestoneListContainer({\n studentName,\n studentId,\n studentClassroomId,\n ...restMilestoneListContainerProps\n}) {\n const {\n milestoneType,\n isStudentPresent,\n isClassOngoing,\n userType,\n canCreatePlan,\n teacherName,\n parentName,\n courseStream,\n activeMilestoneId,\n activeTabId,\n isDraftModeEnabled,\n widgetState,\n editButtonRef,\n firstChapterRef,\n createTestButtonRef,\n assignResourceButtonRef,\n defaultVisibleTab,\n canStartJourney,\n startJourney,\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 onNodeAssignAsHomework,\n onCardClick,\n onWidgetStateChange,\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 [EVENTS.SHEET_MARKED_AS_REVIEWED],\n ],\n callback: messages => {\n const milestoneResourceEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_RESOURCE_ASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_UNASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_RESET ||\n message.eventName === EVENTS.SHEET_MARKED_AS_REVIEWED,\n )?.eventPayload;\n const milestoneTestEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_TEST_ASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_RESET,\n )?.eventPayload;\n\n if (milestoneResourceEventPayload) {\n const { milestoneId: resourceMilestoneId } =\n (milestoneResourceEventPayload as { milestoneId: string }) || {};\n\n invalidateHomeworks(studentId);\n invalidateMilestoneResources(resourceMilestoneId);\n }\n\n if (milestoneTestEventPayload) {\n const { milestoneId } = milestoneTestEventPayload as { milestoneId: string };\n\n invalidateHomeworks(studentId);\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 onNodeAssignAsHomework={onNodeAssignAsHomework}\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 onCardClick={onCardClick}\n isDraftModeEnabled={isDraftModeEnabled}\n widgetState={widgetState}\n onWidgetStateChange={onWidgetStateChange}\n editButtonRef={editButtonRef}\n firstChapterRef={firstChapterRef}\n createTestButtonRef={createTestButtonRef}\n assignResourceButtonRef={assignResourceButtonRef}\n defaultVisibleTab={defaultVisibleTab}\n canStartJourney={canStartJourney}\n startJourney={startJourney}\n />\n </Styled.ContentWrapper>\n );\n});\n\nexport default MilestoneListContainer;\n"],"names":["invalidateAllMilestones","queryParams","invalidateMilestonesData","invalidatePastMilestoneCount","MilestoneListContainer","memo","studentName","studentId","studentClassroomId","restMilestoneListContainerProps","milestoneType","isStudentPresent","isClassOngoing","userType","canCreatePlan","teacherName","parentName","courseStream","activeMilestoneId","activeTabId","isDraftModeEnabled","widgetState","editButtonRef","firstChapterRef","createTestButtonRef","assignResourceButtonRef","defaultVisibleTab","canStartJourney","startJourney","onExpandPastMilestones","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onDraftPublish","onAddChapter","onCreatePlan","onDelete","onAssignResources","onNodeAttempt","onNodeView","onNodeReview","onNodeReattempt","onNodeReset","onNodeUnassign","onTestPreview","onTestReview","onTestStart","onWidgetTabSelection","onNodeAssignAsHomework","onCardClick","onWidgetStateChange","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","invalidateHomeworks","invalidateMilestoneResources","milestoneId","invalidateTestHelpData","useEffect","jsx","MilestoneLoader","showFilters","jsxs","Styled.ContentWrapper","Styled.LoaderWrapper","ILLUSTRATIONS","Fragment","FilterMilestones","Separator","MilestoneList","titleCase","MilestoneListContainer$1"],"mappings":"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"}
|
|
@@ -1,119 +1,126 @@
|
|
|
1
|
-
import { jsx as e, jsxs as
|
|
2
|
-
import { memo as
|
|
3
|
-
import { IMAGES as
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import { useGetMilestoneResources as
|
|
14
|
-
import { MilestoneResourcesWrapper as
|
|
15
|
-
const
|
|
16
|
-
function(
|
|
1
|
+
import { jsx as e, jsxs as u, Fragment as O } from "react/jsx-runtime";
|
|
2
|
+
import { memo as X, useCallback as m, useEffect as E } from "react";
|
|
3
|
+
import { IMAGES as q } from "../../../../assets/images/images.js";
|
|
4
|
+
import z from "../../../../assets/line-icons/icons/plus.js";
|
|
5
|
+
import F from "../../../../assets/line-icons/icons/search.js";
|
|
6
|
+
import L from "../../../sheet-v2/resource-list/resource-list.js";
|
|
7
|
+
import U from "../../../ui/arrow-tooltip/arrow-tooltip.js";
|
|
8
|
+
import M from "../../../ui/buttons/button/button.js";
|
|
9
|
+
import J from "../../../ui/buttons/icon-button/icon-button.js";
|
|
10
|
+
import S from "../../../ui/layout/flex-view.js";
|
|
11
|
+
import V from "../../../ui/loader/app-loader/app-loader.js";
|
|
12
|
+
import T from "../../../ui/text/text.js";
|
|
13
|
+
import { useGetMilestoneResources as _ } from "../../milestone-list-container/api/get-milestone-resources.js";
|
|
14
|
+
import { MilestoneResourcesWrapper as f, SearchButtonWrapper as Y, SearchButtonCover as K, DefaultWrapper as P } from "./resources-list-styled.js";
|
|
15
|
+
const fe = X(
|
|
16
|
+
function(W) {
|
|
17
17
|
const {
|
|
18
|
-
isDraftMilestone:
|
|
19
|
-
isMilestoneActive:
|
|
20
|
-
userType:
|
|
21
|
-
studentId:
|
|
18
|
+
isDraftMilestone: p,
|
|
19
|
+
isMilestoneActive: o,
|
|
20
|
+
userType: h,
|
|
21
|
+
studentId: s,
|
|
22
22
|
userMilestoneId: r,
|
|
23
|
-
canUpdatePlan:
|
|
24
|
-
allowResourceAssignInDraft:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
23
|
+
canUpdatePlan: g,
|
|
24
|
+
allowResourceAssignInDraft: A,
|
|
25
|
+
assignResourceButtonRef: x,
|
|
26
|
+
canStartJourney: R,
|
|
27
|
+
startJourney: n,
|
|
28
|
+
onAssignResources: i,
|
|
29
|
+
onNodeAttempt: j,
|
|
30
|
+
onNodeView: k,
|
|
31
|
+
onNodeReview: N,
|
|
32
|
+
onNodeReset: B,
|
|
33
|
+
onNodeUnassign: D,
|
|
34
|
+
onNodeReattempt: v,
|
|
35
|
+
onNodeAssignAsHomework: H
|
|
36
|
+
} = W, $ = h === "TEACHER", b = !g || !o || o && p && !A, {
|
|
37
|
+
get: y,
|
|
38
|
+
isProcessed: a,
|
|
39
|
+
isProcessing: t,
|
|
40
|
+
isProcessingFailed: c,
|
|
41
|
+
isStale: w,
|
|
42
|
+
data: l
|
|
43
|
+
} = _(), I = m(() => {
|
|
44
|
+
r && y(r, void 0, {
|
|
45
|
+
studentId: s
|
|
43
46
|
});
|
|
44
|
-
}, [
|
|
45
|
-
|
|
46
|
-
}, [
|
|
47
|
-
|
|
48
|
-
!
|
|
49
|
-
}, [
|
|
50
|
-
const
|
|
51
|
-
if (typeof
|
|
47
|
+
}, [s, r, y]), d = m(() => {
|
|
48
|
+
I();
|
|
49
|
+
}, [I]);
|
|
50
|
+
E(() => {
|
|
51
|
+
!t && (!a && !c || w) && d();
|
|
52
|
+
}, [d, a, t, c, w]);
|
|
53
|
+
const C = m(() => {
|
|
54
|
+
if (typeof i != "function")
|
|
52
55
|
throw new Error("onAssignResources must be a function");
|
|
53
56
|
if (!r) throw new Error("userMilestoneId is required");
|
|
54
|
-
|
|
55
|
-
}, [
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
i(r);
|
|
58
|
+
}, [i, r]);
|
|
59
|
+
E(() => {
|
|
60
|
+
R && n && !t && n();
|
|
61
|
+
}, [R, t, n]);
|
|
62
|
+
const G = l && l.length > 0;
|
|
63
|
+
return c ? /* @__PURE__ */ e(
|
|
64
|
+
f,
|
|
58
65
|
{
|
|
59
66
|
$alignItems: "center",
|
|
60
67
|
$justifyContent: "center",
|
|
61
68
|
$background: "WHITE",
|
|
62
|
-
children: /* @__PURE__ */
|
|
63
|
-
/* @__PURE__ */ e(
|
|
69
|
+
children: /* @__PURE__ */ u(S, { $flexGapX: 1.5, $alignItems: "center", $justifyContent: "center", children: [
|
|
70
|
+
/* @__PURE__ */ e(T, { $renderAs: "ab1-bold", children: "Oops! Something went wrong. Please try again later." }),
|
|
64
71
|
/* @__PURE__ */ e(
|
|
65
|
-
|
|
72
|
+
M,
|
|
66
73
|
{
|
|
67
74
|
widthX: 14,
|
|
68
75
|
size: "small",
|
|
69
76
|
shape: "square",
|
|
70
77
|
renderAs: "primary",
|
|
71
78
|
label: "Try again",
|
|
72
|
-
onClick:
|
|
79
|
+
onClick: d
|
|
73
80
|
}
|
|
74
81
|
)
|
|
75
82
|
] })
|
|
76
83
|
}
|
|
77
|
-
) :
|
|
84
|
+
) : a ? /* @__PURE__ */ e(f, { $justifyContent: "space-between", children: G ? /* @__PURE__ */ u(O, { children: [
|
|
78
85
|
/* @__PURE__ */ e(
|
|
79
|
-
|
|
86
|
+
L,
|
|
80
87
|
{
|
|
81
|
-
sheets:
|
|
82
|
-
userType:
|
|
83
|
-
onNodeAttempt:
|
|
84
|
-
onNodeView:
|
|
85
|
-
onNodeReview:
|
|
86
|
-
onNodeReattempt:
|
|
87
|
-
onNodeReset:
|
|
88
|
-
onNodeUnassign:
|
|
89
|
-
onNodeAssignAsHomework:
|
|
90
|
-
studentId:
|
|
88
|
+
sheets: l,
|
|
89
|
+
userType: h,
|
|
90
|
+
onNodeAttempt: j,
|
|
91
|
+
onNodeView: k,
|
|
92
|
+
onNodeReview: N,
|
|
93
|
+
onNodeReattempt: v,
|
|
94
|
+
onNodeReset: B,
|
|
95
|
+
onNodeUnassign: D,
|
|
96
|
+
onNodeAssignAsHomework: H,
|
|
97
|
+
studentId: s,
|
|
91
98
|
userMilestoneId: r,
|
|
92
|
-
disableMenuActions:
|
|
99
|
+
disableMenuActions: A
|
|
93
100
|
}
|
|
94
101
|
),
|
|
95
|
-
|
|
96
|
-
|
|
102
|
+
$ && g && /* @__PURE__ */ e(
|
|
103
|
+
Y,
|
|
97
104
|
{
|
|
98
105
|
$flexDirection: "row",
|
|
99
106
|
$justifyContent: "flex-end",
|
|
100
107
|
$gapX: 1,
|
|
101
108
|
$gutterX: 1,
|
|
102
|
-
children: /* @__PURE__ */ e(
|
|
103
|
-
|
|
109
|
+
children: /* @__PURE__ */ e(K, { children: /* @__PURE__ */ e(
|
|
110
|
+
J,
|
|
104
111
|
{
|
|
105
|
-
Icon:
|
|
112
|
+
Icon: F,
|
|
106
113
|
renderAs: "secondary",
|
|
107
114
|
size: "small",
|
|
108
115
|
analyticsLabel: "Milestone Resource Search",
|
|
109
|
-
onClick:
|
|
110
|
-
disabled: !
|
|
116
|
+
onClick: C,
|
|
117
|
+
disabled: !o
|
|
111
118
|
}
|
|
112
119
|
) })
|
|
113
120
|
}
|
|
114
121
|
)
|
|
115
|
-
] }) : /* @__PURE__ */
|
|
116
|
-
|
|
122
|
+
] }) : /* @__PURE__ */ u(
|
|
123
|
+
S,
|
|
117
124
|
{
|
|
118
125
|
$width: "100%",
|
|
119
126
|
$height: "100%",
|
|
@@ -121,42 +128,42 @@ const de = H(
|
|
|
121
128
|
$justifyContent: "flex-start",
|
|
122
129
|
$background: "WHITE",
|
|
123
130
|
children: [
|
|
124
|
-
/* @__PURE__ */ e(
|
|
131
|
+
/* @__PURE__ */ e(P, { $isImageWrapper: !0, children: /* @__PURE__ */ e(
|
|
125
132
|
"img",
|
|
126
133
|
{
|
|
127
|
-
src:
|
|
134
|
+
src: q.BG_EMPTY_RESOURCES,
|
|
128
135
|
alt: "Empty resources",
|
|
129
136
|
width: 420,
|
|
130
137
|
height: 420
|
|
131
138
|
}
|
|
132
139
|
) }),
|
|
133
|
-
/* @__PURE__ */ e(
|
|
134
|
-
|
|
140
|
+
/* @__PURE__ */ e(P, { children: $ ? /* @__PURE__ */ e(
|
|
141
|
+
U,
|
|
135
142
|
{
|
|
136
143
|
renderAs: "primary",
|
|
137
144
|
position: "bottom",
|
|
138
|
-
hidden: !
|
|
139
|
-
tooltipItem:
|
|
140
|
-
children: /* @__PURE__ */ e(
|
|
141
|
-
|
|
145
|
+
hidden: !b,
|
|
146
|
+
tooltipItem: p ? "Allowed after plan is published" : "Plan is completed",
|
|
147
|
+
children: /* @__PURE__ */ e("div", { ref: x, children: /* @__PURE__ */ e(
|
|
148
|
+
M,
|
|
142
149
|
{
|
|
143
150
|
renderAs: "primary",
|
|
144
151
|
label: "Assign Resource",
|
|
145
|
-
Icon:
|
|
152
|
+
Icon: z,
|
|
146
153
|
shape: "square",
|
|
147
154
|
size: "small",
|
|
148
|
-
onClick:
|
|
149
|
-
disabled:
|
|
155
|
+
onClick: C,
|
|
156
|
+
disabled: b
|
|
150
157
|
}
|
|
151
|
-
)
|
|
158
|
+
) })
|
|
152
159
|
}
|
|
153
|
-
) : /* @__PURE__ */ e(
|
|
160
|
+
) : /* @__PURE__ */ e(T, { $renderAs: "ab2-bold", children: "Wait for the teacher to assign a resource" }) })
|
|
154
161
|
]
|
|
155
162
|
}
|
|
156
|
-
) }) : /* @__PURE__ */ e(
|
|
163
|
+
) }) : /* @__PURE__ */ e(f, { $justifyContent: "center", $background: "WHITE", children: /* @__PURE__ */ e(V, { height: "100%" }) });
|
|
157
164
|
}
|
|
158
165
|
);
|
|
159
166
|
export {
|
|
160
|
-
|
|
167
|
+
fe as default
|
|
161
168
|
};
|
|
162
169
|
//# sourceMappingURL=resources-list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources-list.js","sources":["../../../../../src/features/milestone/milestone-resources/resources-list/resources-list.tsx"],"sourcesContent":["import { type FC, memo, useCallback, useEffect } from 'react';\n\nimport { IMAGES } from '../../../../assets/images/images';\nimport PlusIcon from '../../../../assets/line-icons/icons/plus';\nimport SearchIcon from '../../../../assets/line-icons/icons/search';\nimport ResourcesList from '../../../sheet-v2/resource-list/resource-list';\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../ui/buttons/button/button';\nimport IconButton from '../../../ui/buttons/icon-button/icon-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Text from '../../../ui/text/text';\nimport { useGetMilestoneResources } from '../../milestone-list-container/api/get-milestone-resources';\nimport * as Styled from './resources-list-styled';\nimport type { IMilestoneWidgetResourcesProps } from './resources-list-types';\n\nconst MilestoneWidgetResources: FC<IMilestoneWidgetResourcesProps> = memo(\n function MilestoneWidgetResources(props) {\n const {\n isDraftMilestone,\n isMilestoneActive,\n userType,\n studentId,\n userMilestoneId,\n canUpdatePlan,\n allowResourceAssignInDraft,\n onAssignResources,\n onNodeAttempt,\n onNodeView,\n onNodeReview,\n onNodeReset,\n onNodeUnassign,\n onNodeReattempt,\n onNodeAssignAsHomework,\n } = props;\n\n const isTeacher = userType === 'TEACHER';\n const isEPSheetCreationDisabled =\n !canUpdatePlan ||\n !isMilestoneActive ||\n (isMilestoneActive && isDraftMilestone && !allowResourceAssignInDraft);\n\n const {\n get: getMilestoneResources,\n isProcessed,\n isProcessing,\n isProcessingFailed,\n isStale,\n data: sheets,\n } = useGetMilestoneResources();\n\n const fetchMilestoneResources = useCallback(() => {\n if (userMilestoneId) {\n getMilestoneResources(userMilestoneId, undefined, {\n studentId,\n });\n }\n }, [studentId, userMilestoneId, getMilestoneResources]);\n\n const handleOnTryAgain = useCallback(() => {\n fetchMilestoneResources();\n }, [fetchMilestoneResources]);\n\n useEffect(() => {\n if (!isProcessing && ((!isProcessed && !isProcessingFailed) || isStale)) {\n handleOnTryAgain();\n }\n }, [handleOnTryAgain, isProcessed, isProcessing, isProcessingFailed, isStale]);\n\n const handleOnAssignResources = useCallback(() => {\n if (typeof onAssignResources !== 'function')\n throw new Error('onAssignResources must be a function');\n\n if (!userMilestoneId) throw new Error('userMilestoneId is required');\n\n onAssignResources(userMilestoneId);\n }, [onAssignResources, userMilestoneId]);\n\n const sheetsDataPresent = sheets && sheets.length > 0;\n\n if (isProcessingFailed) {\n return (\n <Styled.MilestoneResourcesWrapper\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"WHITE\"\n >\n <FlexView $flexGapX={1.5} $alignItems=\"center\" $justifyContent=\"center\">\n <Text $renderAs=\"ab1-bold\">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.MilestoneResourcesWrapper>\n );\n }\n\n if (isProcessed) {\n return (\n <Styled.MilestoneResourcesWrapper $justifyContent=\"space-between\">\n {sheetsDataPresent ? (\n <>\n <ResourcesList\n sheets={sheets}\n userType={userType}\n onNodeAttempt={onNodeAttempt}\n onNodeView={onNodeView}\n onNodeReview={onNodeReview}\n onNodeReattempt={onNodeReattempt}\n onNodeReset={onNodeReset}\n onNodeUnassign={onNodeUnassign}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\n studentId={studentId}\n userMilestoneId={userMilestoneId}\n disableMenuActions={allowResourceAssignInDraft} //allowResourceAssignInDraft will be true for Trial V3 Sessions\n />\n {isTeacher && canUpdatePlan && (\n <Styled.SearchButtonWrapper\n $flexDirection=\"row\"\n $justifyContent=\"flex-end\"\n $gapX={1}\n $gutterX={1}\n >\n <Styled.SearchButtonCover>\n <IconButton\n Icon={SearchIcon}\n renderAs=\"secondary\"\n size=\"small\"\n analyticsLabel=\"Milestone Resource Search\"\n onClick={handleOnAssignResources}\n disabled={!isMilestoneActive}\n />\n </Styled.SearchButtonCover>\n </Styled.SearchButtonWrapper>\n )}\n </>\n ) : (\n <FlexView\n $width=\"100%\"\n $height=\"100%\"\n $alignItems=\"center\"\n $justifyContent=\"flex-start\"\n $background=\"WHITE\"\n >\n <Styled.DefaultWrapper $isImageWrapper>\n <img\n src={IMAGES.BG_EMPTY_RESOURCES}\n alt=\"Empty resources\"\n width={420}\n height={420}\n />\n </Styled.DefaultWrapper>\n\n <Styled.DefaultWrapper>\n {isTeacher ? (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={!isEPSheetCreationDisabled}\n tooltipItem={\n isDraftMilestone ? 'Allowed after plan is published' : 'Plan is completed'\n }\n >\n <Button\n renderAs=\"primary\"\n label=\"Assign Resource\"\n Icon={PlusIcon}\n shape=\"square\"\n size=\"small\"\n onClick={handleOnAssignResources}\n disabled={isEPSheetCreationDisabled}\n />\n </ArrowTooltip>\n ) : (\n <Text $renderAs=\"ab2-bold\">Wait for the teacher to assign a resource</Text>\n )}\n </Styled.DefaultWrapper>\n </FlexView>\n )}\n </Styled.MilestoneResourcesWrapper>\n );\n }\n\n return (\n <Styled.MilestoneResourcesWrapper $justifyContent=\"center\" $background=\"WHITE\">\n <AppLoader height=\"100%\" />\n </Styled.MilestoneResourcesWrapper>\n );\n },\n);\n\nexport default MilestoneWidgetResources;\n"],"names":["MilestoneWidgetResources","memo","props","isDraftMilestone","isMilestoneActive","userType","studentId","userMilestoneId","canUpdatePlan","allowResourceAssignInDraft","onAssignResources","onNodeAttempt","onNodeView","onNodeReview","onNodeReset","onNodeUnassign","onNodeReattempt","onNodeAssignAsHomework","isTeacher","isEPSheetCreationDisabled","getMilestoneResources","isProcessed","isProcessing","isProcessingFailed","isStale","sheets","useGetMilestoneResources","fetchMilestoneResources","useCallback","handleOnTryAgain","useEffect","handleOnAssignResources","sheetsDataPresent","jsx","Styled.MilestoneResourcesWrapper","FlexView","Text","Button","jsxs","Fragment","ResourcesList","Styled.SearchButtonWrapper","Styled.SearchButtonCover","IconButton","SearchIcon","Styled.DefaultWrapper","IMAGES","ArrowTooltip","PlusIcon","AppLoader"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resources-list.js","sources":["../../../../../src/features/milestone/milestone-resources/resources-list/resources-list.tsx"],"sourcesContent":["import { type FC, memo, useCallback, useEffect } from 'react';\n\nimport { IMAGES } from '../../../../assets/images/images';\nimport PlusIcon from '../../../../assets/line-icons/icons/plus';\nimport SearchIcon from '../../../../assets/line-icons/icons/search';\nimport ResourcesList from '../../../sheet-v2/resource-list/resource-list';\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../ui/buttons/button/button';\nimport IconButton from '../../../ui/buttons/icon-button/icon-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Text from '../../../ui/text/text';\nimport { useGetMilestoneResources } from '../../milestone-list-container/api/get-milestone-resources';\nimport * as Styled from './resources-list-styled';\nimport type { IMilestoneWidgetResourcesProps } from './resources-list-types';\n\nconst MilestoneWidgetResources: FC<IMilestoneWidgetResourcesProps> = memo(\n function MilestoneWidgetResources(props) {\n const {\n isDraftMilestone,\n isMilestoneActive,\n userType,\n studentId,\n userMilestoneId,\n canUpdatePlan,\n allowResourceAssignInDraft,\n assignResourceButtonRef,\n canStartJourney,\n startJourney,\n onAssignResources,\n onNodeAttempt,\n onNodeView,\n onNodeReview,\n onNodeReset,\n onNodeUnassign,\n onNodeReattempt,\n onNodeAssignAsHomework,\n } = props;\n\n const isTeacher = userType === 'TEACHER';\n const isEPSheetCreationDisabled =\n !canUpdatePlan ||\n !isMilestoneActive ||\n (isMilestoneActive && isDraftMilestone && !allowResourceAssignInDraft);\n\n const {\n get: getMilestoneResources,\n isProcessed,\n isProcessing,\n isProcessingFailed,\n isStale,\n data: sheets,\n } = useGetMilestoneResources();\n\n const fetchMilestoneResources = useCallback(() => {\n if (userMilestoneId) {\n getMilestoneResources(userMilestoneId, undefined, {\n studentId,\n });\n }\n }, [studentId, userMilestoneId, getMilestoneResources]);\n\n const handleOnTryAgain = useCallback(() => {\n fetchMilestoneResources();\n }, [fetchMilestoneResources]);\n\n useEffect(() => {\n if (!isProcessing && ((!isProcessed && !isProcessingFailed) || isStale)) {\n handleOnTryAgain();\n }\n }, [handleOnTryAgain, isProcessed, isProcessing, isProcessingFailed, isStale]);\n\n const handleOnAssignResources = useCallback(() => {\n if (typeof onAssignResources !== 'function')\n throw new Error('onAssignResources must be a function');\n\n if (!userMilestoneId) throw new Error('userMilestoneId is required');\n\n onAssignResources(userMilestoneId);\n }, [onAssignResources, userMilestoneId]);\n\n useEffect(() => {\n if (canStartJourney && startJourney && !isProcessing) startJourney();\n }, [canStartJourney, isProcessing, startJourney]);\n\n const sheetsDataPresent = sheets && sheets.length > 0;\n\n if (isProcessingFailed) {\n return (\n <Styled.MilestoneResourcesWrapper\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"WHITE\"\n >\n <FlexView $flexGapX={1.5} $alignItems=\"center\" $justifyContent=\"center\">\n <Text $renderAs=\"ab1-bold\">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.MilestoneResourcesWrapper>\n );\n }\n\n if (isProcessed) {\n return (\n <Styled.MilestoneResourcesWrapper $justifyContent=\"space-between\">\n {sheetsDataPresent ? (\n <>\n <ResourcesList\n sheets={sheets}\n userType={userType}\n onNodeAttempt={onNodeAttempt}\n onNodeView={onNodeView}\n onNodeReview={onNodeReview}\n onNodeReattempt={onNodeReattempt}\n onNodeReset={onNodeReset}\n onNodeUnassign={onNodeUnassign}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\n studentId={studentId}\n userMilestoneId={userMilestoneId}\n disableMenuActions={allowResourceAssignInDraft} //allowResourceAssignInDraft will be true for Trial V3 Sessions\n />\n {isTeacher && canUpdatePlan && (\n <Styled.SearchButtonWrapper\n $flexDirection=\"row\"\n $justifyContent=\"flex-end\"\n $gapX={1}\n $gutterX={1}\n >\n <Styled.SearchButtonCover>\n <IconButton\n Icon={SearchIcon}\n renderAs=\"secondary\"\n size=\"small\"\n analyticsLabel=\"Milestone Resource Search\"\n onClick={handleOnAssignResources}\n disabled={!isMilestoneActive}\n />\n </Styled.SearchButtonCover>\n </Styled.SearchButtonWrapper>\n )}\n </>\n ) : (\n <FlexView\n $width=\"100%\"\n $height=\"100%\"\n $alignItems=\"center\"\n $justifyContent=\"flex-start\"\n $background=\"WHITE\"\n >\n <Styled.DefaultWrapper $isImageWrapper>\n <img\n src={IMAGES.BG_EMPTY_RESOURCES}\n alt=\"Empty resources\"\n width={420}\n height={420}\n />\n </Styled.DefaultWrapper>\n\n <Styled.DefaultWrapper>\n {isTeacher ? (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={!isEPSheetCreationDisabled}\n tooltipItem={\n isDraftMilestone ? 'Allowed after plan is published' : 'Plan is completed'\n }\n >\n <div ref={assignResourceButtonRef}>\n <Button\n renderAs=\"primary\"\n label=\"Assign Resource\"\n Icon={PlusIcon}\n shape=\"square\"\n size=\"small\"\n onClick={handleOnAssignResources}\n disabled={isEPSheetCreationDisabled}\n />\n </div>\n </ArrowTooltip>\n ) : (\n <Text $renderAs=\"ab2-bold\">Wait for the teacher to assign a resource</Text>\n )}\n </Styled.DefaultWrapper>\n </FlexView>\n )}\n </Styled.MilestoneResourcesWrapper>\n );\n }\n\n return (\n <Styled.MilestoneResourcesWrapper $justifyContent=\"center\" $background=\"WHITE\">\n <AppLoader height=\"100%\" />\n </Styled.MilestoneResourcesWrapper>\n );\n },\n);\n\nexport default MilestoneWidgetResources;\n"],"names":["MilestoneWidgetResources","memo","props","isDraftMilestone","isMilestoneActive","userType","studentId","userMilestoneId","canUpdatePlan","allowResourceAssignInDraft","assignResourceButtonRef","canStartJourney","startJourney","onAssignResources","onNodeAttempt","onNodeView","onNodeReview","onNodeReset","onNodeUnassign","onNodeReattempt","onNodeAssignAsHomework","isTeacher","isEPSheetCreationDisabled","getMilestoneResources","isProcessed","isProcessing","isProcessingFailed","isStale","sheets","useGetMilestoneResources","fetchMilestoneResources","useCallback","handleOnTryAgain","useEffect","handleOnAssignResources","sheetsDataPresent","jsx","Styled.MilestoneResourcesWrapper","FlexView","Text","Button","jsxs","Fragment","ResourcesList","Styled.SearchButtonWrapper","Styled.SearchButtonCover","IconButton","SearchIcon","Styled.DefaultWrapper","IMAGES","ArrowTooltip","PlusIcon","AppLoader"],"mappings":"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"}
|