@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.
Files changed (350) hide show
  1. package/LICENSE +661 -0
  2. package/README.rst +279 -0
  3. package/dist/Main.d.ts +3 -0
  4. package/dist/Main.js +17 -0
  5. package/dist/Main.js.map +1 -0
  6. package/dist/app.d.ts +3 -0
  7. package/dist/app.js +10 -0
  8. package/dist/app.js.map +1 -0
  9. package/dist/components/BulkManagementHistoryView/BulkManagementAlerts.d.ts +5 -0
  10. package/dist/components/BulkManagementHistoryView/BulkManagementAlerts.js +20 -0
  11. package/dist/components/BulkManagementHistoryView/BulkManagementAlerts.js.map +1 -0
  12. package/dist/components/BulkManagementHistoryView/BulkManagementHistoryView.scss +6 -0
  13. package/dist/components/BulkManagementHistoryView/HistoryTable.d.ts +33 -0
  14. package/dist/components/BulkManagementHistoryView/HistoryTable.js +53 -0
  15. package/dist/components/BulkManagementHistoryView/HistoryTable.js.map +1 -0
  16. package/dist/components/BulkManagementHistoryView/ResultsSummary.d.ts +16 -0
  17. package/dist/components/BulkManagementHistoryView/ResultsSummary.js +19 -0
  18. package/dist/components/BulkManagementHistoryView/ResultsSummary.js.map +1 -0
  19. package/dist/components/BulkManagementHistoryView/data/api.d.ts +5 -0
  20. package/dist/components/BulkManagementHistoryView/data/api.js +16 -0
  21. package/dist/components/BulkManagementHistoryView/data/api.js.map +1 -0
  22. package/dist/components/BulkManagementHistoryView/data/apiHook.d.ts +16 -0
  23. package/dist/components/BulkManagementHistoryView/data/apiHook.js +34 -0
  24. package/dist/components/BulkManagementHistoryView/data/apiHook.js.map +1 -0
  25. package/dist/components/BulkManagementHistoryView/data/queryKeys.d.ts +5 -0
  26. package/dist/components/BulkManagementHistoryView/data/queryKeys.js +7 -0
  27. package/dist/components/BulkManagementHistoryView/data/queryKeys.js.map +1 -0
  28. package/dist/components/BulkManagementHistoryView/data/utils.d.ts +34 -0
  29. package/dist/components/BulkManagementHistoryView/data/utils.js +45 -0
  30. package/dist/components/BulkManagementHistoryView/data/utils.js.map +1 -0
  31. package/dist/components/BulkManagementHistoryView/index.d.ts +2 -0
  32. package/dist/components/BulkManagementHistoryView/index.js +12 -0
  33. package/dist/components/BulkManagementHistoryView/index.js.map +1 -0
  34. package/dist/components/BulkManagementHistoryView/messages.d.ts +24 -0
  35. package/dist/components/BulkManagementHistoryView/messages.js +20 -0
  36. package/dist/components/BulkManagementHistoryView/messages.js.map +1 -0
  37. package/dist/components/GradebookFilters/AssignmentFilter/index.d.ts +10 -0
  38. package/dist/components/GradebookFilters/AssignmentFilter/index.js +31 -0
  39. package/dist/components/GradebookFilters/AssignmentFilter/index.js.map +1 -0
  40. package/dist/components/GradebookFilters/AssignmentGradeFilter/hooks.d.ts +19 -0
  41. package/dist/components/GradebookFilters/AssignmentGradeFilter/hooks.js +31 -0
  42. package/dist/components/GradebookFilters/AssignmentGradeFilter/hooks.js.map +1 -0
  43. package/dist/components/GradebookFilters/AssignmentGradeFilter/index.d.ts +10 -0
  44. package/dist/components/GradebookFilters/AssignmentGradeFilter/index.js +17 -0
  45. package/dist/components/GradebookFilters/AssignmentGradeFilter/index.js.map +1 -0
  46. package/dist/components/GradebookFilters/AssignmentTypeFilter/index.d.ts +10 -0
  47. package/dist/components/GradebookFilters/AssignmentTypeFilter/index.js +38 -0
  48. package/dist/components/GradebookFilters/AssignmentTypeFilter/index.js.map +1 -0
  49. package/dist/components/GradebookFilters/CourseGradeFilter/hooks.d.ts +15 -0
  50. package/dist/components/GradebookFilters/CourseGradeFilter/hooks.js +34 -0
  51. package/dist/components/GradebookFilters/CourseGradeFilter/hooks.js.map +1 -0
  52. package/dist/components/GradebookFilters/CourseGradeFilter/index.d.ts +10 -0
  53. package/dist/components/GradebookFilters/CourseGradeFilter/index.js +17 -0
  54. package/dist/components/GradebookFilters/CourseGradeFilter/index.js.map +1 -0
  55. package/dist/components/GradebookFilters/GradebookFilters.scss +6 -0
  56. package/dist/components/GradebookFilters/PercentGroup.d.ts +22 -0
  57. package/dist/components/GradebookFilters/PercentGroup.js +16 -0
  58. package/dist/components/GradebookFilters/PercentGroup.js.map +1 -0
  59. package/dist/components/GradebookFilters/SelectGroup.d.ts +24 -0
  60. package/dist/components/GradebookFilters/SelectGroup.js +17 -0
  61. package/dist/components/GradebookFilters/SelectGroup.js.map +1 -0
  62. package/dist/components/GradebookFilters/StudentGroupsFilter/hooks.d.ts +16 -0
  63. package/dist/components/GradebookFilters/StudentGroupsFilter/hooks.js +46 -0
  64. package/dist/components/GradebookFilters/StudentGroupsFilter/hooks.js.map +1 -0
  65. package/dist/components/GradebookFilters/StudentGroupsFilter/index.d.ts +10 -0
  66. package/dist/components/GradebookFilters/StudentGroupsFilter/index.js +23 -0
  67. package/dist/components/GradebookFilters/StudentGroupsFilter/index.js.map +1 -0
  68. package/dist/components/GradebookFilters/data/api.d.ts +10 -0
  69. package/dist/components/GradebookFilters/data/api.js +27 -0
  70. package/dist/components/GradebookFilters/data/api.js.map +1 -0
  71. package/dist/components/GradebookFilters/data/apiHook.d.ts +16 -0
  72. package/dist/components/GradebookFilters/data/apiHook.js +24 -0
  73. package/dist/components/GradebookFilters/data/apiHook.js.map +1 -0
  74. package/dist/components/GradebookFilters/data/hooks.d.ts +7 -0
  75. package/dist/components/GradebookFilters/data/hooks.js +53 -0
  76. package/dist/components/GradebookFilters/data/hooks.js.map +1 -0
  77. package/dist/components/GradebookFilters/data/queryKeys.d.ts +10 -0
  78. package/dist/components/GradebookFilters/data/queryKeys.js +12 -0
  79. package/dist/components/GradebookFilters/data/queryKeys.js.map +1 -0
  80. package/dist/components/GradebookFilters/index.d.ts +10 -0
  81. package/dist/components/GradebookFilters/index.js +32 -0
  82. package/dist/components/GradebookFilters/index.js.map +1 -0
  83. package/dist/components/GradebookFilters/messages.d.ts +112 -0
  84. package/dist/components/GradebookFilters/messages.js +75 -0
  85. package/dist/components/GradebookFilters/messages.js.map +1 -0
  86. package/dist/components/GradebookHeader/hooks.d.ts +13 -0
  87. package/dist/components/GradebookHeader/hooks.js +28 -0
  88. package/dist/components/GradebookHeader/hooks.js.map +1 -0
  89. package/dist/components/GradebookHeader/index.d.ts +2 -0
  90. package/dist/components/GradebookHeader/index.js +14 -0
  91. package/dist/components/GradebookHeader/index.js.map +1 -0
  92. package/dist/components/GradebookHeader/messages.d.ts +48 -0
  93. package/dist/components/GradebookHeader/messages.js +35 -0
  94. package/dist/components/GradebookHeader/messages.js.map +1 -0
  95. package/dist/components/GradesView/BulkManagementControls/index.d.ts +2 -0
  96. package/dist/components/GradesView/BulkManagementControls/index.js +26 -0
  97. package/dist/components/GradesView/BulkManagementControls/index.js.map +1 -0
  98. package/dist/components/GradesView/BulkManagementControls/messages.d.ts +8 -0
  99. package/dist/components/GradesView/BulkManagementControls/messages.js +10 -0
  100. package/dist/components/GradesView/BulkManagementControls/messages.js.map +1 -0
  101. package/dist/components/GradesView/EditModal/HistoryHeader.d.ts +21 -0
  102. package/dist/components/GradesView/EditModal/HistoryHeader.js +20 -0
  103. package/dist/components/GradesView/EditModal/HistoryHeader.js.map +1 -0
  104. package/dist/components/GradesView/EditModal/ModalHeaders.d.ts +3 -0
  105. package/dist/components/GradesView/EditModal/ModalHeaders.js +26 -0
  106. package/dist/components/GradesView/EditModal/ModalHeaders.js.map +1 -0
  107. package/dist/components/GradesView/EditModal/OverrideTable/AdjustedGradeInput/index.d.ts +5 -0
  108. package/dist/components/GradesView/EditModal/OverrideTable/AdjustedGradeInput/index.js +23 -0
  109. package/dist/components/GradesView/EditModal/OverrideTable/AdjustedGradeInput/index.js.map +1 -0
  110. package/dist/components/GradesView/EditModal/OverrideTable/ReasonInput/index.d.ts +6 -0
  111. package/dist/components/GradesView/EditModal/OverrideTable/ReasonInput/index.js +25 -0
  112. package/dist/components/GradesView/EditModal/OverrideTable/ReasonInput/index.js.map +1 -0
  113. package/dist/components/GradesView/EditModal/OverrideTable/index.d.ts +5 -0
  114. package/dist/components/GradesView/EditModal/OverrideTable/index.js +39 -0
  115. package/dist/components/GradesView/EditModal/OverrideTable/index.js.map +1 -0
  116. package/dist/components/GradesView/EditModal/OverrideTable/messages.d.ts +32 -0
  117. package/dist/components/GradesView/EditModal/OverrideTable/messages.js +25 -0
  118. package/dist/components/GradesView/EditModal/OverrideTable/messages.js.map +1 -0
  119. package/dist/components/GradesView/EditModal/index.d.ts +2 -0
  120. package/dist/components/GradesView/EditModal/index.js +35 -0
  121. package/dist/components/GradesView/EditModal/index.js.map +1 -0
  122. package/dist/components/GradesView/EditModal/messages.d.ts +72 -0
  123. package/dist/components/GradesView/EditModal/messages.js +50 -0
  124. package/dist/components/GradesView/EditModal/messages.js.map +1 -0
  125. package/dist/components/GradesView/FilterBadges/FilterBadge.d.ts +9 -0
  126. package/dist/components/GradesView/FilterBadges/FilterBadge.js +27 -0
  127. package/dist/components/GradesView/FilterBadges/FilterBadge.js.map +1 -0
  128. package/dist/components/GradesView/FilterBadges/index.d.ts +8 -0
  129. package/dist/components/GradesView/FilterBadges/index.js +15 -0
  130. package/dist/components/GradesView/FilterBadges/index.js.map +1 -0
  131. package/dist/components/GradesView/FilterMenuToggle/index.d.ts +5 -0
  132. package/dist/components/GradesView/FilterMenuToggle/index.js +18 -0
  133. package/dist/components/GradesView/FilterMenuToggle/index.js.map +1 -0
  134. package/dist/components/GradesView/FilterMenuToggle/messages.d.ts +8 -0
  135. package/dist/components/GradesView/FilterMenuToggle/messages.js +10 -0
  136. package/dist/components/GradesView/FilterMenuToggle/messages.js.map +1 -0
  137. package/dist/components/GradesView/FilteredUsersLabel/index.d.ts +15 -0
  138. package/dist/components/GradesView/FilteredUsersLabel/index.js +27 -0
  139. package/dist/components/GradesView/FilteredUsersLabel/index.js.map +1 -0
  140. package/dist/components/GradesView/FilteredUsersLabel/messages.d.ts +8 -0
  141. package/dist/components/GradesView/FilteredUsersLabel/messages.js +10 -0
  142. package/dist/components/GradesView/FilteredUsersLabel/messages.js.map +1 -0
  143. package/dist/components/GradesView/GradebookTable/Fields.d.ts +2 -0
  144. package/dist/components/GradesView/GradebookTable/Fields.js +32 -0
  145. package/dist/components/GradesView/GradebookTable/Fields.js.map +1 -0
  146. package/dist/components/GradesView/GradebookTable/GradeButton.d.ts +26 -0
  147. package/dist/components/GradesView/GradebookTable/GradeButton.js +56 -0
  148. package/dist/components/GradesView/GradebookTable/GradeButton.js.map +1 -0
  149. package/dist/components/GradesView/GradebookTable/LabelReplacements.d.ts +3 -0
  150. package/dist/components/GradesView/GradebookTable/LabelReplacements.js +42 -0
  151. package/dist/components/GradesView/GradebookTable/LabelReplacements.js.map +1 -0
  152. package/dist/components/GradesView/GradebookTable/hooks.d.ts +11 -0
  153. package/dist/components/GradesView/GradebookTable/hooks.js +45 -0
  154. package/dist/components/GradesView/GradebookTable/hooks.js.map +1 -0
  155. package/dist/components/GradesView/GradebookTable/index.d.ts +5 -0
  156. package/dist/components/GradesView/GradebookTable/index.js +16 -0
  157. package/dist/components/GradesView/GradebookTable/index.js.map +1 -0
  158. package/dist/components/GradesView/GradebookTable/messages.d.ts +64 -0
  159. package/dist/components/GradesView/GradebookTable/messages.js +45 -0
  160. package/dist/components/GradesView/GradebookTable/messages.js.map +1 -0
  161. package/dist/components/GradesView/GradesView.scss +156 -0
  162. package/dist/components/GradesView/ImportGradesButton/index.d.ts +5 -0
  163. package/dist/components/GradesView/ImportGradesButton/index.js +38 -0
  164. package/dist/components/GradesView/ImportGradesButton/index.js.map +1 -0
  165. package/dist/components/GradesView/ImportGradesButton/messages.d.ts +16 -0
  166. package/dist/components/GradesView/ImportGradesButton/messages.js +15 -0
  167. package/dist/components/GradesView/ImportGradesButton/messages.js.map +1 -0
  168. package/dist/components/GradesView/ImportSuccessToast/hooks.d.ts +10 -0
  169. package/dist/components/GradesView/ImportSuccessToast/hooks.js +31 -0
  170. package/dist/components/GradesView/ImportSuccessToast/hooks.js.map +1 -0
  171. package/dist/components/GradesView/ImportSuccessToast/index.d.ts +5 -0
  172. package/dist/components/GradesView/ImportSuccessToast/index.js +15 -0
  173. package/dist/components/GradesView/ImportSuccessToast/index.js.map +1 -0
  174. package/dist/components/GradesView/ImportSuccessToast/messages.d.ts +17 -0
  175. package/dist/components/GradesView/ImportSuccessToast/messages.js +15 -0
  176. package/dist/components/GradesView/ImportSuccessToast/messages.js.map +1 -0
  177. package/dist/components/GradesView/InterventionsReport/index.d.ts +2 -0
  178. package/dist/components/GradesView/InterventionsReport/index.js +27 -0
  179. package/dist/components/GradesView/InterventionsReport/index.js.map +1 -0
  180. package/dist/components/GradesView/InterventionsReport/messages.d.ts +25 -0
  181. package/dist/components/GradesView/InterventionsReport/messages.js +20 -0
  182. package/dist/components/GradesView/InterventionsReport/messages.js.map +1 -0
  183. package/dist/components/GradesView/PageButtons/index.d.ts +5 -0
  184. package/dist/components/GradesView/PageButtons/index.js +14 -0
  185. package/dist/components/GradesView/PageButtons/index.js.map +1 -0
  186. package/dist/components/GradesView/PageButtons/messages.d.ts +16 -0
  187. package/dist/components/GradesView/PageButtons/messages.js +15 -0
  188. package/dist/components/GradesView/PageButtons/messages.js.map +1 -0
  189. package/dist/components/GradesView/ScoreViewInput/index.d.ts +5 -0
  190. package/dist/components/GradesView/ScoreViewInput/index.js +20 -0
  191. package/dist/components/GradesView/ScoreViewInput/index.js.map +1 -0
  192. package/dist/components/GradesView/ScoreViewInput/messages.d.ts +24 -0
  193. package/dist/components/GradesView/ScoreViewInput/messages.js +20 -0
  194. package/dist/components/GradesView/ScoreViewInput/messages.js.map +1 -0
  195. package/dist/components/GradesView/SearchControls/hooks.d.ts +9 -0
  196. package/dist/components/GradesView/SearchControls/hooks.js +34 -0
  197. package/dist/components/GradesView/SearchControls/hooks.js.map +1 -0
  198. package/dist/components/GradesView/SearchControls/index.d.ts +5 -0
  199. package/dist/components/GradesView/SearchControls/index.js +14 -0
  200. package/dist/components/GradesView/SearchControls/index.js.map +1 -0
  201. package/dist/components/GradesView/SearchControls/messages.d.ts +16 -0
  202. package/dist/components/GradesView/SearchControls/messages.js +15 -0
  203. package/dist/components/GradesView/SearchControls/messages.js.map +1 -0
  204. package/dist/components/GradesView/SpinnerIcon.d.ts +5 -0
  205. package/dist/components/GradesView/SpinnerIcon.js +15 -0
  206. package/dist/components/GradesView/SpinnerIcon.js.map +1 -0
  207. package/dist/components/GradesView/StatusAlerts/index.d.ts +5 -0
  208. package/dist/components/GradesView/StatusAlerts/index.js +16 -0
  209. package/dist/components/GradesView/StatusAlerts/index.js.map +1 -0
  210. package/dist/components/GradesView/StatusAlerts/messages.d.ts +24 -0
  211. package/dist/components/GradesView/StatusAlerts/messages.js +20 -0
  212. package/dist/components/GradesView/StatusAlerts/messages.js.map +1 -0
  213. package/dist/components/GradesView/data/api.d.ts +44 -0
  214. package/dist/components/GradesView/data/api.js +64 -0
  215. package/dist/components/GradesView/data/api.js.map +1 -0
  216. package/dist/components/GradesView/data/apiHook.d.ts +92 -0
  217. package/dist/components/GradesView/data/apiHook.js +191 -0
  218. package/dist/components/GradesView/data/apiHook.js.map +1 -0
  219. package/dist/components/GradesView/data/hooks.d.ts +32 -0
  220. package/dist/components/GradesView/data/hooks.js +242 -0
  221. package/dist/components/GradesView/data/hooks.js.map +1 -0
  222. package/dist/components/GradesView/data/queryKeys.d.ts +13 -0
  223. package/dist/components/GradesView/data/queryKeys.js +15 -0
  224. package/dist/components/GradesView/data/queryKeys.js.map +1 -0
  225. package/dist/components/GradesView/data/utils.d.ts +96 -0
  226. package/dist/components/GradesView/data/utils.js +103 -0
  227. package/dist/components/GradesView/data/utils.js.map +1 -0
  228. package/dist/components/GradesView/index.d.ts +10 -0
  229. package/dist/components/GradesView/index.js +35 -0
  230. package/dist/components/GradesView/index.js.map +1 -0
  231. package/dist/components/GradesView/messages.d.ts +24 -0
  232. package/dist/components/GradesView/messages.js +20 -0
  233. package/dist/components/GradesView/messages.js.map +1 -0
  234. package/dist/components/NetworkButton/index.d.ts +23 -0
  235. package/dist/components/NetworkButton/index.js +54 -0
  236. package/dist/components/NetworkButton/index.js.map +1 -0
  237. package/dist/components/WithSidebar/WithSidebar.scss +36 -0
  238. package/dist/components/WithSidebar/index.d.ts +9 -0
  239. package/dist/components/WithSidebar/index.js +34 -0
  240. package/dist/components/WithSidebar/index.js.map +1 -0
  241. package/dist/constants.d.ts +1 -0
  242. package/dist/constants.js +2 -0
  243. package/dist/constants.js.map +1 -0
  244. package/dist/containers/GradebookPage/GradebookDataLoader.d.ts +10 -0
  245. package/dist/containers/GradebookPage/GradebookDataLoader.js +19 -0
  246. package/dist/containers/GradebookPage/GradebookDataLoader.js.map +1 -0
  247. package/dist/containers/GradebookPage/index.d.ts +2 -0
  248. package/dist/containers/GradebookPage/index.js +40 -0
  249. package/dist/containers/GradebookPage/index.js.map +1 -0
  250. package/dist/data/api.d.ts +20 -0
  251. package/dist/data/api.js +36 -0
  252. package/dist/data/api.js.map +1 -0
  253. package/dist/data/apiHook.d.ts +40 -0
  254. package/dist/data/apiHook.js +65 -0
  255. package/dist/data/apiHook.js.map +1 -0
  256. package/dist/data/constants/app.d.ts +13 -0
  257. package/dist/data/constants/app.js +58 -0
  258. package/dist/data/constants/app.js.map +1 -0
  259. package/dist/data/constants/errors.d.ts +2 -0
  260. package/dist/data/constants/errors.js +3 -0
  261. package/dist/data/constants/errors.js.map +1 -0
  262. package/dist/data/constants/filters.d.ts +15 -0
  263. package/dist/data/constants/filters.js +71 -0
  264. package/dist/data/constants/filters.js.map +1 -0
  265. package/dist/data/constants/filters.messages.d.ts +56 -0
  266. package/dist/data/constants/filters.messages.js +40 -0
  267. package/dist/data/constants/filters.messages.js.map +1 -0
  268. package/dist/data/constants/grades.d.ts +6 -0
  269. package/dist/data/constants/grades.js +17 -0
  270. package/dist/data/constants/grades.js.map +1 -0
  271. package/dist/data/filtersContext.d.ts +60 -0
  272. package/dist/data/filtersContext.js +212 -0
  273. package/dist/data/filtersContext.js.map +1 -0
  274. package/dist/data/filtersSnapshot.d.ts +20 -0
  275. package/dist/data/filtersSnapshot.js +15 -0
  276. package/dist/data/filtersSnapshot.js.map +1 -0
  277. package/dist/data/formatUtils.d.ts +15 -0
  278. package/dist/data/formatUtils.js +35 -0
  279. package/dist/data/formatUtils.js.map +1 -0
  280. package/dist/data/gradebookUiContext.d.ts +99 -0
  281. package/dist/data/gradebookUiContext.js +143 -0
  282. package/dist/data/gradebookUiContext.js.map +1 -0
  283. package/dist/data/queryClient.d.ts +10 -0
  284. package/dist/data/queryClient.js +34 -0
  285. package/dist/data/queryClient.js.map +1 -0
  286. package/dist/data/queryKeys.d.ts +11 -0
  287. package/dist/data/queryKeys.js +21 -0
  288. package/dist/data/queryKeys.js.map +1 -0
  289. package/dist/data/services/lms/api.d.ts +2 -0
  290. package/dist/data/services/lms/api.js +104 -0
  291. package/dist/data/services/lms/api.js.map +1 -0
  292. package/dist/data/services/lms/constants.d.ts +3 -0
  293. package/dist/data/services/lms/constants.js +16 -0
  294. package/dist/data/services/lms/constants.js.map +1 -0
  295. package/dist/data/services/lms/index.d.ts +2 -0
  296. package/dist/data/services/lms/index.js +8 -0
  297. package/dist/data/services/lms/index.js.map +1 -0
  298. package/dist/data/services/lms/messages.d.ts +2 -0
  299. package/dist/data/services/lms/messages.js +8 -0
  300. package/dist/data/services/lms/messages.js.map +1 -0
  301. package/dist/data/services/lms/urls.d.ts +19 -0
  302. package/dist/data/services/lms/urls.js +47 -0
  303. package/dist/data/services/lms/urls.js.map +1 -0
  304. package/dist/data/services/lms/utils.d.ts +4 -0
  305. package/dist/data/services/lms/utils.js +34 -0
  306. package/dist/data/services/lms/utils.js.map +1 -0
  307. package/dist/data/services/segment/constants.d.ts +8 -0
  308. package/dist/data/services/segment/constants.js +26 -0
  309. package/dist/data/services/segment/constants.js.map +1 -0
  310. package/dist/data/services/segment/events.d.ts +14 -0
  311. package/dist/data/services/segment/events.js +32 -0
  312. package/dist/data/services/segment/events.js.map +1 -0
  313. package/dist/data/utils.d.ts +10 -0
  314. package/dist/data/utils.js +14 -0
  315. package/dist/data/utils.js.map +1 -0
  316. package/dist/i18n/index.d.ts +1 -0
  317. package/dist/i18n/index.js +2 -0
  318. package/dist/i18n/index.js.map +1 -0
  319. package/dist/i18n/utils.d.ts +2 -0
  320. package/dist/i18n/utils.js +21 -0
  321. package/dist/i18n/utils.js.map +1 -0
  322. package/dist/index.d.ts +3 -0
  323. package/dist/index.js +4 -0
  324. package/dist/index.js.map +1 -0
  325. package/dist/messages.d.ts +8 -0
  326. package/dist/messages.js +10 -0
  327. package/dist/messages.js.map +1 -0
  328. package/dist/providers.d.ts +3 -0
  329. package/dist/providers.js +13 -0
  330. package/dist/providers.js.map +1 -0
  331. package/dist/routes.d.ts +11 -0
  332. package/dist/routes.js +16 -0
  333. package/dist/routes.js.map +1 -0
  334. package/dist/style.scss +13 -0
  335. package/dist/utils/StrictDict.d.ts +2 -0
  336. package/dist/utils/StrictDict.js +19 -0
  337. package/dist/utils/StrictDict.js.map +1 -0
  338. package/dist/utils/formatDate.d.ts +15 -0
  339. package/dist/utils/formatDate.js +19 -0
  340. package/dist/utils/formatDate.js.map +1 -0
  341. package/dist/utils/hoc.d.ts +3 -0
  342. package/dist/utils/hoc.js +21 -0
  343. package/dist/utils/hoc.js.map +1 -0
  344. package/dist/utils/index.d.ts +3 -0
  345. package/dist/utils/index.js +4 -0
  346. package/dist/utils/index.js.map +1 -0
  347. package/dist/utils/keyStore.d.ts +2 -0
  348. package/dist/utils/keyStore.js +4 -0
  349. package/dist/utils/keyStore.js.map +1 -0
  350. package/package.json +89 -0
@@ -0,0 +1,64 @@
1
+ export default messages;
2
+ declare namespace messages {
3
+ namespace fullNameHeading {
4
+ let id: string;
5
+ let defaultMessage: string;
6
+ let description: string;
7
+ }
8
+ namespace emailHeading {
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 totalGradeHeading {
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 usernameHeading {
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 studentKeyLabel {
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 usernameLabel {
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 totalGradePercentage {
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
+ namespace noResultsFound {
57
+ let id_7: string;
58
+ export { id_7 as id };
59
+ let defaultMessage_7: string;
60
+ export { defaultMessage_7 as defaultMessage };
61
+ let description_7: string;
62
+ export { description_7 as description };
63
+ }
64
+ }
@@ -0,0 +1,45 @@
1
+ import { defineMessages } from '@openedx/frontend-base';
2
+ const messages = defineMessages({
3
+ fullNameHeading: {
4
+ id: 'gradebook.GradesView.table.headings.fullName',
5
+ defaultMessage: 'Full Name',
6
+ description: 'Gradebook table full name column header',
7
+ },
8
+ emailHeading: {
9
+ id: 'gradebook.GradesView.table.headings.email',
10
+ defaultMessage: 'Email',
11
+ description: 'Gradebook table email column header',
12
+ },
13
+ totalGradeHeading: {
14
+ id: 'gradebook.GradesView.table.headings.totalGrade',
15
+ defaultMessage: 'Total Grade (%)',
16
+ description: 'Gradebook table total grade column header',
17
+ },
18
+ usernameHeading: {
19
+ id: 'gradebook.GradesView.table.headings.username',
20
+ defaultMessage: 'Username',
21
+ description: 'Gradebook table username column header',
22
+ },
23
+ studentKeyLabel: {
24
+ id: 'gradebook.GradesView.table.labels.studentKey',
25
+ defaultMessage: 'Student Key',
26
+ description: 'Gradebook table Student Key label',
27
+ },
28
+ usernameLabel: {
29
+ id: 'gradebook.GradesView.table.labels.username',
30
+ defaultMessage: 'Username',
31
+ description: 'Gradebook table username label',
32
+ },
33
+ totalGradePercentage: {
34
+ id: 'gradebook.GradesView.table.totalGradePercentage',
35
+ defaultMessage: 'Total Grade values are always displayed as a percentage',
36
+ description: 'Gradebook table message that total grades are displayed in percent format',
37
+ },
38
+ noResultsFound: {
39
+ id: 'gradebook.GradesView.table.noResultsFound',
40
+ defaultMessage: 'No results found',
41
+ description: 'Gradebook table message when no learner results were found',
42
+ },
43
+ });
44
+ export default messages;
45
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../src/components/GradesView/GradebookTable/messages.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC9B,eAAe,EAAE;QACf,EAAE,EAAE,8CAA8C;QAClD,cAAc,EAAE,WAAW;QAC3B,WAAW,EAAE,yCAAyC;KACvD;IACD,YAAY,EAAE;QACZ,EAAE,EAAE,2CAA2C;QAC/C,cAAc,EAAE,OAAO;QACvB,WAAW,EAAE,qCAAqC;KACnD;IACD,iBAAiB,EAAE;QACjB,EAAE,EAAE,gDAAgD;QACpD,cAAc,EAAE,iBAAiB;QACjC,WAAW,EAAE,2CAA2C;KACzD;IACD,eAAe,EAAE;QACf,EAAE,EAAE,8CAA8C;QAClD,cAAc,EAAE,UAAU;QAC1B,WAAW,EAAE,wCAAwC;KACtD;IACD,eAAe,EAAE;QACf,EAAE,EAAE,8CAA8C;QAClD,cAAc,EAAE,aAAa;QAC7B,WAAW,EAAE,mCAAmC;KACjD;IACD,aAAa,EAAE;QACb,EAAE,EAAE,4CAA4C;QAChD,cAAc,EAAE,UAAU;QAC1B,WAAW,EAAE,gCAAgC;KAC9C;IACD,oBAAoB,EAAE;QACpB,EAAE,EAAE,iDAAiD;QACrD,cAAc,EAAE,yDAAyD;QACzE,WAAW,EAAE,2EAA2E;KACzF;IACD,cAAc,EAAE;QACd,EAAE,EAAE,2CAA2C;QAC/C,cAAc,EAAE,kBAAkB;QAClC,WAAW,EAAE,4DAA4D;KAC1E;CACF,CAAC,CAAC;AAEH,eAAe,QAAQ,CAAC","sourcesContent":["import { defineMessages } from '@openedx/frontend-base';\n\nconst messages = defineMessages({\n fullNameHeading: {\n id: 'gradebook.GradesView.table.headings.fullName',\n defaultMessage: 'Full Name',\n description: 'Gradebook table full name column header',\n },\n emailHeading: {\n id: 'gradebook.GradesView.table.headings.email',\n defaultMessage: 'Email',\n description: 'Gradebook table email column header',\n },\n totalGradeHeading: {\n id: 'gradebook.GradesView.table.headings.totalGrade',\n defaultMessage: 'Total Grade (%)',\n description: 'Gradebook table total grade column header',\n },\n usernameHeading: {\n id: 'gradebook.GradesView.table.headings.username',\n defaultMessage: 'Username',\n description: 'Gradebook table username column header',\n },\n studentKeyLabel: {\n id: 'gradebook.GradesView.table.labels.studentKey',\n defaultMessage: 'Student Key',\n description: 'Gradebook table Student Key label',\n },\n usernameLabel: {\n id: 'gradebook.GradesView.table.labels.username',\n defaultMessage: 'Username',\n description: 'Gradebook table username label',\n },\n totalGradePercentage: {\n id: 'gradebook.GradesView.table.totalGradePercentage',\n defaultMessage: 'Total Grade values are always displayed as a percentage',\n description: 'Gradebook table message that total grades are displayed in percent format',\n },\n noResultsFound: {\n id: 'gradebook.GradesView.table.noResultsFound',\n defaultMessage: 'No results found',\n description: 'Gradebook table message when no learner results were found',\n },\n});\n\nexport default messages;\n"]}
@@ -0,0 +1,156 @@
1
+ .spinner-overlay {
2
+ position: fixed;
3
+ height: 100%;
4
+ width: 100%;
5
+ top: 0;
6
+ left: 0;
7
+ background-color: #999;
8
+ opacity: 0.5;
9
+ z-index: 99999;
10
+ display:flex;
11
+ align-items: flex-start;
12
+ justify-content: center;
13
+ padding: 200px;
14
+ }
15
+
16
+ .color-black {
17
+ color: black;
18
+ }
19
+
20
+ .gradebook-content {
21
+ // note that this width isn't well-abstracted from Drawer code.
22
+ // if we need to change it we may need to dig into those styles as well
23
+ width: 100vw;
24
+ .search-help-text {
25
+ margin-left: 20px;
26
+ }
27
+ h3 {
28
+ font-weight: bold;
29
+ margin-top: 0rem;
30
+ }
31
+ .import-grades-btn {
32
+ margin-left: 20px;
33
+ }
34
+ .intervention-report-description {
35
+ margin-right: 40px;
36
+ }
37
+ h4.step-message-1 {
38
+ margin-top: 40px;
39
+ }
40
+ }
41
+
42
+ .student-filters{
43
+ .label{
44
+ padding-top: 30px;
45
+ }
46
+ }
47
+ .grade-history-header{
48
+ float: left;
49
+ min-width: 170px;
50
+ }
51
+
52
+ .grade-history-assignment{
53
+ padding-right: 49px;
54
+ }
55
+ .grade-history-student{
56
+ padding-right: 75px;
57
+ }
58
+
59
+ .grade-history-original-grade{
60
+ padding-right: 25px;
61
+ }
62
+
63
+ .grade-history-current-grade{
64
+ padding-right: 25px;
65
+ }
66
+ .gradebook-container {
67
+ width: 100%;
68
+ overflow-x: auto;
69
+ max-height: 600px;
70
+ overflow-y: auto;
71
+ position: relative;
72
+ }
73
+
74
+ .form-group, .pgn__form-group {
75
+ label {
76
+ font-weight: bold;
77
+ }
78
+ }
79
+
80
+ .filter-group {
81
+ .grade-filter-inputs {
82
+ .percent-group {
83
+ display: inline-block;
84
+ .form-group, .pgn__form-group {
85
+ width: 115px;
86
+ display: inline-block;
87
+ }
88
+ .input-percent-label {
89
+ margin-top: 22px;
90
+ margin-left: 5px;
91
+ margin-right: 5px;
92
+ }
93
+ }
94
+ }
95
+ .grade-filter-action {
96
+ text-align: right;
97
+ }
98
+ }
99
+
100
+ .mb-85 {
101
+ margin-bottom: 85px;
102
+ }
103
+
104
+ .modal-dialog {
105
+ max-width: 1000px;
106
+ }
107
+
108
+ .wrap-text-in-cell {
109
+ overflow-wrap: break-word;
110
+ word-wrap: break-word;
111
+ }
112
+
113
+ select#ScoreView.form-control {
114
+ padding-right: 26px;
115
+ }
116
+
117
+ [dir=rtl] #course-grade-tooltip .arrow {
118
+ right: initial;
119
+ left: 0;
120
+
121
+ &:before {
122
+ border-width: 0.4rem 0.4rem 0.4rem 0;
123
+ border-right-color: var(--pgn-color-black);
124
+ }
125
+ }
126
+
127
+ #edit-filters-btn {
128
+ @media (--pgn-size-breakpoint-max-width-xs) {
129
+ width: 100%;
130
+ margin-bottom: 1rem;
131
+ }
132
+ }
133
+
134
+ .search-container {
135
+ @media (--pgn-size-breakpoint-max-width-xs) {
136
+ width: 100%;
137
+ }
138
+ }
139
+
140
+ .pgn__modal-body-content .pgn__data-table-layout-wrapper {
141
+ @media (--pgn-size-breakpoint-max-width-xs) {
142
+ clear: both;
143
+ padding: 1rem 0;
144
+ }
145
+ }
146
+
147
+ .page-gradebook {
148
+ position: relative;
149
+
150
+ .sidebar-container {
151
+ position: relative;
152
+ }
153
+ aside.sidebar {
154
+ overflow: auto;
155
+ }
156
+ }
@@ -0,0 +1,5 @@
1
+ export function ImportGradesButton(): import("react").JSX.Element;
2
+ export namespace ImportGradesButton {
3
+ let propTypes: {};
4
+ }
5
+ export default ImportGradesButton;
@@ -0,0 +1,38 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef } from 'react';
3
+ import { useIntl } from '@openedx/frontend-base';
4
+ import { Form } from '@openedx/paragon';
5
+ import NetworkButton from '../../NetworkButton';
6
+ import { useGradeExportUrl } from '../data/hooks';
7
+ import { useSubmitImportGradesButtonData } from '../data/apiHook';
8
+ import messages from './messages';
9
+ /**
10
+ * <ImportGradesButton />
11
+ * File-type input wrapped with hidden control such that when a valid file is
12
+ * added, it is automattically uploaded.
13
+ */
14
+ export const ImportGradesButton = () => {
15
+ const { formatMessage } = useIntl();
16
+ const gradeExportUrl = useGradeExportUrl();
17
+ const submitImportGradesButtonData = useSubmitImportGradesButtonData();
18
+ const fileInputRef = useRef(null);
19
+ const handleClickImportGrades = () => { var _a; return (_a = fileInputRef.current) === null || _a === void 0 ? void 0 : _a.click(); };
20
+ const handleFileInputChange = () => {
21
+ var _a, _b;
22
+ const file = (_b = (_a = fileInputRef.current) === null || _a === void 0 ? void 0 : _a.files) === null || _b === void 0 ? void 0 : _b[0];
23
+ if (file) {
24
+ const clearInput = () => {
25
+ if (fileInputRef.current) {
26
+ fileInputRef.current.value = '';
27
+ }
28
+ };
29
+ const formData = new FormData();
30
+ formData.append('csv', file);
31
+ submitImportGradesButtonData(formData).then(clearInput);
32
+ }
33
+ };
34
+ return (_jsxs(_Fragment, { children: [_jsx(Form, { action: gradeExportUrl, method: "post", children: _jsx(Form.Group, { controlId: "csv", children: _jsx(Form.Control, { "data-testid": "file-control", className: "d-none", type: "file", label: formatMessage(messages.csvUploadLabel), onChange: handleFileInputChange, ref: fileInputRef }) }) }), _jsx(NetworkButton, { className: "import-grades-btn", label: messages.importGradesBtnText, onClick: handleClickImportGrades, import: true })] }));
35
+ };
36
+ ImportGradesButton.propTypes = {};
37
+ export default ImportGradesButton;
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/GradesView/ImportGradesButton/index.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,MAAM,4BAA4B,GAAG,+BAA+B,EAAE,CAAC;IACvE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAElC,MAAM,uBAAuB,GAAG,GAAG,EAAE,WAAC,OAAA,MAAA,YAAY,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAA,EAAA,CAAC;IACpE,MAAM,qBAAqB,GAAG,GAAG,EAAE;;QACjC,MAAM,IAAI,GAAG,MAAA,MAAA,YAAY,CAAC,OAAO,0CAAE,KAAK,0CAAG,CAAC,CAAC,CAAC;QAC9C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,UAAU,GAAG,GAAG,EAAE;gBACtB,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;oBACzB,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;gBAClC,CAAC;YACH,CAAC,CAAC;YACF,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;YAChC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC7B,4BAA4B,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,8BACE,KAAC,IAAI,IAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAC,MAAM,YACzC,KAAC,IAAI,CAAC,KAAK,IAAC,SAAS,EAAC,KAAK,YACzB,KAAC,IAAI,CAAC,OAAO,mBACC,cAAc,EAC1B,SAAS,EAAC,QAAQ,EAClB,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,EAC7C,QAAQ,EAAE,qBAAqB,EAC/B,GAAG,EAAE,YAAY,GACjB,GACS,GACR,EACP,KAAC,aAAa,IACZ,SAAS,EAAC,mBAAmB,EAC7B,KAAK,EAAE,QAAQ,CAAC,mBAAmB,EACnC,OAAO,EAAE,uBAAuB,EAChC,MAAM,SACN,IACD,CACJ,CAAC;AACJ,CAAC,CAAC;AACF,kBAAkB,CAAC,SAAS,GAAG,EAAE,CAAC;AAElC,eAAe,kBAAkB,CAAC","sourcesContent":["import { useRef } from 'react';\n\nimport { useIntl } from '@openedx/frontend-base';\n\nimport { Form } from '@openedx/paragon';\n\nimport NetworkButton from '@src/components/NetworkButton';\n\nimport { useGradeExportUrl } from '../data/hooks';\nimport { useSubmitImportGradesButtonData } from '../data/apiHook';\nimport messages from './messages';\n\n/**\n * <ImportGradesButton />\n * File-type input wrapped with hidden control such that when a valid file is\n * added, it is automattically uploaded.\n */\nexport const ImportGradesButton = () => {\n const { formatMessage } = useIntl();\n const gradeExportUrl = useGradeExportUrl();\n const submitImportGradesButtonData = useSubmitImportGradesButtonData();\n const fileInputRef = useRef(null);\n\n const handleClickImportGrades = () => fileInputRef.current?.click();\n const handleFileInputChange = () => {\n const file = fileInputRef.current?.files?.[0];\n if (file) {\n const clearInput = () => {\n if (fileInputRef.current) {\n fileInputRef.current.value = '';\n }\n };\n const formData = new FormData();\n formData.append('csv', file);\n submitImportGradesButtonData(formData).then(clearInput);\n }\n };\n\n return (\n <>\n <Form action={gradeExportUrl} method=\"post\">\n <Form.Group controlId=\"csv\">\n <Form.Control\n data-testid=\"file-control\"\n className=\"d-none\"\n type=\"file\"\n label={formatMessage(messages.csvUploadLabel)}\n onChange={handleFileInputChange}\n ref={fileInputRef}\n />\n </Form.Group>\n </Form>\n <NetworkButton\n className=\"import-grades-btn\"\n label={messages.importGradesBtnText}\n onClick={handleClickImportGrades}\n import\n />\n </>\n );\n};\nImportGradesButton.propTypes = {};\n\nexport default ImportGradesButton;\n"]}
@@ -0,0 +1,16 @@
1
+ export default messages;
2
+ declare namespace messages {
3
+ namespace csvUploadLabel {
4
+ let id: string;
5
+ let defaultMessage: string;
6
+ let description: string;
7
+ }
8
+ namespace importGradesBtnText {
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
+ }
@@ -0,0 +1,15 @@
1
+ import { defineMessages } from '@openedx/frontend-base';
2
+ const messages = defineMessages({
3
+ csvUploadLabel: {
4
+ id: 'gradebook.BulkManagementHistoryView.csvUploadLabel',
5
+ defaultMessage: 'Upload Grade CSV',
6
+ description: 'A labeled button to upload a CSV containing course grades.',
7
+ },
8
+ importGradesBtnText: {
9
+ id: 'gradebook.GradesView.importGradesBtnText',
10
+ defaultMessage: 'Import Grades',
11
+ description: 'A labeled button to import grades in the BulkManagement Tab File Upload Form',
12
+ },
13
+ });
14
+ export default messages;
15
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../src/components/GradesView/ImportGradesButton/messages.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC9B,cAAc,EAAE;QACd,EAAE,EAAE,oDAAoD;QACxD,cAAc,EAAE,kBAAkB;QAClC,WAAW,EAAE,4DAA4D;KAC1E;IACD,mBAAmB,EAAE;QACnB,EAAE,EAAE,0CAA0C;QAC9C,cAAc,EAAE,eAAe;QAC/B,WAAW,EAAE,8EAA8E;KAC5F;CACF,CAAC,CAAC;AAEH,eAAe,QAAQ,CAAC","sourcesContent":["import { defineMessages } from '@openedx/frontend-base';\n\nconst messages = defineMessages({\n csvUploadLabel: {\n id: 'gradebook.BulkManagementHistoryView.csvUploadLabel',\n defaultMessage: 'Upload Grade CSV',\n description: 'A labeled button to upload a CSV containing course grades.',\n },\n importGradesBtnText: {\n id: 'gradebook.GradesView.importGradesBtnText',\n defaultMessage: 'Import Grades',\n description: 'A labeled button to import grades in the BulkManagement Tab File Upload Form',\n },\n});\n\nexport default messages;\n"]}
@@ -0,0 +1,10 @@
1
+ export function useImportSuccessToastData(): {
2
+ action: {
3
+ label: string;
4
+ onClick: () => void;
5
+ };
6
+ onClose: () => void;
7
+ show: boolean;
8
+ description: string;
9
+ };
10
+ export default useImportSuccessToastData;
@@ -0,0 +1,31 @@
1
+ import { useIntl } from '@openedx/frontend-base';
2
+ import { useGradebookUi } from '../../../data/gradebookUiContext';
3
+ import { views } from '../../../data/constants/app';
4
+ import messages from './messages';
5
+ /**
6
+ * <ImportSuccessToast />
7
+ * Toast component triggered by successful grade upload.
8
+ * Provides a link to view the Bulk Management History tab.
9
+ */
10
+ export const useImportSuccessToastData = () => {
11
+ const { formatMessage } = useIntl();
12
+ const { showImportSuccessToast: show, setActiveView, setShowImportSuccessToast } = useGradebookUi();
13
+ const onClose = () => {
14
+ setShowImportSuccessToast(false);
15
+ };
16
+ const handleShowHistoryView = () => {
17
+ setActiveView(views.bulkManagementHistory);
18
+ setShowImportSuccessToast(false);
19
+ };
20
+ return {
21
+ action: {
22
+ label: formatMessage(messages.showHistoryViewBtn),
23
+ onClick: handleShowHistoryView,
24
+ },
25
+ onClose,
26
+ show,
27
+ description: formatMessage(messages.description),
28
+ };
29
+ };
30
+ export default useImportSuccessToastData;
31
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../src/components/GradesView/ImportSuccessToast/hooks.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE;IAC5C,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,aAAa,EAAE,yBAAyB,EAAE,GAAG,cAAc,EAAE,CAAC;IAEpG,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,GAAG,EAAE;QACjC,aAAa,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC3C,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,OAAO;QACL,MAAM,EAAE;YACN,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACjD,OAAO,EAAE,qBAAqB;SAC/B;QACD,OAAO;QACP,IAAI;QACJ,WAAW,EAAE,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC;KACjD,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,yBAAyB,CAAC","sourcesContent":["import { useIntl } from '@openedx/frontend-base';\n\nimport { useGradebookUi } from '@src/data/gradebookUiContext';\nimport { views } from '@src/data/constants/app';\nimport messages from './messages';\n\n/**\n * <ImportSuccessToast />\n * Toast component triggered by successful grade upload.\n * Provides a link to view the Bulk Management History tab.\n */\nexport const useImportSuccessToastData = () => {\n const { formatMessage } = useIntl();\n\n const { showImportSuccessToast: show, setActiveView, setShowImportSuccessToast } = useGradebookUi();\n\n const onClose = () => {\n setShowImportSuccessToast(false);\n };\n\n const handleShowHistoryView = () => {\n setActiveView(views.bulkManagementHistory);\n setShowImportSuccessToast(false);\n };\n\n return {\n action: {\n label: formatMessage(messages.showHistoryViewBtn),\n onClick: handleShowHistoryView,\n },\n onClose,\n show,\n description: formatMessage(messages.description),\n };\n};\n\nexport default useImportSuccessToastData;\n"]}
@@ -0,0 +1,5 @@
1
+ export function ImportSuccessToast(): import("react").JSX.Element;
2
+ export namespace ImportSuccessToast {
3
+ let propTypes: {};
4
+ }
5
+ export default ImportSuccessToast;
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Toast } from '@openedx/paragon';
3
+ import useImportSuccessToastData from './hooks';
4
+ /**
5
+ * <ImportSuccessToast />
6
+ * Toast component triggered by successful grade upload.
7
+ * Provides a link to view the Bulk Management History tab.
8
+ */
9
+ export const ImportSuccessToast = () => {
10
+ const { action, onClose, show, description, } = useImportSuccessToastData();
11
+ return (_jsx(Toast, { action, onClose, show, children: description }));
12
+ };
13
+ ImportSuccessToast.propTypes = {};
14
+ export default ImportSuccessToast;
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/GradesView/ImportSuccessToast/index.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,yBAAyB,MAAM,SAAS,CAAC;AAEhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,MAAM,EACJ,MAAM,EACN,OAAO,EACP,IAAI,EACJ,WAAW,GACZ,GAAG,yBAAyB,EAAE,CAAC;IAChC,OAAO,CACL,KAAC,KAAK,IAAO,MAAM,EAAE,OAAO,EAAE,IAAI,YAC/B,WAAW,GACN,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAkB,CAAC,SAAS,GAAG,EAAE,CAAC;AAElC,eAAe,kBAAkB,CAAC","sourcesContent":["import { Toast } from '@openedx/paragon';\n\nimport useImportSuccessToastData from './hooks';\n\n/**\n * <ImportSuccessToast />\n * Toast component triggered by successful grade upload.\n * Provides a link to view the Bulk Management History tab.\n */\nexport const ImportSuccessToast = () => {\n const {\n action,\n onClose,\n show,\n description,\n } = useImportSuccessToastData();\n return (\n <Toast {...{ action, onClose, show }}>\n {description}\n </Toast>\n );\n};\n\nImportSuccessToast.propTypes = {};\n\nexport default ImportSuccessToast;\n"]}
@@ -0,0 +1,17 @@
1
+ export default messages;
2
+ declare namespace messages {
3
+ namespace description {
4
+ export let id: string;
5
+ export let defaultMessage: string;
6
+ let description_1: string;
7
+ export { description_1 as description };
8
+ }
9
+ namespace showHistoryViewBtn {
10
+ let id_1: string;
11
+ export { id_1 as id };
12
+ let defaultMessage_1: string;
13
+ export { defaultMessage_1 as defaultMessage };
14
+ let description_2: string;
15
+ export { description_2 as description };
16
+ }
17
+ }
@@ -0,0 +1,15 @@
1
+ import { defineMessages } from '@openedx/frontend-base';
2
+ const messages = defineMessages({
3
+ description: {
4
+ id: 'gradebook.GradesView.ImportSuccessToast.description',
5
+ defaultMessage: 'Import Successful! Grades will be updated momentarily.',
6
+ description: 'A message congratulating a successful Import of grades',
7
+ },
8
+ showHistoryViewBtn: {
9
+ id: 'gradebook.GradesView.ImportSuccessToast.showHistoryViewBtn',
10
+ defaultMessage: 'View Activity Log',
11
+ description: 'The text on a button that loads a view of the Bulk Management Activity Log',
12
+ },
13
+ });
14
+ export default messages;
15
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../src/components/GradesView/ImportSuccessToast/messages.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC9B,WAAW,EAAE;QACX,EAAE,EAAE,qDAAqD;QACzD,cAAc,EAAE,wDAAwD;QACxE,WAAW,EAAE,wDAAwD;KACtE;IACD,kBAAkB,EAAE;QAClB,EAAE,EAAE,4DAA4D;QAChE,cAAc,EAAE,mBAAmB;QACnC,WAAW,EAAE,4EAA4E;KAC1F;CACF,CAAC,CAAC;AAEH,eAAe,QAAQ,CAAC","sourcesContent":["import { defineMessages } from '@openedx/frontend-base';\n\nconst messages = defineMessages({\n description: {\n id: 'gradebook.GradesView.ImportSuccessToast.description',\n defaultMessage: 'Import Successful! Grades will be updated momentarily.',\n description: 'A message congratulating a successful Import of grades',\n },\n showHistoryViewBtn: {\n id: 'gradebook.GradesView.ImportSuccessToast.showHistoryViewBtn',\n defaultMessage: 'View Activity Log',\n description: 'The text on a button that loads a view of the Bulk Management Activity Log',\n },\n});\n\nexport default messages;\n"]}
@@ -0,0 +1,2 @@
1
+ export function InterventionsReport(): import("react").JSX.Element | null;
2
+ export default InterventionsReport;
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useIntl } from '@openedx/frontend-base';
3
+ import NetworkButton from '../../NetworkButton';
4
+ import { useShowBulkManagement } from '../../../data/apiHook';
5
+ import { trackInterventionReportDownloaded } from '../../../data/services/segment/events';
6
+ import { useInterventionExportUrl } from '../data/hooks';
7
+ import messages from './messages';
8
+ /**
9
+ * <InterventionsReport />
10
+ * Provides download buttons for Bulk Management and Intervention reports, only if
11
+ * showBulkManagement is set in redus.
12
+ */
13
+ export const InterventionsReport = () => {
14
+ const interventionExportUrl = useInterventionExportUrl();
15
+ const showBulkManagement = useShowBulkManagement();
16
+ const { formatMessage } = useIntl();
17
+ const handleClick = () => {
18
+ trackInterventionReportDownloaded();
19
+ window.location.assign(interventionExportUrl);
20
+ };
21
+ if (!showBulkManagement) {
22
+ return null;
23
+ }
24
+ return (_jsxs("div", { children: [_jsx("h4", { className: "mt-0", children: formatMessage(messages.title) }), _jsxs("div", { className: "d-flex justify-content-between align-items-center", children: [_jsx("div", { className: "intervention-report-description", children: formatMessage(messages.description) }), _jsx(NetworkButton, { label: messages.downloadBtn, onClick: handleClick })] })] }));
25
+ };
26
+ export default InterventionsReport;
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/GradesView/InterventionsReport/index.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,iCAAiC,EAAE,MAAM,mCAAmC,CAAC;AAEtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,qBAAqB,GAAG,wBAAwB,EAAE,CAAC;IACzD,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,iCAAiC,EAAE,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,0BACE,aAAI,SAAS,EAAC,MAAM,YACjB,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,GAC3B,EACL,eACE,SAAS,EAAC,mDAAmD,aAE7D,cAAK,SAAS,EAAC,iCAAiC,YAC7C,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,GAChC,EACN,KAAC,aAAa,IACZ,KAAK,EAAE,QAAQ,CAAC,WAAW,EAC3B,OAAO,EAAE,WAAW,GACpB,IACE,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["import { useIntl } from '@openedx/frontend-base';\n\nimport NetworkButton from '@src/components/NetworkButton';\nimport { useShowBulkManagement } from '@src/data/apiHook';\nimport { trackInterventionReportDownloaded } from '@src/data/services/segment/events';\n\nimport { useInterventionExportUrl } from '../data/hooks';\nimport messages from './messages';\n\n/**\n * <InterventionsReport />\n * Provides download buttons for Bulk Management and Intervention reports, only if\n * showBulkManagement is set in redus.\n */\nexport const InterventionsReport = () => {\n const interventionExportUrl = useInterventionExportUrl();\n const showBulkManagement = useShowBulkManagement();\n const { formatMessage } = useIntl();\n\n const handleClick = () => {\n trackInterventionReportDownloaded();\n window.location.assign(interventionExportUrl);\n };\n\n if (!showBulkManagement) {\n return null;\n }\n\n return (\n <div>\n <h4 className=\"mt-0\">\n {formatMessage(messages.title)}\n </h4>\n <div\n className=\"d-flex justify-content-between align-items-center\"\n >\n <div className=\"intervention-report-description\">\n {formatMessage(messages.description)}\n </div>\n <NetworkButton\n label={messages.downloadBtn}\n onClick={handleClick}\n />\n </div>\n </div>\n );\n};\n\nexport default InterventionsReport;\n"]}
@@ -0,0 +1,25 @@
1
+ export default messages;
2
+ declare namespace messages {
3
+ export namespace title {
4
+ let id: string;
5
+ let defaultMessage: string;
6
+ let description: string;
7
+ }
8
+ export namespace description_1 {
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_2: string;
14
+ export { description_2 as description };
15
+ }
16
+ export { description_1 as description };
17
+ export namespace downloadBtn {
18
+ let id_2: string;
19
+ export { id_2 as id };
20
+ let defaultMessage_2: string;
21
+ export { defaultMessage_2 as defaultMessage };
22
+ let description_3: string;
23
+ export { description_3 as description };
24
+ }
25
+ }
@@ -0,0 +1,20 @@
1
+ import { defineMessages } from '@openedx/frontend-base';
2
+ const messages = defineMessages({
3
+ title: {
4
+ id: 'gradebook.GradesView.InterventionsReport.title',
5
+ defaultMessage: 'Interventions Report',
6
+ description: 'The title for the Intervention report subsection',
7
+ },
8
+ description: {
9
+ id: 'gradebook.GradesView.InterventionsReport.description',
10
+ defaultMessage: 'Need to find students who may be falling behind? Download the interventions report to obtain engagement metrics such as section attempts and visits.',
11
+ description: 'The description for the Intervention report subsection',
12
+ },
13
+ downloadBtn: {
14
+ id: 'gradebook.GradesView.InterventionsReport.downloadBtn',
15
+ defaultMessage: 'Download Interventions',
16
+ description: 'The labeled button to download the Intervention report from the Grades View',
17
+ },
18
+ });
19
+ export default messages;
20
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../src/components/GradesView/InterventionsReport/messages.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC9B,KAAK,EAAE;QACL,EAAE,EAAE,gDAAgD;QACpD,cAAc,EAAE,sBAAsB;QACtC,WAAW,EAAE,kDAAkD;KAChE;IACD,WAAW,EAAE;QACX,EAAE,EAAE,sDAAsD;QAC1D,cAAc,EAAE,uJAAuJ;QACvK,WAAW,EAAE,wDAAwD;KACtE;IACD,WAAW,EAAE;QACX,EAAE,EAAE,sDAAsD;QAC1D,cAAc,EAAE,wBAAwB;QACxC,WAAW,EAAE,6EAA6E;KAC3F;CACF,CAAC,CAAC;AAEH,eAAe,QAAQ,CAAC","sourcesContent":["import { defineMessages } from '@openedx/frontend-base';\n\nconst messages = defineMessages({\n title: {\n id: 'gradebook.GradesView.InterventionsReport.title',\n defaultMessage: 'Interventions Report',\n description: 'The title for the Intervention report subsection',\n },\n description: {\n id: 'gradebook.GradesView.InterventionsReport.description',\n defaultMessage: 'Need to find students who may be falling behind? Download the interventions report to obtain engagement metrics such as section attempts and visits.',\n description: 'The description for the Intervention report subsection',\n },\n downloadBtn: {\n id: 'gradebook.GradesView.InterventionsReport.downloadBtn',\n defaultMessage: 'Download Interventions',\n description: 'The labeled button to download the Intervention report from the Grades View',\n },\n});\n\nexport default messages;\n"]}
@@ -0,0 +1,5 @@
1
+ export function PageButtons(): import("react").JSX.Element;
2
+ export namespace PageButtons {
3
+ let propTypes: {};
4
+ }
5
+ export default PageButtons;
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button } from '@openedx/paragon';
3
+ import { useIntl } from '@openedx/frontend-base';
4
+ import { useFetchPrevNextGrades, useGradeData } from '../data/hooks';
5
+ import messages from './messages';
6
+ export const PageButtons = () => {
7
+ const { formatMessage } = useIntl();
8
+ const { nextPage, prevPage } = useGradeData();
9
+ const getPrevNextGrades = useFetchPrevNextGrades();
10
+ return (_jsxs("div", { className: "d-flex justify-content-center", style: { paddingBottom: '20px' }, children: [_jsx(Button, { style: { margin: '20px' }, variant: "outline-primary", disabled: !prevPage, onClick: () => getPrevNextGrades(prevPage), children: formatMessage(messages.prevPage) }), _jsx(Button, { style: { margin: '20px' }, variant: "outline-primary", disabled: !nextPage, onClick: () => getPrevNextGrades(nextPage), children: formatMessage(messages.nextPage) })] }));
11
+ };
12
+ PageButtons.propTypes = {};
13
+ export default PageButtons;
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/GradesView/PageButtons/index.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,YAAY,EAAE,CAAC;IAC9C,MAAM,iBAAiB,GAAG,sBAAsB,EAAE,CAAC;IAEnD,OAAO,CACL,eACE,SAAS,EAAC,+BAA+B,EACzC,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,aAEhC,KAAC,MAAM,IACL,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EACzB,OAAO,EAAC,iBAAiB,EACzB,QAAQ,EAAE,CAAC,QAAQ,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,YAEzC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAC1B,EACT,KAAC,MAAM,IACL,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EACzB,OAAO,EAAC,iBAAiB,EACzB,QAAQ,EAAE,CAAC,QAAQ,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,YAEzC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAC1B,IACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,WAAW,CAAC,SAAS,GAAG,EAAE,CAAC;AAE3B,eAAe,WAAW,CAAC","sourcesContent":["import { Button } from '@openedx/paragon';\nimport { useIntl } from '@openedx/frontend-base';\n\nimport { useFetchPrevNextGrades, useGradeData } from '../data/hooks';\nimport messages from './messages';\n\nexport const PageButtons = () => {\n const { formatMessage } = useIntl();\n const { nextPage, prevPage } = useGradeData();\n const getPrevNextGrades = useFetchPrevNextGrades();\n\n return (\n <div\n className=\"d-flex justify-content-center\"\n style={{ paddingBottom: '20px' }}\n >\n <Button\n style={{ margin: '20px' }}\n variant=\"outline-primary\"\n disabled={!prevPage}\n onClick={() => getPrevNextGrades(prevPage)}\n >\n {formatMessage(messages.prevPage)}\n </Button>\n <Button\n style={{ margin: '20px' }}\n variant=\"outline-primary\"\n disabled={!nextPage}\n onClick={() => getPrevNextGrades(nextPage)}\n >\n {formatMessage(messages.nextPage)}\n </Button>\n </div>\n );\n};\n\nPageButtons.propTypes = {};\n\nexport default PageButtons;\n"]}
@@ -0,0 +1,16 @@
1
+ export default messages;
2
+ declare namespace messages {
3
+ namespace prevPage {
4
+ let id: string;
5
+ let defaultMessage: string;
6
+ let description: string;
7
+ }
8
+ namespace nextPage {
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
+ }
@@ -0,0 +1,15 @@
1
+ import { defineMessages } from '@openedx/frontend-base';
2
+ const messages = defineMessages({
3
+ prevPage: {
4
+ id: 'gradebook.GradesView.PageButtons.prevPage',
5
+ defaultMessage: 'Previous Page',
6
+ description: 'Grades tab Previous Page button text',
7
+ },
8
+ nextPage: {
9
+ id: 'gradebook.GradesView.PageButtons.nextPage',
10
+ defaultMessage: 'Next Page',
11
+ description: 'Grades tab Next Page button text',
12
+ },
13
+ });
14
+ export default messages;
15
+ //# sourceMappingURL=messages.js.map