@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,438 +1,826 @@
1
1
  (window["webpackJsonp_clickview_lite"] = window["webpackJsonp_clickview_lite"] || []).push([[33],{
2
2
 
3
- /***/ "../../libs/shared/src/components/div-button/DivButton.tsx":
4
- /*!*****************************************************************************************************!*\
5
- !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/div-button/DivButton.tsx ***!
6
- \*****************************************************************************************************/
7
- /*! exports provided: DivButton */
3
+ /***/ "../../libs/shared/src/components/video-list/partial-loading/PartialVideoList.tsx":
4
+ /*!****************************************************************************************************************************!*\
5
+ !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/video-list/partial-loading/PartialVideoList.tsx ***!
6
+ \****************************************************************************************************************************/
7
+ /*! exports provided: PartialVideoList */
8
8
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9
9
 
10
10
  "use strict";
11
11
  __webpack_require__.r(__webpack_exports__);
12
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DivButton", function() { return DivButton; });
12
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PartialVideoList", function() { return PartialVideoList; });
13
13
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
14
14
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
15
+ /* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-bootstrap */ "react-bootstrap");
16
+ /* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_bootstrap__WEBPACK_IMPORTED_MODULE_1__);
17
+ /* harmony import */ var _enums_MediaQueries__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../enums/MediaQueries */ "../../libs/shared/src/enums/MediaQueries.ts");
18
+ /* harmony import */ var _hooks_UseGetMediaQueryString__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../hooks/UseGetMediaQueryString */ "../../libs/shared/src/hooks/UseGetMediaQueryString.ts");
19
+ /* harmony import */ var _partial_video_list_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./partial-video-list.scss */ "../../libs/shared/src/components/video-list/partial-loading/partial-video-list.scss");
20
+ /* harmony import */ var _partial_video_list_scss__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_partial_video_list_scss__WEBPACK_IMPORTED_MODULE_4__);
15
21
 
16
- /**
17
- * This element lets us use `div` elements as buttons without losing the accessibility of
18
- * a regular HTML button element
19
- */
20
22
 
21
- function DivButton(props) {
22
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
23
- role: 'button',
24
- tabIndex: 0,
25
- className: "".concat(props.className ? props.className : '', " cursor-pointer"),
26
- onKeyDown: function onKeyDown(e) {
27
- return e.key === 'Enter' && props.onClick(e);
28
- },
29
- onClick: props.onClick,
30
- style: props.style ? props.style : {}
31
- }, props.children);
23
+
24
+
25
+
26
+ PartialVideoList.defaultProps = {
27
+ numVideos: 15
28
+ };
29
+ function PartialVideoList(props) {
30
+ var mediaQuery = Object(_hooks_UseGetMediaQueryString__WEBPACK_IMPORTED_MODULE_3__["useGetMediaQueryString"])();
31
+ var isMobile = mediaQuery === _enums_MediaQueries__WEBPACK_IMPORTED_MODULE_2__["MediaQueryStrings"].XS;
32
+ var isIPad = mediaQuery === _enums_MediaQueries__WEBPACK_IMPORTED_MODULE_2__["MediaQueryStrings"].SM || mediaQuery === _enums_MediaQueries__WEBPACK_IMPORTED_MODULE_2__["MediaQueryStrings"].MD;
33
+ var withDragHandle = props.withReordering && !isMobile;
34
+ return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, Array(props.numVideos).fill(null).map(function (_, i) {
35
+ return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Row"], {
36
+ key: i,
37
+ className: 'py-2'
38
+ }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Col"], {
39
+ xs: isMobile ? 12 : isIPad ? 4 : 3,
40
+ className: 'flex-column align-items-flex-start mb-1'
41
+ }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Row"], null, !!withDragHandle && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
42
+ className: 'd-flex align-items-center justify-content-center col-2'
43
+ }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
44
+ className: "partial-loading-background ".concat(_partial_video_list_scss__WEBPACK_IMPORTED_MODULE_4___default.a.partialDragHandle)
45
+ })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Col"], {
46
+ xs: withDragHandle ? 10 : 12
47
+ }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
48
+ className: "partial-loading-background rounded-lg ".concat(_partial_video_list_scss__WEBPACK_IMPORTED_MODULE_4___default.a.partialThumbnail)
49
+ })))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Col"], {
50
+ xs: isMobile ? 12 : isIPad ? 8 : 9
51
+ }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
52
+ className: "partial-loading-background ".concat(_partial_video_list_scss__WEBPACK_IMPORTED_MODULE_4___default.a.partialSeriesLink)
53
+ }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
54
+ className: "partial-loading-background mb-1 ".concat(_partial_video_list_scss__WEBPACK_IMPORTED_MODULE_4___default.a.partialName)
55
+ }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
56
+ className: "partial-loading-background ".concat(_partial_video_list_scss__WEBPACK_IMPORTED_MODULE_4___default.a.partialDescription)
57
+ }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
58
+ className: "partial-loading-background ".concat(_partial_video_list_scss__WEBPACK_IMPORTED_MODULE_4___default.a.partialBadges)
59
+ }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
60
+ className: "partial-loading-background ".concat(_partial_video_list_scss__WEBPACK_IMPORTED_MODULE_4___default.a.partialActions)
61
+ })));
62
+ }));
32
63
  }
33
64
 
34
65
  /***/ }),
35
66
 
36
- /***/ "../../libs/shared/src/hooks/UseAlerts.ts":
37
- /*!************************************************************************************!*\
38
- !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/hooks/UseAlerts.ts ***!
39
- \************************************************************************************/
40
- /*! exports provided: useAlerts */
67
+ /***/ "../../libs/shared/src/components/video-list/partial-loading/partial-video-list.scss":
68
+ /*!*******************************************************************************************************************************!*\
69
+ !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/video-list/partial-loading/partial-video-list.scss ***!
70
+ \*******************************************************************************************************************************/
71
+ /*! no static exports found */
72
+ /***/ (function(module, exports, __webpack_require__) {
73
+
74
+ // extracted by mini-css-extract-plugin
75
+ module.exports = {"partialName":"cv--partialName--7KNC2","partialDescription":"cv--partialDescription--Vk_wR","partialThumbnail":"cv--partialThumbnail--3peRZ","partialDragHandle":"cv--partialDragHandle--1F7_f"};
76
+
77
+ /***/ }),
78
+
79
+ /***/ "../../libs/shared/src/flight-requests/FavouriteVideoRequests.ts":
80
+ /*!***********************************************************************************************************!*\
81
+ !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/flight-requests/FavouriteVideoRequests.ts ***!
82
+ \***********************************************************************************************************/
83
+ /*! exports provided: FavouriteVideoRequests */
41
84
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
42
85
 
43
86
  "use strict";
44
87
  __webpack_require__.r(__webpack_exports__);
45
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useAlerts", function() { return useAlerts; });
46
- /* harmony import */ var _common_src_react_hooks_UseService__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/src/react/hooks/UseService */ "../../libs/common/src/react/hooks/UseService.ts");
47
- /* harmony import */ var _common_src_backbone_services_BaseAlertService__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/src/backbone/services/BaseAlertService */ "../../libs/common/src/backbone/services/BaseAlertService.ts");
48
- /* harmony import */ var _common_src_backbone_constants_CommonServices__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/src/backbone/constants/CommonServices */ "../../libs/common/src/backbone/constants/CommonServices.ts");
88
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FavouriteVideoRequests", function() { return FavouriteVideoRequests; });
89
+ /* harmony import */ var _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/src/backbone/enums/HttpVerbs */ "../../libs/common/src/backbone/enums/HttpVerbs.ts");
90
+ /* harmony import */ var _constants_WithStatements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/WithStatements */ "../../libs/shared/src/constants/WithStatements.ts");
91
+ var __rest = undefined && undefined.__rest || function (s, e) {
92
+ var t = {};
93
+
94
+ for (var p in s) {
95
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
96
+ }
97
+
98
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
99
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
100
+ }
101
+ return t;
102
+ };
49
103
 
50
104
 
51
105
 
52
- var useAlerts = function useAlerts() {
53
- var alertService = Object(_common_src_react_hooks_UseService__WEBPACK_IMPORTED_MODULE_0__["useService"])(_common_src_backbone_constants_CommonServices__WEBPACK_IMPORTED_MODULE_2__["CommonServices"].ALERT);
106
+
107
+ function favouriteVideo(videoId, userId, success, error) {
54
108
  return {
55
- success: function success(alertContent) {
56
- alertService.success(alertContent)();
57
- },
58
- error: function error(alertContent) {
59
- alertService.error(alertContent)();
109
+ url: "/api/domain/v2/objects/".concat(userId),
110
+ key: "favourite:video:".concat(userId, ":").concat(videoId),
111
+ data: {
112
+ favouriteVideos: videoId
60
113
  },
61
- warning: function warning(alertContent) {
62
- alertService.createAlert({
63
- type: _common_src_backbone_services_BaseAlertService__WEBPACK_IMPORTED_MODULE_1__["AlertType"].Warning,
64
- heading: _common_src_backbone_services_BaseAlertService__WEBPACK_IMPORTED_MODULE_1__["DefaultAlertHeading"].Warning,
65
- message: alertContent
66
- });
67
- }
114
+ type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].PUT,
115
+ invalidationKeys: ["favourite:videos:".concat(userId), "video:is:favourited:".concat(userId)],
116
+ success: success,
117
+ error: error
118
+ };
119
+ }
120
+
121
+ function unfavouriteVideo(videoId, userId, success, error) {
122
+ return {
123
+ url: "/api/domain/v2/objects/".concat(userId, "/favouriteVideos/").concat(videoId),
124
+ key: "favourite:video:".concat(userId, ":").concat(videoId),
125
+ type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].DELETE,
126
+ invalidationKeys: ["favourite:videos:".concat(userId), "video:is:favourited:".concat(userId)],
127
+ success: success,
128
+ error: error
68
129
  };
130
+ }
131
+
132
+ var FavouriteVideoRequests = {
133
+ favouriteVideos: function favouriteVideos(userId, cursor) {
134
+ var query = "".concat(_constants_WithStatements__WEBPACK_IMPORTED_MODULE_1__["SharedWithStatements"].VIDEO_COLLECTION).concat(addCursor(cursor));
135
+ return {
136
+ url: "/api/domain/v2/objects/".concat(userId, "/favouriteVideos?query=").concat(query),
137
+ key: "favourite:videos:".concat(userId).concat(cursor ? ":".concat(cursor) : '')
138
+ };
139
+ },
140
+ updateIsVideoFavourited: function updateIsVideoFavourited(videoId, userId, shouldFavourite, success, error) {
141
+ var requestFn = shouldFavourite ? favouriteVideo : unfavouriteVideo;
142
+ return requestFn(videoId, userId, success, error);
143
+ },
144
+ isFavourited: function isFavourited(userId, ids) {
145
+ var sortedIds = ids.slice().sort();
146
+ var params = sortedIds.map(function (i) {
147
+ return "id=".concat(i);
148
+ });
149
+ if (!params.length) return;
150
+ return {
151
+ url: "/api/domain/v2/objects?query=favouritedBy{id:".concat(userId, "}&").concat(params.join('&')),
152
+ key: "video:is:favourited:".concat(userId, ":by:id:").concat(sortedIds.join(',')),
153
+ formatData: function formatData(videos) {
154
+ var _a;
155
+
156
+ if (!((_a = videos) === null || _a === void 0 ? void 0 : _a.length)) return videos;
157
+
158
+ var setIsFavourited = function setIsFavourited(video) {
159
+ var _a, _b;
160
+
161
+ var favouritedBy = video.favouritedBy,
162
+ v = __rest(video, ["favouritedBy"]); // As we filtered by userId, if there are any users, set isFavourited to true.
163
+
164
+
165
+ return Object.assign(Object.assign({}, v), {
166
+ isFavourited: !!((_b = (_a = favouritedBy) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.length)
167
+ });
168
+ };
169
+
170
+ return videos.map(setIsFavourited);
171
+ }
172
+ };
173
+ }
69
174
  };
70
175
 
176
+ function addCursor(cursor) {
177
+ return cursor ? "&cursor=".concat(cursor) : '';
178
+ }
179
+
71
180
  /***/ }),
72
181
 
73
- /***/ "./src/apps/classrooms/components/classroom-group-details-form/ClassroomGroupDetailsForm.tsx":
74
- /*!***************************************************************************************************!*\
75
- !*** ./src/apps/classrooms/components/classroom-group-details-form/ClassroomGroupDetailsForm.tsx ***!
76
- \***************************************************************************************************/
77
- /*! exports provided: ClassroomGroupDetailsForm */
182
+ /***/ "../../libs/shared/src/hooks/useGetCollectionItems.ts":
183
+ /*!************************************************************************************************!*\
184
+ !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/hooks/useGetCollectionItems.ts ***!
185
+ \************************************************************************************************/
186
+ /*! exports provided: useGetCollectionItems */
78
187
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
79
188
 
80
189
  "use strict";
81
190
  __webpack_require__.r(__webpack_exports__);
82
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ClassroomGroupDetailsForm", function() { return ClassroomGroupDetailsForm; });
191
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useGetCollectionItems", function() { return useGetCollectionItems; });
83
192
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
84
193
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
85
- /* harmony import */ var formik__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! formik */ "../../../node_modules/formik/dist/formik.esm.js");
86
- /* harmony import */ var _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../libs/common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
87
- /* harmony import */ var _libs_shared_src_components_forms_form_field_FormField__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/forms/form-field/FormField */ "../../libs/shared/src/components/forms/form-field/FormField.tsx");
88
- /* harmony import */ var _libs_shared_src_components_forms_form_wrapper_FormWrapper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/forms/form-wrapper/FormWrapper */ "../../libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx");
89
- /* harmony import */ var _libs_shared_src_components_forms_form_buttons_FormButtons__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/forms/form-buttons/FormButtons */ "../../libs/shared/src/components/forms/form-buttons/FormButtons.tsx");
90
- /* harmony import */ var _libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/text/Text */ "../../libs/shared/src/components/text/Text.tsx");
91
- /* harmony import */ var apps_classrooms_components_colour_picker_ColourPicker__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! apps/classrooms/components/colour-picker/ColourPicker */ "./src/apps/classrooms/components/colour-picker/ColourPicker.tsx");
92
- /* harmony import */ var _classroom_group_details_form_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./classroom-group-details-form.scss */ "./src/apps/classrooms/components/classroom-group-details-form/classroom-group-details-form.scss");
93
- /* harmony import */ var _classroom_group_details_form_scss__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_classroom_group_details_form_scss__WEBPACK_IMPORTED_MODULE_8__);
94
-
194
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
95
195
 
196
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
96
197
 
198
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
97
199
 
200
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
98
201
 
202
+ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
99
203
 
204
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
100
205
 
101
206
 
207
+ /**
208
+ * Hook used to listen to updates on a Backbone Collection
209
+ * and trigger a re-render.
210
+ */
102
211
 
103
- var namespace = 'classrooms.classroomGroupDetailsForm';
104
- var getPhrase = _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_2__["LanguageService"].encloseNamespace(namespace);
105
- function ClassroomGroupDetailsForm(props) {
106
- var formikProps = Object(_libs_shared_src_components_forms_form_wrapper_FormWrapper__WEBPACK_IMPORTED_MODULE_4__["useFormikContextWrapper"])();
107
- return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2", {
108
- className: 'w-50 d-inline-block h6'
109
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_6__["Text"], {
110
- namespace: namespace,
111
- phrase: 'nameLabel'
112
- })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2", {
113
- className: 'd-inline-block h6'
114
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_6__["Text"], {
115
- namespace: namespace,
116
- phrase: 'colourLabel'
117
- }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(formik__WEBPACK_IMPORTED_MODULE_1__["Form"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
118
- className: 'pb-3 d-flex'
119
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
120
- className: 'w-50'
121
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_forms_form_field_FormField__WEBPACK_IMPORTED_MODULE_3__["FormField"], {
122
- type: 'text',
123
- name: 'name',
124
- id: 'name',
125
- className: "".concat(_classroom_group_details_form_scss__WEBPACK_IMPORTED_MODULE_8___default.a.groupNameInput),
126
- placeholder: getPhrase('groupNamePlaceholder'),
127
- autoFocus: true,
128
- value: formikProps.values.name
129
- })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
130
- className: 'form-group'
131
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(apps_classrooms_components_colour_picker_ColourPicker__WEBPACK_IMPORTED_MODULE_7__["ColourPicker"], {
132
- onSelect: function onSelect(c) {
133
- return formikProps.setFieldValue('colour', c);
134
- },
135
- selection: formikProps.values.colour,
136
- id: "".concat(props.isNew ? 'create' : 'edit', "-classroom-group")
137
- }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
138
- className: 'btn-container d-flex justify-content-end'
139
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", {
140
- type: 'button',
141
- className: 'btn btn-link mr-2',
142
- onClick: props.onClickCancel
143
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_6__["Text"], {
144
- namespace: namespace,
145
- phrase: 'cancel'
146
- })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_forms_form_buttons_FormButtons__WEBPACK_IMPORTED_MODULE_5__["FormButtons"], {
147
- isNew: props.isNew
148
- }))));
149
- }
212
+ function useGetCollectionItems(getCollection, onRemove) {
213
+ var dependencies = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
150
214
 
151
- /***/ }),
215
+ var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default.a.useState(false),
216
+ _React$useState2 = _slicedToArray(_React$useState, 2),
217
+ setUpdate = _React$useState2[1];
152
218
 
153
- /***/ "./src/apps/classrooms/components/classroom-group-details-form/classroom-group-details-form.scss":
154
- /*!*******************************************************************************************************!*\
155
- !*** ./src/apps/classrooms/components/classroom-group-details-form/classroom-group-details-form.scss ***!
156
- \*******************************************************************************************************/
157
- /*! no static exports found */
158
- /***/ (function(module, exports, __webpack_require__) {
159
-
160
- // extracted by mini-css-extract-plugin
161
- module.exports = {"groupNameInput":"cv--groupNameInput--3hGvq"};
219
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.useEffect(function () {
220
+ var collection = getCollection();
221
+ collection.off('add remove change');
222
+ collection.on('add remove change', function () {
223
+ setUpdate(function (s) {
224
+ return !s;
225
+ });
226
+ });
227
+ if (onRemove) collection.on('remove', onRemove);
228
+ return function () {
229
+ return collection.off('add remove change');
230
+ };
231
+ }, dependencies);
232
+ return getCollection().toJSON();
233
+ }
162
234
 
163
235
  /***/ }),
164
236
 
165
- /***/ "./src/apps/classrooms/components/colour-picker/ColourPicker.tsx":
166
- /*!***********************************************************************!*\
167
- !*** ./src/apps/classrooms/components/colour-picker/ColourPicker.tsx ***!
168
- \***********************************************************************/
169
- /*! exports provided: ColourPicker */
237
+ /***/ "./src/apps/default/views/my-videos/DismissibleAlert.tsx":
238
+ /*!***************************************************************!*\
239
+ !*** ./src/apps/default/views/my-videos/DismissibleAlert.tsx ***!
240
+ \***************************************************************/
241
+ /*! exports provided: DismissibleAlert */
170
242
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
171
243
 
172
244
  "use strict";
173
245
  __webpack_require__.r(__webpack_exports__);
174
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ColourPicker", function() { return ColourPicker; });
246
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DismissibleAlert", function() { return DismissibleAlert; });
175
247
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
176
248
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
177
249
  /* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-bootstrap */ "react-bootstrap");
178
250
  /* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_bootstrap__WEBPACK_IMPORTED_MODULE_1__);
179
- /* harmony import */ var _libs_shared_src_components_div_button_DivButton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/div-button/DivButton */ "../../libs/shared/src/components/div-button/DivButton.tsx");
180
- /* harmony import */ var _libs_shared_src_components_svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/svg-container/SvgContainer */ "../../libs/shared/src/components/svg-container/SvgContainer.tsx");
181
- /* harmony import */ var _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/utils/SvgHelper */ "../../libs/shared/src/utils/SvgHelper.ts");
182
- /* harmony import */ var apps_classrooms_enums_GroupColour__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! apps/classrooms/enums/GroupColour */ "./src/apps/classrooms/enums/GroupColour.ts");
183
- /* harmony import */ var apps_classrooms_utils_GroupHelper__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! apps/classrooms/utils/GroupHelper */ "./src/apps/classrooms/utils/GroupHelper.ts");
184
- /* harmony import */ var _colour_picker_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./colour-picker.scss */ "./src/apps/classrooms/components/colour-picker/colour-picker.scss");
185
- /* harmony import */ var _colour_picker_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_colour_picker_scss__WEBPACK_IMPORTED_MODULE_7__);
251
+ /* harmony import */ var _libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/text/Text */ "../../libs/shared/src/components/text/Text.tsx");
252
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
186
253
 
254
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
187
255
 
256
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
188
257
 
258
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
189
259
 
260
+ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
190
261
 
262
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
191
263
 
192
264
 
193
265
 
194
- ColourPicker.defaultProps = {
195
- selection: apps_classrooms_enums_GroupColour__WEBPACK_IMPORTED_MODULE_5__["GroupColour"].White,
196
- onSelect: function onSelect() {}
197
- };
198
- function ColourPicker(props) {
199
- function getToggleButtonClass() {
200
- var baseClass = "".concat(_colour_picker_scss__WEBPACK_IMPORTED_MODULE_7___default.a.dropdownToggle, " outline-none p-0 d-flex align-items-center text-decoration-none");
201
- var disabledClass = props.disabled ? 'cursor-default' : '';
202
- return "".concat(baseClass, " ").concat(disabledClass);
203
- }
204
266
 
205
- function getOptionClass(colour) {
206
- var baseClass = "".concat(_colour_picker_scss__WEBPACK_IMPORTED_MODULE_7___default.a.colourOption, " position-relative");
207
- var borderClass = colour === apps_classrooms_enums_GroupColour__WEBPACK_IMPORTED_MODULE_5__["GroupColour"].White ? 'border border-dark' : '';
208
- var disabledClass = props.disabled ? 'cursor-default' : '';
209
- var colorClass = Object(apps_classrooms_utils_GroupHelper__WEBPACK_IMPORTED_MODULE_6__["mapColourToClassName"])(colour);
210
- return "".concat(baseClass, " ").concat(borderClass, " ").concat(disabledClass, " ").concat(colorClass);
211
- }
267
+ var namespace = 'default.myVideos';
268
+ function DismissibleAlert() {
269
+ var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__["useState"](!localStorage.getItem('uploadInfoDismissed')),
270
+ _React$useState2 = _slicedToArray(_React$useState, 2),
271
+ show = _React$useState2[0],
272
+ setShow = _React$useState2[1];
212
273
 
213
- var dropdownProps = {};
214
- if (props.disabled) dropdownProps.show = false;
215
- return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Dropdown"], Object.assign({}, dropdownProps), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Dropdown"].Toggle, {
216
- id: props.id,
217
- variant: 'link',
218
- className: getToggleButtonClass()
219
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
220
- className: "border border-secondary rounded bg-white ".concat(_colour_picker_scss__WEBPACK_IMPORTED_MODULE_7___default.a.colourButton)
221
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
222
- className: "px-0 py-1 rounded ".concat(Object(apps_classrooms_utils_GroupHelper__WEBPACK_IMPORTED_MODULE_6__["mapColourToClassName"])(props.selection))
223
- }, "\xA0")), !props.disabled && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_3__["SvgContainer"], {
224
- svgName: _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_4__["cvSvgLibrary"].Caret
225
- })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Dropdown"].Menu, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("ul", {
226
- className: "".concat(_colour_picker_scss__WEBPACK_IMPORTED_MODULE_7___default.a.colourList, " list-unstyled d-flex flex-wrap px-2 m-0")
227
- }, Object.keys(apps_classrooms_enums_GroupColour__WEBPACK_IMPORTED_MODULE_5__["GroupColour"]).map(function (colourKey) {
228
- var colour = apps_classrooms_enums_GroupColour__WEBPACK_IMPORTED_MODULE_5__["GroupColour"][colourKey];
229
- return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", {
230
- key: "".concat(props.id, ":").concat(colour),
231
- className: 'm-1'
232
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_div_button_DivButton__WEBPACK_IMPORTED_MODULE_2__["DivButton"], {
233
- onClick: function onClick() {
234
- return props.onSelect(colour);
235
- },
236
- className: getOptionClass(colour)
237
- }, colour === apps_classrooms_enums_GroupColour__WEBPACK_IMPORTED_MODULE_5__["GroupColour"].White ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
238
- className: _colour_picker_scss__WEBPACK_IMPORTED_MODULE_7___default.a.lineThrough
239
- }) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, "\xA0")));
240
- }))));
241
- }
242
-
243
- /***/ }),
244
-
245
- /***/ "./src/apps/classrooms/components/colour-picker/colour-picker.scss":
246
- /*!*************************************************************************!*\
247
- !*** ./src/apps/classrooms/components/colour-picker/colour-picker.scss ***!
248
- \*************************************************************************/
249
- /*! no static exports found */
250
- /***/ (function(module, exports, __webpack_require__) {
274
+ var onDismiss = function onDismiss() {
275
+ localStorage.setItem('uploadInfoDismissed', '1');
276
+ setShow(false);
277
+ };
251
278
 
252
- // extracted by mini-css-extract-plugin
253
- module.exports = {"dropdownToggle":"cv--dropdownToggle--347DY","colourButton":"cv--colourButton--1rKvE","colourList":"cv--colourList--328-w","colourOption":"cv--colourOption--1Tw7u","lineThrough":"cv--lineThrough--18oZq"};
279
+ if (!show) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
280
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Alert"], {
281
+ variant: 'info',
282
+ onClose: onDismiss,
283
+ dismissible: true
284
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_2__["Text"], {
285
+ namespace: namespace,
286
+ phrase: 'alertMessage'
287
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("br", null), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("small", null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_2__["Text"], {
288
+ namespace: namespace,
289
+ phrase: 'alertSecondaryMessage'
290
+ })));
291
+ }
254
292
 
255
293
  /***/ }),
256
294
 
257
- /***/ "./src/apps/classrooms/components/edit-classroom-group-details/EditClassroomGroupDetails.tsx":
258
- /*!***************************************************************************************************!*\
259
- !*** ./src/apps/classrooms/components/edit-classroom-group-details/EditClassroomGroupDetails.tsx ***!
260
- \***************************************************************************************************/
261
- /*! exports provided: EditClassroomGroupDetails */
295
+ /***/ "./src/apps/default/views/my-videos/MyVideosView.tsx":
296
+ /*!***********************************************************!*\
297
+ !*** ./src/apps/default/views/my-videos/MyVideosView.tsx ***!
298
+ \***********************************************************/
299
+ /*! exports provided: MyVideosView */
262
300
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
263
301
 
264
302
  "use strict";
265
303
  __webpack_require__.r(__webpack_exports__);
266
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EditClassroomGroupDetails", function() { return EditClassroomGroupDetails; });
304
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MyVideosView", function() { return MyVideosView; });
267
305
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
268
306
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
269
- /* harmony import */ var _libs_shared_src_components_forms_form_wrapper_FormWrapper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/forms/form-wrapper/FormWrapper */ "../../libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx");
270
- /* harmony import */ var apps_classrooms_validation_ClassroomGroupValidationSchema__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! apps/classrooms/validation/ClassroomGroupValidationSchema */ "./src/apps/classrooms/validation/ClassroomGroupValidationSchema.ts");
271
- /* harmony import */ var apps_classrooms_components_classroom_group_details_form_ClassroomGroupDetailsForm__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! apps/classrooms/components/classroom-group-details-form/ClassroomGroupDetailsForm */ "./src/apps/classrooms/components/classroom-group-details-form/ClassroomGroupDetailsForm.tsx");
307
+ /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "react-redux");
308
+ /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
309
+ /* harmony import */ var _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../libs/common/src/react */ "../../libs/common/src/react/index.ts");
310
+ /* harmony import */ var _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../libs/common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
311
+ /* harmony import */ var _libs_common_src_backbone__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../../libs/common/src/backbone */ "../../libs/common/src/backbone/index.ts");
312
+ /* harmony import */ var _libs_common_src_react_hooks_UseService__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../../libs/common/src/react/hooks/UseService */ "../../libs/common/src/react/hooks/UseService.ts");
313
+ /* harmony import */ var _libs_common_src_react_hooks_UseSetPageTitle__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../../../../libs/common/src/react/hooks/UseSetPageTitle */ "../../libs/common/src/react/hooks/UseSetPageTitle.ts");
314
+ /* harmony import */ var _libs_shared_src_flight_requests_UserRequests__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/flight-requests/UserRequests */ "../../libs/shared/src/flight-requests/UserRequests.ts");
315
+ /* harmony import */ var _libs_shared_src_flight_requests_ConfigRequests__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/flight-requests/ConfigRequests */ "../../libs/shared/src/flight-requests/ConfigRequests.ts");
316
+ /* harmony import */ var _libs_shared_src_flight_requests_FavouriteVideoRequests__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/flight-requests/FavouriteVideoRequests */ "../../libs/shared/src/flight-requests/FavouriteVideoRequests.ts");
317
+ /* harmony import */ var _libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/text/Text */ "../../libs/shared/src/components/text/Text.tsx");
318
+ /* harmony import */ var _libs_shared_src_components_video_list_VideoList__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/video-list/VideoList */ "../../libs/shared/src/components/video-list/VideoList.tsx");
319
+ /* harmony import */ var _libs_shared_src_context_VideoActionsContext__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/context/VideoActionsContext */ "../../libs/shared/src/context/VideoActionsContext.tsx");
320
+ /* harmony import */ var _libs_shared_src_utils_video_actions_VideoActionsHelper__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/utils/video-actions/VideoActionsHelper */ "../../libs/shared/src/utils/video-actions/VideoActionsHelper.ts");
321
+ /* harmony import */ var _libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../../../../../libs/analytics/src/AnalyticsHelper */ "../../libs/analytics/src/AnalyticsHelper.ts");
322
+ /* harmony import */ var _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../../../../../../libs/analytics/src/interfaces */ "../../libs/analytics/src/interfaces/index.ts");
323
+ /* harmony import */ var _libs_common_src_react_utils_TextHelper__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../../../../../../libs/common/src/react/utils/TextHelper */ "../../libs/common/src/react/utils/TextHelper.ts");
324
+ /* harmony import */ var _libs_shared_src_components_video_list_partial_loading_PartialVideoList__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/video-list/partial-loading/PartialVideoList */ "../../libs/shared/src/components/video-list/partial-loading/PartialVideoList.tsx");
325
+ /* harmony import */ var shared_flight_requests_VideoRequests__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! shared/flight-requests/VideoRequests */ "./src/shared/flight-requests/VideoRequests.ts");
326
+ /* harmony import */ var shared_constants_Services__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! shared/constants/Services */ "./src/shared/constants/Services.ts");
327
+ /* harmony import */ var shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! shared/constants/LiteRadioChannels */ "./src/shared/constants/LiteRadioChannels.ts");
328
+ /* harmony import */ var shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! shared/constants/LiteActions */ "./src/shared/constants/LiteActions.ts");
329
+ /* harmony import */ var shared_hooks_useVideoMixin__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! shared/hooks/useVideoMixin */ "./src/shared/hooks/useVideoMixin.ts");
330
+ /* harmony import */ var _libs_shared_src_hooks_UseAlerts__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/hooks/UseAlerts */ "../../libs/shared/src/hooks/UseAlerts.ts");
331
+ /* harmony import */ var apps_upload_hooks_useGetUploadingItems__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! apps/upload/hooks/useGetUploadingItems */ "./src/apps/upload/hooks/useGetUploadingItems.ts");
332
+ /* harmony import */ var apps_upload_services_CombineUploadsService__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! apps/upload/services/CombineUploadsService */ "./src/apps/upload/services/CombineUploadsService.ts");
333
+ /* harmony import */ var apps_upload_components_uploading_item_UploadingItem__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! apps/upload/components/uploading-item/UploadingItem */ "./src/apps/upload/components/uploading-item/UploadingItem.tsx");
334
+ /* harmony import */ var _DismissibleAlert__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./DismissibleAlert */ "./src/apps/default/views/my-videos/DismissibleAlert.tsx");
335
+
336
+
337
+
338
+
339
+
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+
348
+
349
+
350
+
351
+
352
+
272
353
 
273
354
 
274
355
 
275
356
 
276
- function EditClassroomGroupDetails(props) {
277
- var _a, _b, _c;
278
357
 
279
- var group = props.group,
280
- saveGroup = props.saveGroup,
281
- onClickCancel = props.onClickCancel;
282
- var initialValues = {
283
- id: (_a = group) === null || _a === void 0 ? void 0 : _a.id,
284
- name: (_b = group) === null || _b === void 0 ? void 0 : _b.name,
285
- colour: (_c = group) === null || _c === void 0 ? void 0 : _c.colour,
286
- students: []
358
+
359
+
360
+
361
+
362
+
363
+ var namespace = 'default.myVideos';
364
+
365
+ function getVideoActions() {
366
+ return [_libs_shared_src_utils_video_actions_VideoActionsHelper__WEBPACK_IMPORTED_MODULE_13__["VideoAction"].Edit, _libs_shared_src_utils_video_actions_VideoActionsHelper__WEBPACK_IMPORTED_MODULE_13__["VideoAction"].AddToPlaylist, _libs_shared_src_utils_video_actions_VideoActionsHelper__WEBPACK_IMPORTED_MODULE_13__["VideoAction"].Share];
367
+ }
368
+
369
+ function getVideoActionAppLink(video, action) {
370
+ switch (action) {
371
+ case _libs_shared_src_utils_video_actions_VideoActionsHelper__WEBPACK_IMPORTED_MODULE_13__["VideoAction"].Edit:
372
+ return {
373
+ application: shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_20__["AppChannels"].DEFAULT,
374
+ action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_21__["Actions"].Default.EDIT_VIDEO,
375
+ args: [video.id]
376
+ };
377
+
378
+ case _libs_shared_src_utils_video_actions_VideoActionsHelper__WEBPACK_IMPORTED_MODULE_13__["VideoAction"].AddToPlaylist:
379
+ return {
380
+ application: shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_20__["AppChannels"].PLAYLISTS,
381
+ action: 'add:to:playlist',
382
+ args: [video.id]
383
+ };
384
+
385
+ case _libs_shared_src_utils_video_actions_VideoActionsHelper__WEBPACK_IMPORTED_MODULE_13__["VideoAction"].Share:
386
+ return {
387
+ application: shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_20__["AppChannels"].DEFAULT,
388
+ action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_21__["Actions"].Default.SHARE,
389
+ args: [video.id],
390
+ params: {
391
+ entityType: 'video'
392
+ }
393
+ };
394
+ }
395
+ }
396
+
397
+ var getVideoAppLink = function getVideoAppLink(video) {
398
+ return {
399
+ application: shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_20__["AppChannels"].DEFAULT,
400
+ action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_21__["Actions"].Default.PLAY_VIDEO,
401
+ args: [video.id, _libs_common_src_react_utils_TextHelper__WEBPACK_IMPORTED_MODULE_16__["TextHelper"].slugify(video.name)],
402
+ params: video.lastProgressPoint ? {
403
+ t: Math.floor(video.lastProgressPoint)
404
+ } : {}
287
405
  };
288
- return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_forms_form_wrapper_FormWrapper__WEBPACK_IMPORTED_MODULE_1__["FormWrapper"], {
289
- initialValues: initialValues,
290
- validationSchema: apps_classrooms_validation_ClassroomGroupValidationSchema__WEBPACK_IMPORTED_MODULE_2__["ClassroomGroupValidationSchema"],
291
- onSubmit: saveGroup
292
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(apps_classrooms_components_classroom_group_details_form_ClassroomGroupDetailsForm__WEBPACK_IMPORTED_MODULE_3__["ClassroomGroupDetailsForm"], {
293
- isNew: !group,
294
- onClickCancel: onClickCancel
295
- }));
406
+ };
407
+
408
+ var getSeriesAppLink = function getSeriesAppLink(series) {
409
+ return {
410
+ application: shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_20__["AppChannels"].DEFAULT,
411
+ action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_21__["Actions"].Default.SERIES,
412
+ args: [series.id, _libs_common_src_react_utils_TextHelper__WEBPACK_IMPORTED_MODULE_16__["TextHelper"].slugify(series.name)]
413
+ };
414
+ };
415
+
416
+ function MyVideosView(props) {
417
+ var _a;
418
+
419
+ var dispatch = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useDispatch"])();
420
+ var alerts = Object(_libs_shared_src_hooks_UseAlerts__WEBPACK_IMPORTED_MODULE_23__["useAlerts"])();
421
+ Object(_libs_common_src_react_hooks_UseSetPageTitle__WEBPACK_IMPORTED_MODULE_6__["useSetPageTitle"])(_libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_3__["LanguageService"].getPhrase(namespace, 'pageTitle'));
422
+ var config = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useBasicFetch(_libs_shared_src_flight_requests_ConfigRequests__WEBPACK_IMPORTED_MODULE_8__["ConfigRequests"].config);
423
+ var workspace = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useBasicFetch(_libs_shared_src_flight_requests_UserRequests__WEBPACK_IMPORTED_MODULE_7__["UserRequests"].workspace);
424
+ var currentUser = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useBasicFetch(_libs_shared_src_flight_requests_UserRequests__WEBPACK_IMPORTED_MODULE_7__["UserRequests"].currentUser());
425
+ var workspaceRequest = workspace.data && shared_flight_requests_VideoRequests__WEBPACK_IMPORTED_MODULE_18__["VideoRequests"].workspace(workspace.data.id, props.cursor);
426
+ var workspaceVideos = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useGetResponse(workspaceRequest && workspaceRequest.key);
427
+ var fetchData = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useGetFetch(workspaceRequest);
428
+ Object(shared_hooks_useVideoMixin__WEBPACK_IMPORTED_MODULE_22__["useVideoMixin"])(workspaceVideos.data);
429
+ react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](function () {
430
+ if (!workspace.shouldFetch && workspace.data && workspaceVideos.shouldFetch) fetchData();
431
+ }, [workspace.shouldFetch, workspace.data, workspaceVideos.shouldFetch]);
432
+ /**
433
+ * Get reference to the combined service even though useGetUploadingItems does it too
434
+ * so that we can provide the callbacks
435
+ */
436
+
437
+ var combinedUploadService = Object(_libs_common_src_react_hooks_UseService__WEBPACK_IMPORTED_MODULE_5__["useService"])(shared_constants_Services__WEBPACK_IMPORTED_MODULE_19__["Services"].CombineUploads);
438
+ /**
439
+ * fetchData will be undefined on the first run through of this view because
440
+ * the workspace.data will be null, so we pass a dependency of !workspace.data
441
+ * so this callback is re-created once we have wokspace.data and the fetchData
442
+ * is properly encapsulated.
443
+ */
444
+
445
+ var items = Object(apps_upload_hooks_useGetUploadingItems__WEBPACK_IMPORTED_MODULE_24__["useGetUploadingItems"])(function () {
446
+ fetchData && fetchData();
447
+ }, [!!workspace.data]);
448
+ /**
449
+ * Using React.useCallback because this component will render
450
+ * every time a chunk is loaded and every time the pending items
451
+ * is fetched
452
+ */
453
+
454
+ var onClickDelete = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](function (item) {
455
+ _libs_common_src_backbone__WEBPACK_IMPORTED_MODULE_4__["Core"].AppLinkHelper.trigger({
456
+ application: shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_20__["AppChannels"].UPLOAD,
457
+ action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_21__["Actions"].Upload.CANCEL_UPLOAD,
458
+ args: [item.id],
459
+ params: {
460
+ name: item.name,
461
+ status: item.status
462
+ }
463
+ });
464
+ }, []);
465
+ var onClickAlternate = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](function (item) {
466
+ switch (item.status) {
467
+ case apps_upload_services_CombineUploadsService__WEBPACK_IMPORTED_MODULE_25__["CombinedUploadStatus"].Errored:
468
+ combinedUploadService.retryItem(item);
469
+ return;
470
+
471
+ case apps_upload_services_CombineUploadsService__WEBPACK_IMPORTED_MODULE_25__["CombinedUploadStatus"].Processing:
472
+ _libs_common_src_backbone__WEBPACK_IMPORTED_MODULE_4__["Core"].AppLinkHelper.trigger({
473
+ application: shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_20__["AppChannels"].DEFAULT,
474
+ action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_21__["Actions"].Default.EDIT_VIDEO,
475
+ args: [item.videoId]
476
+ });
477
+ return;
478
+
479
+ case apps_upload_services_CombineUploadsService__WEBPACK_IMPORTED_MODULE_25__["CombinedUploadStatus"].Uploading:
480
+ combinedUploadService.editUpload(item);
481
+ break;
482
+
483
+ default: // This should never happen
484
+
485
+ }
486
+ }, []);
487
+
488
+ function setFavourite(video, shouldFavourite, onError) {
489
+ _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].fetch(dispatch, _libs_shared_src_flight_requests_FavouriteVideoRequests__WEBPACK_IMPORTED_MODULE_9__["FavouriteVideoRequests"].updateIsVideoFavourited(video.id, currentUser.data.id, shouldFavourite, function () {
490
+ _libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_14__["AnalyticsHelper"].logUserAction({
491
+ id: video.id
492
+ }, {
493
+ entity: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_15__["EntityType"].Video,
494
+ actionType: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_15__["UserAction"].Favourite,
495
+ descriptor: shouldFavourite ? _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_15__["ToggleDescriptor"].On : _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_15__["ToggleDescriptor"].Off,
496
+ location: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_15__["LocationContext"].VideoThumbnail,
497
+ workflowPhase: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_15__["WorkflowPhase"].Complete
498
+ });
499
+ alerts.success(_libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_3__["LanguageService"].getPhrase(namespace, shouldFavourite ? 'favourited' : 'unfavourited', {
500
+ video: video.name
501
+ }));
502
+ }, onError));
503
+ }
504
+
505
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_context_VideoActionsContext__WEBPACK_IMPORTED_MODULE_12__["VideoActionsContext"].Provider, {
506
+ value: {
507
+ videoActions: getVideoActions(),
508
+ getActionAppLink: getVideoActionAppLink,
509
+ hideLabel: true
510
+ }
511
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
512
+ className: 'px-3'
513
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("h1", null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_10__["Text"], {
514
+ namespace: namespace,
515
+ phrase: 'header'
516
+ })), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("p", {
517
+ className: 'h6'
518
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_10__["Text"], {
519
+ namespace: namespace,
520
+ phrase: 'description'
521
+ })), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_DismissibleAlert__WEBPACK_IMPORTED_MODULE_27__["DismissibleAlert"], null), items.map(function (item) {
522
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](apps_upload_components_uploading_item_UploadingItem__WEBPACK_IMPORTED_MODULE_26__["UploadingItem"], {
523
+ item: item,
524
+ onClickAlternate: onClickAlternate,
525
+ onClickDelete: onClickDelete,
526
+ key: item.id
527
+ });
528
+ }), ((_a = workspaceVideos.data) === null || _a === void 0 ? void 0 : _a.data) ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_video_list_VideoList__WEBPACK_IMPORTED_MODULE_11__["VideoList"], {
529
+ videos: workspaceVideos.data.data,
530
+ cursors: workspaceVideos.data.pagination.cursors,
531
+ getVideoAppLink: getVideoAppLink,
532
+ getSeriesAppLink: getSeriesAppLink,
533
+ setFavourite: setFavourite
534
+ }) : react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_video_list_partial_loading_PartialVideoList__WEBPACK_IMPORTED_MODULE_17__["PartialVideoList"], null))));
296
535
  }
297
536
 
298
537
  /***/ }),
299
538
 
300
- /***/ "./src/apps/classrooms/enums/GroupColour.ts":
301
- /*!**************************************************!*\
302
- !*** ./src/apps/classrooms/enums/GroupColour.ts ***!
303
- \**************************************************/
304
- /*! exports provided: GroupColour */
539
+ /***/ "./src/apps/upload/components/uploading-item/UploadingItem.tsx":
540
+ /*!*********************************************************************!*\
541
+ !*** ./src/apps/upload/components/uploading-item/UploadingItem.tsx ***!
542
+ \*********************************************************************/
543
+ /*! exports provided: UploadingItem */
305
544
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
306
545
 
307
546
  "use strict";
308
547
  __webpack_require__.r(__webpack_exports__);
309
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GroupColour", function() { return GroupColour; });
310
- var GroupColour;
311
-
312
- (function (GroupColour) {
313
- GroupColour["White"] = "white";
314
- GroupColour["Pink"] = "pink";
315
- GroupColour["YellowOrange"] = "yellow-orange";
316
- GroupColour["Emerald"] = "emerald";
317
- GroupColour["PuertoRico"] = "puerto-rico";
318
- GroupColour["PictonBlue"] = "picton-blue";
319
- GroupColour["EastSide"] = "east-side";
320
- GroupColour["Portage"] = "portage";
321
- })(GroupColour || (GroupColour = {}));
548
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "UploadingItem", function() { return UploadingItem; });
549
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
550
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
551
+ /* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-bootstrap */ "react-bootstrap");
552
+ /* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_bootstrap__WEBPACK_IMPORTED_MODULE_1__);
553
+ /* harmony import */ var _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../libs/common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
554
+ /* harmony import */ var _libs_shared_src_components_svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/svg-container/SvgContainer */ "../../libs/shared/src/components/svg-container/SvgContainer.tsx");
555
+ /* harmony import */ var _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/utils/SvgHelper */ "../../libs/shared/src/utils/SvgHelper.ts");
556
+ /* harmony import */ var _libs_shared_src_components_thumbnails_base_ThumbnailFallback__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/thumbnails/base/ThumbnailFallback */ "../../libs/shared/src/components/thumbnails/base/ThumbnailFallback.tsx");
557
+ /* harmony import */ var _libs_shared_src_components_thumbnails_base_BaseThumbnail__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/thumbnails/base/BaseThumbnail */ "../../libs/shared/src/components/thumbnails/base/BaseThumbnail.tsx");
558
+ /* harmony import */ var _libs_shared_src_hooks_UseGetMediaQueryString__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/hooks/UseGetMediaQueryString */ "../../libs/shared/src/hooks/UseGetMediaQueryString.ts");
559
+ /* harmony import */ var _libs_shared_src_enums_MediaQueries__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/enums/MediaQueries */ "../../libs/shared/src/enums/MediaQueries.ts");
560
+ /* harmony import */ var apps_upload_services_CombineUploadsService__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! apps/upload/services/CombineUploadsService */ "./src/apps/upload/services/CombineUploadsService.ts");
561
+
562
+
563
+
564
+
565
+
566
+
567
+
568
+
569
+
570
+
571
+ var namespace = 'upload.uploadingItem';
572
+ var getPhrase = _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_2__["LanguageService"].encloseNamespace(namespace);
573
+
574
+ function getClassName(status) {
575
+ switch (status) {
576
+ case apps_upload_services_CombineUploadsService__WEBPACK_IMPORTED_MODULE_9__["CombinedUploadStatus"].Uploading:
577
+ return 'text-success';
578
+
579
+ case apps_upload_services_CombineUploadsService__WEBPACK_IMPORTED_MODULE_9__["CombinedUploadStatus"].Processing:
580
+ return 'text-info';
581
+
582
+ case apps_upload_services_CombineUploadsService__WEBPACK_IMPORTED_MODULE_9__["CombinedUploadStatus"].Errored:
583
+ return 'text-danger';
584
+ }
585
+ }
586
+
587
+ function getVariant(status) {
588
+ switch (status) {
589
+ case apps_upload_services_CombineUploadsService__WEBPACK_IMPORTED_MODULE_9__["CombinedUploadStatus"].Uploading:
590
+ return 'success';
591
+
592
+ case apps_upload_services_CombineUploadsService__WEBPACK_IMPORTED_MODULE_9__["CombinedUploadStatus"].Processing:
593
+ return 'info';
594
+
595
+ case apps_upload_services_CombineUploadsService__WEBPACK_IMPORTED_MODULE_9__["CombinedUploadStatus"].Errored:
596
+ return 'danger';
597
+ }
598
+ }
599
+
600
+ function getProgressText(status, progress) {
601
+ var rounded = Math.round(progress) || 0;
602
+
603
+ switch (status) {
604
+ case apps_upload_services_CombineUploadsService__WEBPACK_IMPORTED_MODULE_9__["CombinedUploadStatus"].Uploading:
605
+ return "".concat(getPhrase('uploading'), " ").concat(rounded, "%");
606
+
607
+ case apps_upload_services_CombineUploadsService__WEBPACK_IMPORTED_MODULE_9__["CombinedUploadStatus"].Processing:
608
+ if (rounded === 0) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("em", null, getPhrase('waitingToBeProcessed'));else return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("em", null, getPhrase('processing'), " ", rounded, "%");
609
+
610
+ case apps_upload_services_CombineUploadsService__WEBPACK_IMPORTED_MODULE_9__["CombinedUploadStatus"].Errored:
611
+ return getPhrase('error');
612
+ }
613
+ }
614
+
615
+ function UploadingItem(props) {
616
+ var _props$item = props.item,
617
+ status = _props$item.status,
618
+ progress = _props$item.progress,
619
+ name = _props$item.name;
620
+ var mediaQuery = Object(_libs_shared_src_hooks_UseGetMediaQueryString__WEBPACK_IMPORTED_MODULE_7__["useGetMediaQueryString"])();
621
+ var isMobile = mediaQuery === _libs_shared_src_enums_MediaQueries__WEBPACK_IMPORTED_MODULE_8__["MediaQueryStrings"].XS;
622
+ var isIPad = mediaQuery === _libs_shared_src_enums_MediaQueries__WEBPACK_IMPORTED_MODULE_8__["MediaQueryStrings"].SM || mediaQuery === _libs_shared_src_enums_MediaQueries__WEBPACK_IMPORTED_MODULE_8__["MediaQueryStrings"].MD;
623
+ /**
624
+ * We're using React.useCallback here because this view
625
+ * will get re-rendered many times by it's parent during
626
+ * an upload
627
+ */
628
+
629
+ var onClickAlternate = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](function () {
630
+ props.onClickAlternate(props.item);
631
+ }, []);
632
+ var onClickDelete = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](function () {
633
+ props.onClickDelete(props.item);
634
+ }, []);
635
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Row"], {
636
+ className: 'py-2'
637
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Col"], {
638
+ xs: isMobile ? 12 : isIPad ? 4 : 3
639
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
640
+ className: 'rounded'
641
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_thumbnails_base_BaseThumbnail__WEBPACK_IMPORTED_MODULE_6__["BaseThumbnail"], {
642
+ data: '',
643
+ aspectRatio: _libs_shared_src_components_thumbnails_base_BaseThumbnail__WEBPACK_IMPORTED_MODULE_6__["AspectRatio"].SixteenByNine
644
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_thumbnails_base_ThumbnailFallback__WEBPACK_IMPORTED_MODULE_5__["ThumbnailFallback"], {
645
+ type: _libs_shared_src_components_thumbnails_base_ThumbnailFallback__WEBPACK_IMPORTED_MODULE_5__["ThumbnailFallbackType"].Video
646
+ })))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Col"], {
647
+ xs: isMobile ? 12 : isIPad ? 8 : 9
648
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("h5", {
649
+ className: 'm-0 pb-1'
650
+ }, name), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
651
+ className: getClassName(status)
652
+ }, getProgressText(status, progress)), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
653
+ className: 'd-flex'
654
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["ProgressBar"], {
655
+ className: 'flex-grow-1 align-self-center',
656
+ variant: getVariant(status),
657
+ now: progress
658
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_3__["SvgContainer"], {
659
+ className: 'svg-container cursor-pointer ml-2',
660
+ svgName: status === apps_upload_services_CombineUploadsService__WEBPACK_IMPORTED_MODULE_9__["CombinedUploadStatus"].Errored ? _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_4__["cvSvgLibrary"].Bell : _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_4__["cvSvgLibrary"].Edit,
661
+ onClick: onClickAlternate
662
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_3__["SvgContainer"], {
663
+ className: 'svg-container cursor-pointer ml-2',
664
+ svgName: _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_4__["cvSvgLibrary"].Delete,
665
+ onClick: onClickDelete
666
+ }))));
667
+ }
322
668
 
323
669
  /***/ }),
324
670
 
325
- /***/ "./src/apps/classrooms/utils/GroupHelper.ts":
326
- /*!**************************************************!*\
327
- !*** ./src/apps/classrooms/utils/GroupHelper.ts ***!
328
- \**************************************************/
329
- /*! exports provided: mapColourToClassName */
671
+ /***/ "./src/apps/upload/hooks/useGetUploadingItems.ts":
672
+ /*!*******************************************************!*\
673
+ !*** ./src/apps/upload/hooks/useGetUploadingItems.ts ***!
674
+ \*******************************************************/
675
+ /*! exports provided: useGetUploadingItems */
330
676
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
331
677
 
332
678
  "use strict";
333
679
  __webpack_require__.r(__webpack_exports__);
334
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mapColourToClassName", function() { return mapColourToClassName; });
335
- function mapColourToClassName(groupName) {
336
- return "bg-".concat(groupName);
680
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useGetUploadingItems", function() { return useGetUploadingItems; });
681
+ /* harmony import */ var _libs_common_src_react_hooks_UseService__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../libs/common/src/react/hooks/UseService */ "../../libs/common/src/react/hooks/UseService.ts");
682
+ /* harmony import */ var _libs_shared_src_hooks_useGetCollectionItems__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../libs/shared/src/hooks/useGetCollectionItems */ "../../libs/shared/src/hooks/useGetCollectionItems.ts");
683
+
684
+
685
+ function useGetUploadingItems(onRemove, dependencies) {
686
+ var combineUploadsService = Object(_libs_common_src_react_hooks_UseService__WEBPACK_IMPORTED_MODULE_0__["useService"])('combine:uploads:service');
687
+ return Object(_libs_shared_src_hooks_useGetCollectionItems__WEBPACK_IMPORTED_MODULE_1__["useGetCollectionItems"])(function () {
688
+ return combineUploadsService.getCollection();
689
+ }, onRemove, dependencies);
337
690
  }
338
691
 
339
692
  /***/ }),
340
693
 
341
- /***/ "./src/apps/classrooms/validation/ClassroomGroupValidationSchema.ts":
342
- /*!**************************************************************************!*\
343
- !*** ./src/apps/classrooms/validation/ClassroomGroupValidationSchema.ts ***!
344
- \**************************************************************************/
345
- /*! exports provided: ClassroomGroupValidationSchema */
694
+ /***/ "./src/apps/watch-history/flight-requests/VideoHistoryRequests.ts":
695
+ /*!************************************************************************!*\
696
+ !*** ./src/apps/watch-history/flight-requests/VideoHistoryRequests.ts ***!
697
+ \************************************************************************/
698
+ /*! exports provided: VideoHistoryRequests */
346
699
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
347
700
 
348
701
  "use strict";
349
702
  __webpack_require__.r(__webpack_exports__);
350
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ClassroomGroupValidationSchema", function() { return ClassroomGroupValidationSchema; });
351
- /* harmony import */ var yup__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! yup */ "../../../node_modules/yup/lib/index.js");
352
- /* harmony import */ var yup__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(yup__WEBPACK_IMPORTED_MODULE_0__);
353
- /* harmony import */ var _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../libs/common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
354
- /* harmony import */ var _enums_GroupColour__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../enums/GroupColour */ "./src/apps/classrooms/enums/GroupColour.ts");
355
-
356
-
357
-
358
- var getPhrase = _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_1__["LanguageService"].encloseNamespace('classrooms.classroomValidation');
359
- var ClassroomGroupValidationSchema = Object(yup__WEBPACK_IMPORTED_MODULE_0__["object"])().shape({
360
- name: Object(yup__WEBPACK_IMPORTED_MODULE_0__["string"])().max(255, function () {
361
- return getPhrase('nameExceeds');
362
- }).required(function () {
363
- return getPhrase('nameRequired');
364
- })["default"](''),
365
- colour: Object(yup__WEBPACK_IMPORTED_MODULE_0__["string"])().required(function () {
366
- return getPhrase('colourRequired');
367
- })["default"](_enums_GroupColour__WEBPACK_IMPORTED_MODULE_2__["GroupColour"].White)
368
- });
703
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VideoHistoryRequests", function() { return VideoHistoryRequests; });
704
+ var VideoHistoryRequests = {
705
+ userVideoHistory: function userVideoHistory(customerId, userId, cursor, success, error, always) {
706
+ var key = "video:history:".concat(customerId, ":").concat(userId);
707
+ var url = "/api/videoviews/v1/customers/".concat(customerId, "/users/").concat(userId, "/videos/history");
708
+
709
+ if (cursor) {
710
+ key += ":".concat(cursor);
711
+ url += "?cursor=".concat(cursor);
712
+ }
713
+
714
+ return {
715
+ key: key,
716
+ url: url,
717
+ success: success,
718
+ error: error,
719
+ always: always
720
+ };
721
+ },
722
+ videoHistory: function videoHistory(customerId, userId, ids, success, error, always) {
723
+ var params = ids.sort().map(function (i) {
724
+ return "videoId=".concat(i);
725
+ });
726
+ return {
727
+ key: "video:history:".concat(customerId, ":").concat(userId, ":videos:").concat(params.join('&')),
728
+ url: "/api/videoviews/v1/customers/".concat(customerId, "/users/").concat(userId, "/videos/history?").concat(params.join('&')),
729
+ formatData: function formatData(historyCollection) {
730
+ var _a;
731
+
732
+ if (!((_a = historyCollection) === null || _a === void 0 ? void 0 : _a.length)) return historyCollection;
733
+ /**
734
+ * Data is formatted to enable it to be merged with the existing video object in the store
735
+ * Where we need to merge more history properties with the video object, map them below.
736
+ */
737
+
738
+ return historyCollection.map(function (watchHistory) {
739
+ return {
740
+ id: watchHistory.videoId,
741
+ lastProgressPoint: watchHistory.lastProgressPoint
742
+ };
743
+ });
744
+ },
745
+ success: success,
746
+ error: error,
747
+ always: always
748
+ };
749
+ }
750
+ };
369
751
 
370
752
  /***/ }),
371
753
 
372
- /***/ "./src/apps/classrooms/views/edit-classroom-group/EditClassroomGroupView.tsx":
373
- /*!***********************************************************************************!*\
374
- !*** ./src/apps/classrooms/views/edit-classroom-group/EditClassroomGroupView.tsx ***!
375
- \***********************************************************************************/
376
- /*! exports provided: EditClassroomGroupView */
754
+ /***/ "./src/shared/hooks/useVideoMixin.ts":
755
+ /*!*******************************************!*\
756
+ !*** ./src/shared/hooks/useVideoMixin.ts ***!
757
+ \*******************************************/
758
+ /*! exports provided: useVideoMixin */
377
759
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
378
760
 
379
761
  "use strict";
380
762
  __webpack_require__.r(__webpack_exports__);
381
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EditClassroomGroupView", function() { return EditClassroomGroupView; });
382
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
383
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
384
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "react-redux");
385
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
386
- /* harmony import */ var _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../libs/common/src/react */ "../../libs/common/src/react/index.ts");
387
- /* harmony import */ var _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../libs/common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
388
- /* harmony import */ var _libs_shared_src_components_popup_Popup__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/popup/Popup */ "../../libs/shared/src/components/popup/Popup.tsx");
389
- /* harmony import */ var _libs_shared_src_hooks_UseAlerts__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/hooks/UseAlerts */ "../../libs/shared/src/hooks/UseAlerts.ts");
390
- /* harmony import */ var apps_classrooms_flight_requests_ClassroomRequests__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! apps/classrooms/flight-requests/ClassroomRequests */ "./src/apps/classrooms/flight-requests/ClassroomRequests.ts");
391
- /* harmony import */ var apps_classrooms_components_edit_classroom_group_details_EditClassroomGroupDetails__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! apps/classrooms/components/edit-classroom-group-details/EditClassroomGroupDetails */ "./src/apps/classrooms/components/edit-classroom-group-details/EditClassroomGroupDetails.tsx");
392
- /* harmony import */ var _libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../../../../libs/analytics/src/AnalyticsHelper */ "../../libs/analytics/src/AnalyticsHelper.ts");
763
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useVideoMixin", function() { return useVideoMixin; });
764
+ /* harmony import */ var _libs_common_src_react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../libs/common/src/react */ "../../libs/common/src/react/index.ts");
765
+ /* harmony import */ var _libs_shared_src_flight_requests_UserRequests__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../libs/shared/src/flight-requests/UserRequests */ "../../libs/shared/src/flight-requests/UserRequests.ts");
766
+ /* harmony import */ var _libs_shared_src_flight_requests_FavouriteVideoRequests__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../libs/shared/src/flight-requests/FavouriteVideoRequests */ "../../libs/shared/src/flight-requests/FavouriteVideoRequests.ts");
767
+ /* harmony import */ var shared_flight_requests_VideoRequests__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! shared/flight-requests/VideoRequests */ "./src/shared/flight-requests/VideoRequests.ts");
768
+ /* harmony import */ var apps_watch_history_flight_requests_VideoHistoryRequests__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! apps/watch-history/flight-requests/VideoHistoryRequests */ "./src/apps/watch-history/flight-requests/VideoHistoryRequests.ts");
769
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
393
770
 
771
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
394
772
 
773
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
395
774
 
775
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
396
776
 
777
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
397
778
 
779
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
398
780
 
399
781
 
400
782
 
401
783
 
402
- var namespace = 'classrooms.editClassroomGroup';
403
- var getPhrase = _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_3__["LanguageService"].encloseNamespace(namespace);
404
- function EditClassroomGroupView(props) {
405
- var classroom = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useBasicFetch(apps_classrooms_flight_requests_ClassroomRequests__WEBPACK_IMPORTED_MODULE_6__["ClassroomRequests"].getClassroom(props.classroomId));
406
- var alerts = Object(_libs_shared_src_hooks_UseAlerts__WEBPACK_IMPORTED_MODULE_5__["useAlerts"])();
407
- var dispatch = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useDispatch"])();
408
784
 
409
- var saveGroup = function saveGroup(editedGroup) {
410
- _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].fetch(dispatch, apps_classrooms_flight_requests_ClassroomRequests__WEBPACK_IMPORTED_MODULE_6__["ClassroomRequests"].editGroup(editedGroup, classroom.data, function () {
411
- alerts.success(getPhrase('success', {
412
- groupName: editedGroup.name
413
- }));
414
- _libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_8__["AnalyticsHelper"].logUserAction(editedGroup, props.analyticsOptions);
415
- props.closePopup();
416
- }, function () {
417
- // TODO: Handle possible errors once we have a server side
418
- alerts.error(getPhrase('error', {
419
- groupName: group.name
420
- }));
421
- }));
422
- };
423
785
 
424
- var group = classroom.data ? classroom.data.groups.find(function (g) {
425
- return g.id === props.groupId;
426
- }) : null;
427
- return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_popup_Popup__WEBPACK_IMPORTED_MODULE_4__["Popup"], {
428
- title: getPhrase('title'),
429
- closePopup: props.closePopup,
430
- showLoadingSpinner: !group
431
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(apps_classrooms_components_edit_classroom_group_details_EditClassroomGroupDetails__WEBPACK_IMPORTED_MODULE_7__["EditClassroomGroupDetails"], {
432
- saveGroup: saveGroup,
433
- group: group,
434
- onClickCancel: props.closePopup
786
+ var defaults = {
787
+ ratings: true,
788
+ favourites: true,
789
+ watchHistory: true
790
+ };
791
+
792
+ function fetchAttribute(videosFetched, request) {
793
+ var _a;
794
+
795
+ var attribute = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_0__["Flight"].useGetResponse((_a = request) === null || _a === void 0 ? void 0 : _a.key);
796
+ var fetch = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_0__["Flight"].useGetFetch(request);
797
+ if (videosFetched && request && attribute.shouldFetch) fetch();
798
+ }
799
+
800
+ function useVideoMixin(videos) {
801
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
802
+
803
+ var _a, _b, _c;
804
+
805
+ var _Object$assign = Object.assign(Object.assign({}, defaults), options),
806
+ ratings = _Object$assign.ratings,
807
+ favourites = _Object$assign.favourites,
808
+ watchHistory = _Object$assign.watchHistory;
809
+
810
+ var currentUser = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_0__["Flight"].useBasicFetch(_libs_shared_src_flight_requests_UserRequests__WEBPACK_IMPORTED_MODULE_1__["UserRequests"].currentUser());
811
+ var videoIds = videos && (Array.isArray(videos) ? videos.filter(Boolean).map(function (v) {
812
+ return v.id;
813
+ }) : videos.data.filter(Boolean).map(function (v) {
814
+ return v.id;
435
815
  }));
816
+ var user = currentUser.data;
817
+ var requests = [];
818
+ if (ratings) requests = [].concat(_toConsumableArray(requests), [!!((_a = videoIds) === null || _a === void 0 ? void 0 : _a.length) && shared_flight_requests_VideoRequests__WEBPACK_IMPORTED_MODULE_3__["VideoRequests"].videoRatings(videoIds)]);
819
+ if (favourites) requests = [].concat(_toConsumableArray(requests), [!!((_b = videoIds) === null || _b === void 0 ? void 0 : _b.length) && user && _libs_shared_src_flight_requests_FavouriteVideoRequests__WEBPACK_IMPORTED_MODULE_2__["FavouriteVideoRequests"].isFavourited(user.id, videoIds)]);
820
+ if (watchHistory) requests = [].concat(_toConsumableArray(requests), [!!((_c = videoIds) === null || _c === void 0 ? void 0 : _c.length) && user && apps_watch_history_flight_requests_VideoHistoryRequests__WEBPACK_IMPORTED_MODULE_4__["VideoHistoryRequests"].videoHistory(user.customerId, user.id, videoIds)]);
821
+ requests.forEach(function (r) {
822
+ return fetchAttribute(!!videos, r);
823
+ });
436
824
  }
437
825
 
438
826
  /***/ })