@clickview/lite 0.0.24-rc.4 → 0.0.24

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 (194) hide show
  1. package/dist/css/11.chunk.css.map +1 -1
  2. package/dist/css/12.chunk.css.map +1 -1
  3. package/dist/css/13.chunk.css.map +1 -1
  4. package/dist/css/14.chunk.css.map +1 -1
  5. package/dist/css/15.chunk.css.map +1 -1
  6. package/dist/css/16.chunk.css.map +1 -1
  7. package/dist/css/17.chunk.css.map +1 -1
  8. package/dist/css/18.chunk.css.map +1 -1
  9. package/dist/css/20.chunk.css.map +1 -1
  10. package/dist/css/29.chunk.css.map +1 -1
  11. package/dist/css/3.chunk.css.map +1 -1
  12. package/dist/css/30.chunk.css.map +1 -1
  13. package/dist/css/31.chunk.css.map +1 -1
  14. package/dist/css/33.chunk.css.map +1 -1
  15. package/dist/css/38.chunk.css +11 -34
  16. package/dist/css/38.chunk.css.map +1 -1
  17. package/dist/css/4.chunk.css +3 -3
  18. package/dist/css/44.chunk.css +11 -3
  19. package/dist/css/44.chunk.css.map +1 -1
  20. package/dist/css/45.chunk.css +38 -0
  21. package/dist/css/45.chunk.css.map +1 -0
  22. package/dist/css/5.chunk.css.map +1 -1
  23. package/dist/css/52.chunk.css +52 -0
  24. package/dist/css/52.chunk.css.map +1 -0
  25. package/dist/css/59.chunk.css +14 -0
  26. package/dist/css/59.chunk.css.map +1 -0
  27. package/dist/css/6.chunk.css.map +1 -1
  28. package/dist/css/60.chunk.css +43 -0
  29. package/dist/css/60.chunk.css.map +1 -0
  30. package/dist/en.json +1 -1
  31. package/dist/libs/shared/src/components/curriculum-links/CurriculumLinks.d.ts +9 -0
  32. package/dist/libs/shared/src/components/widgets/items/resource-widget-item/ResourceWidgetItem.d.ts +12 -0
  33. package/dist/libs/shared/src/enums/CurriculumType.d.ts +6 -0
  34. package/dist/libs/shared/src/flight-requests/ClassificationRequests.d.ts +1 -0
  35. package/dist/libs/shared/src/flight-requests/ResourceRequests.d.ts +11 -0
  36. package/dist/libs/shared/src/interfaces/collections/SubtitleCollection.d.ts +3 -0
  37. package/dist/libs/shared/src/interfaces/models/Curriculum.d.ts +14 -0
  38. package/dist/libs/shared/src/interfaces/models/FileUpload.d.ts +20 -0
  39. package/dist/libs/shared/src/interfaces/models/Language.d.ts +4 -0
  40. package/dist/libs/shared/src/interfaces/models/Pdf.d.ts +4 -0
  41. package/dist/libs/shared/src/interfaces/models/Subtitle.d.ts +7 -0
  42. package/dist/libs/shared/src/interfaces/models/index.d.ts +1 -0
  43. package/dist/libs/shared/src/interfaces/requests/UpdateObjectChannel.d.ts +3 -0
  44. package/dist/libs/shared/src/interfaces/requests/UpdateObjectRating.d.ts +3 -0
  45. package/dist/libs/shared/src/interfaces/requests/UpdateResourceRequest.d.ts +3 -0
  46. package/dist/projects/lite/src/app.d.ts +1 -0
  47. package/dist/projects/lite/src/shared/components/play-page/PlayPage.d.ts +2 -1
  48. package/dist/projects/lite/src/shared/components/synopsis/Synopsis.d.ts +3 -1
  49. package/dist/projects/lite/src/shared/components/video-details/VideoDetails.d.ts +2 -0
  50. package/dist/projects/lite/src/shared/constants/MinimumGlanceHeight.d.ts +1 -0
  51. package/dist/projects/lite/src/shared/views/preview-pdf/PreviewPdfView.d.ts +7 -0
  52. package/dist/scripts/0-b02efe11fb.chunk.js +1 -0
  53. package/dist/scripts/1-4f19a5caea.chunk.js +17 -0
  54. package/dist/scripts/1.chunk.js.map +1 -1
  55. package/dist/scripts/10.chunk.js +484 -1203
  56. package/dist/scripts/10.chunk.js.map +1 -1
  57. package/dist/scripts/11-32e30d10ce.chunk.js +1 -0
  58. package/dist/scripts/11.chunk.js +289 -1388
  59. package/dist/scripts/11.chunk.js.map +1 -1
  60. package/dist/scripts/12-72a5373486.chunk.js +1 -0
  61. package/dist/scripts/12.chunk.js +1371 -283
  62. package/dist/scripts/12.chunk.js.map +1 -1
  63. package/dist/scripts/13-1cd85ad3ee.chunk.js +1 -0
  64. package/dist/scripts/13.chunk.js +361 -394
  65. package/dist/scripts/13.chunk.js.map +1 -1
  66. package/dist/scripts/14-3d60b8ee85.chunk.js +1 -0
  67. package/dist/scripts/14.chunk.js +793 -332
  68. package/dist/scripts/14.chunk.js.map +1 -1
  69. package/dist/scripts/15-90226fb996.chunk.js +1 -0
  70. package/dist/scripts/15.chunk.js +295 -214
  71. package/dist/scripts/15.chunk.js.map +1 -1
  72. package/dist/scripts/16-913b2535ea.chunk.js +1 -0
  73. package/dist/scripts/16.chunk.js +530 -434
  74. package/dist/scripts/16.chunk.js.map +1 -1
  75. package/dist/scripts/17-d6c19ccb60.chunk.js +1 -0
  76. package/dist/scripts/17.chunk.js +296 -170
  77. package/dist/scripts/17.chunk.js.map +1 -1
  78. package/dist/scripts/18-33efcac0c6.chunk.js +1 -0
  79. package/dist/scripts/18.chunk.js +265 -199
  80. package/dist/scripts/18.chunk.js.map +1 -1
  81. package/dist/scripts/19-2380200cfb.chunk.js +1 -0
  82. package/dist/scripts/19.chunk.js +7 -3
  83. package/dist/scripts/19.chunk.js.map +1 -1
  84. package/dist/scripts/2-53e37c2047.chunk.js +1 -0
  85. package/dist/scripts/2.chunk.js +18673 -622
  86. package/dist/scripts/2.chunk.js.map +1 -1
  87. package/dist/scripts/20-ca85f0514e.chunk.js +1 -0
  88. package/dist/scripts/20.chunk.js +1824 -221
  89. package/dist/scripts/20.chunk.js.map +1 -1
  90. package/dist/scripts/21-ef4a226771.chunk.js +1 -0
  91. package/dist/scripts/22-99c04e164f.chunk.js +1 -0
  92. package/dist/scripts/23-028eb81a43.chunk.js +1 -0
  93. package/dist/scripts/23.chunk.js +1 -1
  94. package/dist/scripts/23.chunk.js.map +1 -1
  95. package/dist/scripts/24-68f8df3eca.chunk.js +1 -0
  96. package/dist/scripts/24.chunk.js.map +1 -1
  97. package/dist/scripts/25-7ad07f87d4.chunk.js +1 -0
  98. package/dist/scripts/25.chunk.js.map +1 -1
  99. package/dist/scripts/26-f3dcacfe4f.chunk.js +1 -0
  100. package/dist/scripts/26.chunk.js +1 -1
  101. package/dist/scripts/26.chunk.js.map +1 -1
  102. package/dist/scripts/27-e844268f38.chunk.js +1 -0
  103. package/dist/scripts/28-853bc5de1f.chunk.js +1 -0
  104. package/dist/scripts/29-b164ecafe9.chunk.js +1 -0
  105. package/dist/scripts/29.chunk.js +435 -500
  106. package/dist/scripts/29.chunk.js.map +1 -1
  107. package/dist/scripts/3-a1bd8c9016.chunk.js +7 -0
  108. package/dist/scripts/3.chunk.js +625 -18676
  109. package/dist/scripts/3.chunk.js.map +1 -1
  110. package/dist/scripts/30-2cfcf52ea1.chunk.js +1 -0
  111. package/dist/scripts/30.chunk.js +634 -429
  112. package/dist/scripts/30.chunk.js.map +1 -1
  113. package/dist/scripts/31-e6a8291d2f.chunk.js +1 -0
  114. package/dist/scripts/31.chunk.js +371 -670
  115. package/dist/scripts/31.chunk.js.map +1 -1
  116. package/dist/scripts/32-7030dc98ed.chunk.js +1 -0
  117. package/dist/scripts/32.chunk.js +27 -54
  118. package/dist/scripts/32.chunk.js.map +1 -1
  119. package/dist/scripts/33-47b0ac90bd.chunk.js +1 -0
  120. package/dist/scripts/33.chunk.js +700 -312
  121. package/dist/scripts/33.chunk.js.map +1 -1
  122. package/dist/scripts/34-2de007b628.chunk.js +1 -0
  123. package/dist/scripts/34.chunk.js +3 -3
  124. package/dist/scripts/34.chunk.js.map +1 -1
  125. package/dist/scripts/35-d2fb66920b.chunk.js +1 -0
  126. package/dist/scripts/36-bc85df33de.chunk.js +1 -0
  127. package/dist/scripts/36.chunk.js.map +1 -1
  128. package/dist/scripts/37-e26652840b.chunk.js +1 -0
  129. package/dist/scripts/37.chunk.js +288 -464
  130. package/dist/scripts/37.chunk.js.map +1 -1
  131. package/dist/scripts/38-0b6a6b9619.chunk.js +1 -0
  132. package/dist/scripts/39-6549f483c6.chunk.js +1 -0
  133. package/dist/scripts/39.chunk.js +1 -1
  134. package/dist/scripts/39.chunk.js.map +1 -1
  135. package/dist/scripts/4-9e83a22d7a.chunk.js +1 -0
  136. package/dist/scripts/4.chunk.js +259 -1021
  137. package/dist/scripts/4.chunk.js.map +1 -1
  138. package/dist/scripts/40-8e6e9d285f.chunk.js +1 -0
  139. package/dist/scripts/41-2b44a2e66f.chunk.js +1 -0
  140. package/dist/scripts/42-9e75f420d8.chunk.js +1 -0
  141. package/dist/scripts/42.chunk.js.map +1 -1
  142. package/dist/scripts/43-1141245420.chunk.js +1 -0
  143. package/dist/scripts/44-9bc4201e0f.chunk.js +1 -0
  144. package/dist/scripts/45-5ded8ca3db.chunk.js +1 -0
  145. package/dist/scripts/46-2afd7ee1fb.chunk.js +1 -0
  146. package/dist/scripts/47-ab30686138.chunk.js +1 -0
  147. package/dist/scripts/48-d9cd99d55e.chunk.js +1 -0
  148. package/dist/scripts/49-f43a08f90b.chunk.js +1 -0
  149. package/dist/scripts/5-974660e17b.chunk.js +1 -0
  150. package/dist/scripts/5.chunk.js +1017 -259
  151. package/dist/scripts/5.chunk.js.map +1 -1
  152. package/dist/scripts/50-af699c531e.chunk.js +1 -0
  153. package/dist/scripts/51-aa7b835007.chunk.js +1 -0
  154. package/dist/scripts/52-805f7fe04d.chunk.js +1 -0
  155. package/dist/scripts/53-d75ca53045.chunk.js +1 -0
  156. package/dist/scripts/54-2e75bad46f.chunk.js +1 -0
  157. package/dist/scripts/55-ed637c4847.chunk.js +1 -0
  158. package/dist/scripts/55.chunk.js.map +1 -1
  159. package/dist/scripts/56-2ed3b5764b.chunk.js +1 -0
  160. package/dist/scripts/57-e51101c8a1.chunk.js +1 -0
  161. package/dist/scripts/58-9a32a6fb2d.chunk.js +1 -0
  162. package/dist/scripts/59-da8a8c97a9.chunk.js +1 -0
  163. package/dist/scripts/6-6ac39034e0.chunk.js +1 -0
  164. package/dist/scripts/6.chunk.js +291 -1250
  165. package/dist/scripts/6.chunk.js.map +1 -1
  166. package/dist/scripts/60-5713de53e2.chunk.js +1 -0
  167. package/dist/scripts/61-7d2ad17963.chunk.js +1 -0
  168. package/dist/scripts/62-a0a69501ac.chunk.js +1 -0
  169. package/dist/scripts/63-c921b87f3f.chunk.js +1 -0
  170. package/dist/scripts/64-87c1cf6985.chunk.js +1 -0
  171. package/dist/scripts/65-2322082836.chunk.js +1 -0
  172. package/dist/scripts/66-6d5356f6ce.chunk.js +1 -0
  173. package/dist/scripts/67-2e0d661c52.chunk.js +1 -0
  174. package/dist/scripts/7-5ac5be64dd.chunk.js +1 -0
  175. package/dist/scripts/7.chunk.js +1 -1
  176. package/dist/scripts/76.chunk.js +3 -3
  177. package/dist/scripts/76.chunk.js.map +1 -1
  178. package/dist/scripts/79.chunk.js +931 -347
  179. package/dist/scripts/79.chunk.js.map +1 -1
  180. package/dist/scripts/8-95563e3d36.chunk.js +1 -0
  181. package/dist/scripts/8.chunk.js +14 -920
  182. package/dist/scripts/8.chunk.js.map +1 -1
  183. package/dist/scripts/80.chunk.js +22 -313
  184. package/dist/scripts/80.chunk.js.map +1 -1
  185. package/dist/scripts/9.chunk.js +320 -17
  186. package/dist/scripts/9.chunk.js.map +1 -1
  187. package/dist/scripts/bundle-9ed1e126dd.min.js +15 -0
  188. package/dist/scripts/bundle.js +147 -121
  189. package/dist/scripts/bundle.js.map +1 -1
  190. package/dist/scripts/bundles.json +2 -2
  191. package/dist/scripts/pdf.worker.entry.worker.js +46239 -0
  192. package/dist/scripts/pdf.worker.entry.worker.js.map +1 -0
  193. package/dist/scripts/polyfills-2723daf478.min.js +1 -0
  194. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/libs/shared/src/flight-requests/PreferenceRequests.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/hooks/UseBatchFetch.ts","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/apps/content-updates/views/content-updates/ContentUpdatesView.tsx","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/apps/content-updates/views/content-updates/components/ContentUpdateClassification.tsx","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/apps/playlists/components/video-list/index.ts"],"names":[],"mappings":"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","file":"scripts/16.chunk.js","sourcesContent":["import { Flight } from 'libs/common/flight';\r\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\r\nimport { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\r\n\r\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\r\nimport { PresentationType } from 'libs/shared/enums/PresentationType';\r\nimport { Presentation, Classification } from 'libs/shared/interfaces';\r\n\r\nconst classificationQuery = SharedWithStatements.CLASSIFICATION;\r\n\r\nconst endpoints = {\r\n // Subjects\r\n allSubjectPreferences: () => `/api/domain/v1/subjects/preferences?query=${classificationQuery}&type=subject`,\r\n mySubjectPreferences: () => `/api/domain/v1/subjects/classifications/following?query=${classificationQuery}`,\r\n followSubjects: () => '/api/domain/v1/subjects/classifications/following',\r\n unfollowSubjects: (ids: string[]) => UrlHelper.urlBuilder('/api/domain/v1/subjects/classifications/following', { id: ids }),\r\n\r\n // Levels\r\n allLevelPreferences: () => `/api/domain/v1/subjects/audiences?type=subject`,\r\n myLevelPreferences: () => `/api/domain/v1/subjects/audiences/following`,\r\n followLevels: () => `/api/domain/v1/subjects/audiences/following`,\r\n unfollowLevels: (ids: string[]) => UrlHelper.urlBuilder('/api/domain/v1/subjects/audiences/following', { id: ids }),\r\n\r\n // School Level\r\n getSchoolLevels: () => `/api/domain/v1/subjects/school-level`,\r\n getSelectedSchoolLevel: (userId: string) => `/api/domain/v1/subjects/school-level/${userId}`,\r\n setSchoolLevel: () => '/api/domain/v1/subjects/school-level',\r\n\r\n // Curriculum\r\n getCurriculums: () => `/api/domain/v1/subjects/curriculum`,\r\n getSelectedCurriculum: (userId: string) => `/api/domain/v1/subjects/school-level/${userId}`,\r\n setCurriculum: () => '/api/domain/v1/subjects/curriculum',\r\n\r\n getCurrentPresentations: (type?: PresentationType) =>\r\n `/api/domain/v1/subjects/presentations${type ? `?type=${type}` : ''}`,\r\n getAvailablePresentations: (type?: PresentationType) =>\r\n `/api/domain/v1/subjects/presentations/available${type ? `?type=${type}` : ''}`,\r\n setPresentation: (id: string) => `/api/domain/v1/subjects/presentations/${id}`\r\n};\r\n\r\nexport const PreferenceRequests = {\r\n /**\r\n * Presentations\r\n */\r\n\r\n currentPresentations(type?: PresentationType): Flight.Request {\r\n return {\r\n url: endpoints.getCurrentPresentations(type),\r\n key: `current:presentations${type ? `:${type}` : ''}`,\r\n expiryTime: Infinity\r\n };\r\n },\r\n\r\n availablePresentations(type?: PresentationType): Flight.Request {\r\n return {\r\n url: endpoints.getAvailablePresentations(type),\r\n key: `available:presentations:${type}`,\r\n expiryTime: Infinity\r\n };\r\n },\r\n\r\n setPresentation(\r\n presentation: Presentation, type: PresentationType, success?: () => void\r\n ): Flight.Request {\r\n return {\r\n url: endpoints.setPresentation(presentation.id),\r\n key: `set:${type}:presentation`,\r\n type: HttpVerbs.POST,\r\n data: {},\r\n invalidationKeys: [\r\n `current:presentations:${type}`,\r\n 'current:presentations',\r\n 'subject:preference:options',\r\n 'my:subject:preferences',\r\n 'level:preference:options',\r\n 'my:level:preferences'\r\n ],\r\n success\r\n };\r\n },\r\n\r\n /**\r\n * Subjects\r\n */\r\n allSubjectPreferences(): Flight.Request {\r\n return {\r\n url: endpoints.allSubjectPreferences(),\r\n key: `subject:preference:options`,\r\n expiryTime: Infinity\r\n };\r\n },\r\n\r\n mySubjectPreferences(success?: (data: any) => void): Flight.Request {\r\n return {\r\n url: endpoints.mySubjectPreferences(),\r\n key: `my:subject:preferences`,\r\n normalize: false,\r\n expiryTime: Infinity,\r\n success,\r\n formatData: preferences => preferences.filter((p: Classification) => p.canBePreferred)\r\n };\r\n },\r\n\r\n followSubjects(\r\n subjectIds: string[],\r\n success: () => void,\r\n error?: () => void,\r\n always?: () => void\r\n ): Flight.Request {\r\n return {\r\n url: endpoints.followSubjects(),\r\n key: `follow:subjects`,\r\n data: subjectIds,\r\n type: HttpVerbs.POST,\r\n success,\r\n error,\r\n always,\r\n invalidationKeys: [ ...subjectIds.map(id => `classification:${id}`), 'my:subject:preferences' ]\r\n };\r\n },\r\n\r\n unfollowSubjects(\r\n subjectIds: string[],\r\n success: () => void,\r\n error?: () => void,\r\n always?: () => void\r\n ): Flight.Request {\r\n return {\r\n url: endpoints.unfollowSubjects(subjectIds),\r\n key: `unfollow:subjects`,\r\n type: HttpVerbs.DELETE,\r\n success,\r\n error,\r\n always,\r\n invalidationKeys: [ ...subjectIds.map(id => `classification:${id}`), 'my:subject:preferences' ]\r\n };\r\n },\r\n\r\n /**\r\n * Levels\r\n */\r\n allLevelPreferences(): Flight.Request {\r\n return {\r\n url: endpoints.allLevelPreferences(),\r\n key: `level:preference:options`,\r\n normalize: false,\r\n expiryTime: Infinity\r\n };\r\n },\r\n\r\n myLevelPreferences(success?: (data: any) => void): Flight.Request {\r\n return {\r\n url: endpoints.myLevelPreferences(),\r\n key: `my:level:preferences`,\r\n normalize: false,\r\n expiryTime: Infinity,\r\n success\r\n };\r\n },\r\n\r\n followLevels(\r\n levelIds: string[],\r\n success: () => void,\r\n error?: () => void,\r\n always?: () => void\r\n ): Flight.Request {\r\n return {\r\n url: endpoints.followLevels(),\r\n key: `follow:levels`,\r\n data: levelIds,\r\n type: HttpVerbs.POST,\r\n success,\r\n error,\r\n always,\r\n invalidationKeys: ['my:level:preferences']\r\n };\r\n },\r\n\r\n unfollowLevels(\r\n levelIds: string[],\r\n success: () => void,\r\n error?: () => void,\r\n always?: () => void\r\n ): Flight.Request {\r\n return {\r\n url: endpoints.unfollowLevels(levelIds),\r\n key: `unfollow:levels`,\r\n type: HttpVerbs.DELETE,\r\n success,\r\n error,\r\n always,\r\n invalidationKeys: ['my:level:preferences']\r\n };\r\n }\r\n};","import { useDispatch, useSelector } from 'react-redux';\r\nimport { Flight } from 'libs/common/flight';\r\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\r\nimport { HashObject, ApplicationState } from 'libs/common/react/interfaces';\r\nimport { BaseObject } from 'libs/shared/interfaces';\r\n\r\nconst BATCH_SIZE = 25;\r\n\r\n/**\r\n * Used to fetch multiple items by id with Flight. Will fetch 25 items at a time firing off multiple\r\n * requests if there are more than 25 items.\r\n * This will return null until we have all our items. Items will be returned as an object with\r\n * their ids as they key for easy mapping\r\n * \r\n * @param itemIds \r\n * @param getRequest \r\n */\r\nexport function useBatchFetch<T extends BaseObject>(\r\n itemIds: string[], getRequest: (ids: string[]) => Flight.Request\r\n): { [key: string]: T} {\r\n const dispatch = useDispatch();\r\n return useSelector((state: ApplicationState) => {\r\n if (!itemIds?.length)\r\n return null;\r\n\r\n const uniqueItemIds = ArrayHelper.uniq(itemIds);\r\n let items: { [key: string]: T} = {};\r\n\r\n /* Used locally to only return our items if we've fetched all of them */\r\n const status: HashObject = {};\r\n\r\n for (let i = 0; i < uniqueItemIds.length; i += BATCH_SIZE) {\r\n const ids = uniqueItemIds.slice(i, i + BATCH_SIZE);\r\n\r\n const request = getRequest(ids);\r\n const response = Flight.getResponse<T[]>(state, request.key);\r\n status[i] = !!response.data;\r\n\r\n if (response.shouldFetch)\r\n Flight.fetch(dispatch, request);\r\n\r\n if (response.data)\r\n response.data.forEach(v => items[v.id] = v);\r\n }\r\n\r\n return Object.keys(status).every(k => status[k]) ? items : null;\r\n });\r\n}","import * as React from 'react';\r\nimport * as moment from 'moment';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport { Flight } from 'libs/common/flight';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { Classification, Config } from 'libs/shared/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { LocationContext, WorkflowPhase, UserAction, EntityType, ToggleDescriptor } from 'libs/analytics/interfaces';\r\nimport { PreferenceRequests } from 'libs/shared/flight-requests/PreferenceRequests';\r\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\r\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\r\nimport { useBatchFetch } from 'libs/shared/hooks/UseBatchFetch';\r\nimport { ContentUpdateRequests } from 'libs/shared/apps/content-updates/flight-requests/ContentUpdateRequests';\r\nimport { ContentUpdateAppLinks, ContentUpdate, ClassificationVideosGrouping } from 'libs/shared/apps/content-updates/interfaces';\r\nimport { useSetPageTitle } from 'libs/common/react/hooks/UseSetPageTitle';\r\n\r\nimport { WhatsNewBreadcrumbs } from 'apps/content-updates/components';\r\n\r\nimport { ContentUpdateClassification } from './components/ContentUpdateClassification';\r\n\r\nconst INITIAL_VIDEO_COUNT = 3;\r\nconst namespace = 'contentUpdates.contentUpdatesView';\r\n\r\nfunction map(\r\n contentUpdates: ClassificationVideosGrouping[],\r\n classifications: {[key: string]: Classification}\r\n): ContentUpdate[] {\r\n if (!contentUpdates || !classifications)\r\n return null;\r\n\r\n return contentUpdates.map((c): ContentUpdate => {\r\n return {\r\n showMore: c.videos.length > INITIAL_VIDEO_COUNT,\r\n classification: classifications[c.classificationId],\r\n videos: c.videos.map((m: any) => {\r\n m.classification = classifications[m.classificationId];\r\n return m;\r\n }).filter(v => v)\r\n };\r\n });\r\n}\r\n\r\ninterface FollowSpinnersMap {\r\n [classificationId: string]: boolean;\r\n}\r\n\r\ninterface ContentUpdatesViewProps {\r\n appLinks: ContentUpdateAppLinks;\r\n}\r\n\r\nexport function ContentUpdatesView(props: ContentUpdatesViewProps): JSX.Element {\r\n const [ followSpinners, setFollowSpinners ] = React.useState<FollowSpinnersMap>({});\r\n\r\n const dispatch = useDispatch();\r\n const alerts = useAlerts();\r\n\r\n useSetPageTitle(LanguageService.getPhrase(namespace, 'pageTitle'));\r\n\r\n const from = moment().subtract(1, 'year').toISOString();\r\n const to = moment().toISOString();\r\n\r\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config);\r\n const contentUpdates = Flight.useBasicFetch<ClassificationVideosGrouping[]>(\r\n ContentUpdateRequests.getContentUpdates(from, to)\r\n );\r\n const subjectPreferences = Flight.useBasicFetch<Classification[]>(PreferenceRequests.mySubjectPreferences());\r\n\r\n /* Map content update response into list of video ids and classification ids*/\r\n const classificationIds: string[] = [];\r\n contentUpdates.data && contentUpdates.data.forEach(c => classificationIds.push(c.classificationId));\r\n\r\n /* Batch fetch the videos and classifications by id */\r\n const classifications = useBatchFetch<Classification>(\r\n classificationIds, (ids: string[]) => ContentUpdateRequests.getClassifications(ids));\r\n\r\n\r\n /** Callbacks */\r\n function onFollow(classificationId: string, follow: boolean): void {\r\n setFollowSpinners(currentState => ({\r\n ...currentState,\r\n [classificationId]: true\r\n }));\r\n\r\n const onSuccess = () => {\r\n setFollowSpinners(currentState => ({\r\n ...currentState,\r\n [classificationId]: false\r\n }));\r\n\r\n AnalyticsHelper.logUserAction({\r\n id: classificationId,\r\n name: classifications[classificationId]?.name\r\n }, {\r\n location: LocationContext.ContentUpdatesClassificationBanner,\r\n workflowPhase: WorkflowPhase.Complete,\r\n descriptor: follow ? ToggleDescriptor.On : ToggleDescriptor.Off,\r\n actionType: UserAction.Follow,\r\n entity: EntityType.Classification\r\n });\r\n\r\n alerts.success(LanguageService.getPhrase(\r\n namespace,\r\n follow ? 'followed' : 'unfollowed',\r\n { classification: classifications[classificationId]?.name }\r\n ));\r\n };\r\n\r\n const onError = () => {\r\n setFollowSpinners(currentState => ({\r\n ...currentState,\r\n [classificationId]: false\r\n }));\r\n\r\n alerts.error(LanguageService.getPhrase(namespace, 'error'));\r\n };\r\n\r\n const request = follow ?\r\n PreferenceRequests.followSubjects([classificationId], onSuccess, onError) :\r\n PreferenceRequests.unfollowSubjects([classificationId], onSuccess, onError);\r\n\r\n Flight.fetch(dispatch, request);\r\n }\r\n\r\n if (!contentUpdates.data || !config.data || !subjectPreferences.data || !classifications)\r\n return <></>;\r\n\r\n /* Build out array of content updates from our lists of videos and classifications */\r\n const mappedUpdates = map(contentUpdates.data, classifications);\r\n const preferredSubjectIds = subjectPreferences.data.map(subject => subject.id);\r\n\r\n return (\r\n <div className='bg-white px-3'>\r\n <WhatsNewBreadcrumbs\r\n dashboardAppLink={props.appLinks.dashboardAppLink}\r\n />\r\n {mappedUpdates.map((c: ContentUpdate) => (\r\n <ContentUpdateClassification\r\n classification={c.classification}\r\n videos={c.videos}\r\n imageCdnUrl={config.data.imageCdnUrl}\r\n showMore={c.showMore}\r\n key={c.classification.id}\r\n appLinks={props.appLinks}\r\n followed={preferredSubjectIds.includes(c.classification.id)}\r\n follow={onFollow}\r\n showFollowSpinner={followSpinners[c.classification.id]}\r\n />\r\n ))}\r\n </div>\r\n );\r\n}","import * as React from 'react';\r\n\r\nimport { Classification } from 'libs/shared/interfaces';\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\nimport { Text } from 'libs/shared/components/text/Text';\r\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\r\nimport { ImageType, ImageSize, ResizeType } from 'libs/shared/enums/Images';\r\nimport { VideoWithClassification, ContentUpdateAppLinks } from 'libs/shared/apps/content-updates/interfaces';\r\n\r\nimport { ClassificationBanner } from 'apps/content-updates/components';\r\nimport { SortableVideoListContainer } from 'apps/playlists/components/video-list';\r\n\r\nconst namespace = 'contentUpdates.contentUpdatesView';\r\n\r\ninterface ClassificationProps {\r\n classification: Classification;\r\n videos: VideoWithClassification[];\r\n imageCdnUrl: string;\r\n showMore: boolean;\r\n // reason: any;\r\n appLinks: ContentUpdateAppLinks;\r\n followed: boolean;\r\n follow: (classificationId: string, follow: boolean) => void;\r\n showFollowSpinner: boolean;\r\n}\r\n\r\nexport function ContentUpdateClassification(props: ClassificationProps): JSX.Element {\r\n const { classification, videos, imageCdnUrl, showMore, followed } = props;\r\n\r\n const url = ImageHelper.createBannerUrl(classification.banner, {\r\n fallbackBaseUrl: imageCdnUrl,\r\n fallbackCategoryName: classification.name,\r\n type: ImageType.Banners\r\n }, { size: ImageSize.Small, resizeType: ResizeType.Cover });\r\n\r\n return (\r\n <div className='mb-3'>\r\n <ClassificationBanner\r\n classification={classification}\r\n backgroundUrl={url}\r\n getClassificationAppLink={props.appLinks.getClassificationAppLink}\r\n followed={followed}\r\n follow={props.follow}\r\n showFollowSpinner={props.showFollowSpinner}\r\n />\r\n <SortableVideoListContainer\r\n playlistId={'0'}\r\n isUserSignedIn={true}\r\n onSortComplete={() => {}}\r\n videos={videos}\r\n getVideoAppLink={props.appLinks.getVideoAppLink}\r\n getSeriesAppLink={props.appLinks.getSeriesAppLink}\r\n />\r\n {showMore &&\r\n <div className={'show-more'}>\r\n <AppLink className='info-link' appLink={props.appLinks.getClassificationUpdateAppLink(classification)}>\r\n <Text namespace={namespace} phrase='showMore' options={{\r\n classificationName: classification.name\r\n }} />\r\n </AppLink>\r\n </div>\r\n }\r\n </div>\r\n );\r\n}","export * from './SortableVideoListContainer';"],"sourceRoot":""}
1
+ {"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/lite/src/apps/search/components/scoped-search-bar/ScopedSearchBar.tsx","webpack://@clickview/lite/./src/apps/search/components/scoped-search-bar/scoped-search-bar.scss?fbfd","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/apps/user-manager/components/manage-users-list/ManageUsersList.tsx","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/apps/user-manager/components/manage-users-list/partial-loading/PartialManageUsersList.tsx","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/apps/user-manager/components/manage-users-list/students/ManageStudentItem.tsx","webpack://@clickview/lite/./src/apps/user-manager/components/manage-users-list/students/manage-student-item.scss?3fb1","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/apps/user-manager/components/manage-users-list/teachers/ManageTeacherItem.tsx","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/components/video-info-button/VideoInfoButton.tsx"],"names":[],"mappings":"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","file":"scripts/16.chunk.js","sourcesContent":["import React from 'react';\r\n\r\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\r\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { ContextService } from 'libs/shared/services/ContextService';\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nimport styles from './scoped-search-bar.scss';\r\n\r\ninterface ScopedSearchBarProps {\r\n id: string;\r\n onSubmit?: (query: string) => void;\r\n name?: string;\r\n placeholder?: string;\r\n className?: string;\r\n queryParamName?: string;\r\n debounceTime?: number;\r\n}\r\n\r\nScopedSearchBar.defaultProps = {\r\n debounceTime: 300,\r\n queryParamName: 'query'\r\n};\r\n\r\nexport function ScopedSearchBar(props: ScopedSearchBarProps): JSX.Element {\r\n const [ searchQuery, setSearchQuery ] = React.useState('');\r\n\r\n /**\r\n * Update the value in the search bar to match an existing query param on first load\r\n */\r\n React.useEffect(() => {\r\n const currentQueryParams = ContextService.getCurrentRoute().appLink.params;\r\n\r\n if (!currentQueryParams || typeof currentQueryParams === 'string')\r\n return;\r\n\r\n if (currentQueryParams[props.queryParamName])\r\n setSearchQuery(currentQueryParams[props.queryParamName]);\r\n }, []);\r\n\r\n const delayedQuery = React.useCallback(\r\n FunctionHelper.debounce((query: string) => search(query), props.debounceTime),\r\n []\r\n );\r\n\r\n function onChange(event: React.FormEvent<HTMLInputElement>): void {\r\n setSearchQuery(event.currentTarget.value);\r\n delayedQuery(event.currentTarget.value);\r\n }\r\n\r\n function search(query: string = ''): void {\r\n const currentAppLink = ContextService.getCurrentRoute().appLink;\r\n const currentFilters = ObjectHelper.omit(currentAppLink.params, [props.queryParamName]);\r\n\r\n const nextParams = {\r\n [props.queryParamName]: query,\r\n ...currentFilters\r\n };\r\n\r\n if (!nextParams[props.queryParamName])\r\n delete nextParams[props.queryParamName];\r\n\r\n Core.AppLinkHelper.trigger({\r\n ...currentAppLink,\r\n params: nextParams\r\n });\r\n }\r\n\r\n return (\r\n <div className='position-relative w-100'>\r\n <input\r\n name={props.name}\r\n type='text'\r\n className={`form-control p-1 w-100 ${props.className || ''}`}\r\n id={props.id}\r\n autoComplete='off'\r\n placeholder={props.placeholder}\r\n aria-label='Search'\r\n onChange={onChange}\r\n value={searchQuery}\r\n />\r\n <SvgContainer\r\n svgName={cvSvgLibrary.Search}\r\n className={`${styles.searchSvg} svg-container cursor-pointer text-secondary`}\r\n />\r\n </div>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"searchSvg\":\"cv--searchSvg--Pt-8R\"};","import * as React from 'react';\r\n\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { WorkflowPhase, UserAction, EntityType, OperationDescriptor } from 'libs/analytics/interfaces';\r\n\r\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { Text } from 'libs/shared/components/text/Text';\r\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\r\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\r\nimport { PropsWithAnalyticsOptions } from 'libs/shared/interfaces';\r\n\r\nimport { useBulkCheckboxManager } from 'shared/hooks/useBulkCheckboxManager';\r\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\r\nimport { Actions } from 'shared/constants/LiteActions';\r\n\r\nimport { MockYearLevel, MockUserRole } from 'apps/user-manager/interfaces';\r\nimport { MockUserType } from 'apps/user-manager/enums';\r\n\r\nimport { ManageStudentItem } from './students/ManageStudentItem';\r\nimport { ManageTeacherItem } from './teachers/ManageTeacherItem';\r\nimport { BulkUploadFileSelect } from '../bulk-upload-file-select/BulkUploadFileSelect';\r\n\r\nconst newStudentAppLink: Core.AppLink = {\r\n application: AppChannels.USER_MANAGER,\r\n action: Actions.UserManager.NEW_STUDENT\r\n};\r\n\r\nconst newTeacherAppLink: Core.AppLink = {\r\n application: AppChannels.USER_MANAGER,\r\n action: Actions.UserManager.NEW_TEACHER\r\n};\r\n\r\ntype ManageUsersListProps = PropsWithAnalyticsOptions<{\r\n users: any[];\r\n userType: MockUserType;\r\n yearLevels?: MockYearLevel[];\r\n userRoles?: MockUserRole[];\r\n}>;\r\n\r\nexport function ManageUsersList(props: ManageUsersListProps): JSX.Element {\r\n const { onToggleBulk, onToggleItem, getSelected, isChecked, bulkChecked } = useBulkCheckboxManager(props.users);\r\n\r\n function onBulkDelete(): void {\r\n const userIds = getSelected();\r\n\r\n if (!userIds?.length)\r\n return;\r\n\r\n AnalyticsHelper.logUserAction({\r\n count: userIds.length\r\n }, AnalyticsHelper.mergeOptions(props.analyticsOptions, {\r\n actionType: UserAction.Delete,\r\n entity: EntityType.User,\r\n workflowPhase: WorkflowPhase.Start,\r\n descriptor: userIds.length === 1 ? OperationDescriptor.Single : OperationDescriptor.Bulk\r\n }));\r\n\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.USER_MANAGER,\r\n action: Actions.UserManager.REMOVE_USERS,\r\n params: { userIds, userType: props.userType }\r\n });\r\n }\r\n\r\n const isManagingStudents = props.userType === MockUserType.Student;\r\n\r\n const ChildComponent = isManagingStudents ? ManageStudentItem : ManageTeacherItem;\r\n const newUserAppLink = isManagingStudents ? newStudentAppLink : newTeacherAppLink;\r\n const i18nNamespace = isManagingStudents ? 'userManager.manageStudents' : 'userManager.manageTeachers';\r\n const bulkAction = isManagingStudents\r\n ? Actions.UserManager.STUDENT_UPLOAD_REVIEW : Actions.UserManager.TEACHER_UPLOAD_REVIEW;\r\n\r\n function onClickAddNewStudents(): void {\r\n // TODO: Provide user role in data object when roles exist\r\n AnalyticsHelper.logUserAction({}, AnalyticsHelper.mergeOptions(props.analyticsOptions, {\r\n workflowPhase: WorkflowPhase.Start,\r\n actionType: UserAction.Create,\r\n entity: EntityType.User\r\n }));\r\n\r\n Core.AppLinkHelper.trigger(newUserAppLink);\r\n }\r\n\r\n return (\r\n <>\r\n <div className='d-flex align-items-center pb-3'>\r\n <div className='px-4'>\r\n <Checkbox\r\n id='user-manager'\r\n name='user-manager'\r\n checked={bulkChecked}\r\n onChange={onToggleBulk}\r\n />\r\n </div>\r\n\r\n <div className='mr-auto'>\r\n {!!getSelected().length && (\r\n <DivButton onClick={onBulkDelete} className='cursor-pointer'>\r\n <SvgContainer svgName={cvSvgLibrary.Delete} />\r\n </DivButton>\r\n )}\r\n </div>\r\n\r\n <BulkUploadFileSelect\r\n action={bulkAction}\r\n userType={props.userType}\r\n yearLevels={props.yearLevels}\r\n userRoles={props.userRoles}\r\n />\r\n <IconButton\r\n className='btn btn-outline-dark ml-2'\r\n svgName={cvSvgLibrary.Plus}\r\n onClick={onClickAddNewStudents}\r\n >\r\n <Text namespace={i18nNamespace} phrase='addNew' />\r\n </IconButton>\r\n </div>\r\n\r\n <ul className='m-0 list-unstyled striped-list'>\r\n {props.users.map(user => (\r\n <ChildComponent\r\n key={user.id}\r\n user={user}\r\n onToggleCheckbox={() => onToggleItem(user.id)}\r\n isChecked={isChecked(user.id)}\r\n />\r\n ))}\r\n </ul>\r\n </>\r\n );\r\n}","import React from 'react';\r\n\r\nfunction PartialUserItem(): JSX.Element {\r\n return (\r\n <li className='w-100 d-flex align-items-center py-2'>\r\n <div className='mx-4 partial-loading-background' style={{ width: '21px', height: '21px' }} />\r\n\r\n <div className='d-flex flex-column justify-content-center w-100'>\r\n <div className='pb-1'>\r\n <div className='partial-loading-background mr-1 align-middle d-inline-block' style={{ width: '180px', height: '28px' }} />\r\n </div>\r\n\r\n <div className='d-flex'>\r\n <div className='w-50'>\r\n <div className='partial-loading-background align-middle d-inline-block' style={{ width: '250px', height: '21px' }} />\r\n </div>\r\n\r\n <div className='d-flex w-50 pl-1'>\r\n <div className='w-50'>\r\n <div className='partial-loading-background' style={{ width: '100px', height: '21px' }} />\r\n </div>\r\n <div className='w-50'>\r\n <div className='partial-loading-background' style={{ width: '100px', height: '21px' }} />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n );\r\n}\r\n\r\nexport function PartialManageUsersList(): JSX.Element {\r\n return (\r\n <>\r\n <div className='d-flex justify-content-between align-items-center mb-3'>\r\n <div className='mx-4 partial-loading-background' style={{ width: '21px', height: '21px' }} />\r\n <div className='d-flex align-items-center'>\r\n <div className='partial-loading-background' style={{ width: '140px', height: '35px' }} />\r\n <div className='partial-loading-background ml-2' style={{ width: '150px', height: '35px' }} />\r\n </div>\r\n </div>\r\n\r\n <ul className='m-0 list-unstyled striped-list'>\r\n {Array(20).fill(null).map((item, index) => <PartialUserItem key={index} />)}\r\n </ul>\r\n </>\r\n );\r\n}","import React from 'react';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { UserAction, EntityType, WorkflowPhase, LocationContext } from 'libs/analytics/interfaces';\r\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\r\nimport { Actions as ActionsComponent } from 'libs/shared/components/actions/Actions';\r\nimport { Text } from 'libs/shared/components/text/Text';\r\n\r\nimport { MockStudent } from 'apps/user-manager/interfaces';\r\n\r\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\r\nimport { Actions } from 'shared/constants/LiteActions';\r\n\r\nimport styles from './manage-student-item.scss';\r\n\r\nconst namespace = 'userManager.manageStudents';\r\n\r\ninterface ManageStudentItemProps {\r\n user: MockStudent;\r\n isChecked: boolean;\r\n onToggleCheckbox: () => void;\r\n}\r\n\r\nexport function ManageStudentItem(props: ManageStudentItemProps): JSX.Element {\r\n const { user, isChecked, onToggleCheckbox } = props;\r\n\r\n const actions = [\r\n {\r\n label: LanguageService.getPhrase(namespace, 'edit'),\r\n onClick: () => {\r\n AnalyticsHelper.logUserAction({ id: user.id }, {\r\n actionType: UserAction.Edit,\r\n entity: EntityType.User,\r\n workflowPhase: WorkflowPhase.Start,\r\n location: LocationContext.StudentManagerListItem\r\n });\r\n\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.USER_MANAGER,\r\n action: Actions.UserManager.EDIT_STUDENT,\r\n args: [user.id]\r\n });\r\n }\r\n },\r\n {\r\n // TODO: Make this toggle between enable and disable\r\n label: LanguageService.getPhrase(namespace, 'enable'),\r\n onClick: () => {\r\n // TODO: Analytics\r\n // TOOD: AppLink\r\n }\r\n },\r\n {\r\n label: LanguageService.getPhrase(namespace, 'remove'),\r\n onClick: () => {\r\n AnalyticsHelper.logUserAction({ id: user.id }, {\r\n actionType: UserAction.Delete,\r\n entity: EntityType.User,\r\n workflowPhase: WorkflowPhase.Start,\r\n location: LocationContext.StudentManagerListItem\r\n });\r\n\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.USER_MANAGER,\r\n action: Actions.UserManager.REMOVE_USERS,\r\n params: {\r\n userIds: [user.id],\r\n userType: 'student'\r\n }\r\n });\r\n },\r\n className: 'text-danger'\r\n }\r\n ];\r\n\r\n return (\r\n <li className='d-flex align-items-center py-2'>\r\n <div className='px-4'>\r\n <Checkbox\r\n id={user.id}\r\n name={user.id}\r\n checked={isChecked}\r\n onChange={onToggleCheckbox}\r\n />\r\n </div>\r\n\r\n <div className='d-flex flex-column justify-content-center w-100'>\r\n <div className='pb-1'>\r\n <h2 className='h5 m-0 mr-1 d-inline-block align-middle'>{user.name} {user.surname || ''}</h2>\r\n {user.username && <p className='m-0 d-inline-block align-middle'>({user.username})</p>}\r\n </div>\r\n\r\n <div className='d-flex'>\r\n <p className='m-0 w-50 text-truncate'>{user.email}</p>\r\n\r\n <div className='d-flex w-50 pl-1'>\r\n <div className='w-50'>\r\n <Text namespace={namespace} phrase='level' />\r\n <span className={`rounded-pill px-2 ${styles.level}`}>{user.yearLevel.name}</span>\r\n </div>\r\n {user.classroom && <p className='mb-0 w-50'>{user.classroom.name}</p>}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ActionsComponent actions={actions} className='pr-4' actionsDropdownClassName='btn' />\r\n </li>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"level\":\"cv--level--Atgxo\"};","import React from 'react';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { UserAction, EntityType, WorkflowPhase, LocationContext } from 'libs/analytics/interfaces';\r\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\r\nimport { Actions as ActionsComponent } from 'libs/shared/components/actions/Actions';\r\n\r\nimport { Actions } from 'shared/constants/LiteActions';\r\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\r\nimport { MockTeacher } from 'apps/user-manager/interfaces';\r\n\r\nconst namespace = 'userManager.manageTeachers';\r\n\r\ninterface ManageTeacherItemProps {\r\n user: MockTeacher;\r\n isChecked: boolean;\r\n onToggleCheckbox: () => void;\r\n}\r\n\r\nexport function ManageTeacherItem(props: ManageTeacherItemProps): JSX.Element {\r\n const { user, isChecked, onToggleCheckbox } = props;\r\n\r\n const actions = [\r\n {\r\n label: LanguageService.getPhrase(namespace, 'edit'),\r\n onClick: () => {\r\n AnalyticsHelper.logUserAction({ id: user.id }, {\r\n actionType: UserAction.Edit,\r\n entity: EntityType.User,\r\n workflowPhase: WorkflowPhase.Start,\r\n location: LocationContext.TeacherManagerListItem\r\n });\r\n\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.USER_MANAGER,\r\n action: Actions.UserManager.EDIT_TEACHER,\r\n args: [user.id]\r\n });\r\n }\r\n },\r\n {\r\n // TODO: Make this toggle between enable and disable\r\n label: LanguageService.getPhrase(namespace, 'enable'),\r\n onClick: () => {\r\n // TODO: Analytics\r\n // TOOD: AppLink\r\n }\r\n },\r\n {\r\n label: LanguageService.getPhrase(namespace, 'remove'),\r\n onClick: () => {\r\n AnalyticsHelper.logUserAction({ id: user.id }, {\r\n actionType: UserAction.Delete,\r\n entity: EntityType.User,\r\n workflowPhase: WorkflowPhase.Start,\r\n location: LocationContext.TeacherManagerListItem\r\n });\r\n\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.USER_MANAGER,\r\n action: Actions.UserManager.REMOVE_USERS,\r\n params: {\r\n userIds: [user.id],\r\n userType: 'teacher'\r\n }\r\n });\r\n },\r\n className: 'text-danger'\r\n }\r\n ];\r\n\r\n return (\r\n <li className='d-flex align-items-center py-2'>\r\n <div className='px-4'>\r\n <Checkbox\r\n id={user.id}\r\n name={user.id}\r\n checked={isChecked}\r\n onChange={onToggleCheckbox}\r\n />\r\n </div>\r\n\r\n <div className='d-flex flex-column justify-content-center w-100'>\r\n <div className='pb-1'>\r\n <h2 className='h5 m-0 mr-1 d-inline-block align-middle'>{user.name} {user.surname || ''}</h2>\r\n {user.username &&\r\n <p className='m-0 d-inline-block align-middle'>({user.username})</p>\r\n }\r\n </div>\r\n\r\n <div className='d-flex'>\r\n <p className='m-0 w-50 text-truncate'>{user.email}</p>\r\n <p className='mb-0 w-50 pl-1 text-center'>{user.userRole.name}</p>\r\n </div>\r\n </div>\r\n\r\n <ActionsComponent actions={actions} className='pr-4' actionsDropdownClassName='btn' />\r\n </li>\r\n );\r\n}","import React from 'react';\r\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nexport function VideoInfoButton(props: React.PropsWithChildren<{}>): JSX.Element {\r\n return (\r\n <IconButton\r\n className='btn btn-outline-info d-block mx-auto mb-3'\r\n svgName={cvSvgLibrary.Video}\r\n >\r\n {props.children}\r\n </IconButton>\r\n );\r\n}"],"sourceRoot":""}
@@ -0,0 +1 @@
1
+ (window.webpackJsonp_clickview_lite=window.webpackJsonp_clickview_lite||[]).push([[17],{1008:function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var n=a(0),r=a(873),c=a.n(r),i=a(1009),l=a.n(i);function s(e){var t="grid"===e.style?c.a.grid:l.a.partialSubjectList;return n.createElement("ul",{className:t},Array(e.count).fill(null).map((function(e,t){return n.createElement("li",{key:t,className:"".concat(l.a.partialSubject," partial-loading-background")})})))}},1009:function(e,t,a){e.exports={partialSubject:"_1rrH2",partialSubjectList:"_15Qdz"}},1268:function(e,t,a){e.exports={image:"_1AhAp",text:"_384Un"}},1269:function(e,t,a){e.exports={container:"VG65e"}},1325:function(e,t,a){"use strict";a.r(t);var n=a(0),r=a.n(n),c=a(227),i=a.n(c),l=a(33),s=a(61),o=a(14),u=a(2),d=a(7),m=a(957),p=a(879),b=a(73),f=a(51),v=a(55),g=a(13),h=a(824),E=a(859),x=a(1008),S=a(855),y=a(912),j=a(958),C=a(248),N=a(250),k=a(154),w=a(1268),_=a.n(w);function B(e){return r.a.createElement("div",{className:"position-relative"},r.a.createElement("div",{className:"w-100 ".concat(_.a.image),style:{backgroundImage:"url('".concat(e.imageUrl,"')")}}),r.a.createElement("div",{className:"bg-white text-nowrap font-weight-500 py-1 px-3 badge-pill m-0 ".concat(_.a.text)},e.text))}var P=a(10),A=a(5),U=a(898),F=a(1269),O=a.n(F);function L(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var a=[],n=!0,r=!1,c=void 0;try{for(var i,l=e[Symbol.iterator]();!(n=(i=l.next()).done)&&(a.push(i.value),!t||a.length!==t);n=!0);}catch(e){r=!0,c=e}finally{try{n||null==l.return||l.return()}finally{if(r)throw c}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return H(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return H(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function H(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}a.d(t,"PreferencesSummaryView",(function(){return D}));var I="subjects.preferencesSummary";function D(e){var t,a,r=L(n.useState(!1),2),c=r[0],w=r[1],_=o.a.useBasicFetch(p.a.myLevelPreferences()),F=o.a.useBasicFetch(p.a.mySubjectPreferences()),H=o.a.useBasicFetch(k.a.currentUser()),D=o.a.useBasicFetch(H.statusCode?m.a.setting(H.data.id,C.a.HasCompletedOnboarding):null),R=o.a.useBasicFetch(H.statusCode?m.a.setting(H.data.id,C.a.BulkOnboardingPreferencesState):null),T=Object(s.useDispatch)(),J=Object(h.a)();var M=U.a.getBulkPreferencesState(null===(t=R.data)||void 0===t?void 0:t.value);return n.createElement(b.a.Provider,{value:I},n.createElement("div",{className:"p-3 pb-5 mx-auto ".concat(O.a.container)},n.createElement("div",{className:"position-relative"},n.createElement("div",{className:"text-center"},n.createElement("h1",{className:"mb-3"},n.createElement(b.b,{phrase:"heading"})),n.createElement("p",{className:"w-25 mx-auto h6 mb-3"},n.createElement(b.b,{phrase:"info"}))),n.createElement("div",{className:"pb-4 w-75 mx-auto"},n.createElement("div",{className:"pb-1 d-flex align-items-center"},n.createElement("h2",{className:"h3 mb-1 pr-1"},n.createElement(b.b,{phrase:"levels"})),n.createElement(f.a,{appLink:{application:A.a.SUBJECT,action:P.a.Subjects.PREFERENCES,params:{step:"levels"}}},n.createElement(v.a,{svgName:g.b.Edit}))),_.data?M.levels?n.createElement(B,{imageUrl:"/images/onboarding/all-year-levels.png",text:d.a.getPhrase(I,"allLevels")}):_.data.length?n.createElement("ul",{className:"m-0 p-0"},_.data.map((function(e){return n.createElement(y.a,{key:e.masterId,audience:e,extraClasses:"h4 py-1 px-3 mx-1 cursor-default",highlight:!0})}))):n.createElement("p",{className:"h6"},n.createElement(b.b,{phrase:"noLevelPreferences"})):n.createElement(j.a,{count:2})),n.createElement("div",{className:"w-75 mx-auto"},n.createElement("div",{className:"pb-1 d-flex align-items-center"},n.createElement("h2",{className:"h3 mb-1 pr-1"},n.createElement(b.b,{phrase:"subjects"})),n.createElement(f.a,{appLink:{application:A.a.SUBJECT,action:P.a.Subjects.PREFERENCES,params:{step:"subjects"}}},n.createElement(v.a,{svgName:g.b.Edit}))),F.data?M.subjects?n.createElement(B,{imageUrl:"/images/onboarding/all-subjects.png",text:d.a.getPhrase(I,"allSubjects")}):F.data.length?n.createElement("ul",{className:"m-0 p-0 d-flex flex-wrap"},F.data.map((function(e){return n.createElement(E.a,{key:e.id,subject:e,extraClasses:"m-1 cursor-default",selected:!0,hideStatus:!0})}))):n.createElement("p",{className:"h6"},n.createElement(b.b,{phrase:"noSubjectPreferences"})):n.createElement(x.a,{style:"list",count:5}))),n.createElement(S.a,{justify:"center"},n.createElement(l.Button,{variant:"dark",onClick:function(){var t,a;c||(w(!0),(null===(t=D.data)||void 0===t?void 0:t.value)?window.setTimeout((function(){w(!1),e.redirectUrl?u.a.LocationUtils.PageLoad(e.redirectUrl):u.a.AppLinkHelper.trigger({application:A.a.DASHBOARD,action:P.a.Dashboard.HOME})}),250):o.a.fetch(T,m.a.updateSetting(null===(a=H.data)||void 0===a?void 0:a.id,C.a.HasCompletedOnboarding,!0,N.a.Permanent,(function(){var t;i.a.set("_onboardingComplete",null===(t=H.data)||void 0===t?void 0:t.id,{expires:30}),u.a.LocationUtils.PageLoad(e.redirectUrl||"/")}),(function(){J.error(d.a.getPhrase(I,"onboardingOptionError")),w(!1)}))))},disabled:c,className:"px-4"},c?n.createElement(l.Spinner,{as:"span",animation:"border",role:"status",size:"sm"}):n.createElement(b.b,{phrase:(null===(a=D.data)||void 0===a?void 0:a.value)?"save":"getStarted"})))))}},824:function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(153),r=a(48),c=a(52),i=function(){var e=Object(n.a)(c.a.ALERT);return{success:function(t){e.success(t)()},error:function(t){e.error(t)()},warning:function(t){e.createAlert({type:r.a.Warning,heading:r.c.Warning,message:t})}}}},841:function(e,t,a){"use strict";var n=a(0),r=a.n(n),c=a(55),i=a(13),l=a(857),s=a.n(l),o=function(e){return e.selectedChildrenCount?n.createElement("div",{className:"".concat(s.a.itemStatus," ").concat(s.a.green)},e.selectedChildrenCount):n.createElement(n.Fragment,null)},u=function(e){var t;return t=e.selected?n.createElement(c.a,{svgName:i.b.Check}):e.radioButton?n.createElement(n.Fragment,null," "):n.createElement(c.a,{svgName:i.b.Plus}),n.createElement("div",{className:"".concat(s.a.itemStatus," ").concat(e.selected?s.a.green:s.a.unchecked)},t)};function d(e){var t,a="".concat(s.a.expandCaret," ").concat(e.expand?s.a.up:s.a.down);return r.a.createElement("li",{className:(t=s.a.preferenceItem,e.extraClasses&&(t+=" "+e.extraClasses),e.isDisabled&&(t+=" "+s.a.disabled),e.isSelected&&!e.isExpandable&&(t+=" "+s.a.selected),e.hideStatus&&(t+=" "+s.a.noBorder),t),onClick:e.onClick,"aria-checked":e.isSelected,"aria-haspopup":e.isExpandable,role:e.isExpandable?"button":"checkbox",style:{backgroundImage:"url(".concat(e.imageUrl,")")},tabIndex:0},r.a.createElement("div",{className:"".concat(s.a.textBox," p-2")},r.a.createElement("p",{className:"m-0 text-truncate"},e.name,r.a.createElement("span",{className:e.isExpandable?a:""})),!e.hideStatus&&r.a.createElement(r.a.Fragment,null,e.isExpandable?r.a.createElement(o,{selectedChildrenCount:e.selectedChildCount}):r.a.createElement(u,{selected:e.isSelected,radioButton:e.radioButton}))))}a.d(t,"a",(function(){return d}))},855:function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var n=a(0),r=a(45),c=a(236),i=a(883),l=a.n(i);function s(e){var t=Object(c.a)(),a=t===r.a.SM||t===r.a.XS?"w-100":"w-75",i="justify-content-".concat(e.justify);return n.createElement("div",{className:"".concat(a," ").concat(i," ").concat(l.a.preferenceFooter," d-flex px-3")},e.children)}s.defaultProps={justify:"between"}},856:function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(0),r=Object(n.createContext)(void 0)},857:function(e,t,a){e.exports={preferenceItem:"_1LDb6",expandCaret:"_3QEWB",down:"_2y-iF",up:"_1kGNY",disabled:"_2w4FH",selected:"_1lSYv",noBorder:"_3Mxuo",textBox:"_3HCeK",itemStatus:"_2msq4",unchecked:"_2VQLv",green:"AHd64"}},859:function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(0),r=a(155),c=a(115),i=a(856),l=a(841),s=a(156);function o(e){var t,a,o,u,d=n.useContext(i.a),m=e.subject.cover?r.a.createUrl(e.subject.cover.url,{size:c.a.Small}):"",p=e.subject.isExpandableOption?e.subject.children.map((function(e){return e.id})):[],b=e.hasSelectedBulk?0:null===(a=null===(t=d)||void 0===t?void 0:t.selectedSubjects)||void 0===a?void 0:a.filter((function(e){return p.includes(e)})).length,f=n.createElement(l.a,{name:e.subject.name,imageUrl:m,onClick:e.onClick,isSelected:e.selected,isDisabled:e.disabled,isExpandable:e.subject.isExpandableOption,expand:(null===(u=null===(o=d)||void 0===o?void 0:o.expandedSubject)||void 0===u?void 0:u.id)===e.subject.id,selectedChildCount:b,extraClasses:e.extraClasses,hideStatus:e.hideStatus});return e.disabled?n.createElement("span",null,f):n.createElement(s.a,{title:e.subject.name},n.createElement("span",null,f))}},873:function(e,t,a){e.exports={grid:"G_RXX",subgrid:"_38ohZ"}},883:function(e,t,a){e.exports={preferenceFooter:"P29kw"}},912:function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(0),r=a(935),c=a.n(r),i=a(35);function l(e){var t=e.audience,a=e.highlight,r=e.setAudience,l=e.isDisabled,s=e.extraClasses,o=function(e,t){return e?t?"".concat(c.a.disabledHighlighted," text-light"):"badge-info text-light":t?"".concat(c.a.disabled," text-muted"):"badge-light"}(a,l),u="badge-pill d-inline-block mr-1 ".concat(l?"cursor-default":"cursor-pointer"," ").concat(o," ").concat(s);return n.createElement("span",{className:u,onClick:function(){!l&&i.a.isFunction(r)&&r(t,!a)},role:"checkbox","aria-checked":a},t.name.split(" ").map((function(e){return e.charAt(0).toUpperCase()+e.substring(1)})).join(" "))}l.defaultProps={extraClasses:""}},935:function(e,t,a){e.exports={disabled:"_1KxF9",disabledHighlighted:"pbuec"}},958:function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(0);function r(e){var t=e.width,a=void 0===t?90:t,r=e.height,c=void 0===r?35:r,i=e.count,l=void 0===i?5:i,s=e.align,o="center"===(void 0===s?"left":s)?"justify-content-center":"justify-content-start";return n.createElement("ul",{className:"d-flex flex-wrap pl-0 m-0 ".concat(o)},Array(l).fill(null).map((function(e,t){return n.createElement("li",{key:t,className:"partial-loading-background mx-1 mb-1 badge-pill list-unstyled",style:{height:"".concat(c,"px"),width:"".concat(a,"px")}})})))}}}]);