@openedx/frontend-app-instructor-dashboard 1.0.0-alpha.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/LICENSE +661 -0
- package/README.rst +235 -0
- package/dist/Main.d.ts +3 -0
- package/dist/Main.js +13 -0
- package/dist/Main.js.map +1 -0
- package/dist/app.d.ts +3 -0
- package/dist/app.js +18 -0
- package/dist/app.js.map +1 -0
- package/dist/app.scss +10 -0
- package/dist/certificates/CertificatesPage.d.ts +2 -0
- package/dist/certificates/CertificatesPage.js +6 -0
- package/dist/certificates/CertificatesPage.js.map +1 -0
- package/dist/cohorts/CohortsPage.d.ts +3 -0
- package/dist/cohorts/CohortsPage.js +41 -0
- package/dist/cohorts/CohortsPage.js.map +1 -0
- package/dist/cohorts/CohortsPage.scss +14 -0
- package/dist/cohorts/components/CohortCard.d.ts +6 -0
- package/dist/cohorts/components/CohortCard.js +53 -0
- package/dist/cohorts/components/CohortCard.js.map +1 -0
- package/dist/cohorts/components/CohortContext.d.ts +14 -0
- package/dist/cohorts/components/CohortContext.js +46 -0
- package/dist/cohorts/components/CohortContext.js.map +1 -0
- package/dist/cohorts/components/CohortsForm.d.ts +11 -0
- package/dist/cohorts/components/CohortsForm.js +58 -0
- package/dist/cohorts/components/CohortsForm.js.map +1 -0
- package/dist/cohorts/components/DisableCohortsModal.d.ts +7 -0
- package/dist/cohorts/components/DisableCohortsModal.js +10 -0
- package/dist/cohorts/components/DisableCohortsModal.js.map +1 -0
- package/dist/cohorts/components/DisabledCohortsView.d.ts +5 -0
- package/dist/cohorts/components/DisabledCohortsView.js +10 -0
- package/dist/cohorts/components/DisabledCohortsView.js.map +1 -0
- package/dist/cohorts/components/EnabledCohortsView.d.ts +2 -0
- package/dist/cohorts/components/EnabledCohortsView.js +96 -0
- package/dist/cohorts/components/EnabledCohortsView.js.map +1 -0
- package/dist/cohorts/components/ManageLearners.d.ts +2 -0
- package/dist/cohorts/components/ManageLearners.js +64 -0
- package/dist/cohorts/components/ManageLearners.js.map +1 -0
- package/dist/cohorts/components/SelectedCohortInfo.d.ts +2 -0
- package/dist/cohorts/components/SelectedCohortInfo.js +43 -0
- package/dist/cohorts/components/SelectedCohortInfo.js.map +1 -0
- package/dist/cohorts/constants.d.ts +4 -0
- package/dist/cohorts/constants.js +5 -0
- package/dist/cohorts/constants.js.map +1 -0
- package/dist/cohorts/data/api.d.ts +9 -0
- package/dist/cohorts/data/api.js +54 -0
- package/dist/cohorts/data/api.js.map +1 -0
- package/dist/cohorts/data/apiHook.d.ts +14 -0
- package/dist/cohorts/data/apiHook.js +64 -0
- package/dist/cohorts/data/apiHook.js.map +1 -0
- package/dist/cohorts/data/queryKeys.d.ts +7 -0
- package/dist/cohorts/data/queryKeys.js +9 -0
- package/dist/cohorts/data/queryKeys.js.map +1 -0
- package/dist/cohorts/messages.d.ts +233 -0
- package/dist/cohorts/messages.js +235 -0
- package/dist/cohorts/messages.js.map +1 -0
- package/dist/cohorts/types.d.ts +15 -0
- package/dist/cohorts/types.js +2 -0
- package/dist/cohorts/types.js.map +1 -0
- package/dist/components/ActionCard.d.ts +11 -0
- package/dist/components/ActionCard.js +7 -0
- package/dist/components/ActionCard.js.map +1 -0
- package/dist/components/CSVComponent.d.ts +10 -0
- package/dist/components/CSVComponent.js +21 -0
- package/dist/components/CSVComponent.js.map +1 -0
- package/dist/components/ObjectCell.d.ts +5 -0
- package/dist/components/ObjectCell.js +7 -0
- package/dist/components/ObjectCell.js.map +1 -0
- package/dist/components/PageNotFound.d.ts +2 -0
- package/dist/components/PageNotFound.js +12 -0
- package/dist/components/PageNotFound.js.map +1 -0
- package/dist/components/PendingTasks.d.ts +5 -0
- package/dist/components/PendingTasks.js +38 -0
- package/dist/components/PendingTasks.js.map +1 -0
- package/dist/components/SpecifyLearnerField.d.ts +5 -0
- package/dist/components/SpecifyLearnerField.js +10 -0
- package/dist/components/SpecifyLearnerField.js.map +1 -0
- package/dist/components/messages.d.ts +108 -0
- package/dist/components/messages.js +110 -0
- package/dist/components/messages.js.map +1 -0
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +2 -0
- package/dist/constants.js.map +1 -0
- package/dist/courseInfo/CourseInfoPage.d.ts +2 -0
- package/dist/courseInfo/CourseInfoPage.js +7 -0
- package/dist/courseInfo/CourseInfoPage.js.map +1 -0
- package/dist/courseInfo/components/EnrollmentSummary/EnrollmentCounter.d.ts +8 -0
- package/dist/courseInfo/components/EnrollmentSummary/EnrollmentCounter.js +13 -0
- package/dist/courseInfo/components/EnrollmentSummary/EnrollmentCounter.js.map +1 -0
- package/dist/courseInfo/components/EnrollmentSummary/EnrollmentSummary.d.ts +2 -0
- package/dist/courseInfo/components/EnrollmentSummary/EnrollmentSummary.js +24 -0
- package/dist/courseInfo/components/EnrollmentSummary/EnrollmentSummary.js.map +1 -0
- package/dist/courseInfo/components/EnrollmentSummary/index.d.ts +2 -0
- package/dist/courseInfo/components/EnrollmentSummary/index.js +3 -0
- package/dist/courseInfo/components/EnrollmentSummary/index.js.map +1 -0
- package/dist/courseInfo/components/EnrollmentSummary/messages.d.ts +83 -0
- package/dist/courseInfo/components/EnrollmentSummary/messages.js +85 -0
- package/dist/courseInfo/components/EnrollmentSummary/messages.js.map +1 -0
- package/dist/courseInfo/components/EnrollmentSummary/utils.d.ts +1 -0
- package/dist/courseInfo/components/EnrollmentSummary/utils.js +9 -0
- package/dist/courseInfo/components/EnrollmentSummary/utils.js.map +1 -0
- package/dist/courseInfo/components/generalCourseInfo/GeneralCourseInfo.d.ts +2 -0
- package/dist/courseInfo/components/generalCourseInfo/GeneralCourseInfo.js +46 -0
- package/dist/courseInfo/components/generalCourseInfo/GeneralCourseInfo.js.map +1 -0
- package/dist/courseInfo/components/generalCourseInfo/StatusBadge.d.ts +5 -0
- package/dist/courseInfo/components/generalCourseInfo/StatusBadge.js +15 -0
- package/dist/courseInfo/components/generalCourseInfo/StatusBadge.js.map +1 -0
- package/dist/courseInfo/components/generalCourseInfo/index.d.ts +1 -0
- package/dist/courseInfo/components/generalCourseInfo/index.js +2 -0
- package/dist/courseInfo/components/generalCourseInfo/index.js.map +1 -0
- package/dist/courseInfo/components/generalCourseInfo/messages.d.ts +8 -0
- package/dist/courseInfo/components/generalCourseInfo/messages.js +10 -0
- package/dist/courseInfo/components/generalCourseInfo/messages.js.map +1 -0
- package/dist/courseInfo/messages.d.ts +8 -0
- package/dist/courseInfo/messages.js +10 -0
- package/dist/courseInfo/messages.js.map +1 -0
- package/dist/courseInfo/types.d.ts +27 -0
- package/dist/courseInfo/types.js +2 -0
- package/dist/courseInfo/types.js.map +1 -0
- package/dist/courseTeam/CourseTeamPage.d.ts +2 -0
- package/dist/courseTeam/CourseTeamPage.js +6 -0
- package/dist/courseTeam/CourseTeamPage.js.map +1 -0
- package/dist/data/api.d.ts +14 -0
- package/dist/data/api.js +33 -0
- package/dist/data/api.js.map +1 -0
- package/dist/data/apiHook.d.ts +4 -0
- package/dist/data/apiHook.js +28 -0
- package/dist/data/apiHook.js.map +1 -0
- package/dist/data/queryKeys.d.ts +8 -0
- package/dist/data/queryKeys.js +10 -0
- package/dist/data/queryKeys.js.map +1 -0
- package/dist/dataDownloads/DataDownloadsPage.d.ts +2 -0
- package/dist/dataDownloads/DataDownloadsPage.js +162 -0
- package/dist/dataDownloads/DataDownloadsPage.js.map +1 -0
- package/dist/dataDownloads/components/DataDownloadTable.d.ts +8 -0
- package/dist/dataDownloads/components/DataDownloadTable.js +42 -0
- package/dist/dataDownloads/components/DataDownloadTable.js.map +1 -0
- package/dist/dataDownloads/components/DownloadLinkCell.d.ts +6 -0
- package/dist/dataDownloads/components/DownloadLinkCell.js +13 -0
- package/dist/dataDownloads/components/DownloadLinkCell.js.map +1 -0
- package/dist/dataDownloads/components/GenerateReports.d.ts +8 -0
- package/dist/dataDownloads/components/GenerateReports.js +20 -0
- package/dist/dataDownloads/components/GenerateReports.js.map +1 -0
- package/dist/dataDownloads/components/ReportNameCell.d.ts +3 -0
- package/dist/dataDownloads/components/ReportNameCell.js +6 -0
- package/dist/dataDownloads/components/ReportNameCell.js.map +1 -0
- package/dist/dataDownloads/data/api.d.ts +2 -0
- package/dist/dataDownloads/data/api.js +23 -0
- package/dist/dataDownloads/data/api.js.map +1 -0
- package/dist/dataDownloads/data/apiHook.d.ts +7 -0
- package/dist/dataDownloads/data/apiHook.js +22 -0
- package/dist/dataDownloads/data/apiHook.js.map +1 -0
- package/dist/dataDownloads/data/queryKeys.d.ts +5 -0
- package/dist/dataDownloads/data/queryKeys.js +7 -0
- package/dist/dataDownloads/data/queryKeys.js.map +1 -0
- package/dist/dataDownloads/messages.d.ts +338 -0
- package/dist/dataDownloads/messages.js +341 -0
- package/dist/dataDownloads/messages.js.map +1 -0
- package/dist/dataDownloads/types.d.ts +8 -0
- package/dist/dataDownloads/types.js +2 -0
- package/dist/dataDownloads/types.js.map +1 -0
- package/dist/dataDownloads/utils.d.ts +26 -0
- package/dist/dataDownloads/utils.js +49 -0
- package/dist/dataDownloads/utils.js.map +1 -0
- package/dist/dateExtensions/DateExtensionsPage.d.ts +2 -0
- package/dist/dateExtensions/DateExtensionsPage.js +87 -0
- package/dist/dateExtensions/DateExtensionsPage.js.map +1 -0
- package/dist/dateExtensions/components/AddExtensionModal.d.ts +13 -0
- package/dist/dateExtensions/components/AddExtensionModal.js +34 -0
- package/dist/dateExtensions/components/AddExtensionModal.js.map +1 -0
- package/dist/dateExtensions/components/DateExtensionsList.d.ts +7 -0
- package/dist/dateExtensions/components/DateExtensionsList.js +103 -0
- package/dist/dateExtensions/components/DateExtensionsList.js.map +1 -0
- package/dist/dateExtensions/components/ResetExtensionsModal.d.ts +10 -0
- package/dist/dateExtensions/components/ResetExtensionsModal.js +10 -0
- package/dist/dateExtensions/components/ResetExtensionsModal.js.map +1 -0
- package/dist/dateExtensions/components/SelectGradedSubsection.d.ts +8 -0
- package/dist/dateExtensions/components/SelectGradedSubsection.js +15 -0
- package/dist/dateExtensions/components/SelectGradedSubsection.js.map +1 -0
- package/dist/dateExtensions/data/api.d.ts +6 -0
- package/dist/dateExtensions/data/api.js +40 -0
- package/dist/dateExtensions/data/api.js.map +1 -0
- package/dist/dateExtensions/data/apiHook.d.ts +11 -0
- package/dist/dateExtensions/data/apiHook.js +31 -0
- package/dist/dateExtensions/data/apiHook.js.map +1 -0
- package/dist/dateExtensions/data/queryKeys.d.ts +10 -0
- package/dist/dateExtensions/data/queryKeys.js +17 -0
- package/dist/dateExtensions/data/queryKeys.js.map +1 -0
- package/dist/dateExtensions/messages.d.ts +128 -0
- package/dist/dateExtensions/messages.js +130 -0
- package/dist/dateExtensions/messages.js.map +1 -0
- package/dist/dateExtensions/types.d.ts +24 -0
- package/dist/dateExtensions/types.js +2 -0
- package/dist/dateExtensions/types.js.map +1 -0
- package/dist/enrollments/EnrollmentsPage.d.ts +2 -0
- package/dist/enrollments/EnrollmentsPage.js +32 -0
- package/dist/enrollments/EnrollmentsPage.js.map +1 -0
- package/dist/enrollments/components/EnrollmentStatusModal.d.ts +6 -0
- package/dist/enrollments/components/EnrollmentStatusModal.js +23 -0
- package/dist/enrollments/components/EnrollmentStatusModal.js.map +1 -0
- package/dist/enrollments/components/EnrollmentsList.d.ts +6 -0
- package/dist/enrollments/components/EnrollmentsList.js +99 -0
- package/dist/enrollments/components/EnrollmentsList.js.map +1 -0
- package/dist/enrollments/components/UnenrollModal.d.ts +8 -0
- package/dist/enrollments/components/UnenrollModal.js +7 -0
- package/dist/enrollments/components/UnenrollModal.js.map +1 -0
- package/dist/enrollments/data/api.d.ts +4 -0
- package/dist/enrollments/data/api.js +32 -0
- package/dist/enrollments/data/api.js.map +1 -0
- package/dist/enrollments/data/apiHook.d.ts +3 -0
- package/dist/enrollments/data/apiHook.js +14 -0
- package/dist/enrollments/data/apiHook.js.map +1 -0
- package/dist/enrollments/data/queryKeys.d.ts +7 -0
- package/dist/enrollments/data/queryKeys.js +8 -0
- package/dist/enrollments/data/queryKeys.js.map +1 -0
- package/dist/enrollments/messages.d.ts +108 -0
- package/dist/enrollments/messages.js +110 -0
- package/dist/enrollments/messages.js.map +1 -0
- package/dist/enrollments/types.d.ts +15 -0
- package/dist/enrollments/types.js +2 -0
- package/dist/enrollments/types.js.map +1 -0
- package/dist/grading/GradingPage.d.ts +2 -0
- package/dist/grading/GradingPage.js +6 -0
- package/dist/grading/GradingPage.js.map +1 -0
- package/dist/hooks/useDebouncedFilter.d.ts +16 -0
- package/dist/hooks/useDebouncedFilter.js +27 -0
- package/dist/hooks/useDebouncedFilter.js.map +1 -0
- package/dist/i18n/index.d.ts +25 -0
- package/dist/i18n/index.js +26 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/instructorNav/InstructorNav.d.ts +8 -0
- package/dist/instructorNav/InstructorNav.js +42 -0
- package/dist/instructorNav/InstructorNav.js.map +1 -0
- package/dist/openResponses/OpenResponsesPage.d.ts +2 -0
- package/dist/openResponses/OpenResponsesPage.js +8 -0
- package/dist/openResponses/OpenResponsesPage.js.map +1 -0
- package/dist/openResponses/components/DetailAssessmentsList.d.ts +2 -0
- package/dist/openResponses/components/DetailAssessmentsList.js +44 -0
- package/dist/openResponses/components/DetailAssessmentsList.js.map +1 -0
- package/dist/openResponses/components/OpenResponsesSummary.d.ts +2 -0
- package/dist/openResponses/components/OpenResponsesSummary.js +30 -0
- package/dist/openResponses/components/OpenResponsesSummary.js.map +1 -0
- package/dist/openResponses/data/api.d.ts +4 -0
- package/dist/openResponses/data/api.js +23 -0
- package/dist/openResponses/data/api.js.map +1 -0
- package/dist/openResponses/data/apiHook.d.ts +2 -0
- package/dist/openResponses/data/apiHook.js +14 -0
- package/dist/openResponses/data/apiHook.js.map +1 -0
- package/dist/openResponses/data/queryKeys.d.ts +6 -0
- package/dist/openResponses/data/queryKeys.js +8 -0
- package/dist/openResponses/data/queryKeys.js.map +1 -0
- package/dist/openResponses/messages.d.ts +83 -0
- package/dist/openResponses/messages.js +85 -0
- package/dist/openResponses/messages.js.map +1 -0
- package/dist/openResponses/types.d.ts +12 -0
- package/dist/openResponses/types.js +2 -0
- package/dist/openResponses/types.js.map +1 -0
- package/dist/pageWrapper/PageWrapper.d.ts +4 -0
- package/dist/pageWrapper/PageWrapper.js +11 -0
- package/dist/pageWrapper/PageWrapper.js.map +1 -0
- package/dist/pageWrapper/messages.d.ts +8 -0
- package/dist/pageWrapper/messages.js +10 -0
- package/dist/pageWrapper/messages.js.map +1 -0
- package/dist/providers/AlertProvider.d.ts +41 -0
- package/dist/providers/AlertProvider.js +117 -0
- package/dist/providers/AlertProvider.js.map +1 -0
- package/dist/providers/QueryProvider.d.ts +6 -0
- package/dist/providers/QueryProvider.js +16 -0
- package/dist/providers/QueryProvider.js.map +1 -0
- package/dist/providers.d.ts +3 -0
- package/dist/providers.js +8 -0
- package/dist/providers.js.map +1 -0
- package/dist/routes.d.ts +20 -0
- package/dist/routes.js +72 -0
- package/dist/routes.js.map +1 -0
- package/dist/slots/PlaceholderSlot/PlaceholderSlot.d.ts +1 -0
- package/dist/slots/PlaceholderSlot/PlaceholderSlot.js +6 -0
- package/dist/slots/PlaceholderSlot/PlaceholderSlot.js.map +1 -0
- package/dist/slots/SlotUtils.d.ts +3 -0
- package/dist/slots/SlotUtils.js +17 -0
- package/dist/slots/SlotUtils.js.map +1 -0
- package/dist/slots.d.ts +3 -0
- package/dist/slots.js +3 -0
- package/dist/slots.js.map +1 -0
- package/dist/specialExams/SpecialExamsPage.d.ts +2 -0
- package/dist/specialExams/SpecialExamsPage.js +6 -0
- package/dist/specialExams/SpecialExamsPage.js.map +1 -0
- package/dist/testUtils.d.ts +4 -0
- package/dist/testUtils.js +24 -0
- package/dist/testUtils.js.map +1 -0
- package/dist/types/index.d.ts +40 -0
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/formatters.d.ts +1 -0
- package/dist/utils/formatters.js +12 -0
- package/dist/utils/formatters.js.map +1 -0
- package/package.json +79 -0
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
import { defineMessages } from '@openedx/frontend-base';
|
|
2
|
+
const messages = defineMessages({
|
|
3
|
+
pageTitle: {
|
|
4
|
+
id: 'instruct.dataDownloads.pageTitle',
|
|
5
|
+
defaultMessage: 'Data Downloads',
|
|
6
|
+
description: 'Title for the data downloads page'
|
|
7
|
+
},
|
|
8
|
+
dataDownloadsTitle: {
|
|
9
|
+
id: 'instruct.dataDownloads.page.title',
|
|
10
|
+
defaultMessage: 'Available Reports',
|
|
11
|
+
description: 'Title for data downloads page',
|
|
12
|
+
},
|
|
13
|
+
dataDownloadsDescription: {
|
|
14
|
+
id: 'instruct.dataDownloads.page.description',
|
|
15
|
+
defaultMessage: 'The reports listed below are available for download, identified by UTC date and time of generation.',
|
|
16
|
+
description: 'Description for data downloads page',
|
|
17
|
+
},
|
|
18
|
+
dataDownloadsReportExpirationPolicyMessage: {
|
|
19
|
+
id: 'instruct.dataDownloads.page.reportExpiration',
|
|
20
|
+
defaultMessage: 'To keep student data secure, you cannot save or email these links for direct access. Copies of links expire within 5 minutes. Report files are deleted 90 days after generation. If you will need access to old reports, download and store the files, in accordance with your institution\'s data security policies.',
|
|
21
|
+
description: 'Expiration policy message for data downloads page',
|
|
22
|
+
},
|
|
23
|
+
dateGeneratedColumnName: {
|
|
24
|
+
id: 'instruct.dataDownloads.table.column.dateGenerated',
|
|
25
|
+
defaultMessage: 'Date Generated',
|
|
26
|
+
description: 'Column name for date generated in data downloads table',
|
|
27
|
+
},
|
|
28
|
+
reportTypeColumnName: {
|
|
29
|
+
id: 'instruct.dataDownloads.table.column.reportType',
|
|
30
|
+
defaultMessage: 'Report Type',
|
|
31
|
+
description: 'Column name for report type in data downloads table',
|
|
32
|
+
},
|
|
33
|
+
reportNameColumnName: {
|
|
34
|
+
id: 'instruct.dataDownloads.table.column.reportName',
|
|
35
|
+
defaultMessage: 'Report Name',
|
|
36
|
+
description: 'Column name for report name in data downloads table',
|
|
37
|
+
},
|
|
38
|
+
downloadLinkLabel: {
|
|
39
|
+
id: 'instruct.dataDownloads.table.downloadLink',
|
|
40
|
+
defaultMessage: 'Download Report',
|
|
41
|
+
description: 'Label for download link in the download column of data downloads table',
|
|
42
|
+
},
|
|
43
|
+
generateReportsTitle: {
|
|
44
|
+
id: 'instruct.dataDownloads.generateReports.title',
|
|
45
|
+
defaultMessage: 'Generate Reports',
|
|
46
|
+
description: 'Title for generate reports section',
|
|
47
|
+
},
|
|
48
|
+
generateReportsDescription: {
|
|
49
|
+
id: 'instruct.dataDownloads.generateReports.description',
|
|
50
|
+
defaultMessage: 'Once generated, these CSV file reports will be available in the Available Reports section. Generation takes longer for larger courses.',
|
|
51
|
+
description: 'Description for generate reports section',
|
|
52
|
+
},
|
|
53
|
+
enrollmentReportsTabTitle: {
|
|
54
|
+
id: 'instruct.dataDownloads.tabs.enrollmentReports',
|
|
55
|
+
defaultMessage: 'Enrollment Reports',
|
|
56
|
+
description: 'Tab title for enrollment reports',
|
|
57
|
+
},
|
|
58
|
+
gradingReportsTabTitle: {
|
|
59
|
+
id: 'instruct.dataDownloads.tabs.gradingReports',
|
|
60
|
+
defaultMessage: 'Grading Reports',
|
|
61
|
+
description: 'Tab title for grading reports',
|
|
62
|
+
},
|
|
63
|
+
problemResponseReportsTabTitle: {
|
|
64
|
+
id: 'instruct.dataDownloads.tabs.problemResponseReports',
|
|
65
|
+
defaultMessage: 'Problem Response Reports',
|
|
66
|
+
description: 'Tab title for problem response reports',
|
|
67
|
+
},
|
|
68
|
+
certificateReportsTabTitle: {
|
|
69
|
+
id: 'instruct.dataDownloads.tabs.certificateReports',
|
|
70
|
+
defaultMessage: 'Certificate Reports',
|
|
71
|
+
description: 'Tab title for certificate reports',
|
|
72
|
+
},
|
|
73
|
+
enrolledStudentsReportTitle: {
|
|
74
|
+
id: 'instruct.dataDownloads.reports.enrolledStudents.title',
|
|
75
|
+
defaultMessage: 'Enrolled Students Report',
|
|
76
|
+
description: 'Title for enrolled students report',
|
|
77
|
+
},
|
|
78
|
+
enrolledStudentsReportDescription: {
|
|
79
|
+
id: 'instruct.dataDownloads.reports.enrolledStudents.description',
|
|
80
|
+
defaultMessage: 'Report of all enrolled learners for this course including email address and username.',
|
|
81
|
+
description: 'Description for enrolled students report',
|
|
82
|
+
},
|
|
83
|
+
generateEnrolledStudentsReport: {
|
|
84
|
+
id: 'instruct.dataDownloads.reports.enrolledStudents.generate',
|
|
85
|
+
defaultMessage: 'Generate Enrolled Students Report',
|
|
86
|
+
description: 'Button text to generate enrolled students report',
|
|
87
|
+
},
|
|
88
|
+
pendingEnrollmentsReportTitle: {
|
|
89
|
+
id: 'instruct.dataDownloads.reports.pendingEnrollments.title',
|
|
90
|
+
defaultMessage: 'Pending Enrollments Report',
|
|
91
|
+
description: 'Title for pending enrollments report',
|
|
92
|
+
},
|
|
93
|
+
pendingEnrollmentsReportDescription: {
|
|
94
|
+
id: 'instruct.dataDownloads.reports.pendingEnrollments.description',
|
|
95
|
+
defaultMessage: 'Report of learners who can enroll in the course but have not done so yet.',
|
|
96
|
+
description: 'Description for pending enrollments report',
|
|
97
|
+
},
|
|
98
|
+
generatePendingEnrollmentsReport: {
|
|
99
|
+
id: 'instruct.dataDownloads.reports.pendingEnrollments.generate',
|
|
100
|
+
defaultMessage: 'Generate Pending Enrollments Report',
|
|
101
|
+
description: 'Button text to generate pending enrollments report',
|
|
102
|
+
},
|
|
103
|
+
pendingActivationsReportTitle: {
|
|
104
|
+
id: 'instruct.dataDownloads.reports.pendingActivations.title',
|
|
105
|
+
defaultMessage: 'Pending Activations Report',
|
|
106
|
+
description: 'Title for pending activations report',
|
|
107
|
+
},
|
|
108
|
+
pendingActivationsReportDescription: {
|
|
109
|
+
id: 'instruct.dataDownloads.reports.pendingActivations.description',
|
|
110
|
+
defaultMessage: 'Report of enrolled learners who have not yet activated their account.',
|
|
111
|
+
description: 'Description for pending activations report',
|
|
112
|
+
},
|
|
113
|
+
generatePendingActivationsReport: {
|
|
114
|
+
id: 'instruct.dataDownloads.reports.pendingActivations.generate',
|
|
115
|
+
defaultMessage: 'Generate Pending Activations Report',
|
|
116
|
+
description: 'Button text to generate pending activations report',
|
|
117
|
+
},
|
|
118
|
+
anonymizedStudentIdsReportTitle: {
|
|
119
|
+
id: 'instruct.dataDownloads.reports.anonymizedStudentIds.title',
|
|
120
|
+
defaultMessage: 'Anonymized Student IDs Report',
|
|
121
|
+
description: 'Title for anonymized student IDs report',
|
|
122
|
+
},
|
|
123
|
+
anonymizedStudentIdsReportDescription: {
|
|
124
|
+
id: 'instruct.dataDownloads.reports.anonymizedStudentIds.description',
|
|
125
|
+
defaultMessage: 'Report of enrolled learners with student IDs anonymized.',
|
|
126
|
+
description: 'Description for anonymized student IDs report',
|
|
127
|
+
},
|
|
128
|
+
generateAnonymizedStudentIdsReport: {
|
|
129
|
+
id: 'instruct.dataDownloads.reports.anonymizedStudentIds.generate',
|
|
130
|
+
defaultMessage: 'Generate Anonymized Student IDs Report',
|
|
131
|
+
description: 'Button text to generate anonymized student IDs report',
|
|
132
|
+
},
|
|
133
|
+
gradeReportTitle: {
|
|
134
|
+
id: 'instruct.dataDownloads.reports.grade.title',
|
|
135
|
+
defaultMessage: 'Grade Report',
|
|
136
|
+
description: 'Title for grade report',
|
|
137
|
+
},
|
|
138
|
+
gradeReportDescription: {
|
|
139
|
+
id: 'instruct.dataDownloads.reports.grade.description',
|
|
140
|
+
defaultMessage: 'Course grade report for all enrolled learners.',
|
|
141
|
+
description: 'Description for grade report',
|
|
142
|
+
},
|
|
143
|
+
generateGradeReport: {
|
|
144
|
+
id: 'instruct.dataDownloads.reports.grade.generate',
|
|
145
|
+
defaultMessage: 'Generate Grade Report',
|
|
146
|
+
description: 'Button text to generate grade report',
|
|
147
|
+
},
|
|
148
|
+
problemGradeReportTitle: {
|
|
149
|
+
id: 'instruct.dataDownloads.reports.problemGrade.title',
|
|
150
|
+
defaultMessage: 'Problem Grade Report',
|
|
151
|
+
description: 'Title for problem grade report',
|
|
152
|
+
},
|
|
153
|
+
problemGradeReportDescription: {
|
|
154
|
+
id: 'instruct.dataDownloads.reports.problemGrade.description',
|
|
155
|
+
defaultMessage: 'Report showing students\' grades for all problems in the course.',
|
|
156
|
+
description: 'Description for problem grade report',
|
|
157
|
+
},
|
|
158
|
+
generateProblemGradeReport: {
|
|
159
|
+
id: 'instruct.dataDownloads.reports.problemGrade.generate',
|
|
160
|
+
defaultMessage: 'Generate Problem Grade Report',
|
|
161
|
+
description: 'Button text to generate problem grade report',
|
|
162
|
+
},
|
|
163
|
+
ora2SummaryReportTitle: {
|
|
164
|
+
id: 'instruct.dataDownloads.reports.ora2Summary.title',
|
|
165
|
+
defaultMessage: 'ORA Summary Report',
|
|
166
|
+
description: 'Title for ORA summary report',
|
|
167
|
+
},
|
|
168
|
+
ora2SummaryReportDescription: {
|
|
169
|
+
id: 'instruct.dataDownloads.reports.ora2Summary.description',
|
|
170
|
+
defaultMessage: 'Report of details and statuses for ORA.',
|
|
171
|
+
description: 'Description for ORA summary report',
|
|
172
|
+
},
|
|
173
|
+
generateOra2SummaryReport: {
|
|
174
|
+
id: 'instruct.dataDownloads.reports.ora2Summary.generate',
|
|
175
|
+
defaultMessage: 'Generate ORA Summary Report',
|
|
176
|
+
description: 'Button text to generate ORA summary report',
|
|
177
|
+
},
|
|
178
|
+
ora2DataReportTitle: {
|
|
179
|
+
id: 'instruct.dataDownloads.reports.ora2Data.title',
|
|
180
|
+
defaultMessage: 'ORA Data Report',
|
|
181
|
+
description: 'Title for ORA data report',
|
|
182
|
+
},
|
|
183
|
+
ora2DataReportDescription: {
|
|
184
|
+
id: 'instruct.dataDownloads.reports.ora2Data.description',
|
|
185
|
+
defaultMessage: 'Report of all ORA assignment details.',
|
|
186
|
+
description: 'Description for ORA data report',
|
|
187
|
+
},
|
|
188
|
+
generateOra2DataReport: {
|
|
189
|
+
id: 'instruct.dataDownloads.reports.ora2Data.generate',
|
|
190
|
+
defaultMessage: 'Generate ORA Data Report',
|
|
191
|
+
description: 'Button text to generate ORA data report',
|
|
192
|
+
},
|
|
193
|
+
submissionFilesArchiveTitle: {
|
|
194
|
+
id: 'instruct.dataDownloads.reports.submissionFiles.title',
|
|
195
|
+
defaultMessage: 'Submission Files Archive',
|
|
196
|
+
description: 'Title for submission files archive',
|
|
197
|
+
},
|
|
198
|
+
submissionFilesArchiveDescription: {
|
|
199
|
+
id: 'instruct.dataDownloads.reports.submissionFiles.description',
|
|
200
|
+
defaultMessage: 'ZIP file containing all submission texts and attachments.',
|
|
201
|
+
description: 'Description for submission files archive',
|
|
202
|
+
},
|
|
203
|
+
generateSubmissionFilesArchive: {
|
|
204
|
+
id: 'instruct.dataDownloads.reports.submissionFiles.generate',
|
|
205
|
+
defaultMessage: 'Generate Submission Files Archive',
|
|
206
|
+
description: 'Button text to generate submission files archive',
|
|
207
|
+
},
|
|
208
|
+
problemResponsesReportTitle: {
|
|
209
|
+
id: 'instruct.dataDownloads.reports.problemResponses.title',
|
|
210
|
+
defaultMessage: 'Problem Responses Report',
|
|
211
|
+
description: 'Title for problem responses report',
|
|
212
|
+
},
|
|
213
|
+
problemResponsesReportDescription: {
|
|
214
|
+
id: 'instruct.dataDownloads.reports.problemResponses.description',
|
|
215
|
+
defaultMessage: 'Report of all student answers to a problem.',
|
|
216
|
+
description: 'Description for problem responses report',
|
|
217
|
+
},
|
|
218
|
+
problemResponsesReportNote: {
|
|
219
|
+
id: 'instruct.dataDownloads.reports.problemResponses.note',
|
|
220
|
+
defaultMessage: 'Note: You can also select a section or chapter to include results of all problems in that section or chapter.',
|
|
221
|
+
description: 'Note for problem responses report',
|
|
222
|
+
},
|
|
223
|
+
generateProblemResponsesReport: {
|
|
224
|
+
id: 'instruct.dataDownloads.reports.problemResponses.generate',
|
|
225
|
+
defaultMessage: 'Generate Problem Report',
|
|
226
|
+
description: 'Button text to generate problem responses report',
|
|
227
|
+
},
|
|
228
|
+
specifyProblemLocation: {
|
|
229
|
+
id: 'instruct.dataDownloads.reports.problemResponses.specifyLocation',
|
|
230
|
+
defaultMessage: 'Specify Section or Problem:',
|
|
231
|
+
description: 'Label for problem location input',
|
|
232
|
+
},
|
|
233
|
+
problemLocationPlaceholder: {
|
|
234
|
+
id: 'instruct.dataDownloads.reports.problemResponses.locationPlaceholder',
|
|
235
|
+
defaultMessage: 'Problem location',
|
|
236
|
+
description: 'Placeholder text for problem location input',
|
|
237
|
+
},
|
|
238
|
+
problemLocationInfoIconLabel: {
|
|
239
|
+
id: 'instruct.dataDownloads.reports.problemResponses.infoIconLabel',
|
|
240
|
+
defaultMessage: 'Example format for problem location',
|
|
241
|
+
description: 'Aria label for the info icon next to the problem location input',
|
|
242
|
+
},
|
|
243
|
+
problemLocationTooltip: {
|
|
244
|
+
id: 'instruct.dataDownloads.reports.problemResponses.locationTooltip',
|
|
245
|
+
defaultMessage: 'Example: block-v1:edX+DemoX+2015+type@problem+block@618c5933b8b544e4a4cc103d3e508378',
|
|
246
|
+
description: 'Tooltip text showing an example problem location format',
|
|
247
|
+
},
|
|
248
|
+
issuedCertificatesTitle: {
|
|
249
|
+
id: 'instruct.dataDownloads.reports.issuedCertificates.title',
|
|
250
|
+
defaultMessage: 'Issued Certificates',
|
|
251
|
+
description: 'Title for issued certificates report',
|
|
252
|
+
},
|
|
253
|
+
issuedCertificatesDescription: {
|
|
254
|
+
id: 'instruct.dataDownloads.reports.issuedCertificates.description',
|
|
255
|
+
defaultMessage: 'Report of Certificates Issued.',
|
|
256
|
+
description: 'Description for issued certificates report',
|
|
257
|
+
},
|
|
258
|
+
generateCertificatesReport: {
|
|
259
|
+
id: 'instruct.dataDownloads.reports.issuedCertificates.generate',
|
|
260
|
+
defaultMessage: 'Generate Certificates Report',
|
|
261
|
+
description: 'Button text to generate issued certificates report',
|
|
262
|
+
},
|
|
263
|
+
// Report type display names for the data downloads table
|
|
264
|
+
reportTypeEnrolledStudents: {
|
|
265
|
+
id: 'instruct.dataDownloads.reportType.enrolledStudents',
|
|
266
|
+
defaultMessage: 'Enrolled Students',
|
|
267
|
+
description: 'Display name for enrolled students report type in table',
|
|
268
|
+
},
|
|
269
|
+
reportTypePendingEnrollments: {
|
|
270
|
+
id: 'instruct.dataDownloads.reportType.pendingEnrollments',
|
|
271
|
+
defaultMessage: 'Pending Enrollments',
|
|
272
|
+
description: 'Display name for pending enrollments report type in table',
|
|
273
|
+
},
|
|
274
|
+
reportTypePendingActivations: {
|
|
275
|
+
id: 'instruct.dataDownloads.reportType.pendingActivations',
|
|
276
|
+
defaultMessage: 'Pending Activations',
|
|
277
|
+
description: 'Display name for pending activations report type in table',
|
|
278
|
+
},
|
|
279
|
+
reportTypeAnonymizedStudentIds: {
|
|
280
|
+
id: 'instruct.dataDownloads.reportType.anonymizedStudentIds',
|
|
281
|
+
defaultMessage: 'Anonymized Student IDs',
|
|
282
|
+
description: 'Display name for anonymized student IDs report type in table',
|
|
283
|
+
},
|
|
284
|
+
reportTypeGrade: {
|
|
285
|
+
id: 'instruct.dataDownloads.reportType.grade',
|
|
286
|
+
defaultMessage: 'Grade',
|
|
287
|
+
description: 'Display name for grade report type in table',
|
|
288
|
+
},
|
|
289
|
+
reportTypeProblemGrade: {
|
|
290
|
+
id: 'instruct.dataDownloads.reportType.problemGrade',
|
|
291
|
+
defaultMessage: 'Problem Grade',
|
|
292
|
+
description: 'Display name for problem grade report type in table',
|
|
293
|
+
},
|
|
294
|
+
reportTypeProblemResponses: {
|
|
295
|
+
id: 'instruct.dataDownloads.reportType.problemResponses',
|
|
296
|
+
defaultMessage: 'Problem Responses',
|
|
297
|
+
description: 'Display name for problem responses report type in table',
|
|
298
|
+
},
|
|
299
|
+
reportTypeOra2Summary: {
|
|
300
|
+
id: 'instruct.dataDownloads.reportType.ora2Summary',
|
|
301
|
+
defaultMessage: 'ORA Summary',
|
|
302
|
+
description: 'Display name for ORA summary report type in table',
|
|
303
|
+
},
|
|
304
|
+
reportTypeOra2Data: {
|
|
305
|
+
id: 'instruct.dataDownloads.reportType.ora2Data',
|
|
306
|
+
defaultMessage: 'ORA Data',
|
|
307
|
+
description: 'Display name for ORA data report type in table',
|
|
308
|
+
},
|
|
309
|
+
reportTypeOra2SubmissionFiles: {
|
|
310
|
+
id: 'instruct.dataDownloads.reportType.ora2SubmissionFiles',
|
|
311
|
+
defaultMessage: 'Submission Files',
|
|
312
|
+
description: 'Display name for ORA submission files report type in table',
|
|
313
|
+
},
|
|
314
|
+
reportTypeIssuedCertificates: {
|
|
315
|
+
id: 'instruct.dataDownloads.reportType.issuedCertificates',
|
|
316
|
+
defaultMessage: 'Issued Certificates',
|
|
317
|
+
description: 'Display name for issued certificates report type in table',
|
|
318
|
+
},
|
|
319
|
+
generateReportSuccess: {
|
|
320
|
+
id: 'instruct.dataDownloads.generateReport.success',
|
|
321
|
+
defaultMessage: 'Generating {reportType}. To view the status of the report, see Pending Tasks',
|
|
322
|
+
description: 'Success message displayed when a report generation is initiated',
|
|
323
|
+
},
|
|
324
|
+
generateReportError: {
|
|
325
|
+
id: 'instruct.dataDownloads.generateReport.error',
|
|
326
|
+
defaultMessage: 'Failed to generate report.',
|
|
327
|
+
description: 'Error message displayed when report generation fails',
|
|
328
|
+
},
|
|
329
|
+
downloadReportError: {
|
|
330
|
+
id: 'instruct.dataDownloads.downloadReport.error',
|
|
331
|
+
defaultMessage: 'Failed to download report.',
|
|
332
|
+
description: 'Error message displayed when a report download fails',
|
|
333
|
+
},
|
|
334
|
+
noReportsFoundMessage: {
|
|
335
|
+
id: 'instruct.dataDownloads.noReportsFoundHeader',
|
|
336
|
+
defaultMessage: 'No reports found',
|
|
337
|
+
description: 'Message displayed when no reports are found in the data downloads table',
|
|
338
|
+
},
|
|
339
|
+
});
|
|
340
|
+
export default messages;
|
|
341
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/dataDownloads/messages.ts"],"names":[],"mappings":"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","sourcesContent":["import { defineMessages } from '@openedx/frontend-base';\n\nconst messages = defineMessages({\n pageTitle: {\n id: 'instruct.dataDownloads.pageTitle',\n defaultMessage: 'Data Downloads',\n description: 'Title for the data downloads page'\n },\n dataDownloadsTitle: {\n id: 'instruct.dataDownloads.page.title',\n defaultMessage: 'Available Reports',\n description: 'Title for data downloads page',\n },\n dataDownloadsDescription: {\n id: 'instruct.dataDownloads.page.description',\n defaultMessage: 'The reports listed below are available for download, identified by UTC date and time of generation.',\n description: 'Description for data downloads page',\n },\n dataDownloadsReportExpirationPolicyMessage: {\n id: 'instruct.dataDownloads.page.reportExpiration',\n defaultMessage: 'To keep student data secure, you cannot save or email these links for direct access. Copies of links expire within 5 minutes. Report files are deleted 90 days after generation. If you will need access to old reports, download and store the files, in accordance with your institution\\'s data security policies.',\n description: 'Expiration policy message for data downloads page',\n },\n dateGeneratedColumnName: {\n id: 'instruct.dataDownloads.table.column.dateGenerated',\n defaultMessage: 'Date Generated',\n description: 'Column name for date generated in data downloads table',\n },\n reportTypeColumnName: {\n id: 'instruct.dataDownloads.table.column.reportType',\n defaultMessage: 'Report Type',\n description: 'Column name for report type in data downloads table',\n },\n reportNameColumnName: {\n id: 'instruct.dataDownloads.table.column.reportName',\n defaultMessage: 'Report Name',\n description: 'Column name for report name in data downloads table',\n },\n downloadLinkLabel: {\n id: 'instruct.dataDownloads.table.downloadLink',\n defaultMessage: 'Download Report',\n description: 'Label for download link in the download column of data downloads table',\n },\n generateReportsTitle: {\n id: 'instruct.dataDownloads.generateReports.title',\n defaultMessage: 'Generate Reports',\n description: 'Title for generate reports section',\n },\n generateReportsDescription: {\n id: 'instruct.dataDownloads.generateReports.description',\n defaultMessage: 'Once generated, these CSV file reports will be available in the Available Reports section. Generation takes longer for larger courses.',\n description: 'Description for generate reports section',\n },\n enrollmentReportsTabTitle: {\n id: 'instruct.dataDownloads.tabs.enrollmentReports',\n defaultMessage: 'Enrollment Reports',\n description: 'Tab title for enrollment reports',\n },\n gradingReportsTabTitle: {\n id: 'instruct.dataDownloads.tabs.gradingReports',\n defaultMessage: 'Grading Reports',\n description: 'Tab title for grading reports',\n },\n problemResponseReportsTabTitle: {\n id: 'instruct.dataDownloads.tabs.problemResponseReports',\n defaultMessage: 'Problem Response Reports',\n description: 'Tab title for problem response reports',\n },\n certificateReportsTabTitle: {\n id: 'instruct.dataDownloads.tabs.certificateReports',\n defaultMessage: 'Certificate Reports',\n description: 'Tab title for certificate reports',\n },\n enrolledStudentsReportTitle: {\n id: 'instruct.dataDownloads.reports.enrolledStudents.title',\n defaultMessage: 'Enrolled Students Report',\n description: 'Title for enrolled students report',\n },\n enrolledStudentsReportDescription: {\n id: 'instruct.dataDownloads.reports.enrolledStudents.description',\n defaultMessage: 'Report of all enrolled learners for this course including email address and username.',\n description: 'Description for enrolled students report',\n },\n generateEnrolledStudentsReport: {\n id: 'instruct.dataDownloads.reports.enrolledStudents.generate',\n defaultMessage: 'Generate Enrolled Students Report',\n description: 'Button text to generate enrolled students report',\n },\n pendingEnrollmentsReportTitle: {\n id: 'instruct.dataDownloads.reports.pendingEnrollments.title',\n defaultMessage: 'Pending Enrollments Report',\n description: 'Title for pending enrollments report',\n },\n pendingEnrollmentsReportDescription: {\n id: 'instruct.dataDownloads.reports.pendingEnrollments.description',\n defaultMessage: 'Report of learners who can enroll in the course but have not done so yet.',\n description: 'Description for pending enrollments report',\n },\n generatePendingEnrollmentsReport: {\n id: 'instruct.dataDownloads.reports.pendingEnrollments.generate',\n defaultMessage: 'Generate Pending Enrollments Report',\n description: 'Button text to generate pending enrollments report',\n },\n pendingActivationsReportTitle: {\n id: 'instruct.dataDownloads.reports.pendingActivations.title',\n defaultMessage: 'Pending Activations Report',\n description: 'Title for pending activations report',\n },\n pendingActivationsReportDescription: {\n id: 'instruct.dataDownloads.reports.pendingActivations.description',\n defaultMessage: 'Report of enrolled learners who have not yet activated their account.',\n description: 'Description for pending activations report',\n },\n generatePendingActivationsReport: {\n id: 'instruct.dataDownloads.reports.pendingActivations.generate',\n defaultMessage: 'Generate Pending Activations Report',\n description: 'Button text to generate pending activations report',\n },\n anonymizedStudentIdsReportTitle: {\n id: 'instruct.dataDownloads.reports.anonymizedStudentIds.title',\n defaultMessage: 'Anonymized Student IDs Report',\n description: 'Title for anonymized student IDs report',\n },\n anonymizedStudentIdsReportDescription: {\n id: 'instruct.dataDownloads.reports.anonymizedStudentIds.description',\n defaultMessage: 'Report of enrolled learners with student IDs anonymized.',\n description: 'Description for anonymized student IDs report',\n },\n generateAnonymizedStudentIdsReport: {\n id: 'instruct.dataDownloads.reports.anonymizedStudentIds.generate',\n defaultMessage: 'Generate Anonymized Student IDs Report',\n description: 'Button text to generate anonymized student IDs report',\n },\n gradeReportTitle: {\n id: 'instruct.dataDownloads.reports.grade.title',\n defaultMessage: 'Grade Report',\n description: 'Title for grade report',\n },\n gradeReportDescription: {\n id: 'instruct.dataDownloads.reports.grade.description',\n defaultMessage: 'Course grade report for all enrolled learners.',\n description: 'Description for grade report',\n },\n generateGradeReport: {\n id: 'instruct.dataDownloads.reports.grade.generate',\n defaultMessage: 'Generate Grade Report',\n description: 'Button text to generate grade report',\n },\n problemGradeReportTitle: {\n id: 'instruct.dataDownloads.reports.problemGrade.title',\n defaultMessage: 'Problem Grade Report',\n description: 'Title for problem grade report',\n },\n problemGradeReportDescription: {\n id: 'instruct.dataDownloads.reports.problemGrade.description',\n defaultMessage: 'Report showing students\\' grades for all problems in the course.',\n description: 'Description for problem grade report',\n },\n generateProblemGradeReport: {\n id: 'instruct.dataDownloads.reports.problemGrade.generate',\n defaultMessage: 'Generate Problem Grade Report',\n description: 'Button text to generate problem grade report',\n },\n ora2SummaryReportTitle: {\n id: 'instruct.dataDownloads.reports.ora2Summary.title',\n defaultMessage: 'ORA Summary Report',\n description: 'Title for ORA summary report',\n },\n ora2SummaryReportDescription: {\n id: 'instruct.dataDownloads.reports.ora2Summary.description',\n defaultMessage: 'Report of details and statuses for ORA.',\n description: 'Description for ORA summary report',\n },\n generateOra2SummaryReport: {\n id: 'instruct.dataDownloads.reports.ora2Summary.generate',\n defaultMessage: 'Generate ORA Summary Report',\n description: 'Button text to generate ORA summary report',\n },\n ora2DataReportTitle: {\n id: 'instruct.dataDownloads.reports.ora2Data.title',\n defaultMessage: 'ORA Data Report',\n description: 'Title for ORA data report',\n },\n ora2DataReportDescription: {\n id: 'instruct.dataDownloads.reports.ora2Data.description',\n defaultMessage: 'Report of all ORA assignment details.',\n description: 'Description for ORA data report',\n },\n generateOra2DataReport: {\n id: 'instruct.dataDownloads.reports.ora2Data.generate',\n defaultMessage: 'Generate ORA Data Report',\n description: 'Button text to generate ORA data report',\n },\n submissionFilesArchiveTitle: {\n id: 'instruct.dataDownloads.reports.submissionFiles.title',\n defaultMessage: 'Submission Files Archive',\n description: 'Title for submission files archive',\n },\n submissionFilesArchiveDescription: {\n id: 'instruct.dataDownloads.reports.submissionFiles.description',\n defaultMessage: 'ZIP file containing all submission texts and attachments.',\n description: 'Description for submission files archive',\n },\n generateSubmissionFilesArchive: {\n id: 'instruct.dataDownloads.reports.submissionFiles.generate',\n defaultMessage: 'Generate Submission Files Archive',\n description: 'Button text to generate submission files archive',\n },\n problemResponsesReportTitle: {\n id: 'instruct.dataDownloads.reports.problemResponses.title',\n defaultMessage: 'Problem Responses Report',\n description: 'Title for problem responses report',\n },\n problemResponsesReportDescription: {\n id: 'instruct.dataDownloads.reports.problemResponses.description',\n defaultMessage: 'Report of all student answers to a problem.',\n description: 'Description for problem responses report',\n },\n problemResponsesReportNote: {\n id: 'instruct.dataDownloads.reports.problemResponses.note',\n defaultMessage: 'Note: You can also select a section or chapter to include results of all problems in that section or chapter.',\n description: 'Note for problem responses report',\n },\n generateProblemResponsesReport: {\n id: 'instruct.dataDownloads.reports.problemResponses.generate',\n defaultMessage: 'Generate Problem Report',\n description: 'Button text to generate problem responses report',\n },\n specifyProblemLocation: {\n id: 'instruct.dataDownloads.reports.problemResponses.specifyLocation',\n defaultMessage: 'Specify Section or Problem:',\n description: 'Label for problem location input',\n },\n problemLocationPlaceholder: {\n id: 'instruct.dataDownloads.reports.problemResponses.locationPlaceholder',\n defaultMessage: 'Problem location',\n description: 'Placeholder text for problem location input',\n },\n problemLocationInfoIconLabel: {\n id: 'instruct.dataDownloads.reports.problemResponses.infoIconLabel',\n defaultMessage: 'Example format for problem location',\n description: 'Aria label for the info icon next to the problem location input',\n },\n problemLocationTooltip: {\n id: 'instruct.dataDownloads.reports.problemResponses.locationTooltip',\n defaultMessage: 'Example: block-v1:edX+DemoX+2015+type@problem+block@618c5933b8b544e4a4cc103d3e508378',\n description: 'Tooltip text showing an example problem location format',\n },\n issuedCertificatesTitle: {\n id: 'instruct.dataDownloads.reports.issuedCertificates.title',\n defaultMessage: 'Issued Certificates',\n description: 'Title for issued certificates report',\n },\n issuedCertificatesDescription: {\n id: 'instruct.dataDownloads.reports.issuedCertificates.description',\n defaultMessage: 'Report of Certificates Issued.',\n description: 'Description for issued certificates report',\n },\n generateCertificatesReport: {\n id: 'instruct.dataDownloads.reports.issuedCertificates.generate',\n defaultMessage: 'Generate Certificates Report',\n description: 'Button text to generate issued certificates report',\n },\n // Report type display names for the data downloads table\n reportTypeEnrolledStudents: {\n id: 'instruct.dataDownloads.reportType.enrolledStudents',\n defaultMessage: 'Enrolled Students',\n description: 'Display name for enrolled students report type in table',\n },\n reportTypePendingEnrollments: {\n id: 'instruct.dataDownloads.reportType.pendingEnrollments',\n defaultMessage: 'Pending Enrollments',\n description: 'Display name for pending enrollments report type in table',\n },\n reportTypePendingActivations: {\n id: 'instruct.dataDownloads.reportType.pendingActivations',\n defaultMessage: 'Pending Activations',\n description: 'Display name for pending activations report type in table',\n },\n reportTypeAnonymizedStudentIds: {\n id: 'instruct.dataDownloads.reportType.anonymizedStudentIds',\n defaultMessage: 'Anonymized Student IDs',\n description: 'Display name for anonymized student IDs report type in table',\n },\n reportTypeGrade: {\n id: 'instruct.dataDownloads.reportType.grade',\n defaultMessage: 'Grade',\n description: 'Display name for grade report type in table',\n },\n reportTypeProblemGrade: {\n id: 'instruct.dataDownloads.reportType.problemGrade',\n defaultMessage: 'Problem Grade',\n description: 'Display name for problem grade report type in table',\n },\n reportTypeProblemResponses: {\n id: 'instruct.dataDownloads.reportType.problemResponses',\n defaultMessage: 'Problem Responses',\n description: 'Display name for problem responses report type in table',\n },\n reportTypeOra2Summary: {\n id: 'instruct.dataDownloads.reportType.ora2Summary',\n defaultMessage: 'ORA Summary',\n description: 'Display name for ORA summary report type in table',\n },\n reportTypeOra2Data: {\n id: 'instruct.dataDownloads.reportType.ora2Data',\n defaultMessage: 'ORA Data',\n description: 'Display name for ORA data report type in table',\n },\n reportTypeOra2SubmissionFiles: {\n id: 'instruct.dataDownloads.reportType.ora2SubmissionFiles',\n defaultMessage: 'Submission Files',\n description: 'Display name for ORA submission files report type in table',\n },\n reportTypeIssuedCertificates: {\n id: 'instruct.dataDownloads.reportType.issuedCertificates',\n defaultMessage: 'Issued Certificates',\n description: 'Display name for issued certificates report type in table',\n },\n generateReportSuccess: {\n id: 'instruct.dataDownloads.generateReport.success',\n defaultMessage: 'Generating {reportType}. To view the status of the report, see Pending Tasks',\n description: 'Success message displayed when a report generation is initiated',\n },\n generateReportError: {\n id: 'instruct.dataDownloads.generateReport.error',\n defaultMessage: 'Failed to generate report.',\n description: 'Error message displayed when report generation fails',\n },\n downloadReportError: {\n id: 'instruct.dataDownloads.downloadReport.error',\n defaultMessage: 'Failed to download report.',\n description: 'Error message displayed when a report download fails',\n },\n noReportsFoundMessage: {\n id: 'instruct.dataDownloads.noReportsFoundHeader',\n defaultMessage: 'No reports found',\n description: 'Message displayed when no reports are found in the data downloads table',\n },\n});\n\nexport default messages;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/dataDownloads/types.ts"],"names":[],"mappings":"","sourcesContent":["import { TableCellValue } from '@src/types';\n\nexport interface DownloadReportData {\n dateGenerated: string,\n reportType: string,\n reportName: string,\n downloadLink: string,\n}\n\nexport type DataDownloadsCellProps = TableCellValue<DownloadReportData>;\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { IntlShape } from 'react-intl';
|
|
2
|
+
/**
|
|
3
|
+
* Report type enum matching backend ReportType enum
|
|
4
|
+
*/
|
|
5
|
+
export declare enum ReportType {
|
|
6
|
+
ENROLLED_STUDENTS = "enrolled_students",
|
|
7
|
+
PENDING_ENROLLMENTS = "pending_enrollments",
|
|
8
|
+
PENDING_ACTIVATIONS = "pending_activations",
|
|
9
|
+
ANONYMIZED_STUDENT_IDS = "anonymized_student_ids",
|
|
10
|
+
GRADE = "grade",
|
|
11
|
+
PROBLEM_GRADE = "problem_grade",
|
|
12
|
+
PROBLEM_RESPONSES = "problem_responses",
|
|
13
|
+
ORA2_SUMMARY = "ora2_summary",
|
|
14
|
+
ORA2_DATA = "ora2_data",
|
|
15
|
+
ORA2_SUBMISSION_FILES = "ora2_submission_files",
|
|
16
|
+
ISSUED_CERTIFICATES = "issued_certificates",
|
|
17
|
+
UNKNOWN = "unknown"
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Get human-readable display name for a report type
|
|
21
|
+
*
|
|
22
|
+
* @param reportType - The report type identifier from the API
|
|
23
|
+
* @param intl - The intl object for formatting messages
|
|
24
|
+
* @returns Human-readable display name for the report type
|
|
25
|
+
*/
|
|
26
|
+
export declare const getReportTypeDisplayName: (reportType: string, intl: IntlShape) => string;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import messages from './messages';
|
|
2
|
+
/**
|
|
3
|
+
* Report type enum matching backend ReportType enum
|
|
4
|
+
*/
|
|
5
|
+
export var ReportType;
|
|
6
|
+
(function (ReportType) {
|
|
7
|
+
ReportType["ENROLLED_STUDENTS"] = "enrolled_students";
|
|
8
|
+
ReportType["PENDING_ENROLLMENTS"] = "pending_enrollments";
|
|
9
|
+
ReportType["PENDING_ACTIVATIONS"] = "pending_activations";
|
|
10
|
+
ReportType["ANONYMIZED_STUDENT_IDS"] = "anonymized_student_ids";
|
|
11
|
+
ReportType["GRADE"] = "grade";
|
|
12
|
+
ReportType["PROBLEM_GRADE"] = "problem_grade";
|
|
13
|
+
ReportType["PROBLEM_RESPONSES"] = "problem_responses";
|
|
14
|
+
ReportType["ORA2_SUMMARY"] = "ora2_summary";
|
|
15
|
+
ReportType["ORA2_DATA"] = "ora2_data";
|
|
16
|
+
ReportType["ORA2_SUBMISSION_FILES"] = "ora2_submission_files";
|
|
17
|
+
ReportType["ISSUED_CERTIFICATES"] = "issued_certificates";
|
|
18
|
+
ReportType["UNKNOWN"] = "unknown";
|
|
19
|
+
})(ReportType || (ReportType = {}));
|
|
20
|
+
/**
|
|
21
|
+
* Get human-readable display name for a report type
|
|
22
|
+
*
|
|
23
|
+
* @param reportType - The report type identifier from the API
|
|
24
|
+
* @param intl - The intl object for formatting messages
|
|
25
|
+
* @returns Human-readable display name for the report type
|
|
26
|
+
*/
|
|
27
|
+
export const getReportTypeDisplayName = (reportType, intl) => {
|
|
28
|
+
const reportTypeMap = {
|
|
29
|
+
[ReportType.ENROLLED_STUDENTS]: messages.enrolledStudentsReportTitle,
|
|
30
|
+
[ReportType.PENDING_ENROLLMENTS]: messages.pendingEnrollmentsReportTitle,
|
|
31
|
+
[ReportType.PENDING_ACTIVATIONS]: messages.pendingActivationsReportTitle,
|
|
32
|
+
[ReportType.ANONYMIZED_STUDENT_IDS]: messages.anonymizedStudentIdsReportTitle,
|
|
33
|
+
[ReportType.GRADE]: messages.gradeReportTitle,
|
|
34
|
+
[ReportType.PROBLEM_GRADE]: messages.problemGradeReportTitle,
|
|
35
|
+
[ReportType.PROBLEM_RESPONSES]: messages.problemResponsesReportTitle,
|
|
36
|
+
[ReportType.ORA2_SUMMARY]: messages.ora2SummaryReportTitle,
|
|
37
|
+
[ReportType.ORA2_DATA]: messages.ora2DataReportTitle,
|
|
38
|
+
[ReportType.ORA2_SUBMISSION_FILES]: messages.submissionFilesArchiveTitle,
|
|
39
|
+
[ReportType.ISSUED_CERTIFICATES]: messages.issuedCertificatesTitle,
|
|
40
|
+
};
|
|
41
|
+
const messageDescriptor = reportTypeMap[reportType];
|
|
42
|
+
if (!messageDescriptor) {
|
|
43
|
+
// Return the report type as-is if we don't have a mapping
|
|
44
|
+
return reportType.replace(/_/g, ' ')
|
|
45
|
+
.replace(/\b\w/g, char => char.toUpperCase());
|
|
46
|
+
}
|
|
47
|
+
return intl.formatMessage(messageDescriptor);
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/dataDownloads/utils.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC;;GAEG;AACH,MAAM,CAAN,IAAY,UAaX;AAbD,WAAY,UAAU;IACpB,qDAAuC,CAAA;IACvC,yDAA2C,CAAA;IAC3C,yDAA2C,CAAA;IAC3C,+DAAiD,CAAA;IACjD,6BAAe,CAAA;IACf,6CAA+B,CAAA;IAC/B,qDAAuC,CAAA;IACvC,2CAA6B,CAAA;IAC7B,qCAAuB,CAAA;IACvB,6DAA+C,CAAA;IAC/C,yDAA2C,CAAA;IAC3C,iCAAmB,CAAA;AACrB,CAAC,EAbW,UAAU,KAAV,UAAU,QAarB;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,UAAkB,EAAE,IAAe,EAAU,EAAE;IACtF,MAAM,aAAa,GAAwB;QACzC,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,2BAA2B;QACpE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,QAAQ,CAAC,6BAA6B;QACxE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,QAAQ,CAAC,6BAA6B;QACxE,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,QAAQ,CAAC,+BAA+B;QAC7E,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,gBAAgB;QAC7C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,uBAAuB;QAC5D,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,2BAA2B;QACpE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,sBAAsB;QAC1D,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,mBAAmB;QACpD,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,QAAQ,CAAC,2BAA2B;QACxE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,QAAQ,CAAC,uBAAuB;KACnE,CAAC;IAEF,MAAM,iBAAiB,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAEpD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,0DAA0D;QAC1D,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;aACjC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;AAC/C,CAAC,CAAC","sourcesContent":["import { IntlShape } from 'react-intl';\nimport messages from './messages';\n\n/**\n * Report type enum matching backend ReportType enum\n */\nexport enum ReportType {\n ENROLLED_STUDENTS = 'enrolled_students',\n PENDING_ENROLLMENTS = 'pending_enrollments',\n PENDING_ACTIVATIONS = 'pending_activations',\n ANONYMIZED_STUDENT_IDS = 'anonymized_student_ids',\n GRADE = 'grade',\n PROBLEM_GRADE = 'problem_grade',\n PROBLEM_RESPONSES = 'problem_responses',\n ORA2_SUMMARY = 'ora2_summary',\n ORA2_DATA = 'ora2_data',\n ORA2_SUBMISSION_FILES = 'ora2_submission_files',\n ISSUED_CERTIFICATES = 'issued_certificates',\n UNKNOWN = 'unknown',\n}\n\n/**\n * Get human-readable display name for a report type\n *\n * @param reportType - The report type identifier from the API\n * @param intl - The intl object for formatting messages\n * @returns Human-readable display name for the report type\n */\nexport const getReportTypeDisplayName = (reportType: string, intl: IntlShape): string => {\n const reportTypeMap: Record<string, any> = {\n [ReportType.ENROLLED_STUDENTS]: messages.enrolledStudentsReportTitle,\n [ReportType.PENDING_ENROLLMENTS]: messages.pendingEnrollmentsReportTitle,\n [ReportType.PENDING_ACTIVATIONS]: messages.pendingActivationsReportTitle,\n [ReportType.ANONYMIZED_STUDENT_IDS]: messages.anonymizedStudentIdsReportTitle,\n [ReportType.GRADE]: messages.gradeReportTitle,\n [ReportType.PROBLEM_GRADE]: messages.problemGradeReportTitle,\n [ReportType.PROBLEM_RESPONSES]: messages.problemResponsesReportTitle,\n [ReportType.ORA2_SUMMARY]: messages.ora2SummaryReportTitle,\n [ReportType.ORA2_DATA]: messages.ora2DataReportTitle,\n [ReportType.ORA2_SUBMISSION_FILES]: messages.submissionFilesArchiveTitle,\n [ReportType.ISSUED_CERTIFICATES]: messages.issuedCertificatesTitle,\n };\n\n const messageDescriptor = reportTypeMap[reportType];\n\n if (!messageDescriptor) {\n // Return the report type as-is if we don't have a mapping\n return reportType.replace(/_/g, ' ')\n .replace(/\\b\\w/g, char => char.toUpperCase());\n }\n\n return intl.formatMessage(messageDescriptor);\n};\n"]}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
import { useState } from 'react';
|
|
12
|
+
import { useParams } from 'react-router-dom';
|
|
13
|
+
import { useIntl } from '@openedx/frontend-base';
|
|
14
|
+
import messages from './messages';
|
|
15
|
+
import DateExtensionsList from './components/DateExtensionsList';
|
|
16
|
+
import ResetExtensionsModal from './components/ResetExtensionsModal';
|
|
17
|
+
import { useAddDateExtensionMutation, useResetDateExtensionMutation } from './data/apiHook';
|
|
18
|
+
import { useAlert } from '../providers/AlertProvider';
|
|
19
|
+
import AddExtensionModal from './components/AddExtensionModal';
|
|
20
|
+
const DateExtensionsPage = () => {
|
|
21
|
+
const intl = useIntl();
|
|
22
|
+
const { courseId = '' } = useParams();
|
|
23
|
+
const { mutate: resetMutation } = useResetDateExtensionMutation();
|
|
24
|
+
const { mutate: addExtensionMutation } = useAddDateExtensionMutation();
|
|
25
|
+
const [selectedUser, setSelectedUser] = useState(null);
|
|
26
|
+
const isResetModalOpen = selectedUser !== null;
|
|
27
|
+
const { showToast, showModal, removeAlert, clearAlerts } = useAlert();
|
|
28
|
+
const [isAddExtensionModalOpen, setIsAddExtensionModalOpen] = useState(false);
|
|
29
|
+
const handleResetExtensions = (user) => {
|
|
30
|
+
clearAlerts();
|
|
31
|
+
setSelectedUser(user);
|
|
32
|
+
};
|
|
33
|
+
const handleCloseModal = () => {
|
|
34
|
+
setSelectedUser(null);
|
|
35
|
+
};
|
|
36
|
+
const handleErrorOnReset = (error) => {
|
|
37
|
+
showModal({
|
|
38
|
+
confirmText: intl.formatMessage(messages.close),
|
|
39
|
+
message: 'response' in error ? error.response.data.error : error.message,
|
|
40
|
+
variant: 'danger',
|
|
41
|
+
onConfirm: (id) => removeAlert(id)
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
const handleSuccessOnReset = (response) => {
|
|
45
|
+
showToast(response);
|
|
46
|
+
handleCloseModal();
|
|
47
|
+
};
|
|
48
|
+
const handleConfirmReset = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
49
|
+
if (selectedUser && courseId) {
|
|
50
|
+
resetMutation({
|
|
51
|
+
courseId,
|
|
52
|
+
params: {
|
|
53
|
+
student: selectedUser.username,
|
|
54
|
+
url: selectedUser.unitLocation,
|
|
55
|
+
}
|
|
56
|
+
}, {
|
|
57
|
+
onError: handleErrorOnReset,
|
|
58
|
+
onSuccess: handleSuccessOnReset
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
showModal({
|
|
63
|
+
confirmText: intl.formatMessage(messages.close),
|
|
64
|
+
message: intl.formatMessage(messages.missingUserOrCourseIdError),
|
|
65
|
+
variant: 'danger',
|
|
66
|
+
onConfirm: (id) => removeAlert(id)
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
const handleAddExtension = ({ emailOrUsername, blockId, dueDatetime, reason }) => {
|
|
71
|
+
addExtensionMutation({ courseId, extensionData: {
|
|
72
|
+
emailOrUsername,
|
|
73
|
+
blockId,
|
|
74
|
+
dueDatetime,
|
|
75
|
+
reason
|
|
76
|
+
} }, {
|
|
77
|
+
onError: handleErrorOnReset,
|
|
78
|
+
onSuccess: (response) => {
|
|
79
|
+
setIsAddExtensionModalOpen(false);
|
|
80
|
+
showToast(response.message);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
return (_jsxs(_Fragment, { children: [_jsx("h3", { className: "mb-4.5 text-primary-700", children: intl.formatMessage(messages.dateExtensionsTitle) }), _jsx(DateExtensionsList, { onClickAdd: () => setIsAddExtensionModalOpen(true), onResetExtensions: handleResetExtensions }), _jsx(AddExtensionModal, { isOpen: isAddExtensionModalOpen, title: intl.formatMessage(messages.addIndividualDueDateExtension), onClose: () => setIsAddExtensionModalOpen(false), onSubmit: handleAddExtension }), _jsx(ResetExtensionsModal, { isOpen: isResetModalOpen, message: intl.formatMessage(messages.resetConfirmationMessage), title: intl.formatMessage(messages.resetConfirmationHeader, { username: selectedUser === null || selectedUser === void 0 ? void 0 : selectedUser.username }), onCancelReset: handleCloseModal, onClose: handleCloseModal, onConfirmReset: handleConfirmReset })] }));
|
|
85
|
+
};
|
|
86
|
+
export default DateExtensionsPage;
|
|
87
|
+
//# sourceMappingURL=DateExtensionsPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateExtensionsPage.js","sourceRoot":"","sources":["../../src/dateExtensions/DateExtensionsPage.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState } from 'react';\nimport { useParams } from 'react-router-dom';\nimport { useIntl } from '@openedx/frontend-base';\nimport messages from './messages';\nimport DateExtensionsList from './components/DateExtensionsList';\nimport ResetExtensionsModal from './components/ResetExtensionsModal';\nimport { LearnerDateExtension } from './types';\nimport { useAddDateExtensionMutation, useResetDateExtensionMutation } from './data/apiHook';\nimport { useAlert } from '@src/providers/AlertProvider';\nimport AddExtensionModal from './components/AddExtensionModal';\nimport { APIError } from '@src/types';\n\nconst DateExtensionsPage = () => {\n const intl = useIntl();\n const { courseId = '' } = useParams<{ courseId: string }>();\n const { mutate: resetMutation } = useResetDateExtensionMutation();\n const { mutate: addExtensionMutation } = useAddDateExtensionMutation();\n const [selectedUser, setSelectedUser] = useState<LearnerDateExtension | null>(null);\n const isResetModalOpen = selectedUser !== null;\n const { showToast, showModal, removeAlert, clearAlerts } = useAlert();\n const [isAddExtensionModalOpen, setIsAddExtensionModalOpen] = useState(false);\n\n const handleResetExtensions = (user: LearnerDateExtension) => {\n clearAlerts();\n setSelectedUser(user);\n };\n\n const handleCloseModal = () => {\n setSelectedUser(null);\n };\n\n const handleErrorOnReset = (error: APIError | Error) => {\n showModal({\n confirmText: intl.formatMessage(messages.close),\n message: 'response' in error ? error.response.data.error : error.message,\n variant: 'danger',\n onConfirm: (id) => removeAlert(id)\n });\n };\n\n const handleSuccessOnReset = (response: string) => {\n showToast(response);\n handleCloseModal();\n };\n\n const handleConfirmReset = async () => {\n if (selectedUser && courseId) {\n resetMutation({\n courseId,\n params: {\n student: selectedUser.username,\n url: selectedUser.unitLocation,\n }\n }, {\n onError: handleErrorOnReset,\n onSuccess: handleSuccessOnReset\n });\n } else {\n showModal({\n confirmText: intl.formatMessage(messages.close),\n message: intl.formatMessage(messages.missingUserOrCourseIdError),\n variant: 'danger',\n onConfirm: (id) => removeAlert(id)\n });\n }\n };\n\n const handleAddExtension = ({ emailOrUsername, blockId, dueDatetime, reason }) => {\n addExtensionMutation({ courseId, extensionData: {\n emailOrUsername,\n blockId,\n dueDatetime,\n reason\n } }, {\n onError: handleErrorOnReset,\n onSuccess: (response) => {\n setIsAddExtensionModalOpen(false);\n showToast(response.message);\n }\n });\n };\n\n return (\n <>\n <h3 className=\"mb-4.5 text-primary-700\">{intl.formatMessage(messages.dateExtensionsTitle)}</h3>\n <DateExtensionsList\n onClickAdd={() => setIsAddExtensionModalOpen(true)}\n onResetExtensions={handleResetExtensions}\n />\n <AddExtensionModal\n isOpen={isAddExtensionModalOpen}\n title={intl.formatMessage(messages.addIndividualDueDateExtension)}\n onClose={() => setIsAddExtensionModalOpen(false)}\n onSubmit={handleAddExtension}\n />\n <ResetExtensionsModal\n isOpen={isResetModalOpen}\n message={intl.formatMessage(messages.resetConfirmationMessage)}\n title={intl.formatMessage(messages.resetConfirmationHeader, { username: selectedUser?.username })}\n onCancelReset={handleCloseModal}\n onClose={handleCloseModal}\n onConfirmReset={handleConfirmReset}\n />\n </>\n );\n};\n\nexport default DateExtensionsPage;\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
interface AddExtensionModalProps {
|
|
2
|
+
isOpen: boolean;
|
|
3
|
+
title: string;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
onSubmit: ({ emailOrUsername, blockId, dueDatetime, reason }: {
|
|
6
|
+
emailOrUsername: string;
|
|
7
|
+
blockId: string;
|
|
8
|
+
dueDatetime: string;
|
|
9
|
+
reason: string;
|
|
10
|
+
}) => void;
|
|
11
|
+
}
|
|
12
|
+
declare const AddExtensionModal: ({ isOpen, title, onClose, onSubmit }: AddExtensionModalProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export default AddExtensionModal;
|