@clickview/lite 0.0.19 → 0.0.20-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/0.chunk.css.map +1 -0
- package/dist/css/1.chunk.css +146 -0
- package/dist/css/1.chunk.css.map +1 -0
- package/dist/css/11.chunk.css.map +1 -0
- package/dist/css/12.chunk.css.map +1 -0
- package/dist/css/13.chunk.css.map +1 -0
- package/dist/css/14.chunk.css.map +1 -0
- package/dist/css/15.chunk.css.map +1 -0
- package/dist/css/16.chunk.css.map +1 -0
- package/dist/css/17.chunk.css.map +1 -0
- package/dist/css/18.chunk.css.map +1 -0
- package/dist/css/19.chunk.css.map +1 -0
- package/dist/css/21.chunk.css.map +1 -0
- package/dist/css/22.chunk.css.map +1 -0
- package/dist/css/23.chunk.css.map +1 -0
- package/dist/css/24.chunk.css.map +1 -0
- package/dist/css/25.chunk.css.map +1 -0
- package/dist/css/26.chunk.css.map +1 -0
- package/dist/css/27.chunk.css.map +1 -0
- package/dist/css/28.chunk.css.map +1 -0
- package/dist/css/29.chunk.css.map +1 -0
- package/dist/css/3.chunk.css.map +1 -0
- package/dist/css/30.chunk.css +32 -0
- package/dist/css/30.chunk.css.map +1 -0
- package/dist/css/31.chunk.css.map +1 -0
- package/dist/css/32.chunk.css +6 -0
- package/dist/css/32.chunk.css.map +1 -0
- package/dist/css/33.chunk.css +5 -0
- package/dist/css/33.chunk.css.map +1 -0
- package/dist/css/34.chunk.css.map +1 -0
- package/dist/css/36.chunk.css +6 -0
- package/dist/css/36.chunk.css.map +1 -0
- package/dist/css/37.chunk.css +7 -0
- package/dist/css/37.chunk.css.map +1 -0
- package/dist/css/38.chunk.css.map +1 -0
- package/dist/css/41.chunk.css +38 -0
- package/dist/css/41.chunk.css.map +1 -0
- package/dist/css/5.chunk.css.map +1 -0
- package/dist/css/51.chunk.css +9 -0
- package/dist/css/51.chunk.css.map +1 -0
- package/dist/css/6.chunk.css.map +1 -0
- package/dist/css/7.chunk.css +66 -0
- package/dist/css/7.chunk.css.map +1 -0
- package/dist/css/lite-app.css.map +1 -0
- package/dist/libs/shared/src/utils/ImageHelper.d.ts +1 -1
- package/dist/projects/lite/src/polyfills.d.ts +2 -0
- package/dist/scripts/0.chunk.js +308 -0
- package/dist/scripts/0.chunk.js.map +1 -0
- package/dist/scripts/1.chunk.js +623 -0
- package/dist/scripts/1.chunk.js.map +1 -0
- package/dist/scripts/10.chunk.js +530 -0
- package/dist/scripts/10.chunk.js.map +1 -0
- package/dist/scripts/11.chunk.js +380 -0
- package/dist/scripts/11.chunk.js.map +1 -0
- package/dist/scripts/12.chunk.js +434 -0
- package/dist/scripts/12.chunk.js.map +1 -0
- package/dist/scripts/13.chunk.js +1287 -0
- package/dist/scripts/13.chunk.js.map +1 -0
- package/dist/scripts/14.chunk.js +575 -0
- package/dist/scripts/14.chunk.js.map +1 -0
- package/dist/scripts/15.chunk.js +806 -0
- package/dist/scripts/15.chunk.js.map +1 -0
- package/dist/scripts/16.chunk.js +482 -0
- package/dist/scripts/16.chunk.js.map +1 -0
- package/dist/scripts/17.chunk.js +428 -0
- package/dist/scripts/17.chunk.js.map +1 -0
- package/dist/scripts/18.chunk.js +766 -0
- package/dist/scripts/18.chunk.js.map +1 -0
- package/dist/scripts/19.chunk.js +647 -0
- package/dist/scripts/19.chunk.js.map +1 -0
- package/dist/scripts/2.chunk.js +18882 -0
- package/dist/scripts/2.chunk.js.map +1 -0
- package/dist/scripts/20.chunk.js +212 -0
- package/dist/scripts/20.chunk.js.map +1 -0
- package/dist/scripts/21.chunk.js +1591 -0
- package/dist/scripts/21.chunk.js.map +1 -0
- package/dist/scripts/22.chunk.js +1348 -0
- package/dist/scripts/22.chunk.js.map +1 -0
- package/dist/scripts/23.chunk.js +1181 -0
- package/dist/scripts/23.chunk.js.map +1 -0
- package/dist/scripts/24.chunk.js +1141 -0
- package/dist/scripts/24.chunk.js.map +1 -0
- package/dist/scripts/25.chunk.js +907 -0
- package/dist/scripts/25.chunk.js.map +1 -0
- package/dist/scripts/26.chunk.js +979 -0
- package/dist/scripts/26.chunk.js.map +1 -0
- package/dist/scripts/27.chunk.js +655 -0
- package/dist/scripts/27.chunk.js.map +1 -0
- package/dist/scripts/28.chunk.js +615 -0
- package/dist/scripts/28.chunk.js.map +1 -0
- package/dist/scripts/29.chunk.js +622 -0
- package/dist/scripts/29.chunk.js.map +1 -0
- package/dist/scripts/{3-f01af775f2.chunk.js → 3-7c3e2f071d.chunk.js} +1 -1
- package/dist/scripts/3.chunk.js +809 -0
- package/dist/scripts/3.chunk.js.map +1 -0
- package/dist/scripts/30.chunk.js +468 -0
- package/dist/scripts/30.chunk.js.map +1 -0
- package/dist/scripts/31.chunk.js +441 -0
- package/dist/scripts/31.chunk.js.map +1 -0
- package/dist/scripts/32.chunk.js +509 -0
- package/dist/scripts/32.chunk.js.map +1 -0
- package/dist/scripts/33.chunk.js +957 -0
- package/dist/scripts/33.chunk.js.map +1 -0
- package/dist/scripts/34.chunk.js +502 -0
- package/dist/scripts/34.chunk.js.map +1 -0
- package/dist/scripts/35.chunk.js +938 -0
- package/dist/scripts/35.chunk.js.map +1 -0
- package/dist/scripts/36.chunk.js +537 -0
- package/dist/scripts/36.chunk.js.map +1 -0
- package/dist/scripts/37.chunk.js +414 -0
- package/dist/scripts/37.chunk.js.map +1 -0
- package/dist/scripts/38.chunk.js +245 -0
- package/dist/scripts/38.chunk.js.map +1 -0
- package/dist/scripts/39.chunk.js +337 -0
- package/dist/scripts/39.chunk.js.map +1 -0
- package/dist/scripts/4.chunk.js +402 -0
- package/dist/scripts/4.chunk.js.map +1 -0
- package/dist/scripts/40.chunk.js +350 -0
- package/dist/scripts/40.chunk.js.map +1 -0
- package/dist/scripts/41.chunk.js +343 -0
- package/dist/scripts/41.chunk.js.map +1 -0
- package/dist/scripts/42.chunk.js +404 -0
- package/dist/scripts/42.chunk.js.map +1 -0
- package/dist/scripts/43.chunk.js +221 -0
- package/dist/scripts/43.chunk.js.map +1 -0
- package/dist/scripts/44.chunk.js +230 -0
- package/dist/scripts/44.chunk.js.map +1 -0
- package/dist/scripts/45.chunk.js +409 -0
- package/dist/scripts/45.chunk.js.map +1 -0
- package/dist/scripts/46.chunk.js +272 -0
- package/dist/scripts/46.chunk.js.map +1 -0
- package/dist/scripts/47.chunk.js +267 -0
- package/dist/scripts/47.chunk.js.map +1 -0
- package/dist/scripts/48.chunk.js +359 -0
- package/dist/scripts/48.chunk.js.map +1 -0
- package/dist/scripts/49.chunk.js +225 -0
- package/dist/scripts/49.chunk.js.map +1 -0
- package/dist/scripts/5.chunk.js +1104 -0
- package/dist/scripts/5.chunk.js.map +1 -0
- package/dist/scripts/50.chunk.js +318 -0
- package/dist/scripts/50.chunk.js.map +1 -0
- package/dist/scripts/51.chunk.js +64 -0
- package/dist/scripts/51.chunk.js.map +1 -0
- package/dist/scripts/52.chunk.js +108 -0
- package/dist/scripts/52.chunk.js.map +1 -0
- package/dist/scripts/53.chunk.js +110 -0
- package/dist/scripts/53.chunk.js.map +1 -0
- package/dist/scripts/54.chunk.js +162 -0
- package/dist/scripts/54.chunk.js.map +1 -0
- package/dist/scripts/55.chunk.js +145 -0
- package/dist/scripts/55.chunk.js.map +1 -0
- package/dist/scripts/56.chunk.js +139 -0
- package/dist/scripts/56.chunk.js.map +1 -0
- package/dist/scripts/57.chunk.js +142 -0
- package/dist/scripts/57.chunk.js.map +1 -0
- package/dist/scripts/58.chunk.js +173 -0
- package/dist/scripts/58.chunk.js.map +1 -0
- package/dist/scripts/59.chunk.js +160 -0
- package/dist/scripts/59.chunk.js.map +1 -0
- package/dist/scripts/6.chunk.js +335 -0
- package/dist/scripts/6.chunk.js.map +1 -0
- package/dist/scripts/60.chunk.js +98 -0
- package/dist/scripts/60.chunk.js.map +1 -0
- package/dist/scripts/61.chunk.js +48 -0
- package/dist/scripts/61.chunk.js.map +1 -0
- package/dist/scripts/62.chunk.js +70 -0
- package/dist/scripts/62.chunk.js.map +1 -0
- package/dist/scripts/63.chunk.js +32 -0
- package/dist/scripts/63.chunk.js.map +1 -0
- package/dist/scripts/64.chunk.js +29 -0
- package/dist/scripts/64.chunk.js.map +1 -0
- package/dist/scripts/65.chunk.js +27 -0
- package/dist/scripts/65.chunk.js.map +1 -0
- package/dist/scripts/66.chunk.js +65 -0
- package/dist/scripts/66.chunk.js.map +1 -0
- package/dist/scripts/67.chunk.js +67 -0
- package/dist/scripts/67.chunk.js.map +1 -0
- package/dist/scripts/68.chunk.js +104 -0
- package/dist/scripts/68.chunk.js.map +1 -0
- package/dist/scripts/69.chunk.js +89 -0
- package/dist/scripts/69.chunk.js.map +1 -0
- package/dist/scripts/7.chunk.js +2579 -0
- package/dist/scripts/7.chunk.js.map +1 -0
- package/dist/scripts/70.chunk.js +1001 -0
- package/dist/scripts/70.chunk.js.map +1 -0
- package/dist/scripts/71.chunk.js +36 -0
- package/dist/scripts/71.chunk.js.map +1 -0
- package/dist/scripts/8.chunk.js +24 -0
- package/dist/scripts/8.chunk.js.map +1 -0
- package/dist/scripts/9.chunk.js +327 -0
- package/dist/scripts/9.chunk.js.map +1 -0
- package/dist/scripts/{bundle-5ecb0c9441.min.js → bundle-df3f2fe30a.min.js} +1 -1
- package/dist/scripts/bundle.js +38145 -0
- package/dist/scripts/bundle.js.map +1 -0
- package/dist/scripts/bundles.json +1 -1
- package/dist/scripts/polyfills.js +15232 -0
- package/dist/scripts/polyfills.js.map +1 -0
- package/package.json +1 -1
- package/dist/scripts/14-9f08e07fae.chunk.js +0 -1
- package/dist/scripts/3-6e2ac46662.chunk.js +0 -7
- package/dist/scripts/4-ea79bf1533.chunk.js +0 -1
- package/dist/scripts/bundle-25efc68e8d.min.js +0 -1
- package/dist/scripts/bundle-c6241bd7ac.min.js +0 -1
- package/dist/scripts/bundle-ece1c21857.min.js +0 -1
- /package/dist/scripts/{0-d95e8444c4.chunk.js → 0-531d6e6349.chunk.js} +0 -0
- /package/dist/scripts/{11-d419aa0984.chunk.js → 11-8f0bdf9018.chunk.js} +0 -0
- /package/dist/scripts/{12-b38a27f951.chunk.js → 12-48ed970d19.chunk.js} +0 -0
- /package/dist/scripts/{13-1ad100c6fa.chunk.js → 13-b0f32ba098.chunk.js} +0 -0
- /package/dist/scripts/{14-ffa8f0cdc3.chunk.js → 14-3fdae3a2e0.chunk.js} +0 -0
- /package/dist/scripts/{15-ee9fb81b9f.chunk.js → 15-fded12e48f.chunk.js} +0 -0
- /package/dist/scripts/{16-8fe78e04c2.chunk.js → 16-adabe89775.chunk.js} +0 -0
- /package/dist/scripts/{17-ea7fe3ea28.chunk.js → 17-b2cd7a4b5e.chunk.js} +0 -0
- /package/dist/scripts/{18-1bb07c0b9b.chunk.js → 18-40f63a0517.chunk.js} +0 -0
- /package/dist/scripts/{19-c869d34687.chunk.js → 19-402b058c2a.chunk.js} +0 -0
- /package/dist/scripts/{2-a816feb2a1.chunk.js → 2-2af40ff44f.chunk.js} +0 -0
- /package/dist/scripts/{20-43ec005977.chunk.js → 20-6fefb546ab.chunk.js} +0 -0
- /package/dist/scripts/{21-8513db8251.chunk.js → 21-a89abdba1d.chunk.js} +0 -0
- /package/dist/scripts/{22-d4adb2384c.chunk.js → 22-09dbfdff25.chunk.js} +0 -0
- /package/dist/scripts/{23-d8b5b9ad2c.chunk.js → 23-b206a9cf33.chunk.js} +0 -0
- /package/dist/scripts/{24-f2913e26e2.chunk.js → 24-7841060223.chunk.js} +0 -0
- /package/dist/scripts/{25-68705527ea.chunk.js → 25-a7d11dc1a9.chunk.js} +0 -0
- /package/dist/scripts/{26-7d25448f1c.chunk.js → 26-e74d7d8b73.chunk.js} +0 -0
- /package/dist/scripts/{27-bab6c9f5c7.chunk.js → 27-98612375ea.chunk.js} +0 -0
- /package/dist/scripts/{28-080baa3fbc.chunk.js → 28-bf3436e9a7.chunk.js} +0 -0
- /package/dist/scripts/{29-5e9889b68a.chunk.js → 29-4e8053f425.chunk.js} +0 -0
- /package/dist/scripts/{30-cdbeea4fc5.chunk.js → 30-52574fd7e7.chunk.js} +0 -0
- /package/dist/scripts/{31-6fa4413cdb.chunk.js → 31-a1cd93aead.chunk.js} +0 -0
- /package/dist/scripts/{32-d4725d3b7d.chunk.js → 32-3582316ec6.chunk.js} +0 -0
- /package/dist/scripts/{33-bec24aab85.chunk.js → 33-c12e2d64d8.chunk.js} +0 -0
- /package/dist/scripts/{34-c42c6cf42a.chunk.js → 34-123b98d346.chunk.js} +0 -0
- /package/dist/scripts/{35-4512b236f2.chunk.js → 35-0d10217f78.chunk.js} +0 -0
- /package/dist/scripts/{36-eede7769b2.chunk.js → 36-926dfeed42.chunk.js} +0 -0
- /package/dist/scripts/{37-80ed339c4f.chunk.js → 37-b7eb76b267.chunk.js} +0 -0
- /package/dist/scripts/{38-c11d4c88e3.chunk.js → 38-194e4e7a6b.chunk.js} +0 -0
- /package/dist/scripts/{39-d0e74fb062.chunk.js → 39-52658e5919.chunk.js} +0 -0
- /package/dist/scripts/{4-ca4a9fc001.chunk.js → 4-1069225fdd.chunk.js} +0 -0
- /package/dist/scripts/{40-d764e6157b.chunk.js → 40-f894eeb643.chunk.js} +0 -0
- /package/dist/scripts/{41-0aa7093354.chunk.js → 41-0185da83f4.chunk.js} +0 -0
- /package/dist/scripts/{42-3d8c5fa14c.chunk.js → 42-7dec68cd96.chunk.js} +0 -0
- /package/dist/scripts/{43-969806e81e.chunk.js → 43-a0bebde767.chunk.js} +0 -0
- /package/dist/scripts/{44-e8e3fef4c3.chunk.js → 44-70673a004e.chunk.js} +0 -0
- /package/dist/scripts/{45-d8f70269d6.chunk.js → 45-e4e06801b2.chunk.js} +0 -0
- /package/dist/scripts/{46-946ae22c1f.chunk.js → 46-349ff5f0d5.chunk.js} +0 -0
- /package/dist/scripts/{47-1579412cd0.chunk.js → 47-42a55c12e2.chunk.js} +0 -0
- /package/dist/scripts/{48-fdf97c1c73.chunk.js → 48-8af4070f2b.chunk.js} +0 -0
- /package/dist/scripts/{49-970fc479c8.chunk.js → 49-d94fce3ca9.chunk.js} +0 -0
- /package/dist/scripts/{5-d1bb14adf6.chunk.js → 5-66270e3a0d.chunk.js} +0 -0
- /package/dist/scripts/{50-1257ab0b95.chunk.js → 50-fab4522d40.chunk.js} +0 -0
- /package/dist/scripts/{51-ac615445f0.chunk.js → 51-119315f5af.chunk.js} +0 -0
- /package/dist/scripts/{52-874629b81c.chunk.js → 52-2f07b899d9.chunk.js} +0 -0
- /package/dist/scripts/{53-22e3d0793b.chunk.js → 53-43aaf5b628.chunk.js} +0 -0
- /package/dist/scripts/{54-da1a07610c.chunk.js → 54-70394f7bc2.chunk.js} +0 -0
- /package/dist/scripts/{55-02647df65c.chunk.js → 55-5f4a32f8ef.chunk.js} +0 -0
- /package/dist/scripts/{56-1b6e6349fa.chunk.js → 56-87d38b6834.chunk.js} +0 -0
- /package/dist/scripts/{57-8fc09ba02c.chunk.js → 57-b9334f46ba.chunk.js} +0 -0
- /package/dist/scripts/{58-8e5cc56c3f.chunk.js → 58-7aedb52028.chunk.js} +0 -0
- /package/dist/scripts/{6-0e53df2ece.chunk.js → 6-a888530bed.chunk.js} +0 -0
- /package/dist/scripts/{7-26822045b2.chunk.js → 7-7e596a99ba.chunk.js} +0 -0
- /package/dist/scripts/{8-7450eff674.chunk.js → 8-abff2ccf3c.chunk.js} +0 -0
- /package/dist/scripts/{9-f24f1577dd.chunk.js → 9-58b0e36108.chunk.js} +0 -0
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
(window["webpackJsonp_clickview_lite"] = window["webpackJsonp_clickview_lite"] || []).push([[42],{
|
|
2
|
+
|
|
3
|
+
/***/ "../../libs/shared/src/components/video-list/PartialVideoList.tsx":
|
|
4
|
+
/*!************************************************************************************************************!*\
|
|
5
|
+
!*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/video-list/PartialVideoList.tsx ***!
|
|
6
|
+
\************************************************************************************************************/
|
|
7
|
+
/*! exports provided: PartialVideoList */
|
|
8
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
9
|
+
|
|
10
|
+
"use strict";
|
|
11
|
+
__webpack_require__.r(__webpack_exports__);
|
|
12
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PartialVideoList", function() { return PartialVideoList; });
|
|
13
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
14
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
15
|
+
|
|
16
|
+
function PartialVideoList(props) {
|
|
17
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/***/ }),
|
|
21
|
+
|
|
22
|
+
/***/ "../../libs/shared/src/flight-requests/FavouriteVideoRequests.ts":
|
|
23
|
+
/*!***********************************************************************************************************!*\
|
|
24
|
+
!*** C:/ClickView/front-end/clickview/packages/libs/shared/src/flight-requests/FavouriteVideoRequests.ts ***!
|
|
25
|
+
\***********************************************************************************************************/
|
|
26
|
+
/*! exports provided: FavouriteVideoRequests */
|
|
27
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
28
|
+
|
|
29
|
+
"use strict";
|
|
30
|
+
__webpack_require__.r(__webpack_exports__);
|
|
31
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FavouriteVideoRequests", function() { return FavouriteVideoRequests; });
|
|
32
|
+
/* 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");
|
|
33
|
+
/* harmony import */ var _constants_WithStatements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/WithStatements */ "../../libs/shared/src/constants/WithStatements.ts");
|
|
34
|
+
var __rest = undefined && undefined.__rest || function (s, e) {
|
|
35
|
+
var t = {};
|
|
36
|
+
|
|
37
|
+
for (var p in s) {
|
|
38
|
+
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
42
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
43
|
+
}
|
|
44
|
+
return t;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
function favouriteVideo(videoId, userId, success, error) {
|
|
51
|
+
return {
|
|
52
|
+
url: "/api/domain/v2/objects/".concat(userId),
|
|
53
|
+
key: "favourite:video:".concat(userId, ":").concat(videoId),
|
|
54
|
+
data: {
|
|
55
|
+
favouriteVideos: videoId
|
|
56
|
+
},
|
|
57
|
+
type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].PUT,
|
|
58
|
+
invalidationKeys: ["favourite:videos:".concat(userId), "video:is:favourited:".concat(userId)],
|
|
59
|
+
success: success,
|
|
60
|
+
error: error
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function unfavouriteVideo(videoId, userId, success, error) {
|
|
65
|
+
return {
|
|
66
|
+
url: "/api/domain/v2/objects/".concat(userId, "/favouriteVideos/").concat(videoId),
|
|
67
|
+
key: "favourite:video:".concat(userId, ":").concat(videoId),
|
|
68
|
+
type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].DELETE,
|
|
69
|
+
invalidationKeys: ["favourite:videos:".concat(userId), "video:is:favourited:".concat(userId)],
|
|
70
|
+
success: success,
|
|
71
|
+
error: error
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
var FavouriteVideoRequests = {
|
|
76
|
+
favouriteVideos: function favouriteVideos(userId, cursor) {
|
|
77
|
+
var query = "".concat(_constants_WithStatements__WEBPACK_IMPORTED_MODULE_1__["SharedWithStatements"].VIDEO_COLLECTION).concat(addCursor(cursor));
|
|
78
|
+
return {
|
|
79
|
+
url: "/api/domain/v2/objects/".concat(userId, "/favouriteVideos?query=").concat(query),
|
|
80
|
+
key: "favourite:videos:".concat(userId).concat(cursor ? ":".concat(cursor) : '')
|
|
81
|
+
};
|
|
82
|
+
},
|
|
83
|
+
updateIsVideoFavourited: function updateIsVideoFavourited(videoId, userId, shouldFavourite, success, error) {
|
|
84
|
+
var requestFn = shouldFavourite ? favouriteVideo : unfavouriteVideo;
|
|
85
|
+
return requestFn(videoId, userId, success, error);
|
|
86
|
+
},
|
|
87
|
+
isFavourited: function isFavourited(userId, ids) {
|
|
88
|
+
var sortedIds = ids.slice().sort();
|
|
89
|
+
var params = sortedIds.map(function (i) {
|
|
90
|
+
return "id=".concat(i);
|
|
91
|
+
});
|
|
92
|
+
return {
|
|
93
|
+
url: "/api/domain/v2/objects?query=favouritedBy{id:".concat(userId, "}&").concat(params.join('&')),
|
|
94
|
+
key: "video:is:favourited:".concat(userId, ":by:id:").concat(sortedIds.join(',')),
|
|
95
|
+
formatData: function formatData(videos) {
|
|
96
|
+
var _a;
|
|
97
|
+
|
|
98
|
+
if (!((_a = videos) === null || _a === void 0 ? void 0 : _a.length)) return videos;
|
|
99
|
+
|
|
100
|
+
var setIsFavourited = function setIsFavourited(video) {
|
|
101
|
+
var _a, _b;
|
|
102
|
+
|
|
103
|
+
var favouritedBy = video.favouritedBy,
|
|
104
|
+
v = __rest(video, ["favouritedBy"]); // As we filtered by userId, if there are any users, set isFavourited to true.
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
return Object.assign(Object.assign({}, v), {
|
|
108
|
+
isFavourited: !!((_b = (_a = favouritedBy) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.length)
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
return videos.map(setIsFavourited);
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
function addCursor(cursor) {
|
|
119
|
+
return cursor ? "&cursor=".concat(cursor) : '';
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/***/ }),
|
|
123
|
+
|
|
124
|
+
/***/ "./src/shared/flight-requests/SeriesRequests.ts":
|
|
125
|
+
/*!******************************************************!*\
|
|
126
|
+
!*** ./src/shared/flight-requests/SeriesRequests.ts ***!
|
|
127
|
+
\******************************************************/
|
|
128
|
+
/*! exports provided: SeriesRequests */
|
|
129
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
130
|
+
|
|
131
|
+
"use strict";
|
|
132
|
+
__webpack_require__.r(__webpack_exports__);
|
|
133
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SeriesRequests", function() { return SeriesRequests; });
|
|
134
|
+
/* harmony import */ var shared_constants_WithStatements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! shared/constants/WithStatements */ "./src/shared/constants/WithStatements.ts");
|
|
135
|
+
|
|
136
|
+
var endpoints = {
|
|
137
|
+
series: function series(id) {
|
|
138
|
+
return "/api/domain/v2/objects/".concat(id);
|
|
139
|
+
},
|
|
140
|
+
seriesVideos: function seriesVideos(id, cursor) {
|
|
141
|
+
return "/api/domain/v2/objects/".concat(id, "/videos?query=").concat(shared_constants_WithStatements__WEBPACK_IMPORTED_MODULE_0__["WithStatements"].VIDEO_COLLECTION).concat(addCursor(cursor));
|
|
142
|
+
},
|
|
143
|
+
breadcrumbs: function breadcrumbs(id) {
|
|
144
|
+
return "/api/domain/v1/subjects/".concat(id, "/path");
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
var SeriesRequests = {
|
|
148
|
+
series: function series(id) {
|
|
149
|
+
return {
|
|
150
|
+
url: endpoints.series(id),
|
|
151
|
+
key: "series:".concat(id)
|
|
152
|
+
};
|
|
153
|
+
},
|
|
154
|
+
seriesVideos: function seriesVideos(id, cursor) {
|
|
155
|
+
return {
|
|
156
|
+
url: endpoints.seriesVideos(id, cursor),
|
|
157
|
+
key: "series:".concat(id, ":videos:").concat(cursor)
|
|
158
|
+
};
|
|
159
|
+
},
|
|
160
|
+
breadcrumbs: function breadcrumbs(classificationId) {
|
|
161
|
+
if (!classificationId) return;
|
|
162
|
+
return {
|
|
163
|
+
url: endpoints.breadcrumbs(classificationId),
|
|
164
|
+
key: "series:".concat(classificationId, ":breadcrumbs")
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
function addCursor(cursor) {
|
|
170
|
+
return cursor ? "&cursor=".concat(cursor) : '';
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/***/ }),
|
|
174
|
+
|
|
175
|
+
/***/ "./src/shared/hooks/useVideoMixin.ts":
|
|
176
|
+
/*!*******************************************!*\
|
|
177
|
+
!*** ./src/shared/hooks/useVideoMixin.ts ***!
|
|
178
|
+
\*******************************************/
|
|
179
|
+
/*! exports provided: useVideoMixin */
|
|
180
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
181
|
+
|
|
182
|
+
"use strict";
|
|
183
|
+
__webpack_require__.r(__webpack_exports__);
|
|
184
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useVideoMixin", function() { return useVideoMixin; });
|
|
185
|
+
/* harmony import */ var _libs_common_src_react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../libs/common/src/react */ "../../libs/common/src/react/index.ts");
|
|
186
|
+
/* 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");
|
|
187
|
+
/* 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");
|
|
188
|
+
/* harmony import */ var shared_flight_requests_VideoRequests__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! shared/flight-requests/VideoRequests */ "./src/shared/flight-requests/VideoRequests.ts");
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
function fetchAttribute(videosFetched, request) {
|
|
195
|
+
var attribute = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_0__["Flight"].useGetResponse(request && request.key);
|
|
196
|
+
var fetch = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_0__["Flight"].useGetFetch(request);
|
|
197
|
+
if (videosFetched && attribute.shouldFetch) fetch();
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
function useVideoMixin(videos) {
|
|
201
|
+
var currentUser = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_0__["Flight"].useBasicFetch(_libs_shared_src_flight_requests_UserRequests__WEBPACK_IMPORTED_MODULE_1__["UserRequests"].currentUser);
|
|
202
|
+
var videoIds = videos && (Array.isArray(videos) ? videos.map(function (v) {
|
|
203
|
+
return v.id;
|
|
204
|
+
}) : videos.data.map(function (v) {
|
|
205
|
+
return v.id;
|
|
206
|
+
}));
|
|
207
|
+
var requests = [videoIds && shared_flight_requests_VideoRequests__WEBPACK_IMPORTED_MODULE_3__["VideoRequests"].videoRatings(videoIds), videoIds && currentUser.data && _libs_shared_src_flight_requests_FavouriteVideoRequests__WEBPACK_IMPORTED_MODULE_2__["FavouriteVideoRequests"].isFavourited(currentUser.data.id, videoIds)];
|
|
208
|
+
requests.forEach(function (r) {
|
|
209
|
+
return fetchAttribute(!!videos, r);
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/***/ }),
|
|
214
|
+
|
|
215
|
+
/***/ "./src/shared/views/series/SeriesView.tsx":
|
|
216
|
+
/*!************************************************!*\
|
|
217
|
+
!*** ./src/shared/views/series/SeriesView.tsx ***!
|
|
218
|
+
\************************************************/
|
|
219
|
+
/*! exports provided: SeriesView */
|
|
220
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
221
|
+
|
|
222
|
+
"use strict";
|
|
223
|
+
__webpack_require__.r(__webpack_exports__);
|
|
224
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SeriesView", function() { return SeriesView; });
|
|
225
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
226
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
227
|
+
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "react-redux");
|
|
228
|
+
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
|
|
229
|
+
/* harmony import */ var _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../libs/common/src/react */ "../../libs/common/src/react/index.ts");
|
|
230
|
+
/* 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");
|
|
231
|
+
/* harmony import */ var _libs_shared_src_flight_requests_UserRequests__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../libs/shared/src/flight-requests/UserRequests */ "../../libs/shared/src/flight-requests/UserRequests.ts");
|
|
232
|
+
/* harmony import */ var _libs_shared_src_flight_requests_ConfigRequests__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../libs/shared/src/flight-requests/ConfigRequests */ "../../libs/shared/src/flight-requests/ConfigRequests.ts");
|
|
233
|
+
/* harmony import */ var _libs_shared_src_flight_requests_FavouriteVideoRequests__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../../../libs/shared/src/flight-requests/FavouriteVideoRequests */ "../../libs/shared/src/flight-requests/FavouriteVideoRequests.ts");
|
|
234
|
+
/* harmony import */ var _libs_shared_src_components_banner_header_BannerHeader__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../../../libs/shared/src/components/banner-header/BannerHeader */ "../../libs/shared/src/components/banner-header/BannerHeader.tsx");
|
|
235
|
+
/* harmony import */ var _libs_shared_src_components_breadcrumbs_Breadcrumbs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../../../libs/shared/src/components/breadcrumbs/Breadcrumbs */ "../../libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx");
|
|
236
|
+
/* harmony import */ var _libs_shared_src_components_video_list_VideoList__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../../../../libs/shared/src/components/video-list/VideoList */ "../../libs/shared/src/components/video-list/VideoList.tsx");
|
|
237
|
+
/* harmony import */ var _libs_shared_src_components_video_list_PartialVideoList__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../../../../libs/shared/src/components/video-list/PartialVideoList */ "../../libs/shared/src/components/video-list/PartialVideoList.tsx");
|
|
238
|
+
/* harmony import */ var _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../../../libs/shared/src/utils/SvgHelper */ "../../libs/shared/src/utils/SvgHelper.ts");
|
|
239
|
+
/* harmony import */ var shared_flight_requests_SeriesRequests__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! shared/flight-requests/SeriesRequests */ "./src/shared/flight-requests/SeriesRequests.ts");
|
|
240
|
+
/* harmony import */ var shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! shared/constants/LiteActions */ "./src/shared/constants/LiteActions.ts");
|
|
241
|
+
/* harmony import */ var shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! shared/constants/LiteRadioChannels */ "./src/shared/constants/LiteRadioChannels.ts");
|
|
242
|
+
/* harmony import */ var shared_hooks_useVideoMixin__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! shared/hooks/useVideoMixin */ "./src/shared/hooks/useVideoMixin.ts");
|
|
243
|
+
/* harmony import */ var _libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../../../../../libs/analytics/src/AnalyticsHelper */ "../../libs/analytics/src/AnalyticsHelper.ts");
|
|
244
|
+
/* harmony import */ var _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../../../../../libs/analytics/src/interfaces */ "../../libs/analytics/src/interfaces/index.ts");
|
|
245
|
+
/* harmony import */ var _libs_common_src_react_utils_TextHelper__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../../../../../libs/common/src/react/utils/TextHelper */ "../../libs/common/src/react/utils/TextHelper.ts");
|
|
246
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
247
|
+
|
|
248
|
+
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."); }
|
|
249
|
+
|
|
250
|
+
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); }
|
|
251
|
+
|
|
252
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
|
|
253
|
+
|
|
254
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
255
|
+
|
|
256
|
+
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; }
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* This will need to change when this is moved into its own application directory.
|
|
279
|
+
*/
|
|
280
|
+
|
|
281
|
+
var namespace = 'shared.series';
|
|
282
|
+
var getPhrase = _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_3__["LanguageService"].encloseNamespace(namespace); // Update this applink when we pull dashboard in
|
|
283
|
+
|
|
284
|
+
var getClassificationAppLink = function getClassificationAppLink(classification) {
|
|
285
|
+
return {
|
|
286
|
+
application: null,
|
|
287
|
+
action: null,
|
|
288
|
+
args: [classification.id]
|
|
289
|
+
};
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
var getVideoAppLink = function getVideoAppLink(video) {
|
|
293
|
+
return {
|
|
294
|
+
application: null,
|
|
295
|
+
action: null,
|
|
296
|
+
args: [video.id]
|
|
297
|
+
};
|
|
298
|
+
};
|
|
299
|
+
|
|
300
|
+
var getSeriesAppLink = function getSeriesAppLink(series) {
|
|
301
|
+
return {
|
|
302
|
+
application: shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_14__["AppChannels"].DEFAULT,
|
|
303
|
+
action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_13__["Actions"].Default.SERIES,
|
|
304
|
+
args: [series.id, _libs_common_src_react_utils_TextHelper__WEBPACK_IMPORTED_MODULE_18__["TextHelper"].slugify(series.name)]
|
|
305
|
+
};
|
|
306
|
+
};
|
|
307
|
+
|
|
308
|
+
var getHeaderActions = function getHeaderActions() {
|
|
309
|
+
return [{
|
|
310
|
+
label: _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_3__["LanguageService"].getPhrase(namespace, 'share'),
|
|
311
|
+
appLink: {
|
|
312
|
+
application: shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_14__["AppChannels"].DEFAULT,
|
|
313
|
+
action: 'index'
|
|
314
|
+
},
|
|
315
|
+
svgName: _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_11__["cvSvgLibrary"].Share,
|
|
316
|
+
className: 'btn btn-light mr-2',
|
|
317
|
+
button: true
|
|
318
|
+
}, {
|
|
319
|
+
label: _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_3__["LanguageService"].getPhrase(namespace, 'follow'),
|
|
320
|
+
appLink: {
|
|
321
|
+
application: shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_14__["AppChannels"].DEFAULT,
|
|
322
|
+
action: 'index'
|
|
323
|
+
},
|
|
324
|
+
svgName: _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_11__["cvSvgLibrary"].Edit,
|
|
325
|
+
className: 'btn btn-light',
|
|
326
|
+
button: true
|
|
327
|
+
}];
|
|
328
|
+
};
|
|
329
|
+
|
|
330
|
+
function SeriesView(props) {
|
|
331
|
+
var dispatch = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useDispatch"])();
|
|
332
|
+
var config = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useBasicFetch(_libs_shared_src_flight_requests_ConfigRequests__WEBPACK_IMPORTED_MODULE_5__["ConfigRequests"].config);
|
|
333
|
+
var currentUser = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useBasicFetch(_libs_shared_src_flight_requests_UserRequests__WEBPACK_IMPORTED_MODULE_4__["UserRequests"].currentUser);
|
|
334
|
+
var series = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useBasicFetch(shared_flight_requests_SeriesRequests__WEBPACK_IMPORTED_MODULE_12__["SeriesRequests"].series(props.id));
|
|
335
|
+
var seriesVideos = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useBasicFetch(shared_flight_requests_SeriesRequests__WEBPACK_IMPORTED_MODULE_12__["SeriesRequests"].seriesVideos(props.id, props.cursor));
|
|
336
|
+
Object(shared_hooks_useVideoMixin__WEBPACK_IMPORTED_MODULE_15__["useVideoMixin"])(seriesVideos.data);
|
|
337
|
+
var breadcrumbs = [series.data];
|
|
338
|
+
|
|
339
|
+
if (props.classificationId) {
|
|
340
|
+
var subjectPath = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useBasicFetch(shared_flight_requests_SeriesRequests__WEBPACK_IMPORTED_MODULE_12__["SeriesRequests"].breadcrumbs(props.classificationId));
|
|
341
|
+
|
|
342
|
+
if (subjectPath.data) {
|
|
343
|
+
breadcrumbs.unshift.apply(breadcrumbs, _toConsumableArray(subjectPath.data));
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
function setFavourite(videoId, shouldFavourite, onError) {
|
|
348
|
+
_libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].fetch(dispatch, _libs_shared_src_flight_requests_FavouriteVideoRequests__WEBPACK_IMPORTED_MODULE_6__["FavouriteVideoRequests"].updateIsVideoFavourited(videoId, currentUser.data.id, shouldFavourite, function () {
|
|
349
|
+
_libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_16__["AnalyticsHelper"].logUserAction({
|
|
350
|
+
id: videoId
|
|
351
|
+
}, {
|
|
352
|
+
entity: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_17__["EntityType"].Video,
|
|
353
|
+
actionType: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_17__["UserAction"].Favourite,
|
|
354
|
+
descriptor: shouldFavourite ? _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_17__["ToggleDescriptor"].On : _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_17__["ToggleDescriptor"].Off,
|
|
355
|
+
location: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_17__["LocationContext"].VideoThumbnail,
|
|
356
|
+
workflowPhase: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_17__["WorkflowPhase"].Complete
|
|
357
|
+
});
|
|
358
|
+
}, onError));
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
if (!seriesVideos.data || !config.data || !series.data) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
|
|
362
|
+
var heading = getPhrase('series', {
|
|
363
|
+
seriesName: series.data.name
|
|
364
|
+
});
|
|
365
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_banner_header_BannerHeader__WEBPACK_IMPORTED_MODULE_7__["BannerHeader"], {
|
|
366
|
+
heading: heading,
|
|
367
|
+
banner: null,
|
|
368
|
+
imageCdnUrl: config.data.imageCdnUrl,
|
|
369
|
+
backButtonAppLink: {
|
|
370
|
+
application: shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_14__["AppChannels"].DASHBOARD,
|
|
371
|
+
action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_13__["Actions"].Dashboard.HOME
|
|
372
|
+
},
|
|
373
|
+
backButtonText: 'Home' // this needs to be changed eventually
|
|
374
|
+
,
|
|
375
|
+
actions: getHeaderActions()
|
|
376
|
+
}), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
377
|
+
className: 'border-bottom py-3 mb-3'
|
|
378
|
+
}, props.classificationId && breadcrumbs.length < 2 ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_breadcrumbs_Breadcrumbs__WEBPACK_IMPORTED_MODULE_8__["PartialBreadcrumbs"], null) : react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_breadcrumbs_Breadcrumbs__WEBPACK_IMPORTED_MODULE_8__["Breadcrumbs"], {
|
|
379
|
+
currentItem: series.data,
|
|
380
|
+
type: _libs_shared_src_components_breadcrumbs_Breadcrumbs__WEBPACK_IMPORTED_MODULE_8__["BreadcrumbType"].Static,
|
|
381
|
+
getItemAppLink: getClassificationAppLink,
|
|
382
|
+
data: breadcrumbs,
|
|
383
|
+
rootItem: {
|
|
384
|
+
label: getPhrase('dashboard'),
|
|
385
|
+
appLink: {
|
|
386
|
+
application: shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_14__["AppChannels"].DASHBOARD,
|
|
387
|
+
action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_13__["Actions"].Dashboard.HOME
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
}), series.data.description && react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("p", {
|
|
391
|
+
className: 'pt-3'
|
|
392
|
+
}, series.data.description)), seriesVideos.data ? !seriesVideos.isFetching ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_video_list_VideoList__WEBPACK_IMPORTED_MODULE_9__["VideoList"], {
|
|
393
|
+
videos: seriesVideos.data.data,
|
|
394
|
+
cursors: seriesVideos.data.pagination.cursors,
|
|
395
|
+
getVideoAppLink: getVideoAppLink,
|
|
396
|
+
getSeriesAppLink: getSeriesAppLink,
|
|
397
|
+
setFavourite: setFavourite
|
|
398
|
+
}) : react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_video_list_PartialVideoList__WEBPACK_IMPORTED_MODULE_10__["PartialVideoList"], null) : react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, "Empty State")));
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
/***/ })
|
|
402
|
+
|
|
403
|
+
}]);
|
|
404
|
+
//# sourceMappingURL=42.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/video-list/PartialVideoList.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/flight-requests/FavouriteVideoRequests.ts","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/shared/flight-requests/SeriesRequests.ts","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/shared/hooks/useVideoMixin.ts","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/shared/views/series/SeriesView.tsx"],"names":[],"mappings":"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","file":"scripts/42.chunk.js","sourcesContent":["import * as React from 'react';\r\n\r\ninterface PartialVideoListProps {\r\n\r\n}\r\n\r\nexport function PartialVideoList(props: PartialVideoListProps): JSX.Element {\r\n return (\r\n <>\r\n </>\r\n );\r\n}","import { Flight } from 'libs/common/flight';\r\nimport { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\r\nimport { Xhr } from 'libs/common/backbone/interfaces';\r\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\r\n\r\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\r\n\r\nfunction favouriteVideo(\r\n videoId: string, userId: string, success?: () => void, error?: (Xhr: Xhr) => void\r\n): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/objects/${userId}`,\r\n key: `favourite:video:${userId}:${videoId}`,\r\n data: { favouriteVideos: videoId },\r\n type: HttpVerbs.PUT,\r\n invalidationKeys: [ `favourite:videos:${userId}`, `video:is:favourited:${userId}` ],\r\n success,\r\n error\r\n };\r\n}\r\n\r\nfunction unfavouriteVideo(\r\n videoId: string, userId: string, success?: () => void, error?: (Xhr: Xhr) => void\r\n): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/objects/${userId}/favouriteVideos/${videoId}`,\r\n key: `favourite:video:${userId}:${videoId}`,\r\n type: HttpVerbs.DELETE,\r\n invalidationKeys: [ `favourite:videos:${userId}`, `video:is:favourited:${userId}` ],\r\n success,\r\n error\r\n };\r\n}\r\n\r\nexport const FavouriteVideoRequests = {\r\n favouriteVideos(userId: string, cursor?: string): Flight.Request {\r\n const query = `${SharedWithStatements.VIDEO_COLLECTION}${addCursor(cursor)}`;\r\n\r\n return {\r\n url: `/api/domain/v2/objects/${userId}/favouriteVideos?query=${query}`,\r\n key: `favourite:videos:${userId}${cursor ? `:${cursor}` : ''}`\r\n };\r\n },\r\n\r\n updateIsVideoFavourited(\r\n videoId: string, userId: string, shouldFavourite: boolean, success?: () => void, error?: (Xhr: Xhr) => void\r\n ): Flight.Request {\r\n const requestFn = shouldFavourite\r\n ? favouriteVideo\r\n : unfavouriteVideo;\r\n\r\n return requestFn(videoId, userId, success, error);\r\n },\r\n\r\n isFavourited(userId: string, ids: string[]): Flight.Request {\r\n const sortedIds = ids.slice().sort();\r\n\r\n const params = sortedIds.map(i => `id=${i}`);\r\n\r\n return {\r\n url: `/api/domain/v2/objects?query=favouritedBy{id:${userId}}&${params.join('&')}`,\r\n key: `video:is:favourited:${userId}:by:id:${sortedIds.join(',')}`,\r\n formatData: (videos: HashObject[]) => {\r\n if (!videos?.length)\r\n return videos;\r\n\r\n const setIsFavourited = (video: HashObject) => {\r\n const { favouritedBy, ...v } = video;\r\n\r\n // As we filtered by userId, if there are any users, set isFavourited to true.\r\n return {\r\n ...v,\r\n isFavourited: !!favouritedBy?.data?.length\r\n };\r\n };\r\n\r\n return videos.map(setIsFavourited);\r\n }\r\n };\r\n }\r\n};\r\n\r\nfunction addCursor(cursor: string): string {\r\n return cursor ? `&cursor=${cursor}` : '';\r\n}","import { Flight } from 'libs/common/flight';\r\nimport { WithStatements } from 'shared/constants/WithStatements';\r\n\r\nconst endpoints = {\r\n series: (id: string) => `/api/domain/v2/objects/${id}`,\r\n seriesVideos: (id: string, cursor: string) =>\r\n `/api/domain/v2/objects/${id}/videos?query=${WithStatements.VIDEO_COLLECTION}${addCursor(cursor)}`,\r\n\r\n breadcrumbs: (id: string) => `/api/domain/v1/subjects/${id}/path`\r\n};\r\n\r\nexport const SeriesRequests = {\r\n series(id: string): Flight.Request {\r\n return {\r\n url: endpoints.series(id),\r\n key: `series:${id}`\r\n };\r\n },\r\n seriesVideos(id: string, cursor: string): Flight.Request {\r\n return {\r\n url: endpoints.seriesVideos(id, cursor),\r\n key: `series:${id}:videos:${cursor}`\r\n };\r\n },\r\n breadcrumbs(classificationId: string): Flight.Request {\r\n if (!classificationId)\r\n return;\r\n\r\n return {\r\n url: endpoints.breadcrumbs(classificationId),\r\n key: `series:${classificationId}:breadcrumbs`\r\n };\r\n }\r\n};\r\n\r\nfunction addCursor(cursor: string): string {\r\n return cursor ? `&cursor=${cursor}` : '';\r\n}","import { Flight } from 'libs/common/flight';\r\nimport { VideoCollection, User, Video } from 'libs/shared/interfaces';\r\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\r\nimport { FavouriteVideoRequests } from 'libs/shared/flight-requests/FavouriteVideoRequests';\r\n\r\nimport { VideoRequests } from 'shared/flight-requests/VideoRequests';\r\n\r\nfunction fetchAttribute(videosFetched: boolean, request: Flight.Request): void {\r\n const attribute = Flight.useGetResponse<VideoCollection>(request && request.key);\r\n const fetch = Flight.useGetFetch(request);\r\n\r\n if (videosFetched && attribute.shouldFetch)\r\n fetch();\r\n}\r\n\r\nexport function useVideoMixin(videos: VideoCollection | Video[]): void {\r\n const currentUser = Flight.useBasicFetch<User>(UserRequests.currentUser);\r\n\r\n const videoIds = videos && (Array.isArray(videos)\r\n ? videos.map(v => v.id)\r\n : videos.data.map(v => v.id));\r\n\r\n const requests: Flight.Request[] = [\r\n videoIds && VideoRequests.videoRatings(videoIds),\r\n videoIds && currentUser.data && FavouriteVideoRequests.isFavourited(currentUser.data.id, videoIds)\r\n ];\r\n\r\n requests.forEach(r => fetchAttribute(!!videos, r));\r\n}","import * as React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport { Flight } from 'libs/common/flight';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { Core } from 'libs/common/core';\r\nimport { Series, Config, Video, Classification, VideoCollection, BaseObject, User } from 'libs/shared/interfaces';\r\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\r\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\r\nimport { FavouriteVideoRequests } from 'libs/shared/flight-requests/FavouriteVideoRequests';\r\nimport { BannerHeader } from 'libs/shared/components/banner-header/BannerHeader';\r\nimport { Breadcrumbs, BreadcrumbType, PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\r\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\r\nimport { PartialVideoList } from 'libs/shared/components/video-list/PartialVideoList';\r\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nimport { SeriesRequests } from 'shared/flight-requests/SeriesRequests';\r\nimport { Actions } from 'shared/constants/LiteActions';\r\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\r\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { EntityType, UserAction, LocationContext, WorkflowPhase, ToggleDescriptor } from 'libs/analytics/interfaces';\r\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\r\n\r\n/**\r\n * This will need to change when this is moved into its own application directory.\r\n */\r\nconst namespace = 'shared.series';\r\nconst getPhrase = LanguageService.encloseNamespace(namespace);\r\n\r\n// Update this applink when we pull dashboard in\r\nconst getClassificationAppLink = (classification: Classification): Core.AppLink => ({\r\n application: null,\r\n action: null,\r\n args: [classification.id]\r\n});\r\n\r\nconst getVideoAppLink = (video: Video): Core.AppLink => ({\r\n application: null,\r\n action: null,\r\n args: [video.id]\r\n});\r\n\r\nconst getSeriesAppLink = (series: Series): Core.AppLink => ({\r\n application: AppChannels.DEFAULT,\r\n action: Actions.Default.SERIES,\r\n args: [ series.id, TextHelper.slugify(series.name) ]\r\n});\r\n\r\nconst getHeaderActions = (): ActionOptions[] => ([\r\n {\r\n label: LanguageService.getPhrase(namespace, 'share'),\r\n appLink: { application: AppChannels.DEFAULT, action: 'index' },\r\n svgName: cvSvgLibrary.Share,\r\n className: 'btn btn-light mr-2',\r\n button: true\r\n },\r\n {\r\n label: LanguageService.getPhrase(namespace, 'follow'),\r\n appLink: { application: AppChannels.DEFAULT, action: 'index' },\r\n svgName: cvSvgLibrary.Edit, // TODO: Change to \"Follow\" icon\r\n className: 'btn btn-light',\r\n button: true\r\n }\r\n]);\r\n\r\ninterface SeriesViewProps {\r\n id: string;\r\n classificationId?: string;\r\n cursor?: string;\r\n}\r\n\r\nexport function SeriesView(props: SeriesViewProps): JSX.Element {\r\n const dispatch = useDispatch();\r\n\r\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config);\r\n const currentUser = Flight.useBasicFetch<User>(UserRequests.currentUser);\r\n const series = Flight.useBasicFetch<Series>(SeriesRequests.series(props.id));\r\n const seriesVideos = Flight.useBasicFetch<VideoCollection>(SeriesRequests.seriesVideos(props.id, props.cursor));\r\n\r\n useVideoMixin(seriesVideos.data);\r\n\r\n let breadcrumbs: BaseObject[] = [series.data];\r\n if (props.classificationId) {\r\n const subjectPath = Flight.useBasicFetch<Classification[]>(SeriesRequests.breadcrumbs(props.classificationId));\r\n if (subjectPath.data) {\r\n breadcrumbs.unshift(...subjectPath.data);\r\n }\r\n }\r\n\r\n function setFavourite(videoId: string, shouldFavourite: boolean, onError?: () => void): void {\r\n Flight.fetch(\r\n dispatch,\r\n FavouriteVideoRequests.updateIsVideoFavourited(videoId, currentUser.data.id, shouldFavourite, () => {\r\n AnalyticsHelper.logUserAction({ id: videoId }, {\r\n entity: EntityType.Video,\r\n actionType: UserAction.Favourite,\r\n descriptor: shouldFavourite ? ToggleDescriptor.On : ToggleDescriptor.Off,\r\n location: LocationContext.VideoThumbnail,\r\n workflowPhase: WorkflowPhase.Complete\r\n });\r\n }, onError)\r\n );\r\n }\r\n\r\n if (!seriesVideos.data || !config.data || !series.data)\r\n return <></>;\r\n\r\n const heading = getPhrase('series', { seriesName: series.data.name });\r\n\r\n return (\r\n <>\r\n <BannerHeader\r\n heading={heading}\r\n banner={null}\r\n imageCdnUrl={config.data.imageCdnUrl}\r\n backButtonAppLink={{\r\n application: AppChannels.DASHBOARD,\r\n action: Actions.Dashboard.HOME\r\n }}\r\n backButtonText='Home' // this needs to be changed eventually\r\n actions={getHeaderActions()}\r\n />\r\n <div>\r\n <div className='border-bottom py-3 mb-3'>\r\n {(props.classificationId && breadcrumbs.length < 2)\r\n ? <PartialBreadcrumbs />\r\n : <Breadcrumbs\r\n currentItem={series.data}\r\n type={BreadcrumbType.Static}\r\n getItemAppLink={getClassificationAppLink}\r\n data={breadcrumbs}\r\n rootItem={{\r\n label: getPhrase('dashboard'),\r\n appLink: {\r\n application: AppChannels.DASHBOARD,\r\n action: Actions.Dashboard.HOME\r\n }\r\n }}\r\n />\r\n }\r\n\r\n {series.data.description && (\r\n <p className='pt-3'>{series.data.description}</p>\r\n )}\r\n </div>\r\n\r\n {seriesVideos.data\r\n ? !seriesVideos.isFetching\r\n ? <VideoList\r\n videos={seriesVideos.data.data}\r\n cursors={seriesVideos.data.pagination.cursors}\r\n getVideoAppLink={getVideoAppLink}\r\n getSeriesAppLink={getSeriesAppLink}\r\n setFavourite={setFavourite}\r\n />\r\n : <PartialVideoList />\r\n : <>Empty State</>\r\n }\r\n </div>\r\n </>\r\n );\r\n}"],"sourceRoot":""}
|