@openedx/frontend-app-gradebook 2.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 +279 -0
- package/dist/Main.d.ts +3 -0
- package/dist/Main.js +17 -0
- package/dist/Main.js.map +1 -0
- package/dist/app.d.ts +3 -0
- package/dist/app.js +10 -0
- package/dist/app.js.map +1 -0
- package/dist/components/BulkManagementHistoryView/BulkManagementAlerts.d.ts +5 -0
- package/dist/components/BulkManagementHistoryView/BulkManagementAlerts.js +20 -0
- package/dist/components/BulkManagementHistoryView/BulkManagementAlerts.js.map +1 -0
- package/dist/components/BulkManagementHistoryView/BulkManagementHistoryView.scss +6 -0
- package/dist/components/BulkManagementHistoryView/HistoryTable.d.ts +33 -0
- package/dist/components/BulkManagementHistoryView/HistoryTable.js +53 -0
- package/dist/components/BulkManagementHistoryView/HistoryTable.js.map +1 -0
- package/dist/components/BulkManagementHistoryView/ResultsSummary.d.ts +16 -0
- package/dist/components/BulkManagementHistoryView/ResultsSummary.js +19 -0
- package/dist/components/BulkManagementHistoryView/ResultsSummary.js.map +1 -0
- package/dist/components/BulkManagementHistoryView/data/api.d.ts +5 -0
- package/dist/components/BulkManagementHistoryView/data/api.js +16 -0
- package/dist/components/BulkManagementHistoryView/data/api.js.map +1 -0
- package/dist/components/BulkManagementHistoryView/data/apiHook.d.ts +16 -0
- package/dist/components/BulkManagementHistoryView/data/apiHook.js +34 -0
- package/dist/components/BulkManagementHistoryView/data/apiHook.js.map +1 -0
- package/dist/components/BulkManagementHistoryView/data/queryKeys.d.ts +5 -0
- package/dist/components/BulkManagementHistoryView/data/queryKeys.js +7 -0
- package/dist/components/BulkManagementHistoryView/data/queryKeys.js.map +1 -0
- package/dist/components/BulkManagementHistoryView/data/utils.d.ts +34 -0
- package/dist/components/BulkManagementHistoryView/data/utils.js +45 -0
- package/dist/components/BulkManagementHistoryView/data/utils.js.map +1 -0
- package/dist/components/BulkManagementHistoryView/index.d.ts +2 -0
- package/dist/components/BulkManagementHistoryView/index.js +12 -0
- package/dist/components/BulkManagementHistoryView/index.js.map +1 -0
- package/dist/components/BulkManagementHistoryView/messages.d.ts +24 -0
- package/dist/components/BulkManagementHistoryView/messages.js +20 -0
- package/dist/components/BulkManagementHistoryView/messages.js.map +1 -0
- package/dist/components/GradebookFilters/AssignmentFilter/index.d.ts +10 -0
- package/dist/components/GradebookFilters/AssignmentFilter/index.js +31 -0
- package/dist/components/GradebookFilters/AssignmentFilter/index.js.map +1 -0
- package/dist/components/GradebookFilters/AssignmentGradeFilter/hooks.d.ts +19 -0
- package/dist/components/GradebookFilters/AssignmentGradeFilter/hooks.js +31 -0
- package/dist/components/GradebookFilters/AssignmentGradeFilter/hooks.js.map +1 -0
- package/dist/components/GradebookFilters/AssignmentGradeFilter/index.d.ts +10 -0
- package/dist/components/GradebookFilters/AssignmentGradeFilter/index.js +17 -0
- package/dist/components/GradebookFilters/AssignmentGradeFilter/index.js.map +1 -0
- package/dist/components/GradebookFilters/AssignmentTypeFilter/index.d.ts +10 -0
- package/dist/components/GradebookFilters/AssignmentTypeFilter/index.js +38 -0
- package/dist/components/GradebookFilters/AssignmentTypeFilter/index.js.map +1 -0
- package/dist/components/GradebookFilters/CourseGradeFilter/hooks.d.ts +15 -0
- package/dist/components/GradebookFilters/CourseGradeFilter/hooks.js +34 -0
- package/dist/components/GradebookFilters/CourseGradeFilter/hooks.js.map +1 -0
- package/dist/components/GradebookFilters/CourseGradeFilter/index.d.ts +10 -0
- package/dist/components/GradebookFilters/CourseGradeFilter/index.js +17 -0
- package/dist/components/GradebookFilters/CourseGradeFilter/index.js.map +1 -0
- package/dist/components/GradebookFilters/GradebookFilters.scss +6 -0
- package/dist/components/GradebookFilters/PercentGroup.d.ts +22 -0
- package/dist/components/GradebookFilters/PercentGroup.js +16 -0
- package/dist/components/GradebookFilters/PercentGroup.js.map +1 -0
- package/dist/components/GradebookFilters/SelectGroup.d.ts +24 -0
- package/dist/components/GradebookFilters/SelectGroup.js +17 -0
- package/dist/components/GradebookFilters/SelectGroup.js.map +1 -0
- package/dist/components/GradebookFilters/StudentGroupsFilter/hooks.d.ts +16 -0
- package/dist/components/GradebookFilters/StudentGroupsFilter/hooks.js +46 -0
- package/dist/components/GradebookFilters/StudentGroupsFilter/hooks.js.map +1 -0
- package/dist/components/GradebookFilters/StudentGroupsFilter/index.d.ts +10 -0
- package/dist/components/GradebookFilters/StudentGroupsFilter/index.js +23 -0
- package/dist/components/GradebookFilters/StudentGroupsFilter/index.js.map +1 -0
- package/dist/components/GradebookFilters/data/api.d.ts +10 -0
- package/dist/components/GradebookFilters/data/api.js +27 -0
- package/dist/components/GradebookFilters/data/api.js.map +1 -0
- package/dist/components/GradebookFilters/data/apiHook.d.ts +16 -0
- package/dist/components/GradebookFilters/data/apiHook.js +24 -0
- package/dist/components/GradebookFilters/data/apiHook.js.map +1 -0
- package/dist/components/GradebookFilters/data/hooks.d.ts +7 -0
- package/dist/components/GradebookFilters/data/hooks.js +53 -0
- package/dist/components/GradebookFilters/data/hooks.js.map +1 -0
- package/dist/components/GradebookFilters/data/queryKeys.d.ts +10 -0
- package/dist/components/GradebookFilters/data/queryKeys.js +12 -0
- package/dist/components/GradebookFilters/data/queryKeys.js.map +1 -0
- package/dist/components/GradebookFilters/index.d.ts +10 -0
- package/dist/components/GradebookFilters/index.js +32 -0
- package/dist/components/GradebookFilters/index.js.map +1 -0
- package/dist/components/GradebookFilters/messages.d.ts +112 -0
- package/dist/components/GradebookFilters/messages.js +75 -0
- package/dist/components/GradebookFilters/messages.js.map +1 -0
- package/dist/components/GradebookHeader/hooks.d.ts +13 -0
- package/dist/components/GradebookHeader/hooks.js +28 -0
- package/dist/components/GradebookHeader/hooks.js.map +1 -0
- package/dist/components/GradebookHeader/index.d.ts +2 -0
- package/dist/components/GradebookHeader/index.js +14 -0
- package/dist/components/GradebookHeader/index.js.map +1 -0
- package/dist/components/GradebookHeader/messages.d.ts +48 -0
- package/dist/components/GradebookHeader/messages.js +35 -0
- package/dist/components/GradebookHeader/messages.js.map +1 -0
- package/dist/components/GradesView/BulkManagementControls/index.d.ts +2 -0
- package/dist/components/GradesView/BulkManagementControls/index.js +26 -0
- package/dist/components/GradesView/BulkManagementControls/index.js.map +1 -0
- package/dist/components/GradesView/BulkManagementControls/messages.d.ts +8 -0
- package/dist/components/GradesView/BulkManagementControls/messages.js +10 -0
- package/dist/components/GradesView/BulkManagementControls/messages.js.map +1 -0
- package/dist/components/GradesView/EditModal/HistoryHeader.d.ts +21 -0
- package/dist/components/GradesView/EditModal/HistoryHeader.js +20 -0
- package/dist/components/GradesView/EditModal/HistoryHeader.js.map +1 -0
- package/dist/components/GradesView/EditModal/ModalHeaders.d.ts +3 -0
- package/dist/components/GradesView/EditModal/ModalHeaders.js +26 -0
- package/dist/components/GradesView/EditModal/ModalHeaders.js.map +1 -0
- package/dist/components/GradesView/EditModal/OverrideTable/AdjustedGradeInput/index.d.ts +5 -0
- package/dist/components/GradesView/EditModal/OverrideTable/AdjustedGradeInput/index.js +23 -0
- package/dist/components/GradesView/EditModal/OverrideTable/AdjustedGradeInput/index.js.map +1 -0
- package/dist/components/GradesView/EditModal/OverrideTable/ReasonInput/index.d.ts +6 -0
- package/dist/components/GradesView/EditModal/OverrideTable/ReasonInput/index.js +25 -0
- package/dist/components/GradesView/EditModal/OverrideTable/ReasonInput/index.js.map +1 -0
- package/dist/components/GradesView/EditModal/OverrideTable/index.d.ts +5 -0
- package/dist/components/GradesView/EditModal/OverrideTable/index.js +39 -0
- package/dist/components/GradesView/EditModal/OverrideTable/index.js.map +1 -0
- package/dist/components/GradesView/EditModal/OverrideTable/messages.d.ts +32 -0
- package/dist/components/GradesView/EditModal/OverrideTable/messages.js +25 -0
- package/dist/components/GradesView/EditModal/OverrideTable/messages.js.map +1 -0
- package/dist/components/GradesView/EditModal/index.d.ts +2 -0
- package/dist/components/GradesView/EditModal/index.js +35 -0
- package/dist/components/GradesView/EditModal/index.js.map +1 -0
- package/dist/components/GradesView/EditModal/messages.d.ts +72 -0
- package/dist/components/GradesView/EditModal/messages.js +50 -0
- package/dist/components/GradesView/EditModal/messages.js.map +1 -0
- package/dist/components/GradesView/FilterBadges/FilterBadge.d.ts +9 -0
- package/dist/components/GradesView/FilterBadges/FilterBadge.js +27 -0
- package/dist/components/GradesView/FilterBadges/FilterBadge.js.map +1 -0
- package/dist/components/GradesView/FilterBadges/index.d.ts +8 -0
- package/dist/components/GradesView/FilterBadges/index.js +15 -0
- package/dist/components/GradesView/FilterBadges/index.js.map +1 -0
- package/dist/components/GradesView/FilterMenuToggle/index.d.ts +5 -0
- package/dist/components/GradesView/FilterMenuToggle/index.js +18 -0
- package/dist/components/GradesView/FilterMenuToggle/index.js.map +1 -0
- package/dist/components/GradesView/FilterMenuToggle/messages.d.ts +8 -0
- package/dist/components/GradesView/FilterMenuToggle/messages.js +10 -0
- package/dist/components/GradesView/FilterMenuToggle/messages.js.map +1 -0
- package/dist/components/GradesView/FilteredUsersLabel/index.d.ts +15 -0
- package/dist/components/GradesView/FilteredUsersLabel/index.js +27 -0
- package/dist/components/GradesView/FilteredUsersLabel/index.js.map +1 -0
- package/dist/components/GradesView/FilteredUsersLabel/messages.d.ts +8 -0
- package/dist/components/GradesView/FilteredUsersLabel/messages.js +10 -0
- package/dist/components/GradesView/FilteredUsersLabel/messages.js.map +1 -0
- package/dist/components/GradesView/GradebookTable/Fields.d.ts +2 -0
- package/dist/components/GradesView/GradebookTable/Fields.js +32 -0
- package/dist/components/GradesView/GradebookTable/Fields.js.map +1 -0
- package/dist/components/GradesView/GradebookTable/GradeButton.d.ts +26 -0
- package/dist/components/GradesView/GradebookTable/GradeButton.js +56 -0
- package/dist/components/GradesView/GradebookTable/GradeButton.js.map +1 -0
- package/dist/components/GradesView/GradebookTable/LabelReplacements.d.ts +3 -0
- package/dist/components/GradesView/GradebookTable/LabelReplacements.js +42 -0
- package/dist/components/GradesView/GradebookTable/LabelReplacements.js.map +1 -0
- package/dist/components/GradesView/GradebookTable/hooks.d.ts +11 -0
- package/dist/components/GradesView/GradebookTable/hooks.js +45 -0
- package/dist/components/GradesView/GradebookTable/hooks.js.map +1 -0
- package/dist/components/GradesView/GradebookTable/index.d.ts +5 -0
- package/dist/components/GradesView/GradebookTable/index.js +16 -0
- package/dist/components/GradesView/GradebookTable/index.js.map +1 -0
- package/dist/components/GradesView/GradebookTable/messages.d.ts +64 -0
- package/dist/components/GradesView/GradebookTable/messages.js +45 -0
- package/dist/components/GradesView/GradebookTable/messages.js.map +1 -0
- package/dist/components/GradesView/GradesView.scss +156 -0
- package/dist/components/GradesView/ImportGradesButton/index.d.ts +5 -0
- package/dist/components/GradesView/ImportGradesButton/index.js +38 -0
- package/dist/components/GradesView/ImportGradesButton/index.js.map +1 -0
- package/dist/components/GradesView/ImportGradesButton/messages.d.ts +16 -0
- package/dist/components/GradesView/ImportGradesButton/messages.js +15 -0
- package/dist/components/GradesView/ImportGradesButton/messages.js.map +1 -0
- package/dist/components/GradesView/ImportSuccessToast/hooks.d.ts +10 -0
- package/dist/components/GradesView/ImportSuccessToast/hooks.js +31 -0
- package/dist/components/GradesView/ImportSuccessToast/hooks.js.map +1 -0
- package/dist/components/GradesView/ImportSuccessToast/index.d.ts +5 -0
- package/dist/components/GradesView/ImportSuccessToast/index.js +15 -0
- package/dist/components/GradesView/ImportSuccessToast/index.js.map +1 -0
- package/dist/components/GradesView/ImportSuccessToast/messages.d.ts +17 -0
- package/dist/components/GradesView/ImportSuccessToast/messages.js +15 -0
- package/dist/components/GradesView/ImportSuccessToast/messages.js.map +1 -0
- package/dist/components/GradesView/InterventionsReport/index.d.ts +2 -0
- package/dist/components/GradesView/InterventionsReport/index.js +27 -0
- package/dist/components/GradesView/InterventionsReport/index.js.map +1 -0
- package/dist/components/GradesView/InterventionsReport/messages.d.ts +25 -0
- package/dist/components/GradesView/InterventionsReport/messages.js +20 -0
- package/dist/components/GradesView/InterventionsReport/messages.js.map +1 -0
- package/dist/components/GradesView/PageButtons/index.d.ts +5 -0
- package/dist/components/GradesView/PageButtons/index.js +14 -0
- package/dist/components/GradesView/PageButtons/index.js.map +1 -0
- package/dist/components/GradesView/PageButtons/messages.d.ts +16 -0
- package/dist/components/GradesView/PageButtons/messages.js +15 -0
- package/dist/components/GradesView/PageButtons/messages.js.map +1 -0
- package/dist/components/GradesView/ScoreViewInput/index.d.ts +5 -0
- package/dist/components/GradesView/ScoreViewInput/index.js +20 -0
- package/dist/components/GradesView/ScoreViewInput/index.js.map +1 -0
- package/dist/components/GradesView/ScoreViewInput/messages.d.ts +24 -0
- package/dist/components/GradesView/ScoreViewInput/messages.js +20 -0
- package/dist/components/GradesView/ScoreViewInput/messages.js.map +1 -0
- package/dist/components/GradesView/SearchControls/hooks.d.ts +9 -0
- package/dist/components/GradesView/SearchControls/hooks.js +34 -0
- package/dist/components/GradesView/SearchControls/hooks.js.map +1 -0
- package/dist/components/GradesView/SearchControls/index.d.ts +5 -0
- package/dist/components/GradesView/SearchControls/index.js +14 -0
- package/dist/components/GradesView/SearchControls/index.js.map +1 -0
- package/dist/components/GradesView/SearchControls/messages.d.ts +16 -0
- package/dist/components/GradesView/SearchControls/messages.js +15 -0
- package/dist/components/GradesView/SearchControls/messages.js.map +1 -0
- package/dist/components/GradesView/SpinnerIcon.d.ts +5 -0
- package/dist/components/GradesView/SpinnerIcon.js +15 -0
- package/dist/components/GradesView/SpinnerIcon.js.map +1 -0
- package/dist/components/GradesView/StatusAlerts/index.d.ts +5 -0
- package/dist/components/GradesView/StatusAlerts/index.js +16 -0
- package/dist/components/GradesView/StatusAlerts/index.js.map +1 -0
- package/dist/components/GradesView/StatusAlerts/messages.d.ts +24 -0
- package/dist/components/GradesView/StatusAlerts/messages.js +20 -0
- package/dist/components/GradesView/StatusAlerts/messages.js.map +1 -0
- package/dist/components/GradesView/data/api.d.ts +44 -0
- package/dist/components/GradesView/data/api.js +64 -0
- package/dist/components/GradesView/data/api.js.map +1 -0
- package/dist/components/GradesView/data/apiHook.d.ts +92 -0
- package/dist/components/GradesView/data/apiHook.js +191 -0
- package/dist/components/GradesView/data/apiHook.js.map +1 -0
- package/dist/components/GradesView/data/hooks.d.ts +32 -0
- package/dist/components/GradesView/data/hooks.js +242 -0
- package/dist/components/GradesView/data/hooks.js.map +1 -0
- package/dist/components/GradesView/data/queryKeys.d.ts +13 -0
- package/dist/components/GradesView/data/queryKeys.js +15 -0
- package/dist/components/GradesView/data/queryKeys.js.map +1 -0
- package/dist/components/GradesView/data/utils.d.ts +96 -0
- package/dist/components/GradesView/data/utils.js +103 -0
- package/dist/components/GradesView/data/utils.js.map +1 -0
- package/dist/components/GradesView/index.d.ts +10 -0
- package/dist/components/GradesView/index.js +35 -0
- package/dist/components/GradesView/index.js.map +1 -0
- package/dist/components/GradesView/messages.d.ts +24 -0
- package/dist/components/GradesView/messages.js +20 -0
- package/dist/components/GradesView/messages.js.map +1 -0
- package/dist/components/NetworkButton/index.d.ts +23 -0
- package/dist/components/NetworkButton/index.js +54 -0
- package/dist/components/NetworkButton/index.js.map +1 -0
- package/dist/components/WithSidebar/WithSidebar.scss +36 -0
- package/dist/components/WithSidebar/index.d.ts +9 -0
- package/dist/components/WithSidebar/index.js +34 -0
- package/dist/components/WithSidebar/index.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/containers/GradebookPage/GradebookDataLoader.d.ts +10 -0
- package/dist/containers/GradebookPage/GradebookDataLoader.js +19 -0
- package/dist/containers/GradebookPage/GradebookDataLoader.js.map +1 -0
- package/dist/containers/GradebookPage/index.d.ts +2 -0
- package/dist/containers/GradebookPage/index.js +40 -0
- package/dist/containers/GradebookPage/index.js.map +1 -0
- package/dist/data/api.d.ts +20 -0
- package/dist/data/api.js +36 -0
- package/dist/data/api.js.map +1 -0
- package/dist/data/apiHook.d.ts +40 -0
- package/dist/data/apiHook.js +65 -0
- package/dist/data/apiHook.js.map +1 -0
- package/dist/data/constants/app.d.ts +13 -0
- package/dist/data/constants/app.js +58 -0
- package/dist/data/constants/app.js.map +1 -0
- package/dist/data/constants/errors.d.ts +2 -0
- package/dist/data/constants/errors.js +3 -0
- package/dist/data/constants/errors.js.map +1 -0
- package/dist/data/constants/filters.d.ts +15 -0
- package/dist/data/constants/filters.js +71 -0
- package/dist/data/constants/filters.js.map +1 -0
- package/dist/data/constants/filters.messages.d.ts +56 -0
- package/dist/data/constants/filters.messages.js +40 -0
- package/dist/data/constants/filters.messages.js.map +1 -0
- package/dist/data/constants/grades.d.ts +6 -0
- package/dist/data/constants/grades.js +17 -0
- package/dist/data/constants/grades.js.map +1 -0
- package/dist/data/filtersContext.d.ts +60 -0
- package/dist/data/filtersContext.js +212 -0
- package/dist/data/filtersContext.js.map +1 -0
- package/dist/data/filtersSnapshot.d.ts +20 -0
- package/dist/data/filtersSnapshot.js +15 -0
- package/dist/data/filtersSnapshot.js.map +1 -0
- package/dist/data/formatUtils.d.ts +15 -0
- package/dist/data/formatUtils.js +35 -0
- package/dist/data/formatUtils.js.map +1 -0
- package/dist/data/gradebookUiContext.d.ts +99 -0
- package/dist/data/gradebookUiContext.js +143 -0
- package/dist/data/gradebookUiContext.js.map +1 -0
- package/dist/data/queryClient.d.ts +10 -0
- package/dist/data/queryClient.js +34 -0
- package/dist/data/queryClient.js.map +1 -0
- package/dist/data/queryKeys.d.ts +11 -0
- package/dist/data/queryKeys.js +21 -0
- package/dist/data/queryKeys.js.map +1 -0
- package/dist/data/services/lms/api.d.ts +2 -0
- package/dist/data/services/lms/api.js +104 -0
- package/dist/data/services/lms/api.js.map +1 -0
- package/dist/data/services/lms/constants.d.ts +3 -0
- package/dist/data/services/lms/constants.js +16 -0
- package/dist/data/services/lms/constants.js.map +1 -0
- package/dist/data/services/lms/index.d.ts +2 -0
- package/dist/data/services/lms/index.js +8 -0
- package/dist/data/services/lms/index.js.map +1 -0
- package/dist/data/services/lms/messages.d.ts +2 -0
- package/dist/data/services/lms/messages.js +8 -0
- package/dist/data/services/lms/messages.js.map +1 -0
- package/dist/data/services/lms/urls.d.ts +19 -0
- package/dist/data/services/lms/urls.js +47 -0
- package/dist/data/services/lms/urls.js.map +1 -0
- package/dist/data/services/lms/utils.d.ts +4 -0
- package/dist/data/services/lms/utils.js +34 -0
- package/dist/data/services/lms/utils.js.map +1 -0
- package/dist/data/services/segment/constants.d.ts +8 -0
- package/dist/data/services/segment/constants.js +26 -0
- package/dist/data/services/segment/constants.js.map +1 -0
- package/dist/data/services/segment/events.d.ts +14 -0
- package/dist/data/services/segment/events.js +32 -0
- package/dist/data/services/segment/events.js.map +1 -0
- package/dist/data/utils.d.ts +10 -0
- package/dist/data/utils.js +14 -0
- package/dist/data/utils.js.map +1 -0
- package/dist/i18n/index.d.ts +1 -0
- package/dist/i18n/index.js +2 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/utils.d.ts +2 -0
- package/dist/i18n/utils.js +21 -0
- package/dist/i18n/utils.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/messages.d.ts +8 -0
- package/dist/messages.js +10 -0
- package/dist/messages.js.map +1 -0
- package/dist/providers.d.ts +3 -0
- package/dist/providers.js +13 -0
- package/dist/providers.js.map +1 -0
- package/dist/routes.d.ts +11 -0
- package/dist/routes.js +16 -0
- package/dist/routes.js.map +1 -0
- package/dist/style.scss +13 -0
- package/dist/utils/StrictDict.d.ts +2 -0
- package/dist/utils/StrictDict.js +19 -0
- package/dist/utils/StrictDict.js.map +1 -0
- package/dist/utils/formatDate.d.ts +15 -0
- package/dist/utils/formatDate.js +19 -0
- package/dist/utils/formatDate.js.map +1 -0
- package/dist/utils/hoc.d.ts +3 -0
- package/dist/utils/hoc.js +21 -0
- package/dist/utils/hoc.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/keyStore.d.ts +2 -0
- package/dist/utils/keyStore.js +4 -0
- package/dist/utils/keyStore.js.map +1 -0
- package/package.json +89 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** LMS course roles that grant permission to view the gradebook. */
|
|
2
|
+
export declare const allowedRoles: string[];
|
|
3
|
+
/** Derived assignment-type data consumed by filters and the header. */
|
|
4
|
+
export interface AssignmentTypesData {
|
|
5
|
+
assignmentTypes: string[];
|
|
6
|
+
areGradesFrozen: boolean;
|
|
7
|
+
bulkManagementAvailable: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* getCanUserViewGradebook(courseId)
|
|
11
|
+
* Fetches the current user's roles and derives whether they may view the
|
|
12
|
+
* gradebook for this course (staff, or holding an allowed role in the course).
|
|
13
|
+
*/
|
|
14
|
+
export declare const getCanUserViewGradebook: (courseId: string) => Promise<boolean>;
|
|
15
|
+
/**
|
|
16
|
+
* getAssignmentTypes()
|
|
17
|
+
* Fetches grading info and derives the assignment-type list plus the
|
|
18
|
+
* grades-frozen and bulk-management flags that ride along with it.
|
|
19
|
+
*/
|
|
20
|
+
export declare const getAssignmentTypes: () => Promise<AssignmentTypesData>;
|
package/dist/data/api.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
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 lms from './services/lms';
|
|
11
|
+
/** LMS course roles that grant permission to view the gradebook. */
|
|
12
|
+
export const allowedRoles = ['staff', 'limited_staff', 'instructor', 'support'];
|
|
13
|
+
/**
|
|
14
|
+
* getCanUserViewGradebook(courseId)
|
|
15
|
+
* Fetches the current user's roles and derives whether they may view the
|
|
16
|
+
* gradebook for this course (staff, or holding an allowed role in the course).
|
|
17
|
+
*/
|
|
18
|
+
export const getCanUserViewGradebook = (courseId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
19
|
+
const { data } = yield lms.api.fetch.roles();
|
|
20
|
+
const isAllowedRole = (role) => (role.course_id === courseId && allowedRoles.includes(role.role));
|
|
21
|
+
return Boolean(data.is_staff || (data.roles || []).some(isAllowedRole));
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* getAssignmentTypes()
|
|
25
|
+
* Fetches grading info and derives the assignment-type list plus the
|
|
26
|
+
* grades-frozen and bulk-management flags that ride along with it.
|
|
27
|
+
*/
|
|
28
|
+
export const getAssignmentTypes = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
29
|
+
const { data } = yield lms.api.fetch.assignmentTypes();
|
|
30
|
+
return {
|
|
31
|
+
assignmentTypes: Object.keys(data.assignment_types || {}),
|
|
32
|
+
areGradesFrozen: Boolean(data.grades_frozen),
|
|
33
|
+
bulkManagementAvailable: Boolean(data.can_see_bulk_management),
|
|
34
|
+
};
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/data/api.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,GAAG,MAAM,wBAAwB,CAAC;AAEzC,oEAAoE;AACpE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;AAchF;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAO,QAAgB,EAAoB,EAAE;IAClF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC7C,MAAM,aAAa,GAAG,CAAC,IAAgB,EAAE,EAAE,CAAC,CAC1C,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAChE,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAA,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAuC,EAAE;IACzE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;IACvD,OAAO;QACL,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACzD,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;QAC5C,uBAAuB,EAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC;KAC/D,CAAC;AACJ,CAAC,CAAA,CAAC","sourcesContent":["import lms from '@src/data/services/lms';\n\n/** LMS course roles that grant permission to view the gradebook. */\nexport const allowedRoles = ['staff', 'limited_staff', 'instructor', 'support'];\n\ninterface CourseRole {\n course_id: string;\n role: string;\n}\n\n/** Derived assignment-type data consumed by filters and the header. */\nexport interface AssignmentTypesData {\n assignmentTypes: string[];\n areGradesFrozen: boolean;\n bulkManagementAvailable: boolean;\n}\n\n/**\n * getCanUserViewGradebook(courseId)\n * Fetches the current user's roles and derives whether they may view the\n * gradebook for this course (staff, or holding an allowed role in the course).\n */\nexport const getCanUserViewGradebook = async (courseId: string): Promise<boolean> => {\n const { data } = await lms.api.fetch.roles();\n const isAllowedRole = (role: CourseRole) => (\n role.course_id === courseId && allowedRoles.includes(role.role)\n );\n return Boolean(data.is_staff || (data.roles || []).some(isAllowedRole));\n};\n\n/**\n * getAssignmentTypes()\n * Fetches grading info and derives the assignment-type list plus the\n * grades-frozen and bulk-management flags that ride along with it.\n */\nexport const getAssignmentTypes = async (): Promise<AssignmentTypesData> => {\n const { data } = await lms.api.fetch.assignmentTypes();\n return {\n assignmentTypes: Object.keys(data.assignment_types || {}),\n areGradesFrozen: Boolean(data.grades_frozen),\n bulkManagementAvailable: Boolean(data.can_see_bulk_management),\n };\n};\n"]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useCanUserViewGradebook()
|
|
3
|
+
* Query for the roles-based permission gate. This is the root of the fetch
|
|
4
|
+
* cascade: the other server queries stay disabled until this resolves truthy,
|
|
5
|
+
* mirroring the legacy `fetchRoles` -> fan-out behavior.
|
|
6
|
+
*/
|
|
7
|
+
export declare const useCanUserViewGradebook: () => import("@tanstack/react-query").UseQueryResult<boolean, Error>;
|
|
8
|
+
/**
|
|
9
|
+
* useAssignmentTypes()
|
|
10
|
+
* Single-responsibility query for assignment types (types + grades-frozen +
|
|
11
|
+
* bulk-management flags). Caller supplies `courseId` and decides when it may
|
|
12
|
+
* run via `enabled`.
|
|
13
|
+
*/
|
|
14
|
+
export declare const useAssignmentTypes: (courseId: string, { enabled }?: {
|
|
15
|
+
enabled?: boolean;
|
|
16
|
+
}) => import("@tanstack/react-query").UseQueryResult<import("./api").AssignmentTypesData, Error>;
|
|
17
|
+
/**
|
|
18
|
+
* useCanViewGradebook()
|
|
19
|
+
* The optimistic boolean read of the roles gate used by UI (header, spinner):
|
|
20
|
+
* `true` while the roles query is still loading (the legacy Redux initial state
|
|
21
|
+
* was `true`), the resolved value on success, `false` on error.
|
|
22
|
+
*/
|
|
23
|
+
export declare const useCanViewGradebook: () => boolean;
|
|
24
|
+
/**
|
|
25
|
+
* useCourseIdWithGate()
|
|
26
|
+
* Shared gate for the downstream server queries: the routed `courseId` plus an
|
|
27
|
+
* `enabled` flag that resolves truthy once `useCanUserViewGradebook` does.
|
|
28
|
+
* Callers pass the returned pair into single-responsibility query hooks so the
|
|
29
|
+
* gate rule lives in one place.
|
|
30
|
+
*/
|
|
31
|
+
export declare const useCourseIdWithGate: () => {
|
|
32
|
+
courseId: string;
|
|
33
|
+
enabled: boolean;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* useShowBulkManagement()
|
|
37
|
+
* Whether bulk management is available for the course (derived from the
|
|
38
|
+
* assignment-types query). Gates the header toggle + bulk-management controls.
|
|
39
|
+
*/
|
|
40
|
+
export declare const useShowBulkManagement: () => boolean;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { useQuery } from '@tanstack/react-query';
|
|
2
|
+
import { useParams } from 'react-router-dom';
|
|
3
|
+
import { getAssignmentTypes, getCanUserViewGradebook } from './api';
|
|
4
|
+
import { assignmentTypesQueryKeys, rolesQueryKeys } from './queryKeys';
|
|
5
|
+
/**
|
|
6
|
+
* useCanUserViewGradebook()
|
|
7
|
+
* Query for the roles-based permission gate. This is the root of the fetch
|
|
8
|
+
* cascade: the other server queries stay disabled until this resolves truthy,
|
|
9
|
+
* mirroring the legacy `fetchRoles` -> fan-out behavior.
|
|
10
|
+
*/
|
|
11
|
+
export const useCanUserViewGradebook = () => {
|
|
12
|
+
const { courseId = '' } = useParams();
|
|
13
|
+
return useQuery({
|
|
14
|
+
queryKey: rolesQueryKeys.byCourse(courseId),
|
|
15
|
+
queryFn: () => getCanUserViewGradebook(courseId),
|
|
16
|
+
enabled: !!courseId,
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* useAssignmentTypes()
|
|
21
|
+
* Single-responsibility query for assignment types (types + grades-frozen +
|
|
22
|
+
* bulk-management flags). Caller supplies `courseId` and decides when it may
|
|
23
|
+
* run via `enabled`.
|
|
24
|
+
*/
|
|
25
|
+
export const useAssignmentTypes = (courseId, { enabled = true } = {}) => useQuery({
|
|
26
|
+
queryKey: assignmentTypesQueryKeys.byCourse(courseId),
|
|
27
|
+
queryFn: getAssignmentTypes,
|
|
28
|
+
enabled: !!courseId && enabled,
|
|
29
|
+
});
|
|
30
|
+
/**
|
|
31
|
+
* useCanViewGradebook()
|
|
32
|
+
* The optimistic boolean read of the roles gate used by UI (header, spinner):
|
|
33
|
+
* `true` while the roles query is still loading (the legacy Redux initial state
|
|
34
|
+
* was `true`), the resolved value on success, `false` on error.
|
|
35
|
+
*/
|
|
36
|
+
export const useCanViewGradebook = () => {
|
|
37
|
+
const { data, isError } = useCanUserViewGradebook();
|
|
38
|
+
if (isError) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
return data === undefined ? true : !!data;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* useCourseIdWithGate()
|
|
45
|
+
* Shared gate for the downstream server queries: the routed `courseId` plus an
|
|
46
|
+
* `enabled` flag that resolves truthy once `useCanUserViewGradebook` does.
|
|
47
|
+
* Callers pass the returned pair into single-responsibility query hooks so the
|
|
48
|
+
* gate rule lives in one place.
|
|
49
|
+
*/
|
|
50
|
+
export const useCourseIdWithGate = () => {
|
|
51
|
+
const { courseId = '' } = useParams();
|
|
52
|
+
const { data: canViewGradebook } = useCanUserViewGradebook();
|
|
53
|
+
return { courseId, enabled: !!canViewGradebook };
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* useShowBulkManagement()
|
|
57
|
+
* Whether bulk management is available for the course (derived from the
|
|
58
|
+
* assignment-types query). Gates the header toggle + bulk-management controls.
|
|
59
|
+
*/
|
|
60
|
+
export const useShowBulkManagement = () => {
|
|
61
|
+
var _a;
|
|
62
|
+
const { courseId, enabled } = useCourseIdWithGate();
|
|
63
|
+
return !!((_a = useAssignmentTypes(courseId, { enabled }).data) === null || _a === void 0 ? void 0 : _a.bulkManagementAvailable);
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=apiHook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiHook.js","sourceRoot":"","sources":["../../src/data/apiHook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,EAAE;IAC1C,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC;IACtC,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC3C,OAAO,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,QAAQ,CAAC;QAChD,OAAO,EAAE,CAAC,CAAC,QAAQ;KACpB,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,QAAgB,EAChB,EAAE,OAAO,GAAG,IAAI,KAA4B,EAAE,EAC9C,EAAE,CAAC,QAAQ,CAAC;IACZ,QAAQ,EAAE,wBAAwB,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACrD,OAAO,EAAE,kBAAkB;IAC3B,OAAO,EAAE,CAAC,CAAC,QAAQ,IAAI,OAAO;CAC/B,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAY,EAAE;IAC/C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,uBAAuB,EAAE,CAAC;IACpD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5C,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAA2C,EAAE;IAC9E,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC;IACtC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,uBAAuB,EAAE,CAAC;IAC7D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC;AACnD,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAY,EAAE;;IACjD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,mBAAmB,EAAE,CAAC;IACpD,OAAO,CAAC,CAAC,CAAA,MAAA,kBAAkB,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,0CAAE,uBAAuB,CAAA,CAAC;AACnF,CAAC,CAAC","sourcesContent":["import { useQuery } from '@tanstack/react-query';\nimport { useParams } from 'react-router-dom';\n\nimport { getAssignmentTypes, getCanUserViewGradebook } from './api';\nimport { assignmentTypesQueryKeys, rolesQueryKeys } from './queryKeys';\n\n/**\n * useCanUserViewGradebook()\n * Query for the roles-based permission gate. This is the root of the fetch\n * cascade: the other server queries stay disabled until this resolves truthy,\n * mirroring the legacy `fetchRoles` -> fan-out behavior.\n */\nexport const useCanUserViewGradebook = () => {\n const { courseId = '' } = useParams();\n return useQuery({\n queryKey: rolesQueryKeys.byCourse(courseId),\n queryFn: () => getCanUserViewGradebook(courseId),\n enabled: !!courseId,\n });\n};\n\n/**\n * useAssignmentTypes()\n * Single-responsibility query for assignment types (types + grades-frozen +\n * bulk-management flags). Caller supplies `courseId` and decides when it may\n * run via `enabled`.\n */\nexport const useAssignmentTypes = (\n courseId: string,\n { enabled = true }: { enabled?: boolean } = {},\n) => useQuery({\n queryKey: assignmentTypesQueryKeys.byCourse(courseId),\n queryFn: getAssignmentTypes,\n enabled: !!courseId && enabled,\n});\n\n/**\n * useCanViewGradebook()\n * The optimistic boolean read of the roles gate used by UI (header, spinner):\n * `true` while the roles query is still loading (the legacy Redux initial state\n * was `true`), the resolved value on success, `false` on error.\n */\nexport const useCanViewGradebook = (): boolean => {\n const { data, isError } = useCanUserViewGradebook();\n if (isError) {\n return false;\n }\n return data === undefined ? true : !!data;\n};\n\n/**\n * useCourseIdWithGate()\n * Shared gate for the downstream server queries: the routed `courseId` plus an\n * `enabled` flag that resolves truthy once `useCanUserViewGradebook` does.\n * Callers pass the returned pair into single-responsibility query hooks so the\n * gate rule lives in one place.\n */\nexport const useCourseIdWithGate = (): { courseId: string; enabled: boolean } => {\n const { courseId = '' } = useParams();\n const { data: canViewGradebook } = useCanUserViewGradebook();\n return { courseId, enabled: !!canViewGradebook };\n};\n\n/**\n * useShowBulkManagement()\n * Whether bulk management is available for the course (derived from the\n * assignment-types query). Gates the header toggle + bulk-management controls.\n */\nexport const useShowBulkManagement = (): boolean => {\n const { courseId, enabled } = useCourseIdWithGate();\n return !!useAssignmentTypes(courseId, { enabled }).data?.bulkManagementAvailable;\n};\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const views: any;
|
|
2
|
+
export const modalFieldKeys: any;
|
|
3
|
+
export const localFilterKeys: any;
|
|
4
|
+
/**
|
|
5
|
+
* column configuration for bulk management tab's data table
|
|
6
|
+
*/
|
|
7
|
+
export const bulkManagementColumns: {
|
|
8
|
+
accessor: string;
|
|
9
|
+
Header: string;
|
|
10
|
+
columnSortable: boolean;
|
|
11
|
+
width: string;
|
|
12
|
+
}[];
|
|
13
|
+
export const gradeOverrideHistoryColumns: any;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { StrictDict } from '../../utils';
|
|
2
|
+
export const views = StrictDict({
|
|
3
|
+
grades: 'grades',
|
|
4
|
+
bulkManagementHistory: 'bulkManagementHistory',
|
|
5
|
+
});
|
|
6
|
+
export const modalFieldKeys = StrictDict({
|
|
7
|
+
adjustedGradePossible: 'adjustedGradePossible',
|
|
8
|
+
adjustedGradeValue: 'adjustedGradeValue',
|
|
9
|
+
assignmentName: 'assignmentName',
|
|
10
|
+
reasonForChange: 'reasonForChange',
|
|
11
|
+
todaysDate: 'todaysDate',
|
|
12
|
+
updateModuleId: 'updateModuleId',
|
|
13
|
+
updateUserId: 'updateUserId',
|
|
14
|
+
updateUserName: 'updateUserName',
|
|
15
|
+
open: 'open',
|
|
16
|
+
});
|
|
17
|
+
export const localFilterKeys = StrictDict({
|
|
18
|
+
assignmentGradeMax: 'assignmentGradeMax',
|
|
19
|
+
assignmentGradeMin: 'assignmentGradeMin',
|
|
20
|
+
courseGradeMax: 'courseGradeMax',
|
|
21
|
+
courseGradeMin: 'courseGradeMin',
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* column configuration for bulk management tab's data table
|
|
25
|
+
*/
|
|
26
|
+
export const bulkManagementColumns = [
|
|
27
|
+
{
|
|
28
|
+
accessor: 'filename',
|
|
29
|
+
Header: 'Gradebook',
|
|
30
|
+
columnSortable: false,
|
|
31
|
+
width: 'col-5',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
accessor: 'resultsSummary',
|
|
35
|
+
Header: 'Download Summary',
|
|
36
|
+
columnSortable: false,
|
|
37
|
+
width: 'col',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
accessor: 'user',
|
|
41
|
+
Header: 'Who',
|
|
42
|
+
columnSortable: false,
|
|
43
|
+
width: 'col-1',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
accessor: 'timeUploaded',
|
|
47
|
+
Header: 'When',
|
|
48
|
+
columnSortable: false,
|
|
49
|
+
width: 'col',
|
|
50
|
+
},
|
|
51
|
+
];
|
|
52
|
+
export const gradeOverrideHistoryColumns = StrictDict({
|
|
53
|
+
adjustedGrade: 'adjustedGrade',
|
|
54
|
+
date: 'date',
|
|
55
|
+
grader: 'grader',
|
|
56
|
+
reason: 'reason',
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/data/constants/app.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAAC;IAC9B,MAAM,EAAE,QAAQ;IAChB,qBAAqB,EAAE,uBAAuB;CAC/C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,qBAAqB,EAAE,uBAAuB;IAC9C,kBAAkB,EAAE,oBAAoB;IACxC,cAAc,EAAE,gBAAgB;IAChC,eAAe,EAAE,iBAAiB;IAClC,UAAU,EAAE,YAAY;IACxB,cAAc,EAAE,gBAAgB;IAChC,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,gBAAgB;IAChC,IAAI,EAAE,MAAM;CACb,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;IACxC,kBAAkB,EAAE,oBAAoB;IACxC,kBAAkB,EAAE,oBAAoB;IACxC,cAAc,EAAE,gBAAgB;IAChC,cAAc,EAAE,gBAAgB;CACjC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC;QACE,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,WAAW;QACnB,cAAc,EAAE,KAAK;QACrB,KAAK,EAAE,OAAO;KACf;IACD;QACE,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,kBAAkB;QAC1B,cAAc,EAAE,KAAK;QACrB,KAAK,EAAE,KAAK;KACb;IACD;QACE,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,KAAK;QACb,cAAc,EAAE,KAAK;QACrB,KAAK,EAAE,OAAO;KACf;IACD;QACE,QAAQ,EAAE,cAAc;QACxB,MAAM,EAAE,MAAM;QACd,cAAc,EAAE,KAAK;QACrB,KAAK,EAAE,KAAK;KACb;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,UAAU,CAAC;IACpD,aAAa,EAAE,eAAe;IAC9B,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;CACjB,CAAC,CAAC","sourcesContent":["import { StrictDict } from '@src/utils';\n\nexport const views = StrictDict({\n grades: 'grades',\n bulkManagementHistory: 'bulkManagementHistory',\n});\n\nexport const modalFieldKeys = StrictDict({\n adjustedGradePossible: 'adjustedGradePossible',\n adjustedGradeValue: 'adjustedGradeValue',\n assignmentName: 'assignmentName',\n reasonForChange: 'reasonForChange',\n todaysDate: 'todaysDate',\n updateModuleId: 'updateModuleId',\n updateUserId: 'updateUserId',\n updateUserName: 'updateUserName',\n open: 'open',\n});\n\nexport const localFilterKeys = StrictDict({\n assignmentGradeMax: 'assignmentGradeMax',\n assignmentGradeMin: 'assignmentGradeMin',\n courseGradeMax: 'courseGradeMax',\n courseGradeMin: 'courseGradeMin',\n});\n\n/**\n * column configuration for bulk management tab's data table\n */\nexport const bulkManagementColumns = [\n {\n accessor: 'filename',\n Header: 'Gradebook',\n columnSortable: false,\n width: 'col-5',\n },\n {\n accessor: 'resultsSummary',\n Header: 'Download Summary',\n columnSortable: false,\n width: 'col',\n },\n {\n accessor: 'user',\n Header: 'Who',\n columnSortable: false,\n width: 'col-1',\n },\n {\n accessor: 'timeUploaded',\n Header: 'When',\n columnSortable: false,\n width: 'col',\n },\n];\n\nexport const gradeOverrideHistoryColumns = StrictDict({\n adjustedGrade: 'adjustedGrade',\n date: 'date',\n grader: 'grader',\n reason: 'reason',\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/data/constants/errors.js"],"names":[],"mappings":"AAAA,MAAM,wCAAwC,GAAG,0CAA0C,CAAC;AAE5F,eAAe,wCAAwC,CAAC","sourcesContent":["const GRADE_OVERRIDE_HISTORY_ERROR_DEFAULT_MSG = 'Error retrieving grade override history.';\n\nexport default GRADE_OVERRIDE_HISTORY_ERROR_DEFAULT_MSG;\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const filters: any;
|
|
2
|
+
export const filterConfig: any;
|
|
3
|
+
export const badgeOrder: any[];
|
|
4
|
+
export default initialFilters;
|
|
5
|
+
declare const initialFilters: {
|
|
6
|
+
[filters.assignment]: string;
|
|
7
|
+
[filters.assignmentGradeMax]: string;
|
|
8
|
+
[filters.assignmentGradeMin]: string;
|
|
9
|
+
[filters.assignmentType]: string;
|
|
10
|
+
[filters.cohort]: string;
|
|
11
|
+
[filters.courseGradeMax]: string;
|
|
12
|
+
[filters.courseGradeMin]: string;
|
|
13
|
+
[filters.includeCourseRoleMembers]: boolean;
|
|
14
|
+
[filters.track]: string;
|
|
15
|
+
};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { StrictDict } from '../../utils';
|
|
2
|
+
import messages from './filters.messages';
|
|
3
|
+
export const filters = StrictDict({
|
|
4
|
+
assignment: 'assignment',
|
|
5
|
+
assignmentGrade: 'assignmentGrade',
|
|
6
|
+
assignmentGradeMax: 'assignmentGradeMax',
|
|
7
|
+
assignmentGradeMin: 'assignmentGradeMin',
|
|
8
|
+
assignmentType: 'assignmentType',
|
|
9
|
+
cohort: 'cohort',
|
|
10
|
+
courseGrade: 'courseGrade',
|
|
11
|
+
courseGradeMax: 'courseGradeMax',
|
|
12
|
+
courseGradeMin: 'courseGradeMin',
|
|
13
|
+
excludedCourseRoles: 'excludedCourseRoles',
|
|
14
|
+
includeCourseRoleMembers: 'includeCourseRoleMembers',
|
|
15
|
+
track: 'track',
|
|
16
|
+
});
|
|
17
|
+
const initialFilters = {
|
|
18
|
+
[filters.assignment]: '',
|
|
19
|
+
[filters.assignmentGradeMax]: '100',
|
|
20
|
+
[filters.assignmentGradeMin]: '0',
|
|
21
|
+
[filters.assignmentType]: '',
|
|
22
|
+
[filters.cohort]: '',
|
|
23
|
+
[filters.courseGradeMax]: '100',
|
|
24
|
+
[filters.courseGradeMin]: '0',
|
|
25
|
+
[filters.includeCourseRoleMembers]: false,
|
|
26
|
+
[filters.track]: '',
|
|
27
|
+
};
|
|
28
|
+
export const filterConfig = StrictDict({
|
|
29
|
+
[filters.assignment]: {
|
|
30
|
+
displayName: messages[filters.assignment],
|
|
31
|
+
connectedFilters: ['assignment', 'assignmentGradeMax', 'assignmentGradeMax'],
|
|
32
|
+
},
|
|
33
|
+
[filters.assignmentType]: {
|
|
34
|
+
displayName: messages[filters.assignmentType],
|
|
35
|
+
connectedFilters: ['assignmentType'],
|
|
36
|
+
},
|
|
37
|
+
[filters.assignmentGrade]: {
|
|
38
|
+
displayName: messages[filters.assignmentGrade],
|
|
39
|
+
filterOrder: ['assignmentGradeMin', 'assignmentGradeMax'],
|
|
40
|
+
connectedFilters: ['assignmentGradeMax', 'assignmentGradeMin'],
|
|
41
|
+
},
|
|
42
|
+
[filters.cohort]: {
|
|
43
|
+
displayName: messages[filters.cohort],
|
|
44
|
+
connectedFilters: ['cohort'],
|
|
45
|
+
},
|
|
46
|
+
[filters.courseGrade]: {
|
|
47
|
+
displayName: messages[filters.courseGrade],
|
|
48
|
+
filterOrder: ['courseGradeMin', 'courseGradeMax'],
|
|
49
|
+
connectedFilters: ['courseGradeMax', 'courseGradeMin'],
|
|
50
|
+
},
|
|
51
|
+
[filters.includeCourseRoleMembers]: {
|
|
52
|
+
displayName: messages[filters.includeCourseRoleMembers],
|
|
53
|
+
connectedFilters: ['includeCourseRoleMembers'],
|
|
54
|
+
hideValue: true,
|
|
55
|
+
},
|
|
56
|
+
[filters.track]: {
|
|
57
|
+
displayName: messages[filters.track],
|
|
58
|
+
connectedFilters: ['track'],
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
export const badgeOrder = [
|
|
62
|
+
filters.assignmentType,
|
|
63
|
+
filters.assignment,
|
|
64
|
+
filters.assignmentGrade,
|
|
65
|
+
filters.courseGrade,
|
|
66
|
+
filters.track,
|
|
67
|
+
filters.cohort,
|
|
68
|
+
filters.includeCourseRoleMembers,
|
|
69
|
+
];
|
|
70
|
+
export default initialFilters;
|
|
71
|
+
//# sourceMappingURL=filters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../src/data/constants/filters.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAE1C,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC;IAChC,UAAU,EAAE,YAAY;IACxB,eAAe,EAAE,iBAAiB;IAClC,kBAAkB,EAAE,oBAAoB;IACxC,kBAAkB,EAAE,oBAAoB;IACxC,cAAc,EAAE,gBAAgB;IAChC,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,aAAa;IAC1B,cAAc,EAAE,gBAAgB;IAChC,cAAc,EAAE,gBAAgB;IAChC,mBAAmB,EAAE,qBAAqB;IAC1C,wBAAwB,EAAE,0BAA0B;IACpD,KAAK,EAAE,OAAO;CACf,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG;IACrB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE;IACxB,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,KAAK;IACnC,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,GAAG;IACjC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE;IAC5B,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE;IACpB,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK;IAC/B,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,GAAG;IAC7B,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,KAAK;IACzC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;IACrC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QACpB,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;QACzC,gBAAgB,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,CAAC;KAC7E;IACD,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;QACxB,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC;QAC7C,gBAAgB,EAAE,CAAC,gBAAgB,CAAC;KACrC;IACD,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;QACzB,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC;QAC9C,WAAW,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;QACzD,gBAAgB,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;KAC/D;IACD,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAChB,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;QACrC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;KAC7B;IACD,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;QACrB,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;QAC1C,WAAW,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;QACjD,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;KACvD;IACD,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE;QAClC,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,wBAAwB,CAAC;QACvD,gBAAgB,EAAE,CAAC,0BAA0B,CAAC;QAC9C,SAAS,EAAE,IAAI;KAChB;IACD,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACf,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;QACpC,gBAAgB,EAAE,CAAC,OAAO,CAAC;KAC5B;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,wBAAwB;CACjC,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["import { StrictDict } from '@src/utils';\n\nimport messages from './filters.messages';\n\nexport const filters = StrictDict({\n assignment: 'assignment',\n assignmentGrade: 'assignmentGrade',\n assignmentGradeMax: 'assignmentGradeMax',\n assignmentGradeMin: 'assignmentGradeMin',\n assignmentType: 'assignmentType',\n cohort: 'cohort',\n courseGrade: 'courseGrade',\n courseGradeMax: 'courseGradeMax',\n courseGradeMin: 'courseGradeMin',\n excludedCourseRoles: 'excludedCourseRoles',\n includeCourseRoleMembers: 'includeCourseRoleMembers',\n track: 'track',\n});\n\nconst initialFilters = {\n [filters.assignment]: '',\n [filters.assignmentGradeMax]: '100',\n [filters.assignmentGradeMin]: '0',\n [filters.assignmentType]: '',\n [filters.cohort]: '',\n [filters.courseGradeMax]: '100',\n [filters.courseGradeMin]: '0',\n [filters.includeCourseRoleMembers]: false,\n [filters.track]: '',\n};\n\nexport const filterConfig = StrictDict({\n [filters.assignment]: {\n displayName: messages[filters.assignment],\n connectedFilters: ['assignment', 'assignmentGradeMax', 'assignmentGradeMax'],\n },\n [filters.assignmentType]: {\n displayName: messages[filters.assignmentType],\n connectedFilters: ['assignmentType'],\n },\n [filters.assignmentGrade]: {\n displayName: messages[filters.assignmentGrade],\n filterOrder: ['assignmentGradeMin', 'assignmentGradeMax'],\n connectedFilters: ['assignmentGradeMax', 'assignmentGradeMin'],\n },\n [filters.cohort]: {\n displayName: messages[filters.cohort],\n connectedFilters: ['cohort'],\n },\n [filters.courseGrade]: {\n displayName: messages[filters.courseGrade],\n filterOrder: ['courseGradeMin', 'courseGradeMax'],\n connectedFilters: ['courseGradeMax', 'courseGradeMin'],\n },\n [filters.includeCourseRoleMembers]: {\n displayName: messages[filters.includeCourseRoleMembers],\n connectedFilters: ['includeCourseRoleMembers'],\n hideValue: true,\n },\n [filters.track]: {\n displayName: messages[filters.track],\n connectedFilters: ['track'],\n },\n});\n\nexport const badgeOrder = [\n filters.assignmentType,\n filters.assignment,\n filters.assignmentGrade,\n filters.courseGrade,\n filters.track,\n filters.cohort,\n filters.includeCourseRoleMembers,\n];\n\nexport default initialFilters;\n"]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export default messages;
|
|
2
|
+
declare namespace messages {
|
|
3
|
+
namespace assignment {
|
|
4
|
+
let id: string;
|
|
5
|
+
let defaultMessage: string;
|
|
6
|
+
let description: string;
|
|
7
|
+
}
|
|
8
|
+
namespace assignmentGrade {
|
|
9
|
+
let id_1: string;
|
|
10
|
+
export { id_1 as id };
|
|
11
|
+
let defaultMessage_1: string;
|
|
12
|
+
export { defaultMessage_1 as defaultMessage };
|
|
13
|
+
let description_1: string;
|
|
14
|
+
export { description_1 as description };
|
|
15
|
+
}
|
|
16
|
+
namespace assignmentType {
|
|
17
|
+
let id_2: string;
|
|
18
|
+
export { id_2 as id };
|
|
19
|
+
let defaultMessage_2: string;
|
|
20
|
+
export { defaultMessage_2 as defaultMessage };
|
|
21
|
+
let description_2: string;
|
|
22
|
+
export { description_2 as description };
|
|
23
|
+
}
|
|
24
|
+
namespace cohort {
|
|
25
|
+
let id_3: string;
|
|
26
|
+
export { id_3 as id };
|
|
27
|
+
let defaultMessage_3: string;
|
|
28
|
+
export { defaultMessage_3 as defaultMessage };
|
|
29
|
+
let description_3: string;
|
|
30
|
+
export { description_3 as description };
|
|
31
|
+
}
|
|
32
|
+
namespace courseGrade {
|
|
33
|
+
let id_4: string;
|
|
34
|
+
export { id_4 as id };
|
|
35
|
+
let defaultMessage_4: string;
|
|
36
|
+
export { defaultMessage_4 as defaultMessage };
|
|
37
|
+
let description_4: string;
|
|
38
|
+
export { description_4 as description };
|
|
39
|
+
}
|
|
40
|
+
namespace includeCourseRoleMembers {
|
|
41
|
+
let id_5: string;
|
|
42
|
+
export { id_5 as id };
|
|
43
|
+
let defaultMessage_5: string;
|
|
44
|
+
export { defaultMessage_5 as defaultMessage };
|
|
45
|
+
let description_5: string;
|
|
46
|
+
export { description_5 as description };
|
|
47
|
+
}
|
|
48
|
+
namespace track {
|
|
49
|
+
let id_6: string;
|
|
50
|
+
export { id_6 as id };
|
|
51
|
+
let defaultMessage_6: string;
|
|
52
|
+
export { defaultMessage_6 as defaultMessage };
|
|
53
|
+
let description_6: string;
|
|
54
|
+
export { description_6 as description };
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { defineMessages } from '@openedx/frontend-base';
|
|
2
|
+
const messages = defineMessages({
|
|
3
|
+
assignment: {
|
|
4
|
+
id: 'gradebook.GradesTab.FilterBadges.assignment',
|
|
5
|
+
defaultMessage: 'Assignment',
|
|
6
|
+
description: 'A label describing the notification under the "Edit Filters" button that shows by which of the course\'s assignments the view is being filtered.',
|
|
7
|
+
},
|
|
8
|
+
assignmentGrade: {
|
|
9
|
+
id: 'gradebook.GradesTab.FilterBadges.assignmentGrade',
|
|
10
|
+
defaultMessage: 'Assignment Grade',
|
|
11
|
+
description: 'A label describing the notification under the "Edit Filters" button that shows that the view is being filtered to include assignment grades within the alloted range.',
|
|
12
|
+
},
|
|
13
|
+
assignmentType: {
|
|
14
|
+
id: 'gradebook.GradesTab.FilterBadges.assignmentType',
|
|
15
|
+
defaultMessage: 'Assignment Type',
|
|
16
|
+
description: 'A label describing the notification under the "Edit Filters" button that shows by which of the course\'s assignment types the view is being filtered.',
|
|
17
|
+
},
|
|
18
|
+
cohort: {
|
|
19
|
+
id: 'gradebook.GradesTab.FilterBadges.cohort',
|
|
20
|
+
defaultMessage: 'Cohort',
|
|
21
|
+
description: 'A label describing the notification under the "Edit Filters" button that shows by which of the course\'s cohorts the view is being filtered.',
|
|
22
|
+
},
|
|
23
|
+
courseGrade: {
|
|
24
|
+
id: 'gradebook.GradesTab.FilterBadges.courseGrade',
|
|
25
|
+
defaultMessage: 'Course Grade',
|
|
26
|
+
description: 'A label describing the notification under the "Edit Filters" button that shows that the view is being filtered to include course grades within the alloted range.',
|
|
27
|
+
},
|
|
28
|
+
includeCourseRoleMembers: {
|
|
29
|
+
id: 'gradebook.GradesTab.FilterBadges.includeCourseRoleMembers',
|
|
30
|
+
defaultMessage: 'Include Course Team Members',
|
|
31
|
+
description: 'A label describing the notification under the "Edit Filters" button that shows that the view is being filtered to include course team members.',
|
|
32
|
+
},
|
|
33
|
+
track: {
|
|
34
|
+
id: 'gradebook.GradesTab.FilterBadges.track',
|
|
35
|
+
defaultMessage: 'Track',
|
|
36
|
+
description: 'A label describing the notification under the "Edit Filters" button that shows by which of the course\'s tracks the view is being filtered.',
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
export default messages;
|
|
40
|
+
//# sourceMappingURL=filters.messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.messages.js","sourceRoot":"","sources":["../../../src/data/constants/filters.messages.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC9B,UAAU,EAAE;QACV,EAAE,EAAE,6CAA6C;QACjD,cAAc,EAAE,YAAY;QAC5B,WAAW,EAAE,kJAAkJ;KAChK;IACD,eAAe,EAAE;QACf,EAAE,EAAE,kDAAkD;QACtD,cAAc,EAAE,kBAAkB;QAClC,WAAW,EAAE,uKAAuK;KACrL;IACD,cAAc,EAAE;QACd,EAAE,EAAE,iDAAiD;QACrD,cAAc,EAAE,iBAAiB;QACjC,WAAW,EAAE,uJAAuJ;KACrK;IACD,MAAM,EAAE;QACN,EAAE,EAAE,yCAAyC;QAC7C,cAAc,EAAE,QAAQ;QACxB,WAAW,EAAE,8IAA8I;KAC5J;IACD,WAAW,EAAE;QACX,EAAE,EAAE,8CAA8C;QAClD,cAAc,EAAE,cAAc;QAC9B,WAAW,EAAE,mKAAmK;KACjL;IACD,wBAAwB,EAAE;QACxB,EAAE,EAAE,2DAA2D;QAC/D,cAAc,EAAE,6BAA6B;QAC7C,WAAW,EAAE,gJAAgJ;KAC9J;IACD,KAAK,EAAE;QACL,EAAE,EAAE,wCAAwC;QAC5C,cAAc,EAAE,OAAO;QACvB,WAAW,EAAE,6IAA6I;KAC3J;CACF,CAAC,CAAC;AAEH,eAAe,QAAQ,CAAC","sourcesContent":["import { defineMessages } from '@openedx/frontend-base';\n\nconst messages = defineMessages({\n assignment: {\n id: 'gradebook.GradesTab.FilterBadges.assignment',\n defaultMessage: 'Assignment',\n description: 'A label describing the notification under the \"Edit Filters\" button that shows by which of the course\\'s assignments the view is being filtered.',\n },\n assignmentGrade: {\n id: 'gradebook.GradesTab.FilterBadges.assignmentGrade',\n defaultMessage: 'Assignment Grade',\n description: 'A label describing the notification under the \"Edit Filters\" button that shows that the view is being filtered to include assignment grades within the alloted range.',\n },\n assignmentType: {\n id: 'gradebook.GradesTab.FilterBadges.assignmentType',\n defaultMessage: 'Assignment Type',\n description: 'A label describing the notification under the \"Edit Filters\" button that shows by which of the course\\'s assignment types the view is being filtered.',\n },\n cohort: {\n id: 'gradebook.GradesTab.FilterBadges.cohort',\n defaultMessage: 'Cohort',\n description: 'A label describing the notification under the \"Edit Filters\" button that shows by which of the course\\'s cohorts the view is being filtered.',\n },\n courseGrade: {\n id: 'gradebook.GradesTab.FilterBadges.courseGrade',\n defaultMessage: 'Course Grade',\n description: 'A label describing the notification under the \"Edit Filters\" button that shows that the view is being filtered to include course grades within the alloted range.',\n },\n includeCourseRoleMembers: {\n id: 'gradebook.GradesTab.FilterBadges.includeCourseRoleMembers',\n defaultMessage: 'Include Course Team Members',\n description: 'A label describing the notification under the \"Edit Filters\" button that shows that the view is being filtered to include course team members.',\n },\n track: {\n id: 'gradebook.GradesTab.FilterBadges.track',\n defaultMessage: 'Track',\n description: 'A label describing the notification under the \"Edit Filters\" button that shows by which of the course\\'s tracks the view is being filtered.',\n },\n});\n\nexport default messages;\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { StrictDict } from '../../utils';
|
|
2
|
+
const EMAIL_HEADING = 'Email';
|
|
3
|
+
const TOTAL_COURSE_GRADE_HEADING = 'Total Grade (%)';
|
|
4
|
+
const USERNAME_HEADING = 'Username';
|
|
5
|
+
const FULL_NAME_HEADING = 'Full Name';
|
|
6
|
+
const GradeFormats = StrictDict({
|
|
7
|
+
absolute: 'absolute',
|
|
8
|
+
percent: 'percent',
|
|
9
|
+
});
|
|
10
|
+
const Headings = StrictDict({
|
|
11
|
+
email: EMAIL_HEADING,
|
|
12
|
+
totalGrade: TOTAL_COURSE_GRADE_HEADING,
|
|
13
|
+
username: USERNAME_HEADING,
|
|
14
|
+
fullName: FULL_NAME_HEADING,
|
|
15
|
+
});
|
|
16
|
+
export { EMAIL_HEADING, TOTAL_COURSE_GRADE_HEADING, USERNAME_HEADING, FULL_NAME_HEADING, GradeFormats, Headings, };
|
|
17
|
+
//# sourceMappingURL=grades.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grades.js","sourceRoot":"","sources":["../../../src/data/constants/grades.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,aAAa,GAAG,OAAO,CAAC;AAC9B,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;AACrD,MAAM,gBAAgB,GAAG,UAAU,CAAC;AACpC,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAEtC,MAAM,YAAY,GAAG,UAAU,CAAC;IAC9B,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;CACnB,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,UAAU,CAAC;IAC1B,KAAK,EAAE,aAAa;IACpB,UAAU,EAAE,0BAA0B;IACtC,QAAQ,EAAE,gBAAgB;IAC1B,QAAQ,EAAE,iBAAiB;CAC5B,CAAC,CAAC;AAEH,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,QAAQ,GACT,CAAC","sourcesContent":["import { StrictDict } from '@src/utils';\n\nconst EMAIL_HEADING = 'Email';\nconst TOTAL_COURSE_GRADE_HEADING = 'Total Grade (%)';\nconst USERNAME_HEADING = 'Username';\nconst FULL_NAME_HEADING = 'Full Name';\n\nconst GradeFormats = StrictDict({\n absolute: 'absolute',\n percent: 'percent',\n});\n\nconst Headings = StrictDict({\n email: EMAIL_HEADING,\n totalGrade: TOTAL_COURSE_GRADE_HEADING,\n username: USERNAME_HEADING,\n fullName: FULL_NAME_HEADING,\n});\n\nexport {\n EMAIL_HEADING,\n TOTAL_COURSE_GRADE_HEADING,\n USERNAME_HEADING,\n FULL_NAME_HEADING,\n GradeFormats,\n Headings,\n};\n"]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Client-side gradebook filter state, held in React (Context + useState).
|
|
4
|
+
*
|
|
5
|
+
* Replaces the Redux `filters` slice (and the live grade-limit inputs from the
|
|
6
|
+
* `app` slice). The provider also mirrors the fetch-relevant values into the
|
|
7
|
+
* synchronous `filtersSnapshot`, which the grades queryFn reads at fetch time.
|
|
8
|
+
*/
|
|
9
|
+
export interface FiltersContextValue {
|
|
10
|
+
assignmentType: string;
|
|
11
|
+
setAssignmentType: (value: string) => void;
|
|
12
|
+
assignment: string;
|
|
13
|
+
setAssignment: (value: string) => void;
|
|
14
|
+
includeCourseRoleMembers: boolean;
|
|
15
|
+
setIncludeCourseRoleMembers: (value: boolean) => void;
|
|
16
|
+
cohort: string;
|
|
17
|
+
setCohort: (value: string) => void;
|
|
18
|
+
track: string;
|
|
19
|
+
setTrack: (value: string) => void;
|
|
20
|
+
assignmentGradeMin: string;
|
|
21
|
+
setAssignmentGradeMin: (value: string) => void;
|
|
22
|
+
assignmentGradeMax: string;
|
|
23
|
+
setAssignmentGradeMax: (value: string) => void;
|
|
24
|
+
courseGradeMin: string;
|
|
25
|
+
setCourseGradeMin: (value: string) => void;
|
|
26
|
+
courseGradeMax: string;
|
|
27
|
+
setCourseGradeMax: (value: string) => void;
|
|
28
|
+
searchValue: string;
|
|
29
|
+
setSearchValue: (value: string) => void;
|
|
30
|
+
appliedAssignmentGradeMin: string;
|
|
31
|
+
appliedAssignmentGradeMax: string;
|
|
32
|
+
appliedCourseGradeMin: string;
|
|
33
|
+
appliedCourseGradeMax: string;
|
|
34
|
+
applyAssignmentGradeLimits: (limits: {
|
|
35
|
+
assignmentGradeMin: string;
|
|
36
|
+
assignmentGradeMax: string;
|
|
37
|
+
}) => void;
|
|
38
|
+
applyCourseGradeLimits: (limits: {
|
|
39
|
+
courseGradeMin: string;
|
|
40
|
+
courseGradeMax: string;
|
|
41
|
+
}) => void;
|
|
42
|
+
/**
|
|
43
|
+
* Reset the given filter names to their defaults (used by the active-filter
|
|
44
|
+
* badge close buttons). Resets both the live and applied grade-limit values.
|
|
45
|
+
* Was the Redux `filters.reset` action.
|
|
46
|
+
*/
|
|
47
|
+
resetFilters: (filterNames: string[]) => void;
|
|
48
|
+
}
|
|
49
|
+
declare const FiltersContext: React.Context<FiltersContextValue | undefined>;
|
|
50
|
+
interface FiltersProviderProps {
|
|
51
|
+
children: React.ReactNode;
|
|
52
|
+
}
|
|
53
|
+
export declare const FiltersProvider: ({ children }: FiltersProviderProps) => React.JSX.Element;
|
|
54
|
+
/**
|
|
55
|
+
* useFilters()
|
|
56
|
+
* Accessor for the gradebook filter context. Throws if used outside a
|
|
57
|
+
* <FiltersProvider>.
|
|
58
|
+
*/
|
|
59
|
+
export declare const useFilters: () => FiltersContextValue;
|
|
60
|
+
export default FiltersContext;
|