@openedx/frontend-app-learner-dashboard 1.0.0-alpha.6 → 1.0.0-alpha.8

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 (282) hide show
  1. package/dist/Main.js +2 -3
  2. package/dist/Main.js.map +1 -1
  3. package/dist/app.js +1 -2
  4. package/dist/app.js.map +1 -1
  5. package/dist/containers/CourseCard/components/CourseCardActions/BeginCourseButton.js +14 -5
  6. package/dist/containers/CourseCard/components/CourseCardActions/BeginCourseButton.js.map +1 -1
  7. package/dist/containers/CourseCard/components/CourseCardActions/ResumeButton.js +14 -5
  8. package/dist/containers/CourseCard/components/CourseCardActions/ResumeButton.js.map +1 -1
  9. package/dist/containers/CourseCard/components/CourseCardActions/SelectSessionButton.js +3 -3
  10. package/dist/containers/CourseCard/components/CourseCardActions/SelectSessionButton.js.map +1 -1
  11. package/dist/containers/CourseCard/components/CourseCardActions/ViewCourseButton.js +5 -3
  12. package/dist/containers/CourseCard/components/CourseCardActions/ViewCourseButton.js.map +1 -1
  13. package/dist/containers/CourseCard/components/CourseCardActions/index.js +5 -4
  14. package/dist/containers/CourseCard/components/CourseCardActions/index.js.map +1 -1
  15. package/dist/containers/CourseCard/components/CourseCardBanners/CertificateBanner.js +26 -9
  16. package/dist/containers/CourseCard/components/CourseCardBanners/CertificateBanner.js.map +1 -1
  17. package/dist/containers/CourseCard/components/CourseCardBanners/CourseBanner.js +12 -4
  18. package/dist/containers/CourseCard/components/CourseCardBanners/CourseBanner.js.map +1 -1
  19. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/hooks.js +23 -4
  20. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/hooks.js.map +1 -1
  21. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/ApprovedContent.js +11 -5
  22. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/ApprovedContent.js.map +1 -1
  23. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/EligibleContent.js +5 -3
  24. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/EligibleContent.js.map +1 -1
  25. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/MustRequestContent.js +3 -3
  26. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/MustRequestContent.js.map +1 -1
  27. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/PendingContent.js +5 -5
  28. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/PendingContent.js.map +1 -1
  29. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/RejectedContent.js +4 -3
  30. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/RejectedContent.js.map +1 -1
  31. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/ProviderLink.js +3 -2
  32. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/ProviderLink.js.map +1 -1
  33. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/hooks.js +13 -5
  34. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/hooks.js.map +1 -1
  35. package/dist/containers/CourseCard/components/CourseCardBanners/EntitlementBanner.js +10 -6
  36. package/dist/containers/CourseCard/components/CourseCardBanners/EntitlementBanner.js.map +1 -1
  37. package/dist/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/index.js +5 -4
  38. package/dist/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/index.js.map +1 -1
  39. package/dist/containers/CourseCard/components/CourseCardBanners/index.d.ts +1 -1
  40. package/dist/containers/CourseCard/components/CourseCardBanners/index.js +6 -2
  41. package/dist/containers/CourseCard/components/CourseCardBanners/index.js.map +1 -1
  42. package/dist/containers/CourseCard/components/CourseCardDetails/hooks.d.ts +3 -3
  43. package/dist/containers/CourseCard/components/CourseCardDetails/hooks.js +14 -12
  44. package/dist/containers/CourseCard/components/CourseCardDetails/hooks.js.map +1 -1
  45. package/dist/containers/CourseCard/components/CourseCardImage.js +7 -6
  46. package/dist/containers/CourseCard/components/CourseCardImage.js.map +1 -1
  47. package/dist/containers/CourseCard/components/CourseCardMenu/SocialShareMenu.js +14 -11
  48. package/dist/containers/CourseCard/components/CourseCardMenu/SocialShareMenu.js.map +1 -1
  49. package/dist/containers/CourseCard/components/CourseCardMenu/hooks.d.ts +10 -0
  50. package/dist/containers/CourseCard/components/CourseCardMenu/hooks.js +26 -6
  51. package/dist/containers/CourseCard/components/CourseCardMenu/hooks.js.map +1 -1
  52. package/dist/containers/CourseCard/components/CourseCardMenu/index.js +5 -5
  53. package/dist/containers/CourseCard/components/CourseCardMenu/index.js.map +1 -1
  54. package/dist/containers/CourseCard/components/CourseCardTitle.js +6 -4
  55. package/dist/containers/CourseCard/components/CourseCardTitle.js.map +1 -1
  56. package/dist/containers/CourseCard/components/RelatedProgramsBadge/hooks.js +4 -2
  57. package/dist/containers/CourseCard/components/RelatedProgramsBadge/hooks.js.map +1 -1
  58. package/dist/containers/CourseCard/components/hooks.d.ts +1 -1
  59. package/dist/containers/CourseCard/components/hooks.js +9 -7
  60. package/dist/containers/CourseCard/components/hooks.js.map +1 -1
  61. package/dist/containers/CourseCard/hooks.d.ts +0 -12
  62. package/dist/containers/CourseCard/hooks.js +0 -14
  63. package/dist/containers/CourseCard/hooks.js.map +1 -1
  64. package/dist/containers/CourseFilterControls/ActiveCourseFilters.d.ts +1 -11
  65. package/dist/containers/CourseFilterControls/ActiveCourseFilters.js +4 -9
  66. package/dist/containers/CourseFilterControls/ActiveCourseFilters.js.map +1 -1
  67. package/dist/containers/CourseFilterControls/CourseFilterControls.d.ts +1 -13
  68. package/dist/containers/CourseFilterControls/CourseFilterControls.js +26 -16
  69. package/dist/containers/CourseFilterControls/CourseFilterControls.js.map +1 -1
  70. package/dist/containers/CoursesPanel/CourseList/index.d.ts +0 -1
  71. package/dist/containers/CoursesPanel/CourseList/index.js +2 -3
  72. package/dist/containers/CoursesPanel/CourseList/index.js.map +1 -1
  73. package/dist/containers/CoursesPanel/NoCoursesView/index.js +4 -2
  74. package/dist/containers/CoursesPanel/NoCoursesView/index.js.map +1 -1
  75. package/dist/containers/CoursesPanel/index.js +27 -6
  76. package/dist/containers/CoursesPanel/index.js.map +1 -1
  77. package/dist/containers/Dashboard/hooks.js.map +1 -1
  78. package/dist/containers/Dashboard/index.js +7 -4
  79. package/dist/containers/Dashboard/index.js.map +1 -1
  80. package/dist/containers/EmailSettingsModal/hooks.js +8 -5
  81. package/dist/containers/EmailSettingsModal/hooks.js.map +1 -1
  82. package/dist/containers/RelatedProgramsModal/index.js +5 -3
  83. package/dist/containers/RelatedProgramsModal/index.js.map +1 -1
  84. package/dist/containers/SelectSessionModal/hooks.d.ts +1 -1
  85. package/dist/containers/SelectSessionModal/hooks.js +25 -15
  86. package/dist/containers/SelectSessionModal/hooks.js.map +1 -1
  87. package/dist/containers/UnenrollConfirmModal/components/ConfirmPane.d.ts +3 -1
  88. package/dist/containers/UnenrollConfirmModal/components/ConfirmPane.js +9 -3
  89. package/dist/containers/UnenrollConfirmModal/components/ConfirmPane.js.map +1 -1
  90. package/dist/containers/UnenrollConfirmModal/components/FinishedPane.d.ts +3 -3
  91. package/dist/containers/UnenrollConfirmModal/components/FinishedPane.js +9 -4
  92. package/dist/containers/UnenrollConfirmModal/components/FinishedPane.js.map +1 -1
  93. package/dist/containers/UnenrollConfirmModal/components/ReasonPane.d.ts +3 -2
  94. package/dist/containers/UnenrollConfirmModal/components/ReasonPane.js +3 -3
  95. package/dist/containers/UnenrollConfirmModal/components/ReasonPane.js.map +1 -1
  96. package/dist/containers/UnenrollConfirmModal/components/messages.d.ts +7 -7
  97. package/dist/containers/UnenrollConfirmModal/components/messages.js +12 -12
  98. package/dist/containers/UnenrollConfirmModal/components/messages.js.map +1 -1
  99. package/dist/containers/UnenrollConfirmModal/constants.d.ts +5 -0
  100. package/dist/containers/UnenrollConfirmModal/constants.js +7 -1
  101. package/dist/containers/UnenrollConfirmModal/constants.js.map +1 -1
  102. package/dist/containers/UnenrollConfirmModal/hooks/index.d.ts +1 -3
  103. package/dist/containers/UnenrollConfirmModal/hooks/index.js +18 -13
  104. package/dist/containers/UnenrollConfirmModal/hooks/index.js.map +1 -1
  105. package/dist/containers/UnenrollConfirmModal/hooks/reasons.d.ts +0 -2
  106. package/dist/containers/UnenrollConfirmModal/hooks/reasons.js +13 -15
  107. package/dist/containers/UnenrollConfirmModal/hooks/reasons.js.map +1 -1
  108. package/dist/containers/UnenrollConfirmModal/index.js +1 -1
  109. package/dist/containers/UnenrollConfirmModal/index.js.map +1 -1
  110. package/dist/data/constants/files.js +1 -1
  111. package/dist/data/constants/files.js.map +1 -1
  112. package/dist/data/constants/htmlKeys.js +1 -1
  113. package/dist/data/constants/htmlKeys.js.map +1 -1
  114. package/dist/data/context/FiltersProvider.d.ts +18 -0
  115. package/dist/data/context/FiltersProvider.js +37 -0
  116. package/dist/data/context/FiltersProvider.js.map +1 -0
  117. package/dist/data/context/MasqueradeProvider.d.ts +11 -0
  118. package/dist/data/context/MasqueradeProvider.js +19 -0
  119. package/dist/data/context/MasqueradeProvider.js.map +1 -0
  120. package/dist/data/context/SelectSessionProvider.d.ts +15 -0
  121. package/dist/data/context/SelectSessionProvider.js +40 -0
  122. package/dist/data/context/SelectSessionProvider.js.map +1 -0
  123. package/dist/data/context/index.d.ts +10 -0
  124. package/dist/data/context/index.js +8 -0
  125. package/dist/data/context/index.js.map +1 -0
  126. package/dist/data/contexts/GlobalDataContext.d.ts +15 -11
  127. package/dist/data/contexts/GlobalDataContext.js.map +1 -1
  128. package/dist/data/hooks/index.d.ts +3 -0
  129. package/dist/data/hooks/index.js +4 -0
  130. package/dist/data/hooks/index.js.map +1 -0
  131. package/dist/data/hooks/mutationHooks.d.ts +26 -0
  132. package/dist/data/hooks/mutationHooks.js +84 -0
  133. package/dist/data/hooks/mutationHooks.js.map +1 -0
  134. package/dist/data/hooks/queryHooks.d.ts +164 -0
  135. package/dist/data/hooks/queryHooks.js +57 -0
  136. package/dist/data/hooks/queryHooks.js.map +1 -0
  137. package/dist/data/hooks/queryKeys.d.ts +13 -0
  138. package/dist/data/hooks/queryKeys.js +15 -0
  139. package/dist/data/hooks/queryKeys.js.map +1 -0
  140. package/dist/data/services/lms/api.d.ts +18 -27
  141. package/dist/data/services/lms/api.js +77 -38
  142. package/dist/data/services/lms/api.js.map +1 -1
  143. package/dist/data/services/lms/index.js +1 -1
  144. package/dist/data/services/lms/index.js.map +1 -1
  145. package/dist/data/services/lms/urls.d.ts +0 -1
  146. package/dist/data/services/lms/urls.js +6 -2
  147. package/dist/data/services/lms/urls.js.map +1 -1
  148. package/dist/data/services/segment/utils.d.ts +1 -1
  149. package/dist/hooks/index.d.ts +5 -4
  150. package/dist/hooks/index.js +8 -4
  151. package/dist/hooks/index.js.map +1 -1
  152. package/dist/hooks/useCourseData.d.ts +2 -0
  153. package/dist/hooks/useCourseData.js +8 -0
  154. package/dist/hooks/useCourseData.js.map +1 -0
  155. package/dist/hooks/useCourseTrackingEvent.d.ts +2 -0
  156. package/dist/hooks/useCourseTrackingEvent.js +13 -0
  157. package/dist/hooks/useCourseTrackingEvent.js.map +1 -0
  158. package/dist/hooks/useEntitlementInfo.d.ts +22 -0
  159. package/dist/hooks/useEntitlementInfo.js +29 -0
  160. package/dist/hooks/useEntitlementInfo.js.map +1 -0
  161. package/dist/hooks/useIsMasquerading.d.ts +2 -0
  162. package/dist/hooks/useIsMasquerading.js +9 -0
  163. package/dist/hooks/useIsMasquerading.js.map +1 -0
  164. package/dist/i18n/index.d.ts +1 -25
  165. package/dist/i18n/index.js +1 -25
  166. package/dist/i18n/index.js.map +1 -1
  167. package/dist/providers.js +2 -2
  168. package/dist/providers.js.map +1 -1
  169. package/dist/routes.d.ts +2 -0
  170. package/dist/routes.js +3 -1
  171. package/dist/routes.js.map +1 -1
  172. package/dist/tracking/trackers/findCourses.d.ts +1 -1
  173. package/dist/tracking/trackers/socialShare.js +2 -2
  174. package/dist/tracking/trackers/socialShare.js.map +1 -1
  175. package/dist/utils/dataTransformers.d.ts +7 -0
  176. package/dist/utils/dataTransformers.js +58 -0
  177. package/dist/utils/dataTransformers.js.map +1 -0
  178. package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/hooks.d.ts +5 -6
  179. package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/hooks.js +9 -14
  180. package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/hooks.js.map +1 -1
  181. package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/hooks.d.ts +12 -14
  182. package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/hooks.js +24 -34
  183. package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/hooks.js.map +1 -1
  184. package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/index.js +1 -1
  185. package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/index.js.map +1 -1
  186. package/dist/widgets/LearnerDashboardHeader/hooks.js +1 -1
  187. package/dist/widgets/LearnerDashboardHeader/hooks.js.map +1 -1
  188. package/dist/widgets/LookingForChallengeWidget/index.js +4 -2
  189. package/dist/widgets/LookingForChallengeWidget/index.js.map +1 -1
  190. package/dist/widgets/LookingForChallengeWidget/track.d.ts +1 -1
  191. package/package.json +26 -18
  192. package/dist/containers/CourseFilterControls/hooks.d.ts +0 -3
  193. package/dist/containers/CourseFilterControls/hooks.js +0 -48
  194. package/dist/containers/CourseFilterControls/hooks.js.map +0 -1
  195. package/dist/containers/CoursesPanel/hooks.d.ts +0 -15
  196. package/dist/containers/CoursesPanel/hooks.js +0 -45
  197. package/dist/containers/CoursesPanel/hooks.js.map +0 -1
  198. package/dist/containers/RelatedProgramsModal/hooks.d.ts +0 -7
  199. package/dist/containers/RelatedProgramsModal/hooks.js +0 -7
  200. package/dist/containers/RelatedProgramsModal/hooks.js.map +0 -1
  201. package/dist/data/contexts/MasqueradeUserContext.d.ts +0 -13
  202. package/dist/data/contexts/MasqueradeUserContext.js +0 -15
  203. package/dist/data/contexts/MasqueradeUserContext.js.map +0 -1
  204. package/dist/data/contexts/MasqueradeUserProvider.d.ts +0 -3
  205. package/dist/data/contexts/MasqueradeUserProvider.js +0 -24
  206. package/dist/data/contexts/MasqueradeUserProvider.js.map +0 -1
  207. package/dist/data/redux/app/index.d.ts +0 -2
  208. package/dist/data/redux/app/index.js +0 -3
  209. package/dist/data/redux/app/index.js.map +0 -1
  210. package/dist/data/redux/app/reducer.d.ts +0 -25
  211. package/dist/data/redux/app/reducer.js +0 -42
  212. package/dist/data/redux/app/reducer.js.map +0 -1
  213. package/dist/data/redux/app/selectors/appSelectors.d.ts +0 -17
  214. package/dist/data/redux/app/selectors/appSelectors.js +0 -13
  215. package/dist/data/redux/app/selectors/appSelectors.js.map +0 -1
  216. package/dist/data/redux/app/selectors/courseCard.d.ts +0 -3
  217. package/dist/data/redux/app/selectors/courseCard.js +0 -114
  218. package/dist/data/redux/app/selectors/courseCard.js.map +0 -1
  219. package/dist/data/redux/app/selectors/currentList.d.ts +0 -24
  220. package/dist/data/redux/app/selectors/currentList.js +0 -45
  221. package/dist/data/redux/app/selectors/currentList.js.map +0 -1
  222. package/dist/data/redux/app/selectors/index.d.ts +0 -2
  223. package/dist/data/redux/app/selectors/index.js +0 -8
  224. package/dist/data/redux/app/selectors/index.js.map +0 -1
  225. package/dist/data/redux/app/selectors/simpleSelectors.d.ts +0 -5
  226. package/dist/data/redux/app/selectors/simpleSelectors.js +0 -31
  227. package/dist/data/redux/app/selectors/simpleSelectors.js.map +0 -1
  228. package/dist/data/redux/hooks/app.d.ts +0 -42
  229. package/dist/data/redux/hooks/app.js +0 -99
  230. package/dist/data/redux/hooks/app.js.map +0 -1
  231. package/dist/data/redux/hooks/index.d.ts +0 -2
  232. package/dist/data/redux/hooks/index.js +0 -3
  233. package/dist/data/redux/hooks/index.js.map +0 -1
  234. package/dist/data/redux/hooks/requests.d.ts +0 -16
  235. package/dist/data/redux/hooks/requests.js +0 -38
  236. package/dist/data/redux/hooks/requests.js.map +0 -1
  237. package/dist/data/redux/index.d.ts +0 -6
  238. package/dist/data/redux/index.js +0 -26
  239. package/dist/data/redux/index.js.map +0 -1
  240. package/dist/data/redux/requests/index.d.ts +0 -2
  241. package/dist/data/redux/requests/index.js +0 -3
  242. package/dist/data/redux/requests/index.js.map +0 -1
  243. package/dist/data/redux/requests/reducer.d.ts +0 -36
  244. package/dist/data/redux/requests/reducer.js +0 -32
  245. package/dist/data/redux/requests/reducer.js.map +0 -1
  246. package/dist/data/redux/requests/selectors.d.ts +0 -21
  247. package/dist/data/redux/requests/selectors.js +0 -24
  248. package/dist/data/redux/requests/selectors.js.map +0 -1
  249. package/dist/data/services/lms/fakeData/courses.d.ts +0 -788
  250. package/dist/data/services/lms/fakeData/courses.js +0 -744
  251. package/dist/data/services/lms/fakeData/courses.js.map +0 -1
  252. package/dist/data/services/lms/fakeData/testUtils.d.ts +0 -18
  253. package/dist/data/services/lms/fakeData/testUtils.js +0 -31
  254. package/dist/data/services/lms/fakeData/testUtils.js.map +0 -1
  255. package/dist/data/store.d.ts +0 -12
  256. package/dist/data/store.js +0 -14
  257. package/dist/data/store.js.map +0 -1
  258. package/dist/data/utils.d.ts +0 -10
  259. package/dist/data/utils.js +0 -14
  260. package/dist/data/utils.js.map +0 -1
  261. package/dist/hooks/api.d.ts +0 -9
  262. package/dist/hooks/api.js +0 -96
  263. package/dist/hooks/api.js.map +0 -1
  264. package/dist/slots/CourseBannerSlot/images/course_banner_slot_default.png +0 -0
  265. package/dist/slots/CourseBannerSlot/images/custom_course_banner.png +0 -0
  266. package/dist/slots/CourseCardActionSlot/images/post_course_card_action.png +0 -0
  267. package/dist/slots/CourseListSlot/images/course_list_slot.png +0 -0
  268. package/dist/slots/CourseListSlot/images/readme_custom_course_list.png +0 -0
  269. package/dist/slots/DashboardModalSlot/images/dashboard_modal_slot.png +0 -0
  270. package/dist/slots/NoCoursesViewSlot/images/no_course_view_slot.png +0 -0
  271. package/dist/slots/NoCoursesViewSlot/images/readme_custom_no_courses.png +0 -0
  272. package/dist/slots/WidgetSidebarSlot/images/readme_custom_sidebar.png +0 -0
  273. package/dist/slots/WidgetSidebarSlot/images/widget_sidebar_slot.png +0 -0
  274. package/dist/test/inspector.d.ts +0 -28
  275. package/dist/test/inspector.js +0 -38
  276. package/dist/test/inspector.js.map +0 -1
  277. package/dist/test/messages.d.ts +0 -8
  278. package/dist/test/messages.js +0 -18
  279. package/dist/test/messages.js.map +0 -1
  280. package/dist/test/utils.d.ts +0 -2
  281. package/dist/test/utils.js +0 -3
  282. package/dist/test/utils.js.map +0 -1
@@ -1,41 +1,80 @@
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 { getAuthenticatedHttpClient } from '@openedx/frontend-base';
11
+ import { apiKeys, enableEmailsAction, unenrollmentAction } from '../../../data/services/lms/constants';
12
+ import urls from '../../../data/services/lms/urls';
13
+ import { stringifyUrl } from '../../../data/services/lms/utils';
1
14
  import eventNames from '../../../tracking/constants';
2
- import { client, get, post, stringifyUrl, } from './utils';
3
- import { apiKeys, unenrollmentAction, enableEmailsAction, } from './constants';
4
- import urls from './urls';
5
- import * as module from './api';
6
- /*********************************************************************************
7
- * GET Actions
8
- *********************************************************************************/
9
- export const initializeList = ({ user } = {}) => get(stringifyUrl(urls.getInitApiUrl(), { [apiKeys.user]: user }));
10
- export const updateEntitlementEnrollment = ({ uuid, courseId }) => post(urls.entitlementEnrollment(uuid), { [apiKeys.courseRunId]: courseId });
11
- export const deleteEntitlementEnrollment = ({ uuid, isRefundable }) => client()
12
- .delete(stringifyUrl(urls.entitlementEnrollment(uuid), { [apiKeys.isRefund]: isRefundable }));
13
- export const updateEmailSettings = ({ courseId, enable }) => post(urls.updateEmailSettings(), Object.assign({ [apiKeys.courseId]: courseId }, (enable && enableEmailsAction)));
14
- export const unenrollFromCourse = ({ courseId }) => post(urls.courseUnenroll(), Object.assign({ [apiKeys.courseId]: courseId }, unenrollmentAction));
15
- export const logEvent = ({ eventName, data, courseId }) => post(urls.event(), {
16
- courserun_key: courseId,
17
- event_type: eventName,
18
- page: window.location.href,
19
- event: JSON.stringify(data),
20
- });
21
- export const logShare = ({ courseId, site }) => module.logEvent({
22
- eventName: eventNames.shareClicked,
23
- courseId,
24
- data: {
25
- course_id: courseId,
26
- social_media_site: site,
27
- location: 'dashboard',
28
- },
29
- });
30
- export const createCreditRequest = ({ providerId, courseId, username }) => post(urls.creditRequestUrl(providerId), { course_key: courseId, username });
31
- export default {
32
- initializeList,
33
- unenrollFromCourse,
34
- updateEmailSettings,
35
- updateEntitlementEnrollment,
36
- deleteEntitlementEnrollment,
37
- logEvent,
38
- logShare,
39
- createCreditRequest,
15
+ const initializeList = (user) => __awaiter(void 0, void 0, void 0, function* () {
16
+ const { data } = yield getAuthenticatedHttpClient().get(stringifyUrl(urls.getInitApiUrl(), { [apiKeys.user]: user }));
17
+ return data;
18
+ });
19
+ const unenrollFromCourse = (_a) => __awaiter(void 0, [_a], void 0, function* ({ courseId }) {
20
+ const url = urls.courseUnenroll();
21
+ const formData = new FormData();
22
+ formData.append(apiKeys.courseId, courseId);
23
+ Object.entries(unenrollmentAction).forEach(([key, value]) => {
24
+ formData.append(key, value);
25
+ });
26
+ const response = yield getAuthenticatedHttpClient().post(url, formData);
27
+ return response;
28
+ });
29
+ const updateEntitlementEnrollment = (_a) => __awaiter(void 0, [_a], void 0, function* ({ uuid, courseId }) {
30
+ const url = urls.entitlementEnrollment(uuid);
31
+ const content = { [apiKeys.courseRunId]: courseId };
32
+ const response = yield getAuthenticatedHttpClient().post(url, content);
33
+ return response;
34
+ });
35
+ const deleteEntitlementEnrollment = (_a) => __awaiter(void 0, [_a], void 0, function* ({ uuid, isRefundable }) {
36
+ const url = stringifyUrl(urls.entitlementEnrollment(uuid), { [apiKeys.isRefund]: isRefundable });
37
+ const response = yield getAuthenticatedHttpClient().delete(url);
38
+ return response;
39
+ });
40
+ const updateEmailSettings = (_a) => __awaiter(void 0, [_a], void 0, function* ({ courseId, enable }) {
41
+ const url = urls.updateEmailSettings();
42
+ const content = Object.assign({ [apiKeys.courseId]: courseId }, (enable && enableEmailsAction));
43
+ const response = yield getAuthenticatedHttpClient().post(url, content);
44
+ return response;
45
+ });
46
+ const logEvent = (_a) => __awaiter(void 0, [_a], void 0, function* ({ eventName, data, courseId }) {
47
+ const url = urls.event();
48
+ const content = {
49
+ courserun_key: courseId,
50
+ event_type: eventName,
51
+ page: window.location.href,
52
+ event: JSON.stringify(data),
53
+ };
54
+ const response = yield getAuthenticatedHttpClient().post(url, content);
55
+ return response;
56
+ });
57
+ const logShare = ({ courseId, site }) => {
58
+ const eventData = {
59
+ eventName: eventNames.shareClicked,
60
+ courseId,
61
+ data: {
62
+ course_id: courseId,
63
+ social_media_site: site,
64
+ location: 'dashboard',
65
+ },
66
+ };
67
+ return logEvent(eventData);
40
68
  };
69
+ const createCreditRequest = (_a) => __awaiter(void 0, [_a], void 0, function* ({ providerId, courseId, username }) {
70
+ const url = urls.creditRequestUrl(providerId);
71
+ const content = { course_key: courseId, username };
72
+ const response = yield getAuthenticatedHttpClient().post(url, content);
73
+ return response;
74
+ });
75
+ const sendConfirmEmail = (sendEmailUrl) => __awaiter(void 0, void 0, void 0, function* () {
76
+ const response = yield getAuthenticatedHttpClient().post(sendEmailUrl);
77
+ return response;
78
+ });
79
+ export { initializeList, unenrollFromCourse, updateEntitlementEnrollment, deleteEntitlementEnrollment, updateEmailSettings, logEvent, logShare, createCreditRequest, sendConfirmEmail, };
41
80
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/data/services/lms/api.js"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,6BAA6B,CAAC;AACrD,OAAO,EACL,MAAM,EACN,GAAG,EACH,IAAI,EACJ,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,KAAK,MAAM,MAAM,OAAO,CAAC;AAEhC;;mFAEmF;AACnF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAClD,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAC7D,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,IAAI,CACrE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAChC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CACpC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE;KAC5E,MAAM,CACL,YAAY,CACV,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAChC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,CACrC,CACF,CAAC;AAEJ,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAC/D,IAAI,CAAC,mBAAmB,EAAE,kBACxB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,IAAK,CAAC,MAAM,IAAI,kBAAkB,CAAC,EAClE,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,IAAI,CACtD,IAAI,CAAC,cAAc,EAAE,kBACnB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,IAAK,kBAAkB,EACtD,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;IAC5E,aAAa,EAAE,QAAQ;IACvB,UAAU,EAAE,SAAS;IACrB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;IAC1B,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;CAC5B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9D,SAAS,EAAE,UAAU,CAAC,YAAY;IAClC,QAAQ;IACR,IAAI,EAAE;QACJ,SAAS,EAAE,QAAQ;QACnB,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,WAAW;KACtB;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,IAAI,CAC7E,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACjC,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CACnC,CAAC;AAEF,eAAe;IACb,cAAc;IACd,kBAAkB;IAClB,mBAAmB;IACnB,2BAA2B;IAC3B,2BAA2B;IAC3B,QAAQ;IACR,QAAQ;IACR,mBAAmB;CACpB,CAAC","sourcesContent":["import eventNames from '../../../tracking/constants';\nimport {\n client,\n get,\n post,\n stringifyUrl,\n} from './utils';\nimport {\n apiKeys,\n unenrollmentAction,\n enableEmailsAction,\n} from './constants';\nimport urls from './urls';\nimport * as module from './api';\n\n/*********************************************************************************\n * GET Actions\n *********************************************************************************/\nexport const initializeList = ({ user } = {}) => get(\n stringifyUrl(urls.getInitApiUrl(), { [apiKeys.user]: user }),\n);\n\nexport const updateEntitlementEnrollment = ({ uuid, courseId }) => post(\n urls.entitlementEnrollment(uuid),\n { [apiKeys.courseRunId]: courseId },\n);\n\nexport const deleteEntitlementEnrollment = ({ uuid, isRefundable }) => client()\n .delete(\n stringifyUrl(\n urls.entitlementEnrollment(uuid),\n { [apiKeys.isRefund]: isRefundable },\n ),\n );\n\nexport const updateEmailSettings = ({ courseId, enable }) => post(\n urls.updateEmailSettings(),\n { [apiKeys.courseId]: courseId, ...(enable && enableEmailsAction) },\n);\n\nexport const unenrollFromCourse = ({ courseId }) => post(\n urls.courseUnenroll(),\n { [apiKeys.courseId]: courseId, ...unenrollmentAction },\n);\n\nexport const logEvent = ({ eventName, data, courseId }) => post(urls.event(), {\n courserun_key: courseId,\n event_type: eventName,\n page: window.location.href,\n event: JSON.stringify(data),\n});\n\nexport const logShare = ({ courseId, site }) => module.logEvent({\n eventName: eventNames.shareClicked,\n courseId,\n data: {\n course_id: courseId,\n social_media_site: site,\n location: 'dashboard',\n },\n});\n\nexport const createCreditRequest = ({ providerId, courseId, username }) => post(\n urls.creditRequestUrl(providerId),\n { course_key: courseId, username },\n);\n\nexport default {\n initializeList,\n unenrollFromCourse,\n updateEmailSettings,\n updateEntitlementEnrollment,\n deleteEntitlementEnrollment,\n logEvent,\n logShare,\n createCreditRequest,\n};\n"]}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/data/services/lms/api.ts"],"names":[],"mappings":"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","sourcesContent":["import { getAuthenticatedHttpClient } from '@openedx/frontend-base';\nimport { apiKeys, enableEmailsAction, unenrollmentAction } from '@src/data/services/lms/constants';\nimport urls from '@src/data/services/lms/urls';\nimport { stringifyUrl } from '@src/data/services/lms/utils';\nimport eventNames from '@src/tracking/constants';\n\nconst initializeList = async (user) => {\n const { data } = await getAuthenticatedHttpClient().get(\n stringifyUrl(urls.getInitApiUrl(), { [apiKeys.user]: user }),\n );\n return data;\n};\n\nconst unenrollFromCourse = async ({ courseId }) => {\n const url = urls.courseUnenroll();\n const formData = new FormData();\n formData.append(apiKeys.courseId, courseId);\n Object.entries(unenrollmentAction).forEach(([key, value]) => {\n formData.append(key, value);\n });\n const response = await getAuthenticatedHttpClient().post(url, formData);\n return response;\n};\n\nconst updateEntitlementEnrollment = async ({ uuid, courseId }) => {\n const url = urls.entitlementEnrollment(uuid);\n const content = { [apiKeys.courseRunId]: courseId };\n const response = await getAuthenticatedHttpClient().post(url, content);\n return response;\n};\n\nconst deleteEntitlementEnrollment = async ({ uuid, isRefundable }) => {\n const url = stringifyUrl(\n urls.entitlementEnrollment(uuid),\n { [apiKeys.isRefund]: isRefundable },\n );\n const response = await getAuthenticatedHttpClient().delete(url);\n return response;\n};\n\nconst updateEmailSettings = async ({ courseId, enable }) => {\n const url = urls.updateEmailSettings();\n const content = { [apiKeys.courseId]: courseId, ...(enable && enableEmailsAction) };\n const response = await getAuthenticatedHttpClient().post(url, content);\n return response;\n};\n\nconst logEvent = async ({ eventName, data, courseId }) => {\n const url = urls.event();\n const content = {\n courserun_key: courseId,\n event_type: eventName,\n page: window.location.href,\n event: JSON.stringify(data),\n };\n const response = await getAuthenticatedHttpClient().post(url, content);\n return response;\n};\n\nconst logShare = ({ courseId, site }) => {\n const eventData = {\n eventName: eventNames.shareClicked,\n courseId,\n data: {\n course_id: courseId,\n social_media_site: site,\n location: 'dashboard',\n },\n };\n return logEvent(eventData);\n};\n\nconst createCreditRequest = async ({ providerId, courseId, username }) => {\n const url = urls.creditRequestUrl(providerId);\n const content = { course_key: courseId, username };\n const response = await getAuthenticatedHttpClient().post(url, content);\n return response;\n};\n\nconst sendConfirmEmail = async (sendEmailUrl: string) => {\n const response = await getAuthenticatedHttpClient().post(sendEmailUrl);\n return response;\n};\n\nexport {\n initializeList,\n unenrollFromCourse,\n updateEntitlementEnrollment,\n deleteEntitlementEnrollment,\n updateEmailSettings,\n logEvent,\n logShare,\n createCreditRequest,\n sendConfirmEmail,\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { StrictDict } from 'utils';
1
+ import { StrictDict } from '../../../utils';
2
2
  import api from './api';
3
3
  import urls from './urls';
4
4
  export default StrictDict({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/data/services/lms/index.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,eAAe,UAAU,CAAC;IACxB,GAAG;IACH,IAAI;CACL,CAAC,CAAC","sourcesContent":["import { StrictDict } from 'utils';\nimport api from './api';\nimport urls from './urls';\n\nexport default StrictDict({\n api,\n urls,\n});\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/data/services/lms/index.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,eAAe,UAAU,CAAC;IACxB,GAAG;IACH,IAAI;CACL,CAAC,CAAC","sourcesContent":["import { StrictDict } from '@src/utils';\nimport api from './api';\nimport urls from './urls';\n\nexport default StrictDict({\n api,\n urls,\n});\n"]}
@@ -1,4 +1,3 @@
1
- export function getEcommerceUrl(): unknown;
2
1
  export function getApiUrl(): string;
3
2
  export function updateUrl(base: any, url: any): any;
4
3
  export function baseAppUrl(url: any): any;
@@ -1,7 +1,6 @@
1
1
  import { appId } from '../../../constants';
2
2
  import { StrictDict } from '../../../utils';
3
3
  import { getAppConfig, getSiteConfig } from '@openedx/frontend-base';
4
- export const getEcommerceUrl = () => getAppConfig(appId).ECOMMERCE_BASE_URL;
5
4
  const getBaseUrl = () => getSiteConfig().lmsBaseUrl;
6
5
  export const getApiUrl = () => (`${getSiteConfig().lmsBaseUrl}/api`);
7
6
  const getInitApiUrl = () => (`${getApiUrl()}/learner_home/init`);
@@ -15,7 +14,12 @@ export const baseAppUrl = (url) => updateUrl(getBaseUrl(), url);
15
14
  export const learningMfeUrl = (url) => updateUrl(getAppConfig(appId).LEARNING_BASE_URL, url);
16
15
  // static view url
17
16
  const programsUrl = () => baseAppUrl('/dashboard/programs');
18
- export const creditPurchaseUrl = (courseId) => `${getEcommerceUrl()}/credit/checkout/${courseId}/`;
17
+ export const creditPurchaseUrl = (courseId) => {
18
+ const config = getAppConfig(appId);
19
+ return config.CREDIT_PURCHASE_URL
20
+ ? `${config.CREDIT_PURCHASE_URL}/${courseId}/`
21
+ : `${config.ECOMMERCE_BASE_URL}/credit/checkout/${courseId}/`;
22
+ };
19
23
  export const creditRequestUrl = (providerId) => `${getApiUrl()}/credit/v1/providers/${providerId}/request/`;
20
24
  export default StrictDict({
21
25
  getApiUrl,
@@ -1 +1 @@
1
- {"version":3,"file":"urls.js","sourceRoot":"","sources":["../../../../src/data/services/lms/urls.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAErE,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC;AAE5E,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC;AAEpD,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,aAAa,EAAE,CAAC,UAAU,MAAM,CAAC,CAAC;AAErE,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAEjE,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,GAAG,UAAU,EAAE,QAAQ,CAAC;AAC5C,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,GAAG,UAAU,EAAE,oBAAoB,CAAC;AACjE,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,GAAG,SAAS,EAAE,wBAAwB,CAAC;AACzE,MAAM,qBAAqB,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,SAAS,EAAE,iCAAiC,IAAI,cAAc,CAAC;AAE1G,8CAA8C;AAC9C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC;AAE3I,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AAE7F,kBAAkB;AAClB,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,eAAe,EAAE,oBAAoB,QAAQ,GAAG,CAAC;AACnG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,SAAS,EAAE,wBAAwB,UAAU,WAAW,CAAC;AAE5G,eAAe,UAAU,CAAC;IACxB,SAAS;IACT,UAAU;IACV,cAAc;IACd,iBAAiB;IACjB,gBAAgB;IAChB,qBAAqB;IACrB,KAAK;IACL,aAAa;IACb,cAAc;IACd,WAAW;IACX,mBAAmB;CACpB,CAAC,CAAC","sourcesContent":["import { appId } from '../../../constants';\nimport { StrictDict } from '../../../utils';\n\nimport { getAppConfig, getSiteConfig } from '@openedx/frontend-base';\n\nexport const getEcommerceUrl = () => getAppConfig(appId).ECOMMERCE_BASE_URL;\n\nconst getBaseUrl = () => getSiteConfig().lmsBaseUrl;\n\nexport const getApiUrl = () => (`${getSiteConfig().lmsBaseUrl}/api`);\n\nconst getInitApiUrl = () => (`${getApiUrl()}/learner_home/init`);\n\nconst event = () => `${getBaseUrl()}/event`;\nconst courseUnenroll = () => `${getBaseUrl()}/change_enrollment`;\nconst updateEmailSettings = () => `${getApiUrl()}/change_email_settings`;\nconst entitlementEnrollment = (uuid) => `${getApiUrl()}/entitlements/v1/entitlements/${uuid}/enrollments`;\n\n// if url is null or absolute, return it as is\nexport const updateUrl = (base, url) => ((url == null || url.startsWith('http://') || url.startsWith('https://')) ? url : `${base}${url}`);\n\nexport const baseAppUrl = (url) => updateUrl(getBaseUrl(), url);\nexport const learningMfeUrl = (url) => updateUrl(getAppConfig(appId).LEARNING_BASE_URL, url);\n\n// static view url\nconst programsUrl = () => baseAppUrl('/dashboard/programs');\n\nexport const creditPurchaseUrl = (courseId) => `${getEcommerceUrl()}/credit/checkout/${courseId}/`;\nexport const creditRequestUrl = (providerId) => `${getApiUrl()}/credit/v1/providers/${providerId}/request/`;\n\nexport default StrictDict({\n getApiUrl,\n baseAppUrl,\n courseUnenroll,\n creditPurchaseUrl,\n creditRequestUrl,\n entitlementEnrollment,\n event,\n getInitApiUrl,\n learningMfeUrl,\n programsUrl,\n updateEmailSettings,\n});\n"]}
1
+ {"version":3,"file":"urls.js","sourceRoot":"","sources":["../../../../src/data/services/lms/urls.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAErE,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC;AAEpD,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,aAAa,EAAE,CAAC,UAAU,MAAM,CAAC,CAAC;AAErE,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAEjE,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,GAAG,UAAU,EAAE,QAAQ,CAAC;AAC5C,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,GAAG,UAAU,EAAE,oBAAoB,CAAC;AACjE,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,GAAG,SAAS,EAAE,wBAAwB,CAAC;AACzE,MAAM,qBAAqB,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,SAAS,EAAE,iCAAiC,IAAI,cAAc,CAAC;AAE1G,8CAA8C;AAC9C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC;AAE3I,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AAE7F,kBAAkB;AAClB,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,EAAE;IAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC,mBAAmB;QAC/B,CAAC,CAAC,GAAG,MAAM,CAAC,mBAAmB,IAAI,QAAQ,GAAG;QAC9C,CAAC,CAAC,GAAG,MAAM,CAAC,kBAAkB,oBAAoB,QAAQ,GAAG,CAAC;AAClE,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,SAAS,EAAE,wBAAwB,UAAU,WAAW,CAAC;AAE5G,eAAe,UAAU,CAAC;IACxB,SAAS;IACT,UAAU;IACV,cAAc;IACd,iBAAiB;IACjB,gBAAgB;IAChB,qBAAqB;IACrB,KAAK;IACL,aAAa;IACb,cAAc;IACd,WAAW;IACX,mBAAmB;CACpB,CAAC,CAAC","sourcesContent":["import { appId } from '../../../constants';\nimport { StrictDict } from '../../../utils';\n\nimport { getAppConfig, getSiteConfig } from '@openedx/frontend-base';\n\nconst getBaseUrl = () => getSiteConfig().lmsBaseUrl;\n\nexport const getApiUrl = () => (`${getSiteConfig().lmsBaseUrl}/api`);\n\nconst getInitApiUrl = () => (`${getApiUrl()}/learner_home/init`);\n\nconst event = () => `${getBaseUrl()}/event`;\nconst courseUnenroll = () => `${getBaseUrl()}/change_enrollment`;\nconst updateEmailSettings = () => `${getApiUrl()}/change_email_settings`;\nconst entitlementEnrollment = (uuid) => `${getApiUrl()}/entitlements/v1/entitlements/${uuid}/enrollments`;\n\n// if url is null or absolute, return it as is\nexport const updateUrl = (base, url) => ((url == null || url.startsWith('http://') || url.startsWith('https://')) ? url : `${base}${url}`);\n\nexport const baseAppUrl = (url) => updateUrl(getBaseUrl(), url);\nexport const learningMfeUrl = (url) => updateUrl(getAppConfig(appId).LEARNING_BASE_URL, url);\n\n// static view url\nconst programsUrl = () => baseAppUrl('/dashboard/programs');\n\nexport const creditPurchaseUrl = (courseId) => {\n const config = getAppConfig(appId);\n return config.CREDIT_PURCHASE_URL\n ? `${config.CREDIT_PURCHASE_URL}/${courseId}/`\n : `${config.ECOMMERCE_BASE_URL}/credit/checkout/${courseId}/`;\n};\nexport const creditRequestUrl = (providerId) => `${getApiUrl()}/credit/v1/providers/${providerId}/request/`;\n\nexport default StrictDict({\n getApiUrl,\n baseAppUrl,\n courseUnenroll,\n creditPurchaseUrl,\n creditRequestUrl,\n entitlementEnrollment,\n event,\n getInitApiUrl,\n learningMfeUrl,\n programsUrl,\n updateEmailSettings,\n});\n"]}
@@ -1,3 +1,3 @@
1
1
  export const LINK_TIMEOUT: 300;
2
2
  export function createEventTracker(name: any, options?: {}): () => void;
3
- export function createLinkTracker(tracker: any, href: any): (e: any) => NodeJS.Timeout;
3
+ export function createLinkTracker(tracker: any, href: any): (e: any) => number;
@@ -1,6 +1,7 @@
1
- export const reduxHooks: typeof redux;
2
- export const apiHooks: typeof api;
3
1
  export const utilHooks: typeof utils;
4
- import * as redux from '../data/redux/hooks';
5
- import * as api from './api';
6
2
  import * as utils from './utils';
3
+ import useCourseData from './useCourseData';
4
+ import useCourseTrackingEvent from './useCourseTrackingEvent';
5
+ import useEntitlementInfo from './useEntitlementInfo';
6
+ import useIsMasquerading from './useIsMasquerading';
7
+ export { useCourseData, useCourseTrackingEvent, useEntitlementInfo, useIsMasquerading };
@@ -1,7 +1,11 @@
1
- import * as redux from '../data/redux/hooks';
2
- import * as api from './api';
3
1
  import * as utils from './utils';
4
- export const reduxHooks = redux;
5
- export const apiHooks = api;
2
+ import useCourseData from './useCourseData';
3
+ import useCourseTrackingEvent from './useCourseTrackingEvent';
4
+ import useEntitlementInfo from './useEntitlementInfo';
5
+ import useIsMasquerading from './useIsMasquerading';
6
6
  export const utilHooks = utils;
7
+ export { useCourseData };
8
+ export { useCourseTrackingEvent };
9
+ export { useEntitlementInfo };
10
+ export { useIsMasquerading };
7
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAC;AAC7C,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC;AAChC,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAC;AAC5B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC","sourcesContent":["import * as redux from '../data/redux/hooks';\nimport * as api from './api';\nimport * as utils from './utils';\n\nexport const reduxHooks = redux;\nexport const apiHooks = api;\nexport const utilHooks = utils;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,CAAC","sourcesContent":["import * as utils from './utils';\nimport useCourseData from './useCourseData';\nimport useCourseTrackingEvent from './useCourseTrackingEvent';\nimport useEntitlementInfo from './useEntitlementInfo';\nimport useIsMasquerading from './useIsMasquerading';\n\nexport const utilHooks = utils;\nexport { useCourseData };\nexport { useCourseTrackingEvent };\nexport { useEntitlementInfo };\nexport { useIsMasquerading };\n"]}
@@ -0,0 +1,2 @@
1
+ declare const useCourseData: (cardId: string) => any;
2
+ export default useCourseData;
@@ -0,0 +1,8 @@
1
+ import { useInitializeLearnerHome } from '../data/hooks';
2
+ const useCourseData = (cardId) => {
3
+ var _a;
4
+ const { data } = useInitializeLearnerHome();
5
+ return (_a = data === null || data === void 0 ? void 0 : data.coursesByCardId) === null || _a === void 0 ? void 0 : _a[cardId];
6
+ };
7
+ export default useCourseData;
8
+ //# sourceMappingURL=useCourseData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCourseData.js","sourceRoot":"","sources":["../../src/hooks/useCourseData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,EAAE;;IACvC,MAAM,EAAE,IAAI,EAAE,GAAG,wBAAwB,EAAE,CAAC;IAC5C,OAAO,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,0CAAG,MAAM,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC","sourcesContent":["import { useInitializeLearnerHome } from '@src/data/hooks';\n\nconst useCourseData = (cardId: string) => {\n const { data } = useInitializeLearnerHome();\n return data?.coursesByCardId?.[cardId];\n};\n\nexport default useCourseData;\n"]}
@@ -0,0 +1,2 @@
1
+ declare const useCourseTrackingEvent: (tracker: (...a: any[]) => any, cardId: string, ...args: any[]) => (e: Event) => void;
2
+ export default useCourseTrackingEvent;
@@ -0,0 +1,13 @@
1
+ import useCourseData from './useCourseData';
2
+ const useCourseTrackingEvent = (tracker, cardId, ...args) => {
3
+ var _a;
4
+ const courseData = useCourseData(cardId);
5
+ const courseId = (_a = courseData === null || courseData === void 0 ? void 0 : courseData.courseRun) === null || _a === void 0 ? void 0 : _a.courseId;
6
+ return (e) => {
7
+ if (courseId) {
8
+ tracker(courseId, ...args)(e);
9
+ }
10
+ };
11
+ };
12
+ export default useCourseTrackingEvent;
13
+ //# sourceMappingURL=useCourseTrackingEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCourseTrackingEvent.js","sourceRoot":"","sources":["../../src/hooks/useCourseTrackingEvent.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,MAAM,sBAAsB,GAAG,CAAC,OAA6B,EAAE,MAAc,EAAE,GAAG,IAAW,EAAE,EAAE;;IAC/F,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAC,UAAkB,aAAlB,UAAU,uBAAV,UAAU,CAAU,SAAS,0CAAE,QAAQ,CAAC;IAE1D,OAAO,CAAC,CAAQ,EAAE,EAAE;QAClB,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,sBAAsB,CAAC","sourcesContent":["import useCourseData from './useCourseData';\n\nconst useCourseTrackingEvent = (tracker: (...a: any[]) => any, cardId: string, ...args: any[]) => {\n const courseData = useCourseData(cardId);\n const courseId = (courseData as any)?.courseRun?.courseId;\n\n return (e: Event) => {\n if (courseId) {\n tracker(courseId, ...args)(e);\n }\n };\n};\n\nexport default useCourseTrackingEvent;\n"]}
@@ -0,0 +1,22 @@
1
+ declare const useEntitlementInfo: (courseData: any) => {
2
+ isEntitlement: boolean;
3
+ availableSessions?: undefined;
4
+ changeDeadline?: undefined;
5
+ isExpired?: undefined;
6
+ isFulfilled?: undefined;
7
+ uuid?: undefined;
8
+ hasSessions?: undefined;
9
+ canChange?: undefined;
10
+ showExpirationWarning?: undefined;
11
+ } | {
12
+ isEntitlement: boolean;
13
+ availableSessions: any;
14
+ changeDeadline: Date;
15
+ isExpired: any;
16
+ isFulfilled: any;
17
+ uuid: any;
18
+ hasSessions: boolean;
19
+ canChange: boolean;
20
+ showExpirationWarning: boolean;
21
+ };
22
+ export default useEntitlementInfo;
@@ -0,0 +1,29 @@
1
+ import { useMemo } from 'react';
2
+ const useEntitlementInfo = (courseData) => useMemo(() => {
3
+ var _a;
4
+ const { entitlement } = courseData || {};
5
+ if (!entitlement || Object.keys(entitlement).length === 0 || entitlement.isEntitlement === false) {
6
+ return { isEntitlement: false };
7
+ }
8
+ const today = new Date();
9
+ const dateSixMonthsFromNow = new Date();
10
+ dateSixMonthsFromNow.setDate(dateSixMonthsFromNow.getDate() + 180);
11
+ const deadline = new Date(entitlement.changeDeadline);
12
+ const deadlinePassed = deadline < today;
13
+ const showExpirationWarning = (!entitlement.isFulfilled
14
+ && !deadlinePassed
15
+ && deadline <= dateSixMonthsFromNow);
16
+ return {
17
+ isEntitlement: true,
18
+ availableSessions: entitlement.availableSessions,
19
+ changeDeadline: deadline,
20
+ isExpired: entitlement.isExpired,
21
+ isFulfilled: entitlement.isFulfilled,
22
+ uuid: entitlement.uuid,
23
+ hasSessions: ((_a = entitlement.availableSessions) === null || _a === void 0 ? void 0 : _a.length) > 0,
24
+ canChange: !deadlinePassed,
25
+ showExpirationWarning,
26
+ };
27
+ }, [courseData]);
28
+ export default useEntitlementInfo;
29
+ //# sourceMappingURL=useEntitlementInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEntitlementInfo.js","sourceRoot":"","sources":["../../src/hooks/useEntitlementInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,MAAM,kBAAkB,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;;IACtD,MAAM,EAAE,WAAW,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IACzC,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;QACjG,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;IACzB,MAAM,oBAAoB,GAAG,IAAI,IAAI,EAAE,CAAC;IACxC,oBAAoB,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,cAAc,GAAG,QAAQ,GAAG,KAAK,CAAC;IACxC,MAAM,qBAAqB,GAAG,CAC5B,CAAC,WAAW,CAAC,WAAW;WACrB,CAAC,cAAc;WACf,QAAQ,IAAI,oBAAoB,CACpC,CAAC;IACF,OAAO;QACL,aAAa,EAAE,IAAI;QAEnB,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;QAChD,cAAc,EAAE,QAAQ;QACxB,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,WAAW,EAAE,WAAW,CAAC,WAAW;QACpC,IAAI,EAAE,WAAW,CAAC,IAAI;QAEtB,WAAW,EAAE,CAAA,MAAA,WAAW,CAAC,iBAAiB,0CAAE,MAAM,IAAG,CAAC;QACtD,SAAS,EAAE,CAAC,cAAc;QAC1B,qBAAqB;KACtB,CAAC;AACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AAEjB,eAAe,kBAAkB,CAAC","sourcesContent":["import { useMemo } from 'react';\n\nconst useEntitlementInfo = (courseData) => useMemo(() => {\n const { entitlement } = courseData || {};\n if (!entitlement || Object.keys(entitlement).length === 0 || entitlement.isEntitlement === false) {\n return { isEntitlement: false };\n }\n const today = new Date();\n const dateSixMonthsFromNow = new Date();\n dateSixMonthsFromNow.setDate(dateSixMonthsFromNow.getDate() + 180);\n const deadline = new Date(entitlement.changeDeadline);\n const deadlinePassed = deadline < today;\n const showExpirationWarning = (\n !entitlement.isFulfilled\n && !deadlinePassed\n && deadline <= dateSixMonthsFromNow\n );\n return {\n isEntitlement: true,\n\n availableSessions: entitlement.availableSessions,\n changeDeadline: deadline,\n isExpired: entitlement.isExpired,\n isFulfilled: entitlement.isFulfilled,\n uuid: entitlement.uuid,\n\n hasSessions: entitlement.availableSessions?.length > 0,\n canChange: !deadlinePassed,\n showExpirationWarning,\n };\n}, [courseData]);\n\nexport default useEntitlementInfo;\n"]}
@@ -0,0 +1,2 @@
1
+ declare const useIsMasquerading: () => boolean;
2
+ export default useIsMasquerading;
@@ -0,0 +1,9 @@
1
+ import { useMasquerade } from '../data/context';
2
+ import { useInitializeLearnerHome } from '../data/hooks';
3
+ const useIsMasquerading = () => {
4
+ const { masqueradeUser } = useMasquerade();
5
+ const { isError } = useInitializeLearnerHome();
6
+ return !!masqueradeUser && !isError;
7
+ };
8
+ export default useIsMasquerading;
9
+ //# sourceMappingURL=useIsMasquerading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsMasquerading.js","sourceRoot":"","sources":["../../src/hooks/useIsMasquerading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC7B,MAAM,EAAE,cAAc,EAAE,GAAG,aAAa,EAAE,CAAC;IAC3C,MAAM,EAAE,OAAO,EAAE,GAAG,wBAAwB,EAAE,CAAC;IAC/C,OAAO,CAAC,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC;AACtC,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["import { useMasquerade } from '@src/data/context';\nimport { useInitializeLearnerHome } from '@src/data/hooks';\n\nconst useIsMasquerading = () => {\n const { masqueradeUser } = useMasquerade();\n const { isError } = useInitializeLearnerHome();\n return !!masqueradeUser && !isError;\n};\n\nexport default useIsMasquerading;\n"]}
@@ -1,25 +1 @@
1
- declare const _default: {
2
- ar: {};
3
- 'zh-hk': {};
4
- 'zh-cn': {};
5
- uk: {};
6
- 'tr-tr': {};
7
- th: {};
8
- te: {};
9
- ru: {};
10
- 'pt-pt': {};
11
- 'pt-br': {};
12
- 'it-it': {};
13
- id: {};
14
- hi: {};
15
- he: {};
16
- 'fr-ca': {};
17
- fa: {};
18
- 'es-es': {};
19
- 'es-419': {};
20
- el: {};
21
- 'de-de': {};
22
- da: {};
23
- bo: {};
24
- };
25
- export default _default;
1
+ export { default } from './messages';
@@ -1,26 +1,2 @@
1
- // Placeholder be overridden by `make pull_translations`
2
- export default {
3
- ar: {},
4
- 'zh-hk': {},
5
- 'zh-cn': {},
6
- uk: {},
7
- 'tr-tr': {},
8
- th: {},
9
- te: {},
10
- ru: {},
11
- 'pt-pt': {},
12
- 'pt-br': {},
13
- 'it-it': {},
14
- id: {},
15
- hi: {},
16
- he: {},
17
- 'fr-ca': {},
18
- fa: {},
19
- 'es-es': {},
20
- 'es-419': {},
21
- el: {},
22
- 'de-de': {},
23
- da: {},
24
- bo: {},
25
- };
1
+ export { default } from './messages';
26
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/i18n/index.js"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,eAAe;IACb,EAAE,EAAE,EAAE;IACN,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,EAAE,EAAE,EAAE;IACN,OAAO,EAAE,EAAE;IACX,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,OAAO,EAAE,EAAE;IACX,EAAE,EAAE,EAAE;IACN,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,EAAE;IACZ,EAAE,EAAE,EAAE;IACN,OAAO,EAAE,EAAE;IACX,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;CACP,CAAC","sourcesContent":["// Placeholder be overridden by `make pull_translations`\nexport default {\n ar: {},\n 'zh-hk': {},\n 'zh-cn': {},\n uk: {},\n 'tr-tr': {},\n th: {},\n te: {},\n ru: {},\n 'pt-pt': {},\n 'pt-br': {},\n 'it-it': {},\n id: {},\n hi: {},\n he: {},\n 'fr-ca': {},\n fa: {},\n 'es-es': {},\n 'es-419': {},\n el: {},\n 'de-de': {},\n da: {},\n bo: {},\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC","sourcesContent":["export { default } from './messages';\n"]}
package/dist/providers.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import GlobalDataProvider from './data/contexts/GlobalDataProvider';
2
- import MasqueradeUserProvider from './data/contexts/MasqueradeUserProvider';
2
+ import { MasqueradeProvider } from './data/context/MasqueradeProvider';
3
3
  const providers = [
4
4
  GlobalDataProvider,
5
- MasqueradeUserProvider,
5
+ MasqueradeProvider,
6
6
  ];
7
7
  export default providers;
8
8
  //# sourceMappingURL=providers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAEA,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AACpE,OAAO,sBAAsB,MAAM,wCAAwC,CAAC;AAE5E,MAAM,SAAS,GAAkB;IAC/B,kBAAkB;IAClB,sBAAsB;CACvB,CAAC;AAEF,eAAe,SAAS,CAAC","sourcesContent":["import { AppProvider } from '@openedx/frontend-base';\n\nimport GlobalDataProvider from './data/contexts/GlobalDataProvider';\nimport MasqueradeUserProvider from './data/contexts/MasqueradeUserProvider';\n\nconst providers: AppProvider[] = [\n GlobalDataProvider,\n MasqueradeUserProvider,\n];\n\nexport default providers;\n"]}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAEA,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,MAAM,SAAS,GAAkB;IAC/B,kBAAkB;IAClB,kBAAkB;CACnB,CAAC;AAEF,eAAe,SAAS,CAAC","sourcesContent":["import { AppProvider } from '@openedx/frontend-base';\n\nimport GlobalDataProvider from './data/contexts/GlobalDataProvider';\nimport { MasqueradeProvider } from './data/context/MasqueradeProvider';\n\nconst providers: AppProvider[] = [\n GlobalDataProvider,\n MasqueradeProvider,\n];\n\nexport default providers;\n"]}
package/dist/routes.d.ts CHANGED
@@ -2,6 +2,7 @@ export default routes;
2
2
  declare const routes: {
3
3
  id: string;
4
4
  path: string;
5
+ loader: typeof authenticatedLoader;
5
6
  handle: {
6
7
  role: string;
7
8
  };
@@ -9,3 +10,4 @@ declare const routes: {
9
10
  Component: () => import("react/jsx-runtime").JSX.Element;
10
11
  }>;
11
12
  }[];
13
+ import { authenticatedLoader } from '@openedx/frontend-base';
package/dist/routes.js CHANGED
@@ -7,10 +7,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
+ import { authenticatedLoader } from '@openedx/frontend-base';
10
11
  const routes = [
11
12
  {
12
13
  id: 'org.openedx.frontend.route.learnerDashboard.main',
13
- path: '/',
14
+ path: '/learner-dashboard',
15
+ loader: authenticatedLoader,
14
16
  handle: {
15
17
  role: 'org.openedx.frontend.role.dashboard'
16
18
  },
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.jsx"],"names":[],"mappings":";;;;;;;;;AAAA,MAAM,MAAM,GAAG;IACb;QACE,EAAE,EAAE,kDAAkD;QACtD,IAAI,EAAE,GAAG;QACT,MAAM,EAAE;YACN,IAAI,EAAE,qCAAqC;SAC5C;QACK,IAAI;;gBACR,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACtC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YACvC,CAAC;SAAA;KACF;CACF,CAAC;AAEF,eAAe,MAAM,CAAC","sourcesContent":["const routes = [\n {\n id: 'org.openedx.frontend.route.learnerDashboard.main',\n path: '/',\n handle: {\n role: 'org.openedx.frontend.role.dashboard'\n },\n async lazy () {\n const module = await import('./Main');\n return { Component: module.default };\n },\n }\n];\n\nexport default routes;\n"]}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.jsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,MAAM,GAAG;IACb;QACE,EAAE,EAAE,kDAAkD;QACtD,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EAAE;YACN,IAAI,EAAE,qCAAqC;SAC5C;QACK,IAAI;;gBACR,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACtC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YACvC,CAAC;SAAA;KACF;CACF,CAAC;AAEF,eAAe,MAAM,CAAC","sourcesContent":["import { authenticatedLoader } from '@openedx/frontend-base';\n\nconst routes = [\n {\n id: 'org.openedx.frontend.route.learnerDashboard.main',\n path: '/learner-dashboard',\n loader: authenticatedLoader,\n handle: {\n role: 'org.openedx.frontend.role.dashboard'\n },\n async lazy () {\n const module = await import('./Main');\n return { Component: module.default };\n },\n }\n];\n\nexport default routes;\n"]}
@@ -1,4 +1,4 @@
1
- export function findCoursesClicked(href: any, args?: {}): (e: any) => NodeJS.Timeout;
1
+ export function findCoursesClicked(href: any, args?: {}): (e: any) => number;
2
2
  declare namespace _default {
3
3
  export { findCoursesClicked };
4
4
  }
@@ -1,10 +1,10 @@
1
- import api from '../../data/services/lms/api';
1
+ import { logShare } from '../../data/services/lms/api';
2
2
  /**
3
3
  * Track Social Share event click.
4
4
  * @param {string} courseId - course run identifier
5
5
  * @param {string} site - sharing destination ('facebook', 'twitter')
6
6
  * @return {func} - Callback that tracks the event when fired.
7
7
  */
8
- export const shareClicked = (courseId, site) => () => api.logShare({ courseId, site });
8
+ export const shareClicked = (courseId, site) => () => logShare({ courseId, site });
9
9
  export default shareClicked;
10
10
  //# sourceMappingURL=socialShare.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"socialShare.js","sourceRoot":"","sources":["../../../src/tracking/trackers/socialShare.js"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,6BAA6B,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAEvF,eAAe,YAAY,CAAC","sourcesContent":["import api from '../../data/services/lms/api';\n\n/**\n * Track Social Share event click.\n * @param {string} courseId - course run identifier\n * @param {string} site - sharing destination ('facebook', 'twitter')\n * @return {func} - Callback that tracks the event when fired.\n */\nexport const shareClicked = (courseId, site) => () => api.logShare({ courseId, site });\n\nexport default shareClicked;\n"]}
1
+ {"version":3,"file":"socialShare.js","sourceRoot":"","sources":["../../../src/tracking/trackers/socialShare.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAEnF,eAAe,YAAY,CAAC","sourcesContent":["import { logShare } from '@src/data/services/lms/api';\n\n/**\n * Track Social Share event click.\n * @param {string} courseId - course run identifier\n * @param {string} site - sharing destination ('facebook', 'twitter')\n * @return {func} - Callback that tracks the event when fired.\n */\nexport const shareClicked = (courseId, site) => () => logShare({ courseId, site });\n\nexport default shareClicked;\n"]}
@@ -0,0 +1,7 @@
1
+ declare const getTransformedCourseDataObject: (courses: any) => any;
2
+ declare const getTransformedCourseDataList: (courses: any) => unknown[];
3
+ declare const getVisibleList: (courses: any[], filters: string[], sortBy: string, pageNumber: number) => {
4
+ visibleList: any[];
5
+ numPages: number;
6
+ };
7
+ export { getVisibleList, getTransformedCourseDataList, getTransformedCourseDataObject };
@@ -0,0 +1,58 @@
1
+ import { FilterKeys, ListPageSize, SortKeys } from '../data/constants/app';
2
+ import StrictDict from './StrictDict';
3
+ const cardId = (val) => `card-${val}`;
4
+ const transformCourseData = (courses) => {
5
+ const now = Date.now();
6
+ return courses.reduce((obj, curr, index) => {
7
+ var _a;
8
+ const out = Object.assign(Object.assign({}, curr), { cardId: cardId(index) });
9
+ if (((_a = out.enrollment) === null || _a === void 0 ? void 0 : _a.lastEnrolled) === null) {
10
+ out.enrollment.lastEnrolled = now;
11
+ }
12
+ return Object.assign(Object.assign({}, obj), { [cardId(index)]: out });
13
+ }, {});
14
+ };
15
+ const getTransformedCourseDataObject = (courses) => transformCourseData(courses);
16
+ const getTransformedCourseDataList = (courses) => Object.values(transformCourseData(courses));
17
+ const getVisibleList = (courses, filters, sortBy, pageNumber) => {
18
+ const courseFilters = StrictDict({
19
+ [FilterKeys.notEnrolled]: (course) => !course.enrollment.isEnrolled,
20
+ [FilterKeys.done]: (course) => course.courseRun !== null && course.courseRun.isArchived,
21
+ [FilterKeys.upgraded]: (course) => course.enrollment.isVerified,
22
+ [FilterKeys.inProgress]: (course) => course.enrollment.hasStarted,
23
+ [FilterKeys.notStarted]: (course) => !course.enrollment.hasStarted,
24
+ });
25
+ const transforms = StrictDict({
26
+ [SortKeys.enrolled]: ({ enrollment }) => new Date(enrollment === null || enrollment === void 0 ? void 0 : enrollment.lastEnrolled),
27
+ [SortKeys.title]: ({ course }) => course.courseName.toLowerCase(),
28
+ });
29
+ const courseFilterFn = filtersList => (filtersList.length
30
+ ? course => filtersList.reduce((match, filter) => match && courseFilters[filter](course), true)
31
+ : () => true);
32
+ const sortFn = (transform, { reverse }) => (v1, v2) => {
33
+ const [a, b] = [v1, v2].map(transform);
34
+ if (a === b) {
35
+ return 0;
36
+ }
37
+ return ((a > b) ? 1 : -1) * (reverse ? -1 : 1);
38
+ };
39
+ const list = courses
40
+ .filter(courseFilterFn(filters))
41
+ .sort(sortFn(transforms[sortBy], { reverse: sortBy === SortKeys.enrolled }));
42
+ const querySearch = new URLSearchParams(window.location.search);
43
+ const disablePagination = querySearch.get('disable_pagination');
44
+ const pageSize = Number(disablePagination) === 1 ? 0 : ListPageSize;
45
+ if (pageSize === 0) {
46
+ return {
47
+ visibleList: list,
48
+ numPages: 1,
49
+ };
50
+ }
51
+ const result = {
52
+ visibleList: list.slice((pageNumber - 1) * pageSize, pageNumber * pageSize),
53
+ numPages: Math.ceil(list.length / pageSize),
54
+ };
55
+ return result;
56
+ };
57
+ export { getVisibleList, getTransformedCourseDataList, getTransformedCourseDataObject };
58
+ //# sourceMappingURL=dataTransformers.js.map