@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,359 @@
|
|
|
1
|
+
(window["webpackJsonp_clickview_lite"] = window["webpackJsonp_clickview_lite"] || []).push([[48],{
|
|
2
|
+
|
|
3
|
+
/***/ "../../libs/shared/src/flight-requests/PreferenceRequests.ts":
|
|
4
|
+
/*!*******************************************************************************************************!*\
|
|
5
|
+
!*** C:/ClickView/front-end/clickview/packages/libs/shared/src/flight-requests/PreferenceRequests.ts ***!
|
|
6
|
+
\*******************************************************************************************************/
|
|
7
|
+
/*! exports provided: PreferenceRequests */
|
|
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__, "PreferenceRequests", function() { return PreferenceRequests; });
|
|
13
|
+
/* harmony import */ var _common_src_backbone_utils_UrlHelper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/src/backbone/utils/UrlHelper */ "../../libs/common/src/backbone/utils/UrlHelper.ts");
|
|
14
|
+
/* harmony import */ var _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/src/backbone/enums/HttpVerbs */ "../../libs/common/src/backbone/enums/HttpVerbs.ts");
|
|
15
|
+
/* harmony import */ var _constants_WithStatements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants/WithStatements */ "../../libs/shared/src/constants/WithStatements.ts");
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
var classificationQuery = _constants_WithStatements__WEBPACK_IMPORTED_MODULE_2__["SharedWithStatements"].CLASSIFICATION;
|
|
20
|
+
var endpoints = {
|
|
21
|
+
// Subjects
|
|
22
|
+
allSubjectPreferences: function allSubjectPreferences() {
|
|
23
|
+
return "/api/domain/v1/subjects/preferences?query=".concat(classificationQuery);
|
|
24
|
+
},
|
|
25
|
+
mySubjectPreferences: function mySubjectPreferences() {
|
|
26
|
+
return "/api/domain/v1/subjects/classifications/following?query=".concat(classificationQuery);
|
|
27
|
+
},
|
|
28
|
+
followSubjects: function followSubjects() {
|
|
29
|
+
return '/api/domain/v1/subjects/classifications/following';
|
|
30
|
+
},
|
|
31
|
+
unfollowSubjects: function unfollowSubjects(ids) {
|
|
32
|
+
return _common_src_backbone_utils_UrlHelper__WEBPACK_IMPORTED_MODULE_0__["UrlHelper"].urlBuilder('/api/domain/v1/subjects/classifications/following', {
|
|
33
|
+
id: ids
|
|
34
|
+
});
|
|
35
|
+
},
|
|
36
|
+
// Levels
|
|
37
|
+
allLevelPreferences: function allLevelPreferences() {
|
|
38
|
+
return "/api/domain/v1/subjects/audiences";
|
|
39
|
+
},
|
|
40
|
+
myLevelPreferences: function myLevelPreferences() {
|
|
41
|
+
return "/api/domain/v1/subjects/audiences/following";
|
|
42
|
+
},
|
|
43
|
+
followLevels: function followLevels() {
|
|
44
|
+
return "/api/domain/v1/subjects/audiences/following";
|
|
45
|
+
},
|
|
46
|
+
unfollowLevels: function unfollowLevels(ids) {
|
|
47
|
+
return _common_src_backbone_utils_UrlHelper__WEBPACK_IMPORTED_MODULE_0__["UrlHelper"].urlBuilder('/api/domain/v1/subjects/audiences/following', {
|
|
48
|
+
id: ids
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
var PreferenceRequests = {
|
|
53
|
+
/**
|
|
54
|
+
* Subjects
|
|
55
|
+
*/
|
|
56
|
+
allSubjectPreferences: function allSubjectPreferences() {
|
|
57
|
+
return {
|
|
58
|
+
url: endpoints.allSubjectPreferences(),
|
|
59
|
+
key: "subject:preference:options"
|
|
60
|
+
};
|
|
61
|
+
},
|
|
62
|
+
mySubjectPreferences: function mySubjectPreferences() {
|
|
63
|
+
return {
|
|
64
|
+
url: endpoints.mySubjectPreferences(),
|
|
65
|
+
key: "my:subject:preferences",
|
|
66
|
+
normalize: false
|
|
67
|
+
};
|
|
68
|
+
},
|
|
69
|
+
followSubjects: function followSubjects(subjectIds, success, always) {
|
|
70
|
+
return {
|
|
71
|
+
url: endpoints.followSubjects(),
|
|
72
|
+
key: "follow:subjects",
|
|
73
|
+
data: subjectIds,
|
|
74
|
+
type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_1__["HttpVerbs"].POST,
|
|
75
|
+
success: success,
|
|
76
|
+
always: always,
|
|
77
|
+
invalidationKeys: ['my:subject:preferences']
|
|
78
|
+
};
|
|
79
|
+
},
|
|
80
|
+
unfollowSubjects: function unfollowSubjects(subjectIds, success, always) {
|
|
81
|
+
return {
|
|
82
|
+
url: endpoints.unfollowSubjects(subjectIds),
|
|
83
|
+
key: "unfollow:subjects",
|
|
84
|
+
type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_1__["HttpVerbs"].DELETE,
|
|
85
|
+
success: success,
|
|
86
|
+
always: always,
|
|
87
|
+
invalidationKeys: ['my:subject:preferences']
|
|
88
|
+
};
|
|
89
|
+
},
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Levels
|
|
93
|
+
*/
|
|
94
|
+
allLevelPreferences: function allLevelPreferences() {
|
|
95
|
+
return {
|
|
96
|
+
url: endpoints.allLevelPreferences(),
|
|
97
|
+
key: "level:preference:options",
|
|
98
|
+
normalize: false
|
|
99
|
+
};
|
|
100
|
+
},
|
|
101
|
+
myLevelPreferences: function myLevelPreferences() {
|
|
102
|
+
return {
|
|
103
|
+
url: endpoints.myLevelPreferences(),
|
|
104
|
+
key: "my:level:preferences",
|
|
105
|
+
normalize: false
|
|
106
|
+
};
|
|
107
|
+
},
|
|
108
|
+
followLevels: function followLevels(levelIds, success, always) {
|
|
109
|
+
return {
|
|
110
|
+
url: endpoints.followLevels(),
|
|
111
|
+
key: "follow:levels",
|
|
112
|
+
data: levelIds,
|
|
113
|
+
type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_1__["HttpVerbs"].POST,
|
|
114
|
+
success: success,
|
|
115
|
+
always: always,
|
|
116
|
+
invalidationKeys: ['my:level:preferences']
|
|
117
|
+
};
|
|
118
|
+
},
|
|
119
|
+
unfollowLevels: function unfollowLevels(levelIds, success, always) {
|
|
120
|
+
return {
|
|
121
|
+
url: endpoints.unfollowLevels(levelIds),
|
|
122
|
+
key: "unfollow:levels",
|
|
123
|
+
type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_1__["HttpVerbs"].DELETE,
|
|
124
|
+
success: success,
|
|
125
|
+
always: always,
|
|
126
|
+
invalidationKeys: ['my:level:preferences']
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
/***/ }),
|
|
132
|
+
|
|
133
|
+
/***/ "./src/apps/content-updates/views/content-updates/ContentUpdatesView.tsx":
|
|
134
|
+
/*!*******************************************************************************!*\
|
|
135
|
+
!*** ./src/apps/content-updates/views/content-updates/ContentUpdatesView.tsx ***!
|
|
136
|
+
\*******************************************************************************/
|
|
137
|
+
/*! exports provided: ContentUpdatesView */
|
|
138
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
139
|
+
|
|
140
|
+
"use strict";
|
|
141
|
+
__webpack_require__.r(__webpack_exports__);
|
|
142
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ContentUpdatesView", function() { return ContentUpdatesView; });
|
|
143
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
144
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
145
|
+
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! moment */ "moment");
|
|
146
|
+
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_1__);
|
|
147
|
+
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-redux */ "react-redux");
|
|
148
|
+
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_2__);
|
|
149
|
+
/* harmony import */ var _libs_common_src_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../libs/common/src/react */ "../../libs/common/src/react/index.ts");
|
|
150
|
+
/* harmony import */ var _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../../libs/common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
|
|
151
|
+
/* harmony import */ var _libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../../libs/analytics/src/AnalyticsHelper */ "../../libs/analytics/src/AnalyticsHelper.ts");
|
|
152
|
+
/* harmony import */ var _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../../../../libs/analytics/src/interfaces */ "../../libs/analytics/src/interfaces/index.ts");
|
|
153
|
+
/* harmony import */ var _libs_shared_src_flight_requests_PreferenceRequests__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/flight-requests/PreferenceRequests */ "../../libs/shared/src/flight-requests/PreferenceRequests.ts");
|
|
154
|
+
/* 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");
|
|
155
|
+
/* harmony import */ var _libs_shared_src_hooks_UseAlerts__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/hooks/UseAlerts */ "../../libs/shared/src/hooks/UseAlerts.ts");
|
|
156
|
+
/* harmony import */ var _libs_shared_src_hooks_UseBatchFetch__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/hooks/UseBatchFetch */ "../../libs/shared/src/hooks/UseBatchFetch.ts");
|
|
157
|
+
/* harmony import */ var _libs_shared_src_apps_content_updates_flight_requests_ContentUpdateRequests__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/apps/content-updates/flight-requests/ContentUpdateRequests */ "../../libs/shared/src/apps/content-updates/flight-requests/ContentUpdateRequests.ts");
|
|
158
|
+
/* harmony import */ var apps_content_updates_components__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! apps/content-updates/components */ "./src/apps/content-updates/components/index.ts");
|
|
159
|
+
/* harmony import */ var _components_ContentUpdateClassification__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./components/ContentUpdateClassification */ "./src/apps/content-updates/views/content-updates/components/ContentUpdateClassification.tsx");
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
var INITIAL_VIDEO_COUNT = 3;
|
|
175
|
+
var namespace = 'contentUpdates.contentUpdatesView';
|
|
176
|
+
|
|
177
|
+
function map(contentUpdates, videos, classifications) {
|
|
178
|
+
if (!contentUpdates || !videos || !classifications) return null;
|
|
179
|
+
return contentUpdates.map(function (c) {
|
|
180
|
+
return {
|
|
181
|
+
showMore: c.videos.length > INITIAL_VIDEO_COUNT,
|
|
182
|
+
classification: classifications[c.classificationId],
|
|
183
|
+
videos: c.videos.slice(0, INITIAL_VIDEO_COUNT).map(function (m) {
|
|
184
|
+
var video = videos[m.videoId];
|
|
185
|
+
if (!video) return null;
|
|
186
|
+
video.classification = classifications[m.classificationId];
|
|
187
|
+
return video;
|
|
188
|
+
}).filter(function (v) {
|
|
189
|
+
return v;
|
|
190
|
+
})
|
|
191
|
+
};
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
function ContentUpdatesView(props) {
|
|
196
|
+
var dispatch = Object(react_redux__WEBPACK_IMPORTED_MODULE_2__["useDispatch"])();
|
|
197
|
+
var alerts = Object(_libs_shared_src_hooks_UseAlerts__WEBPACK_IMPORTED_MODULE_9__["useAlerts"])();
|
|
198
|
+
var from = moment__WEBPACK_IMPORTED_MODULE_1__().subtract(1, 'year').toISOString();
|
|
199
|
+
var to = moment__WEBPACK_IMPORTED_MODULE_1__().toISOString();
|
|
200
|
+
var config = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_3__["Flight"].useBasicFetch(_libs_shared_src_flight_requests_ConfigRequests__WEBPACK_IMPORTED_MODULE_8__["ConfigRequests"].config);
|
|
201
|
+
var contentUpdates = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_3__["Flight"].useBasicFetch(_libs_shared_src_apps_content_updates_flight_requests_ContentUpdateRequests__WEBPACK_IMPORTED_MODULE_11__["ContentUpdateRequests"].getContentUpdates(from, to));
|
|
202
|
+
var subjectPreferences = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_3__["Flight"].useBasicFetch(_libs_shared_src_flight_requests_PreferenceRequests__WEBPACK_IMPORTED_MODULE_7__["PreferenceRequests"].mySubjectPreferences());
|
|
203
|
+
/* Map content update response into list of video ids and classification ids*/
|
|
204
|
+
|
|
205
|
+
var videoIds = [];
|
|
206
|
+
var classificationIds = [];
|
|
207
|
+
contentUpdates.data && contentUpdates.data.forEach(function (c) {
|
|
208
|
+
classificationIds.push(c.classificationId);
|
|
209
|
+
c.videos.slice(0, INITIAL_VIDEO_COUNT).forEach(function (v) {
|
|
210
|
+
videoIds.push(v.video.id);
|
|
211
|
+
classificationIds.push(v.classificationId);
|
|
212
|
+
});
|
|
213
|
+
});
|
|
214
|
+
/* Batch fetch the videos and classifications by id */
|
|
215
|
+
|
|
216
|
+
var videos = Object(_libs_shared_src_hooks_UseBatchFetch__WEBPACK_IMPORTED_MODULE_10__["useBatchFetch"])(videoIds, function (ids) {
|
|
217
|
+
return _libs_shared_src_apps_content_updates_flight_requests_ContentUpdateRequests__WEBPACK_IMPORTED_MODULE_11__["ContentUpdateRequests"].videos(ids);
|
|
218
|
+
});
|
|
219
|
+
var classifications = Object(_libs_shared_src_hooks_UseBatchFetch__WEBPACK_IMPORTED_MODULE_10__["useBatchFetch"])(classificationIds, function (ids) {
|
|
220
|
+
return _libs_shared_src_apps_content_updates_flight_requests_ContentUpdateRequests__WEBPACK_IMPORTED_MODULE_11__["ContentUpdateRequests"].getClassifications(ids);
|
|
221
|
+
});
|
|
222
|
+
/** Callbacks */
|
|
223
|
+
|
|
224
|
+
function onFollow(classificationId, follow) {
|
|
225
|
+
var onSuccess = function onSuccess() {
|
|
226
|
+
_libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_5__["AnalyticsHelper"].logUserAction({
|
|
227
|
+
id: classificationId
|
|
228
|
+
}, {
|
|
229
|
+
location: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_6__["LocationContext"].ContentUpdatesClassificationBanner,
|
|
230
|
+
workflowPhase: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_6__["WorkflowPhase"].Complete,
|
|
231
|
+
descriptor: follow ? _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_6__["ToggleDescriptor"].On : _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_6__["ToggleDescriptor"].Off,
|
|
232
|
+
actionType: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_6__["UserAction"].Follow,
|
|
233
|
+
entity: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_6__["EntityType"].Classification
|
|
234
|
+
});
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
var always = function always() {
|
|
238
|
+
alerts.success(_libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_4__["LanguageService"].getPhrase(namespace, follow ? 'followed' : 'unfollowed', {
|
|
239
|
+
classification: classifications[classificationId].name
|
|
240
|
+
}));
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
var request = follow ? _libs_shared_src_flight_requests_PreferenceRequests__WEBPACK_IMPORTED_MODULE_7__["PreferenceRequests"].followSubjects([classificationId], onSuccess, always) : _libs_shared_src_flight_requests_PreferenceRequests__WEBPACK_IMPORTED_MODULE_7__["PreferenceRequests"].unfollowSubjects([classificationId], onSuccess, always);
|
|
244
|
+
_libs_common_src_react__WEBPACK_IMPORTED_MODULE_3__["Flight"].fetch(dispatch, request);
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
if (!contentUpdates.data || !config.data || !subjectPreferences.data || !videos || !classifications) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
|
|
248
|
+
/* Build out array of content updates from our lists of videos and classifications */
|
|
249
|
+
|
|
250
|
+
var mappedUpdates = map(contentUpdates.data, videos, classifications);
|
|
251
|
+
var preferredSubjectIds = subjectPreferences.data.map(function (subject) {
|
|
252
|
+
return subject.id;
|
|
253
|
+
});
|
|
254
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
255
|
+
className: 'bg-white padding-gutter content-updates'
|
|
256
|
+
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](apps_content_updates_components__WEBPACK_IMPORTED_MODULE_12__["WhatsNewBreadcrumbs"], {
|
|
257
|
+
dashboardAppLink: props.appLinks.dashboardAppLink
|
|
258
|
+
}), mappedUpdates.map(function (c) {
|
|
259
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_ContentUpdateClassification__WEBPACK_IMPORTED_MODULE_13__["ContentUpdateClassification"], {
|
|
260
|
+
classification: c.classification,
|
|
261
|
+
videos: c.videos,
|
|
262
|
+
imageCdnUrl: config.data.imageCdnUrl,
|
|
263
|
+
showMore: c.showMore,
|
|
264
|
+
key: c.classification.id,
|
|
265
|
+
appLinks: props.appLinks,
|
|
266
|
+
followed: preferredSubjectIds.includes(c.classification.id),
|
|
267
|
+
follow: onFollow
|
|
268
|
+
});
|
|
269
|
+
}));
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/***/ }),
|
|
273
|
+
|
|
274
|
+
/***/ "./src/apps/content-updates/views/content-updates/components/ContentUpdateClassification.tsx":
|
|
275
|
+
/*!***************************************************************************************************!*\
|
|
276
|
+
!*** ./src/apps/content-updates/views/content-updates/components/ContentUpdateClassification.tsx ***!
|
|
277
|
+
\***************************************************************************************************/
|
|
278
|
+
/*! exports provided: ContentUpdateClassification */
|
|
279
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
280
|
+
|
|
281
|
+
"use strict";
|
|
282
|
+
__webpack_require__.r(__webpack_exports__);
|
|
283
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ContentUpdateClassification", function() { return ContentUpdateClassification; });
|
|
284
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
285
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
286
|
+
/* harmony import */ var _libs_shared_src_components_app_link_AppLink__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../../libs/shared/src/components/app-link/AppLink */ "../../libs/shared/src/components/app-link/AppLink.tsx");
|
|
287
|
+
/* 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");
|
|
288
|
+
/* harmony import */ var _libs_shared_src_utils_ImageHelper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../../libs/shared/src/utils/ImageHelper */ "../../libs/shared/src/utils/ImageHelper.ts");
|
|
289
|
+
/* harmony import */ var _libs_shared_src_enums_Images__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../../../libs/shared/src/enums/Images */ "../../libs/shared/src/enums/Images.ts");
|
|
290
|
+
/* harmony import */ var apps_content_updates_components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! apps/content-updates/components */ "./src/apps/content-updates/components/index.ts");
|
|
291
|
+
/* harmony import */ var apps_playlists_components_video_list__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! apps/playlists/components/video-list */ "./src/apps/playlists/components/video-list/index.ts");
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
var namespace = 'contentUpdates.contentUpdatesView';
|
|
300
|
+
function ContentUpdateClassification(props) {
|
|
301
|
+
var classification = props.classification,
|
|
302
|
+
videos = props.videos,
|
|
303
|
+
imageCdnUrl = props.imageCdnUrl,
|
|
304
|
+
showMore = props.showMore,
|
|
305
|
+
followed = props.followed;
|
|
306
|
+
var url = _libs_shared_src_utils_ImageHelper__WEBPACK_IMPORTED_MODULE_3__["ImageHelper"].createBannerUrl(classification.banner, {
|
|
307
|
+
fallbackBaseUrl: imageCdnUrl,
|
|
308
|
+
fallbackCategoryName: classification.name,
|
|
309
|
+
type: _libs_shared_src_enums_Images__WEBPACK_IMPORTED_MODULE_4__["ImageType"].Banners
|
|
310
|
+
});
|
|
311
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
312
|
+
className: 'mb-3'
|
|
313
|
+
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](apps_content_updates_components__WEBPACK_IMPORTED_MODULE_5__["ClassificationBanner"], {
|
|
314
|
+
classification: classification,
|
|
315
|
+
backgroundUrl: url,
|
|
316
|
+
getClassificationAppLink: props.appLinks.getClassificationAppLink,
|
|
317
|
+
followed: followed,
|
|
318
|
+
follow: props.follow
|
|
319
|
+
}), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](apps_playlists_components_video_list__WEBPACK_IMPORTED_MODULE_6__["SortableVideoListContainer"], {
|
|
320
|
+
playlistId: '0',
|
|
321
|
+
isUserSignedIn: true,
|
|
322
|
+
onSortComplete: function onSortComplete() {},
|
|
323
|
+
videos: videos,
|
|
324
|
+
getVideoAppLink: props.appLinks.getVideoAppLink,
|
|
325
|
+
getSeriesAppLink: props.appLinks.getSeriesAppLink
|
|
326
|
+
}), showMore && react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
327
|
+
className: 'show-more'
|
|
328
|
+
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_app_link_AppLink__WEBPACK_IMPORTED_MODULE_1__["AppLink"], {
|
|
329
|
+
className: 'info-link',
|
|
330
|
+
appLink: props.appLinks.getClassificationUpdateAppLink(classification)
|
|
331
|
+
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_2__["Text"], {
|
|
332
|
+
namespace: namespace,
|
|
333
|
+
phrase: 'showMore',
|
|
334
|
+
options: {
|
|
335
|
+
classificationName: classification.name
|
|
336
|
+
}
|
|
337
|
+
}))));
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
/***/ }),
|
|
341
|
+
|
|
342
|
+
/***/ "./src/apps/playlists/components/video-list/index.ts":
|
|
343
|
+
/*!***********************************************************!*\
|
|
344
|
+
!*** ./src/apps/playlists/components/video-list/index.ts ***!
|
|
345
|
+
\***********************************************************/
|
|
346
|
+
/*! exports provided: SortableVideoListContainer */
|
|
347
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
348
|
+
|
|
349
|
+
"use strict";
|
|
350
|
+
__webpack_require__.r(__webpack_exports__);
|
|
351
|
+
/* harmony import */ var _SortableVideoListContainer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SortableVideoListContainer */ "./src/apps/playlists/components/video-list/SortableVideoListContainer.tsx");
|
|
352
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SortableVideoListContainer", function() { return _SortableVideoListContainer__WEBPACK_IMPORTED_MODULE_0__["SortableVideoListContainer"]; });
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
/***/ })
|
|
357
|
+
|
|
358
|
+
}]);
|
|
359
|
+
//# sourceMappingURL=48.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/libs/shared/src/flight-requests/PreferenceRequests.ts","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/content-updates/views/content-updates/ContentUpdatesView.tsx","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/content-updates/views/content-updates/components/ContentUpdateClassification.tsx","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/playlists/components/video-list/index.ts"],"names":[],"mappings":"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","file":"scripts/48.chunk.js","sourcesContent":["import { Flight } from 'libs/common/flight';\r\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\r\nimport { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\r\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\r\n\r\nconst classificationQuery = SharedWithStatements.CLASSIFICATION;\r\n\r\nconst endpoints = {\r\n // Subjects\r\n allSubjectPreferences: () => `/api/domain/v1/subjects/preferences?query=${classificationQuery}`,\r\n mySubjectPreferences: () => `/api/domain/v1/subjects/classifications/following?query=${classificationQuery}`,\r\n followSubjects: () => '/api/domain/v1/subjects/classifications/following',\r\n unfollowSubjects: (ids: string[]) => UrlHelper.urlBuilder('/api/domain/v1/subjects/classifications/following', { id: ids }),\r\n\r\n // Levels\r\n allLevelPreferences: () => `/api/domain/v1/subjects/audiences`,\r\n myLevelPreferences: () => `/api/domain/v1/subjects/audiences/following`,\r\n followLevels: () => `/api/domain/v1/subjects/audiences/following`,\r\n unfollowLevels: (ids: string[]) => UrlHelper.urlBuilder('/api/domain/v1/subjects/audiences/following', { id: ids })\r\n};\r\n\r\nexport const PreferenceRequests = {\r\n /**\r\n * Subjects\r\n */\r\n allSubjectPreferences(): Flight.Request {\r\n return {\r\n url: endpoints.allSubjectPreferences(),\r\n key: `subject:preference:options`\r\n };\r\n },\r\n\r\n mySubjectPreferences(): Flight.Request {\r\n return {\r\n url: endpoints.mySubjectPreferences(),\r\n key: `my:subject:preferences`,\r\n normalize: false\r\n };\r\n },\r\n\r\n followSubjects(subjectIds: string[], success: () => void, always: () => void): Flight.Request {\r\n return {\r\n url: endpoints.followSubjects(),\r\n key: `follow:subjects`,\r\n data: subjectIds,\r\n type: HttpVerbs.POST,\r\n success,\r\n always,\r\n invalidationKeys: ['my:subject:preferences']\r\n };\r\n },\r\n\r\n unfollowSubjects(subjectIds: string[], success: () => void, always: () => void): Flight.Request {\r\n return {\r\n url: endpoints.unfollowSubjects(subjectIds),\r\n key: `unfollow:subjects`,\r\n type: HttpVerbs.DELETE,\r\n success,\r\n always,\r\n invalidationKeys: ['my:subject:preferences']\r\n };\r\n },\r\n\r\n /**\r\n * Levels\r\n */\r\n allLevelPreferences(): Flight.Request {\r\n return {\r\n url: endpoints.allLevelPreferences(),\r\n key: `level:preference:options`,\r\n normalize: false\r\n };\r\n },\r\n\r\n myLevelPreferences(): Flight.Request {\r\n return {\r\n url: endpoints.myLevelPreferences(),\r\n key: `my:level:preferences`,\r\n normalize: false\r\n };\r\n },\r\n\r\n followLevels(levelIds: string[], success: () => void, always: () => void): Flight.Request {\r\n return {\r\n url: endpoints.followLevels(),\r\n key: `follow:levels`,\r\n data: levelIds,\r\n type: HttpVerbs.POST,\r\n success,\r\n always,\r\n invalidationKeys: ['my:level:preferences']\r\n };\r\n },\r\n\r\n unfollowLevels(levelIds: string[], success: () => void, always: () => void): Flight.Request {\r\n return {\r\n url: endpoints.unfollowLevels(levelIds),\r\n key: `unfollow:levels`,\r\n type: HttpVerbs.DELETE,\r\n success,\r\n always,\r\n invalidationKeys: ['my:level:preferences']\r\n };\r\n }\r\n};","import * as React from 'react';\r\nimport * as moment from 'moment';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport { Flight } from 'libs/common/flight';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { Classification, Config } from 'libs/shared/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { LocationContext, WorkflowPhase, UserAction, EntityType, ToggleDescriptor } from 'libs/analytics/interfaces';\r\nimport { PreferenceRequests } from 'libs/shared/flight-requests/PreferenceRequests';\r\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\r\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\r\nimport { useBatchFetch } from 'libs/shared/hooks/UseBatchFetch';\r\nimport { ContentUpdateRequests } from 'libs/shared/apps/content-updates/flight-requests/ContentUpdateRequests';\r\nimport { ContentUpdateAppLinks, VideoWithClassification, ContentUpdate, ClassificationVideosGrouping } from 'libs/shared/apps/content-updates/interfaces';\r\n\r\nimport { WhatsNewBreadcrumbs } from 'apps/content-updates/components';\r\n\r\nimport { ContentUpdateClassification } from './components/ContentUpdateClassification';\r\n\r\nconst INITIAL_VIDEO_COUNT = 3;\r\nconst namespace = 'contentUpdates.contentUpdatesView';\r\n\r\nfunction map(\r\n contentUpdates: ClassificationVideosGrouping[],\r\n videos: {[key: string]: VideoWithClassification},\r\n classifications: {[key: string]: Classification}\r\n): ContentUpdate[] {\r\n if (!contentUpdates || !videos || !classifications)\r\n return null;\r\n\r\n return contentUpdates.map((c): ContentUpdate => {\r\n return {\r\n showMore: c.videos.length > INITIAL_VIDEO_COUNT,\r\n classification: classifications[c.classificationId],\r\n videos: c.videos.slice(0, INITIAL_VIDEO_COUNT).map((m: any) => {\r\n const video = videos[m.videoId];\r\n if (!video)\r\n return null;\r\n\r\n video.classification = classifications[m.classificationId];\r\n return video;\r\n }).filter(v => v)\r\n };\r\n });\r\n}\r\n\r\ninterface ContentUpdatesViewProps {\r\n appLinks: ContentUpdateAppLinks;\r\n}\r\n\r\nexport function ContentUpdatesView(props: ContentUpdatesViewProps): JSX.Element {\r\n const dispatch = useDispatch();\r\n const alerts = useAlerts();\r\n\r\n const from = moment().subtract(1, 'year').toISOString();\r\n const to = moment().toISOString();\r\n\r\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config);\r\n const contentUpdates = Flight.useBasicFetch<ClassificationVideosGrouping[]>(\r\n ContentUpdateRequests.getContentUpdates(from, to)\r\n );\r\n const subjectPreferences = Flight.useBasicFetch<Classification[]>(PreferenceRequests.mySubjectPreferences());\r\n\r\n /* Map content update response into list of video ids and classification ids*/\r\n const videoIds: string[] = [];\r\n const classificationIds: string[] = [];\r\n contentUpdates.data && contentUpdates.data.forEach(c => {\r\n classificationIds.push(c.classificationId);\r\n c.videos.slice(0, INITIAL_VIDEO_COUNT).forEach(v => {\r\n videoIds.push(v.video.id);\r\n classificationIds.push(v.classificationId);\r\n });\r\n });\r\n\r\n /* Batch fetch the videos and classifications by id */\r\n const videos = useBatchFetch<VideoWithClassification>(\r\n videoIds, (ids: string[]) => ContentUpdateRequests.videos(ids));\r\n const classifications = useBatchFetch<Classification>(\r\n classificationIds, (ids: string[]) => ContentUpdateRequests.getClassifications(ids));\r\n\r\n /** Callbacks */\r\n function onFollow(classificationId: string, follow: boolean): void {\r\n const onSuccess = () => {\r\n AnalyticsHelper.logUserAction({\r\n id: classificationId\r\n }, {\r\n location: LocationContext.ContentUpdatesClassificationBanner,\r\n workflowPhase: WorkflowPhase.Complete,\r\n descriptor: follow ? ToggleDescriptor.On : ToggleDescriptor.Off,\r\n actionType: UserAction.Follow,\r\n entity: EntityType.Classification\r\n });\r\n };\r\n\r\n const always = () => {\r\n alerts.success(LanguageService.getPhrase(\r\n namespace,\r\n follow ? 'followed' : 'unfollowed',\r\n { classification: classifications[classificationId].name }\r\n ));\r\n };\r\n\r\n const request = follow ?\r\n PreferenceRequests.followSubjects([classificationId], onSuccess, always) :\r\n PreferenceRequests.unfollowSubjects([classificationId], onSuccess, always);\r\n\r\n Flight.fetch(dispatch, request);\r\n }\r\n\r\n if (!contentUpdates.data || !config.data || !subjectPreferences.data || !videos || !classifications)\r\n return <></>;\r\n\r\n /* Build out array of content updates from our lists of videos and classifications */\r\n const mappedUpdates = map(contentUpdates.data, videos, classifications);\r\n const preferredSubjectIds = subjectPreferences.data.map(subject => subject.id);\r\n\r\n return (\r\n <div className='bg-white padding-gutter content-updates'>\r\n <WhatsNewBreadcrumbs\r\n dashboardAppLink={props.appLinks.dashboardAppLink}\r\n />\r\n {mappedUpdates.map((c: ContentUpdate) => (\r\n <ContentUpdateClassification\r\n classification={c.classification}\r\n videos={c.videos}\r\n imageCdnUrl={config.data.imageCdnUrl}\r\n showMore={c.showMore}\r\n key={c.classification.id}\r\n appLinks={props.appLinks}\r\n followed={preferredSubjectIds.includes(c.classification.id)}\r\n follow={onFollow}\r\n />\r\n ))}\r\n </div>\r\n );\r\n}","import * as React from 'react';\r\n\r\nimport { Classification } from 'libs/shared/interfaces';\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\nimport { Text } from 'libs/shared/components/text/Text';\r\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\r\nimport { ImageType } from 'libs/shared/enums/Images';\r\nimport { VideoWithClassification, ContentUpdateAppLinks } from 'libs/shared/apps/content-updates/interfaces';\r\n\r\nimport { ClassificationBanner } from 'apps/content-updates/components';\r\nimport { SortableVideoListContainer } from 'apps/playlists/components/video-list';\r\n\r\nconst namespace = 'contentUpdates.contentUpdatesView';\r\n\r\ninterface ClassificationProps {\r\n classification: Classification;\r\n videos: VideoWithClassification[];\r\n imageCdnUrl: string;\r\n showMore: boolean;\r\n // reason: any;\r\n appLinks: ContentUpdateAppLinks;\r\n followed: boolean;\r\n follow: (classificationId: string, follow: boolean) => void;\r\n}\r\n\r\nexport function ContentUpdateClassification(props: ClassificationProps): JSX.Element {\r\n const { classification, videos, imageCdnUrl, showMore, followed } = props;\r\n\r\n const url = ImageHelper.createBannerUrl(classification.banner, {\r\n fallbackBaseUrl: imageCdnUrl,\r\n fallbackCategoryName: classification.name,\r\n type: ImageType.Banners\r\n });\r\n\r\n return (\r\n <div className='mb-3'>\r\n <ClassificationBanner\r\n classification={classification}\r\n backgroundUrl={url}\r\n getClassificationAppLink={props.appLinks.getClassificationAppLink}\r\n followed={followed}\r\n follow={props.follow}\r\n />\r\n <SortableVideoListContainer\r\n playlistId={'0'}\r\n isUserSignedIn={true}\r\n onSortComplete={() => {}}\r\n videos={videos}\r\n getVideoAppLink={props.appLinks.getVideoAppLink}\r\n getSeriesAppLink={props.appLinks.getSeriesAppLink}\r\n />\r\n {showMore &&\r\n <div className={'show-more'}>\r\n <AppLink className='info-link' appLink={props.appLinks.getClassificationUpdateAppLink(classification)}>\r\n <Text namespace={namespace} phrase='showMore' options={{\r\n classificationName: classification.name\r\n }} />\r\n </AppLink>\r\n </div>\r\n }\r\n </div>\r\n );\r\n}","export * from './SortableVideoListContainer';"],"sourceRoot":""}
|