@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,575 @@
|
|
|
1
|
+
(window["webpackJsonp_clickview_lite"] = window["webpackJsonp_clickview_lite"] || []).push([[14],{
|
|
2
|
+
|
|
3
|
+
/***/ "../../libs/shared/src/apps/subjects/components/audience-filter/AudienceFilter.tsx":
|
|
4
|
+
/*!*****************************************************************************************************************************!*\
|
|
5
|
+
!*** C:/ClickView/front-end/clickview/packages/libs/shared/src/apps/subjects/components/audience-filter/AudienceFilter.tsx ***!
|
|
6
|
+
\*****************************************************************************************************************************/
|
|
7
|
+
/*! exports provided: AudienceFilter, PartialAudienceFilter */
|
|
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__, "AudienceFilter", function() { return AudienceFilter; });
|
|
13
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PartialAudienceFilter", function() { return PartialAudienceFilter; });
|
|
14
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
15
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
16
|
+
/* harmony import */ var _utils_PartialLoadingHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../utils/PartialLoadingHelper */ "../../libs/shared/src/utils/PartialLoadingHelper.ts");
|
|
17
|
+
/* harmony import */ var _audience_item_AudienceItem__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../audience-item/AudienceItem */ "../../libs/shared/src/apps/subjects/components/audience-item/AudienceItem.tsx");
|
|
18
|
+
/* harmony import */ var _reducers_AudienceReducer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../reducers/AudienceReducer */ "../../libs/shared/src/apps/subjects/reducers/AudienceReducer.ts");
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
function AudienceFilter(props) {
|
|
24
|
+
var audiences = props.audiences,
|
|
25
|
+
activeAudiences = props.activeAudiences,
|
|
26
|
+
_setAudience = props.setAudience,
|
|
27
|
+
disabled = props.disabled;
|
|
28
|
+
if (!audiences || !audiences.length) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
|
|
29
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
30
|
+
className: 'pt-3'
|
|
31
|
+
}, audiences.map(function (a) {
|
|
32
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_audience_item_AudienceItem__WEBPACK_IMPORTED_MODULE_2__["AudienceItem"], {
|
|
33
|
+
key: a.masterId,
|
|
34
|
+
audience: a,
|
|
35
|
+
highlight: !!activeAudiences && !!activeAudiences[a.masterId],
|
|
36
|
+
setAudience: function setAudience(audience, isSelected) {
|
|
37
|
+
return _setAudience({
|
|
38
|
+
type: _reducers_AudienceReducer__WEBPACK_IMPORTED_MODULE_3__["AudienceActions"].Toggle,
|
|
39
|
+
payload: {
|
|
40
|
+
audience: audience,
|
|
41
|
+
isSelected: isSelected
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
},
|
|
45
|
+
isDisabled: disabled
|
|
46
|
+
});
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
var PARTIAL_AUDIENCES = _utils_PartialLoadingHelper__WEBPACK_IMPORTED_MODULE_1__["PartialLoadingHelper"].getPartialLoadingItems({
|
|
50
|
+
numItems: 6
|
|
51
|
+
});
|
|
52
|
+
var PartialAudienceFilter = function PartialAudienceFilter() {
|
|
53
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
54
|
+
className: 'pt-3'
|
|
55
|
+
}, PARTIAL_AUDIENCES.map(function (_ref, idx) {
|
|
56
|
+
var width = _ref.width;
|
|
57
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
|
|
58
|
+
key: idx,
|
|
59
|
+
className: 'd-inline-block badge-pill partial-loading-background mr-1',
|
|
60
|
+
dangerouslySetInnerHTML: {
|
|
61
|
+
__html: ' '
|
|
62
|
+
},
|
|
63
|
+
style: {
|
|
64
|
+
width: width
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}));
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
/***/ }),
|
|
71
|
+
|
|
72
|
+
/***/ "../../libs/shared/src/apps/subjects/components/audience-item/AudienceItem.tsx":
|
|
73
|
+
/*!*************************************************************************************************************************!*\
|
|
74
|
+
!*** C:/ClickView/front-end/clickview/packages/libs/shared/src/apps/subjects/components/audience-item/AudienceItem.tsx ***!
|
|
75
|
+
\*************************************************************************************************************************/
|
|
76
|
+
/*! exports provided: AudienceItem */
|
|
77
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
78
|
+
|
|
79
|
+
"use strict";
|
|
80
|
+
__webpack_require__.r(__webpack_exports__);
|
|
81
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AudienceItem", function() { return AudienceItem; });
|
|
82
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
83
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
84
|
+
/* harmony import */ var _audience_item_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./audience-item.scss */ "../../libs/shared/src/apps/subjects/components/audience-item/audience-item.scss");
|
|
85
|
+
/* harmony import */ var _audience_item_scss__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_audience_item_scss__WEBPACK_IMPORTED_MODULE_1__);
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
function lowerCaseToTitleCase(str) {
|
|
90
|
+
return str.split(' ').map(function (s) {
|
|
91
|
+
return s.charAt(0).toUpperCase() + s.substring(1);
|
|
92
|
+
}).join(' ');
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
function getColourClass(highlight, isDisabled) {
|
|
96
|
+
if (highlight) return 'badge-info text-light';
|
|
97
|
+
if (isDisabled) return "".concat(_audience_item_scss__WEBPACK_IMPORTED_MODULE_1___default.a.disabled, " text-muted");
|
|
98
|
+
return 'badge-light';
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
AudienceItem.defaultProps = {
|
|
102
|
+
extraClasses: ''
|
|
103
|
+
};
|
|
104
|
+
function AudienceItem(props) {
|
|
105
|
+
var audience = props.audience,
|
|
106
|
+
highlight = props.highlight,
|
|
107
|
+
setAudience = props.setAudience,
|
|
108
|
+
isDisabled = props.isDisabled,
|
|
109
|
+
extraClasses = props.extraClasses;
|
|
110
|
+
var colourClass = getColourClass(highlight, isDisabled);
|
|
111
|
+
var cursorClass = isDisabled ? 'cursor-default' : 'cursor-pointer';
|
|
112
|
+
var className = "badge-pill d-inline-block mr-1 ".concat(cursorClass, " ").concat(colourClass, " ").concat(extraClasses);
|
|
113
|
+
|
|
114
|
+
var onClick = function onClick() {
|
|
115
|
+
if (isDisabled) return;
|
|
116
|
+
setAudience(audience, !highlight);
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
|
|
120
|
+
className: className,
|
|
121
|
+
onClick: onClick,
|
|
122
|
+
role: 'checkbox',
|
|
123
|
+
"aria-checked": highlight
|
|
124
|
+
}, lowerCaseToTitleCase(audience.name));
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/***/ }),
|
|
128
|
+
|
|
129
|
+
/***/ "../../libs/shared/src/apps/subjects/components/audience-item/audience-item.scss":
|
|
130
|
+
/*!***************************************************************************************************************************!*\
|
|
131
|
+
!*** C:/ClickView/front-end/clickview/packages/libs/shared/src/apps/subjects/components/audience-item/audience-item.scss ***!
|
|
132
|
+
\***************************************************************************************************************************/
|
|
133
|
+
/*! no static exports found */
|
|
134
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
135
|
+
|
|
136
|
+
// extracted by mini-css-extract-plugin
|
|
137
|
+
module.exports = {"disabled":"cv--disabled--1KxF9"};
|
|
138
|
+
|
|
139
|
+
/***/ }),
|
|
140
|
+
|
|
141
|
+
/***/ "../../libs/shared/src/apps/subjects/hooks/useAudienceParams.tsx":
|
|
142
|
+
/*!***********************************************************************************************************!*\
|
|
143
|
+
!*** C:/ClickView/front-end/clickview/packages/libs/shared/src/apps/subjects/hooks/useAudienceParams.tsx ***!
|
|
144
|
+
\***********************************************************************************************************/
|
|
145
|
+
/*! exports provided: useParseAudienceParams */
|
|
146
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
147
|
+
|
|
148
|
+
"use strict";
|
|
149
|
+
__webpack_require__.r(__webpack_exports__);
|
|
150
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useParseAudienceParams", function() { return useParseAudienceParams; });
|
|
151
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
152
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
153
|
+
/* harmony import */ var _common_src_react_utils_ObjectHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../common/src/react/utils/ObjectHelper */ "../../libs/common/src/react/utils/ObjectHelper.ts");
|
|
154
|
+
/* harmony import */ var _reducers_AudienceReducer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../reducers/AudienceReducer */ "../../libs/shared/src/apps/subjects/reducers/AudienceReducer.ts");
|
|
155
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
156
|
+
|
|
157
|
+
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."); }
|
|
158
|
+
|
|
159
|
+
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); }
|
|
160
|
+
|
|
161
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
|
|
162
|
+
|
|
163
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
164
|
+
|
|
165
|
+
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; }
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
// Set initial state in some fashion
|
|
170
|
+
|
|
171
|
+
var SPACE_REGEX = /\s|\+/ig;
|
|
172
|
+
|
|
173
|
+
function normalizeAudienceName(audienceName) {
|
|
174
|
+
if (!audienceName) return '';
|
|
175
|
+
return audienceName.replace(SPACE_REGEX, '').toLowerCase();
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
function useParseAudienceParams(params, audiences, dispatch) {
|
|
179
|
+
var dependencies = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
180
|
+
react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](function () {
|
|
181
|
+
if (!_common_src_react_utils_ObjectHelper__WEBPACK_IMPORTED_MODULE_1__["ObjectHelper"].isObject(params) || _common_src_react_utils_ObjectHelper__WEBPACK_IMPORTED_MODULE_1__["ObjectHelper"].isEmpty(params)) return;
|
|
182
|
+
if (!audiences || !audiences.length) return; // 'a' is shorthand for audience
|
|
183
|
+
|
|
184
|
+
var a = params.a;
|
|
185
|
+
if (!a) return; // Only a single query param was passed, we'll wrap it in an array
|
|
186
|
+
|
|
187
|
+
if (typeof a === 'string') a = [a]; // Build an audience lookup
|
|
188
|
+
|
|
189
|
+
var audienceLookup = a.reduce(function (state, audienceStr) {
|
|
190
|
+
state[normalizeAudienceName(audienceStr)] = audienceStr;
|
|
191
|
+
return state;
|
|
192
|
+
}, {}); // Filter out our active audience based on whether their name matches the lookup object
|
|
193
|
+
|
|
194
|
+
var activeAudiences = audiences.filter(function (audience) {
|
|
195
|
+
return audienceLookup[normalizeAudienceName(audience.name)];
|
|
196
|
+
});
|
|
197
|
+
dispatch({
|
|
198
|
+
type: _reducers_AudienceReducer__WEBPACK_IMPORTED_MODULE_2__["AudienceActions"].Init,
|
|
199
|
+
payload: activeAudiences
|
|
200
|
+
});
|
|
201
|
+
}, _toConsumableArray(dependencies));
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/***/ }),
|
|
205
|
+
|
|
206
|
+
/***/ "../../libs/shared/src/apps/subjects/reducers/AudienceReducer.ts":
|
|
207
|
+
/*!***********************************************************************************************************!*\
|
|
208
|
+
!*** C:/ClickView/front-end/clickview/packages/libs/shared/src/apps/subjects/reducers/AudienceReducer.ts ***!
|
|
209
|
+
\***********************************************************************************************************/
|
|
210
|
+
/*! exports provided: AudienceActions, InitialAudienceState, AudienceReducer */
|
|
211
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
212
|
+
|
|
213
|
+
"use strict";
|
|
214
|
+
__webpack_require__.r(__webpack_exports__);
|
|
215
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AudienceActions", function() { return AudienceActions; });
|
|
216
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "InitialAudienceState", function() { return InitialAudienceState; });
|
|
217
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AudienceReducer", function() { return AudienceReducer; });
|
|
218
|
+
var AudienceActions;
|
|
219
|
+
|
|
220
|
+
(function (AudienceActions) {
|
|
221
|
+
AudienceActions["Init"] = "init";
|
|
222
|
+
AudienceActions["Toggle"] = "toggle";
|
|
223
|
+
})(AudienceActions || (AudienceActions = {}));
|
|
224
|
+
|
|
225
|
+
var InitialAudienceState = {};
|
|
226
|
+
|
|
227
|
+
function initSelectedAudiences(payload) {
|
|
228
|
+
var selectedAudiences = payload;
|
|
229
|
+
return selectedAudiences.reduce(function (state, audience) {
|
|
230
|
+
state[audience.masterId] = audience;
|
|
231
|
+
return state;
|
|
232
|
+
}, {});
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
function toggleSelectedAudience(prevState, payload) {
|
|
236
|
+
var audience = payload.audience;
|
|
237
|
+
var isSelected = payload.isSelected;
|
|
238
|
+
if (!audience) return prevState;
|
|
239
|
+
var id = audience.masterId;
|
|
240
|
+
var newState = Object.assign({}, prevState); // We want to activate a filter
|
|
241
|
+
|
|
242
|
+
if (isSelected) {
|
|
243
|
+
// Only update if it's not already in the object
|
|
244
|
+
if (!newState[id]) newState[id] = audience;
|
|
245
|
+
} else {
|
|
246
|
+
// We want to remove an existing active filter
|
|
247
|
+
delete newState[id];
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
return newState;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
function AudienceReducer(prevState, action) {
|
|
254
|
+
switch (action.type) {
|
|
255
|
+
case AudienceActions.Init:
|
|
256
|
+
return Object.assign(Object.assign({}, prevState), initSelectedAudiences(action.payload));
|
|
257
|
+
|
|
258
|
+
case AudienceActions.Toggle:
|
|
259
|
+
return Object.assign({}, toggleSelectedAudience(prevState, action.payload));
|
|
260
|
+
|
|
261
|
+
default:
|
|
262
|
+
return prevState;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
/***/ }),
|
|
267
|
+
|
|
268
|
+
/***/ "../../libs/shared/src/components/actions/ActionButton.tsx":
|
|
269
|
+
/*!*****************************************************************************************************!*\
|
|
270
|
+
!*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/actions/ActionButton.tsx ***!
|
|
271
|
+
\*****************************************************************************************************/
|
|
272
|
+
/*! exports provided: ActionButton */
|
|
273
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
274
|
+
|
|
275
|
+
"use strict";
|
|
276
|
+
__webpack_require__.r(__webpack_exports__);
|
|
277
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ActionButton", function() { return ActionButton; });
|
|
278
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
279
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
280
|
+
/* harmony import */ var _icon_button_IconButton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../icon-button/IconButton */ "../../libs/shared/src/components/icon-button/IconButton.tsx");
|
|
281
|
+
/* harmony import */ var _tooltip_Tooltip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../tooltip/Tooltip */ "../../libs/shared/src/components/tooltip/Tooltip.tsx");
|
|
282
|
+
/* harmony import */ var _app_link_AppLink__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../app-link/AppLink */ "../../libs/shared/src/components/app-link/AppLink.tsx");
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
function ActionButton(props) {
|
|
288
|
+
var className = 'ml-2';
|
|
289
|
+
if (props.className) className += " ".concat(props.className);
|
|
290
|
+
|
|
291
|
+
if (props.tooltip) {
|
|
292
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_tooltip_Tooltip__WEBPACK_IMPORTED_MODULE_2__["Tooltip"], {
|
|
293
|
+
title: props.tooltip
|
|
294
|
+
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_icon_button_IconButton__WEBPACK_IMPORTED_MODULE_1__["IconButton"], {
|
|
295
|
+
appLink: props.appLink,
|
|
296
|
+
svgName: props.svgName,
|
|
297
|
+
onClick: props.onClick,
|
|
298
|
+
className: className
|
|
299
|
+
}, props.children));
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
if (props.svgName) {
|
|
303
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_icon_button_IconButton__WEBPACK_IMPORTED_MODULE_1__["IconButton"], {
|
|
304
|
+
onClick: props.onClick,
|
|
305
|
+
appLink: props.appLink,
|
|
306
|
+
svgName: props.svgName,
|
|
307
|
+
className: className
|
|
308
|
+
}, props.children);
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
if (props.appLink) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_app_link_AppLink__WEBPACK_IMPORTED_MODULE_3__["AppLink"], {
|
|
312
|
+
onClick: props.onClick,
|
|
313
|
+
appLink: props.appLink,
|
|
314
|
+
className: className
|
|
315
|
+
}, props.children);
|
|
316
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("button", {
|
|
317
|
+
onClick: props.onClick,
|
|
318
|
+
className: className
|
|
319
|
+
}, props.children);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
/***/ }),
|
|
323
|
+
|
|
324
|
+
/***/ "../../libs/shared/src/components/actions/Actions.tsx":
|
|
325
|
+
/*!************************************************************************************************!*\
|
|
326
|
+
!*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/actions/Actions.tsx ***!
|
|
327
|
+
\************************************************************************************************/
|
|
328
|
+
/*! exports provided: Actions */
|
|
329
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
330
|
+
|
|
331
|
+
"use strict";
|
|
332
|
+
__webpack_require__.r(__webpack_exports__);
|
|
333
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Actions", function() { return Actions; });
|
|
334
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
335
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
336
|
+
/* harmony import */ var _ActionsDropdown__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ActionsDropdown */ "../../libs/shared/src/components/actions/ActionsDropdown.tsx");
|
|
337
|
+
/* harmony import */ var _ActionButton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ActionButton */ "../../libs/shared/src/components/actions/ActionButton.tsx");
|
|
338
|
+
/* harmony import */ var _actions_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./actions.scss */ "../../libs/shared/src/components/actions/actions.scss");
|
|
339
|
+
/* harmony import */ var _actions_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_actions_scss__WEBPACK_IMPORTED_MODULE_3__);
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
|
|
344
|
+
function Actions(props) {
|
|
345
|
+
var buttonActions = [];
|
|
346
|
+
var moreActions = [];
|
|
347
|
+
props.actions.forEach(function (a) {
|
|
348
|
+
if (a.button) buttonActions.push(a);else moreActions.push(a);
|
|
349
|
+
});
|
|
350
|
+
var className = 'd-flex';
|
|
351
|
+
if (props.className) className += " ".concat(props.className);
|
|
352
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
353
|
+
className: className
|
|
354
|
+
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, !!buttonActions.length && react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
|
|
355
|
+
className: _actions_scss__WEBPACK_IMPORTED_MODULE_3___default.a.buttonList
|
|
356
|
+
}, buttonActions.map(function (a, idx) {
|
|
357
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_ActionButton__WEBPACK_IMPORTED_MODULE_2__["ActionButton"], {
|
|
358
|
+
key: idx,
|
|
359
|
+
appLink: a.appLink,
|
|
360
|
+
onClick: a.onClick,
|
|
361
|
+
svgName: a.svgName,
|
|
362
|
+
className: a.className,
|
|
363
|
+
tooltip: a.tooltip
|
|
364
|
+
}, a.label);
|
|
365
|
+
})), props.sortComponent ? props.sortComponent : '', !!moreActions.length && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_ActionsDropdown__WEBPACK_IMPORTED_MODULE_1__["ActionsDropdown"], {
|
|
366
|
+
actions: moreActions,
|
|
367
|
+
className: !!buttonActions.length && 'ml-2',
|
|
368
|
+
dropdownToggleClassName: props.actionsDropdownClassName
|
|
369
|
+
})));
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
/***/ }),
|
|
373
|
+
|
|
374
|
+
/***/ "../../libs/shared/src/components/actions/ActionsDropdown.tsx":
|
|
375
|
+
/*!********************************************************************************************************!*\
|
|
376
|
+
!*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/actions/ActionsDropdown.tsx ***!
|
|
377
|
+
\********************************************************************************************************/
|
|
378
|
+
/*! exports provided: ActionsDropdown */
|
|
379
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
380
|
+
|
|
381
|
+
"use strict";
|
|
382
|
+
__webpack_require__.r(__webpack_exports__);
|
|
383
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ActionsDropdown", function() { return ActionsDropdown; });
|
|
384
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
385
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
386
|
+
/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-bootstrap */ "react-bootstrap");
|
|
387
|
+
/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_bootstrap__WEBPACK_IMPORTED_MODULE_1__);
|
|
388
|
+
/* harmony import */ var _common_src_react_utils_RandomHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../common/src/react/utils/RandomHelper */ "../../libs/common/src/react/utils/RandomHelper.ts");
|
|
389
|
+
/* harmony import */ var _svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../svg-container/SvgContainer */ "../../libs/shared/src/components/svg-container/SvgContainer.tsx");
|
|
390
|
+
/* harmony import */ var _app_link_AppLink__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../app-link/AppLink */ "../../libs/shared/src/components/app-link/AppLink.tsx");
|
|
391
|
+
/* harmony import */ var _utils_SvgHelper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/SvgHelper */ "../../libs/shared/src/utils/SvgHelper.ts");
|
|
392
|
+
/* harmony import */ var _actions_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./actions.scss */ "../../libs/shared/src/components/actions/actions.scss");
|
|
393
|
+
/* harmony import */ var _actions_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_actions_scss__WEBPACK_IMPORTED_MODULE_6__);
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
function getDropdownItemClassName(actionClassName) {
|
|
403
|
+
var className = 'dropdown-item';
|
|
404
|
+
if (actionClassName) className += " ".concat(actionClassName);
|
|
405
|
+
return className;
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
ActionsDropdown.defaultProps = {
|
|
409
|
+
dropdownToggleClassName: 'btn btn-light'
|
|
410
|
+
};
|
|
411
|
+
function ActionsDropdown(props) {
|
|
412
|
+
if (!props.actions || !props.actions.length) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null); // Generate unique id to avoid collisions.
|
|
413
|
+
|
|
414
|
+
var dropdownToggleId = "actions-dropdown-".concat(_common_src_react_utils_RandomHelper__WEBPACK_IMPORTED_MODULE_2__["RandomHelper"].getRandomInt());
|
|
415
|
+
var dropdownToggleClassName = "px-0 ".concat(_actions_scss__WEBPACK_IMPORTED_MODULE_6___default.a.dropdownToggle);
|
|
416
|
+
if (props.dropdownToggleClassName) dropdownToggleClassName += " ".concat(props.dropdownToggleClassName);
|
|
417
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Dropdown"], {
|
|
418
|
+
className: props.className ? props.className : '',
|
|
419
|
+
alignRight: true
|
|
420
|
+
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Dropdown"].Toggle, {
|
|
421
|
+
as: 'button',
|
|
422
|
+
type: 'button',
|
|
423
|
+
id: dropdownToggleId,
|
|
424
|
+
className: dropdownToggleClassName
|
|
425
|
+
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_3__["SvgContainer"], {
|
|
426
|
+
svgName: _utils_SvgHelper__WEBPACK_IMPORTED_MODULE_5__["cvSvgLibrary"].More,
|
|
427
|
+
size: _svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_3__["SvgContainerSize"].Small
|
|
428
|
+
})), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Dropdown"].Menu, null, props.actions.map(function (a, idx) {
|
|
429
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_app_link_AppLink__WEBPACK_IMPORTED_MODULE_4__["AppLink"], {
|
|
430
|
+
key: idx,
|
|
431
|
+
appLink: a.appLink,
|
|
432
|
+
onClick: a.onClick,
|
|
433
|
+
className: getDropdownItemClassName(a.className)
|
|
434
|
+
}, a.label);
|
|
435
|
+
})));
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
/***/ }),
|
|
439
|
+
|
|
440
|
+
/***/ "../../libs/shared/src/components/actions/actions.scss":
|
|
441
|
+
/*!*************************************************************************************************!*\
|
|
442
|
+
!*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/actions/actions.scss ***!
|
|
443
|
+
\*************************************************************************************************/
|
|
444
|
+
/*! no static exports found */
|
|
445
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
446
|
+
|
|
447
|
+
// extracted by mini-css-extract-plugin
|
|
448
|
+
module.exports = {"buttonList":"cv--buttonList--2v9CT","dropdownToggle":"cv--dropdownToggle--AYBvQ"};
|
|
449
|
+
|
|
450
|
+
/***/ }),
|
|
451
|
+
|
|
452
|
+
/***/ "../../libs/shared/src/components/widgets/items/series-widget-item/index.ts":
|
|
453
|
+
/*!**********************************************************************************************************************!*\
|
|
454
|
+
!*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/items/series-widget-item/index.ts ***!
|
|
455
|
+
\**********************************************************************************************************************/
|
|
456
|
+
/*! exports provided: SeriesWidgetItem, PartialSeriesList */
|
|
457
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
458
|
+
|
|
459
|
+
"use strict";
|
|
460
|
+
__webpack_require__.r(__webpack_exports__);
|
|
461
|
+
/* harmony import */ var _SeriesWidgetItem__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SeriesWidgetItem */ "../../libs/shared/src/components/widgets/items/series-widget-item/SeriesWidgetItem.tsx");
|
|
462
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SeriesWidgetItem", function() { return _SeriesWidgetItem__WEBPACK_IMPORTED_MODULE_0__["SeriesWidgetItem"]; });
|
|
463
|
+
|
|
464
|
+
/* harmony import */ var _PartialSeriesList__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PartialSeriesList */ "../../libs/shared/src/components/widgets/items/series-widget-item/PartialSeriesList.tsx");
|
|
465
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PartialSeriesList", function() { return _PartialSeriesList__WEBPACK_IMPORTED_MODULE_1__["PartialSeriesList"]; });
|
|
466
|
+
|
|
467
|
+
|
|
468
|
+
|
|
469
|
+
|
|
470
|
+
/***/ }),
|
|
471
|
+
|
|
472
|
+
/***/ "../../libs/shared/src/hooks/useQueryString.tsx":
|
|
473
|
+
/*!******************************************************************************************!*\
|
|
474
|
+
!*** C:/ClickView/front-end/clickview/packages/libs/shared/src/hooks/useQueryString.tsx ***!
|
|
475
|
+
\******************************************************************************************/
|
|
476
|
+
/*! exports provided: useSetQueryString */
|
|
477
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
478
|
+
|
|
479
|
+
"use strict";
|
|
480
|
+
__webpack_require__.r(__webpack_exports__);
|
|
481
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useSetQueryString", function() { return useSetQueryString; });
|
|
482
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
483
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
484
|
+
/* harmony import */ var _common_src_backbone__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/src/backbone */ "../../libs/common/src/backbone/index.ts");
|
|
485
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
486
|
+
|
|
487
|
+
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."); }
|
|
488
|
+
|
|
489
|
+
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); }
|
|
490
|
+
|
|
491
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
|
|
492
|
+
|
|
493
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
494
|
+
|
|
495
|
+
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; }
|
|
496
|
+
|
|
497
|
+
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
function isValidAppLink(appLink, isValid) {
|
|
501
|
+
if (!appLink) return false;
|
|
502
|
+
if (!appLink.application || !appLink.action) return false;
|
|
503
|
+
if (!isValid()) return false;
|
|
504
|
+
return true;
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
function useSetQueryString(queryOptions) {
|
|
508
|
+
var dependencies = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
509
|
+
react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](function () {
|
|
510
|
+
var appLink = queryOptions.appLink,
|
|
511
|
+
paramBuilder = queryOptions.paramBuilder,
|
|
512
|
+
isValid = queryOptions.isValid,
|
|
513
|
+
appLinkOptions = queryOptions.appLinkOptions;
|
|
514
|
+
if (!isValidAppLink(appLink, isValid)) return;
|
|
515
|
+
appLink.params = paramBuilder();
|
|
516
|
+
_common_src_backbone__WEBPACK_IMPORTED_MODULE_1__["Core"].AppLinkHelper.trigger(appLink, appLinkOptions);
|
|
517
|
+
}, _toConsumableArray(dependencies));
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
/***/ }),
|
|
521
|
+
|
|
522
|
+
/***/ "./src/apps/subjects/utils/ClassificationAppLinks.ts":
|
|
523
|
+
/*!***********************************************************!*\
|
|
524
|
+
!*** ./src/apps/subjects/utils/ClassificationAppLinks.ts ***!
|
|
525
|
+
\***********************************************************/
|
|
526
|
+
/*! exports provided: getClassificationAppLink, getSeriesSubviewAppLink, getPlaylistAppLink, getDashboardAppLink */
|
|
527
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
528
|
+
|
|
529
|
+
"use strict";
|
|
530
|
+
__webpack_require__.r(__webpack_exports__);
|
|
531
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getClassificationAppLink", function() { return getClassificationAppLink; });
|
|
532
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getSeriesSubviewAppLink", function() { return getSeriesSubviewAppLink; });
|
|
533
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getPlaylistAppLink", function() { return getPlaylistAppLink; });
|
|
534
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getDashboardAppLink", function() { return getDashboardAppLink; });
|
|
535
|
+
/* harmony import */ var _libs_common_src_react_utils_TextHelper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../libs/common/src/react/utils/TextHelper */ "../../libs/common/src/react/utils/TextHelper.ts");
|
|
536
|
+
/* harmony import */ var shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! shared/constants/LiteRadioChannels */ "./src/shared/constants/LiteRadioChannels.ts");
|
|
537
|
+
/* harmony import */ var shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! shared/constants/LiteActions */ "./src/shared/constants/LiteActions.ts");
|
|
538
|
+
|
|
539
|
+
|
|
540
|
+
|
|
541
|
+
var getClassificationAppLink = function getClassificationAppLink(params) {
|
|
542
|
+
return function (classification) {
|
|
543
|
+
return {
|
|
544
|
+
application: shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_1__["AppChannels"].SUBJECT,
|
|
545
|
+
action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_2__["Actions"].Subjects.CLASSIFICATION,
|
|
546
|
+
args: classification ? [classification.id, _libs_common_src_react_utils_TextHelper__WEBPACK_IMPORTED_MODULE_0__["TextHelper"].slugify(classification.name)] : [],
|
|
547
|
+
params: params ? params : {}
|
|
548
|
+
};
|
|
549
|
+
};
|
|
550
|
+
};
|
|
551
|
+
var getSeriesSubviewAppLink = function getSeriesSubviewAppLink(classification) {
|
|
552
|
+
return {
|
|
553
|
+
application: shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_1__["AppChannels"].SUBJECT,
|
|
554
|
+
action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_2__["Actions"].Subjects.CLASSIFICATION_SERIES,
|
|
555
|
+
args: classification ? [classification.id, _libs_common_src_react_utils_TextHelper__WEBPACK_IMPORTED_MODULE_0__["TextHelper"].slugify(classification.name)] : []
|
|
556
|
+
};
|
|
557
|
+
};
|
|
558
|
+
var getPlaylistAppLink = function getPlaylistAppLink(playlist) {
|
|
559
|
+
return {
|
|
560
|
+
application: shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_1__["AppChannels"].PLAYLISTS,
|
|
561
|
+
action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_2__["Actions"].Playlists.PLAYLIST,
|
|
562
|
+
args: [playlist.id, _libs_common_src_react_utils_TextHelper__WEBPACK_IMPORTED_MODULE_0__["TextHelper"].slugify(playlist.name)]
|
|
563
|
+
};
|
|
564
|
+
};
|
|
565
|
+
var getDashboardAppLink = function getDashboardAppLink() {
|
|
566
|
+
return {
|
|
567
|
+
application: shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_1__["AppChannels"].DASHBOARD,
|
|
568
|
+
action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_2__["Actions"].Dashboard.HOME
|
|
569
|
+
};
|
|
570
|
+
};
|
|
571
|
+
|
|
572
|
+
/***/ })
|
|
573
|
+
|
|
574
|
+
}]);
|
|
575
|
+
//# sourceMappingURL=14.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/libs/shared/src/apps/subjects/components/audience-filter/AudienceFilter.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/apps/subjects/components/audience-item/AudienceItem.tsx","webpack://@clickview/lite/C:/ClickView/front-end/clickview/packages/libs/shared/src/apps/subjects/components/audience-item/audience-item.scss?825b","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/apps/subjects/hooks/useAudienceParams.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/apps/subjects/reducers/AudienceReducer.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/actions/ActionButton.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/actions/Actions.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/actions/ActionsDropdown.tsx","webpack://@clickview/lite/C:/ClickView/front-end/clickview/packages/libs/shared/src/components/actions/actions.scss?9153","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/items/series-widget-item/index.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/hooks/useQueryString.tsx","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/subjects/utils/ClassificationAppLinks.ts"],"names":[],"mappings":"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","file":"scripts/14.chunk.js","sourcesContent":["import * as React from 'react';\r\nimport { ReducerActions } from 'libs/common/react/interfaces';\r\n\r\nimport { PresentationAudience } from 'libs/shared/interfaces';\r\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\r\nimport { AudienceItem } from '../audience-item/AudienceItem';\r\n\r\nimport { AudienceActions, ActiveAudiences } from 'libs/shared/apps/subjects/reducers/AudienceReducer';\r\n\r\ninterface AudienceFilterProps {\r\n audiences: PresentationAudience[];\r\n setAudience: React.Dispatch<ReducerActions<AudienceActions>>;\r\n activeAudiences?: ActiveAudiences;\r\n disabled?: boolean;\r\n}\r\n\r\nexport function AudienceFilter(props: AudienceFilterProps): React.ReactElement {\r\n const { audiences, activeAudiences, setAudience, disabled } = props;\r\n\r\n if (!audiences || !audiences.length)\r\n return <></>;\r\n\r\n return (\r\n <div className='pt-3'>\r\n {audiences.map((a: PresentationAudience) =>\r\n <AudienceItem\r\n key={a.masterId}\r\n audience={a}\r\n highlight={!!activeAudiences && !!activeAudiences[a.masterId]}\r\n setAudience={(audience: PresentationAudience, isSelected: boolean) => setAudience({\r\n type: AudienceActions.Toggle,\r\n payload: { audience, isSelected }\r\n })}\r\n isDisabled={disabled}\r\n />\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nconst PARTIAL_AUDIENCES = PartialLoadingHelper.getPartialLoadingItems({ numItems: 6 });\r\n\r\nexport const PartialAudienceFilter = () =>\r\n <div className='pt-3'>\r\n {PARTIAL_AUDIENCES.map(({ width }, idx) =>\r\n <span\r\n key={idx}\r\n className='d-inline-block badge-pill partial-loading-background mr-1'\r\n dangerouslySetInnerHTML={{ __html: ' ' }}\r\n style={{ width }}\r\n />\r\n )}\r\n </div>;","import * as React from 'react';\r\n\r\nimport { PresentationAudience } from 'libs/shared/interfaces';\r\n\r\nimport styles from './audience-item.scss';\r\n\r\nfunction lowerCaseToTitleCase(str: string): string {\r\n return str.split(' ').map((s: string) => s.charAt(0).toUpperCase() + s.substring(1)).join(' ');\r\n}\r\n\r\nfunction getColourClass(highlight: boolean, isDisabled: boolean): string {\r\n if (highlight) return 'badge-info text-light';\r\n if (isDisabled) return `${styles.disabled} text-muted`;\r\n return 'badge-light';\r\n}\r\n\r\ninterface AudienceItemProps {\r\n audience: PresentationAudience;\r\n highlight: boolean;\r\n setAudience?: (audience: PresentationAudience, highlight: boolean) => void;\r\n isDisabled?: boolean;\r\n extraClasses?: string;\r\n}\r\n\r\nAudienceItem.defaultProps = {\r\n extraClasses: ''\r\n};\r\n\r\nexport function AudienceItem(props: AudienceItemProps): React.ReactElement {\r\n const { audience, highlight, setAudience, isDisabled, extraClasses } = props;\r\n\r\n const colourClass = getColourClass(highlight, isDisabled);\r\n const cursorClass = isDisabled ? 'cursor-default' : 'cursor-pointer';\r\n const className = `badge-pill d-inline-block mr-1 ${cursorClass} ${colourClass} ${extraClasses}`;\r\n\r\n const onClick = () => {\r\n if (isDisabled)\r\n return;\r\n\r\n setAudience(audience, !highlight);\r\n };\r\n\r\n return (\r\n <span\r\n className={className}\r\n onClick={onClick}\r\n role='checkbox'\r\n aria-checked={highlight}\r\n >\r\n {lowerCaseToTitleCase(audience.name)}\r\n </span>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"disabled\":\"cv--disabled--1KxF9\"};","import * as React from 'react';\r\n\r\nimport { HashObject, ReducerActions } from 'libs/common/react/interfaces';\r\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\r\n\r\nimport { PresentationAudience } from 'libs/shared/interfaces';\r\nimport { AudienceActions } from 'libs/shared/apps/subjects/reducers/AudienceReducer';\r\n\r\n// Set initial state in some fashion\r\nconst SPACE_REGEX = /\\s|\\+/ig;\r\n\r\nfunction normalizeAudienceName(audienceName: string): string {\r\n if (!audienceName)\r\n return '';\r\n\r\n return audienceName.replace(SPACE_REGEX, '')\r\n .toLowerCase();\r\n}\r\n\r\nexport function useParseAudienceParams(\r\n params: HashObject,\r\n audiences: PresentationAudience[],\r\n dispatch: React.Dispatch<ReducerActions<AudienceActions>>,\r\n dependencies: any[] = []\r\n): void {\r\n\r\n React.useEffect(() => {\r\n if (!ObjectHelper.isObject(params) || ObjectHelper.isEmpty(params))\r\n return;\r\n\r\n if (!audiences || !audiences.length)\r\n return;\r\n\r\n // 'a' is shorthand for audience\r\n let { a } = params;\r\n\r\n if (!a)\r\n return;\r\n\r\n // Only a single query param was passed, we'll wrap it in an array \r\n if (typeof a === 'string')\r\n a = [a];\r\n\r\n // Build an audience lookup\r\n const audienceLookup = a.reduce((state: HashObject, audienceStr: string) => {\r\n state[normalizeAudienceName(audienceStr)] = audienceStr;\r\n return state;\r\n }, {});\r\n\r\n // Filter out our active audience based on whether their name matches the lookup object\r\n const activeAudiences = audiences.filter((audience: PresentationAudience) => {\r\n return audienceLookup[normalizeAudienceName(audience.name)];\r\n });\r\n\r\n dispatch({\r\n type: AudienceActions.Init,\r\n payload: activeAudiences\r\n });\r\n\r\n }, [...dependencies]);\r\n}\r\n","import { ReducerActions } from 'libs/common/react/interfaces';\r\nimport { PresentationAudience } from 'libs/shared/interfaces';\r\n\r\nexport enum AudienceActions {\r\n Init = 'init',\r\n Toggle = 'toggle'\r\n}\r\n\r\nexport interface ActiveAudiences {\r\n [audienceId: string]: PresentationAudience;\r\n}\r\n\r\nexport const InitialAudienceState: ActiveAudiences = {};\r\n\r\nfunction initSelectedAudiences(\r\n payload: any\r\n): ActiveAudiences {\r\n const selectedAudiences: PresentationAudience[] = payload;\r\n\r\n return selectedAudiences.reduce((state: ActiveAudiences, audience) => {\r\n state[audience.masterId] = audience;\r\n return state;\r\n }, {});\r\n}\r\n\r\nfunction toggleSelectedAudience (\r\n prevState: ActiveAudiences,\r\n payload: any\r\n): ActiveAudiences {\r\n const audience: PresentationAudience = payload.audience;\r\n const isSelected: boolean = payload.isSelected;\r\n\r\n if (!audience)\r\n return prevState;\r\n\r\n const id = audience.masterId;\r\n\r\n const newState = Object.assign({}, prevState);\r\n\r\n // We want to activate a filter\r\n if (isSelected) {\r\n\r\n // Only update if it's not already in the object\r\n if (!newState[id])\r\n newState[id] = audience;\r\n\r\n } else {\r\n // We want to remove an existing active filter\r\n delete newState[id];\r\n }\r\n\r\n return newState;\r\n}\r\n\r\nexport function AudienceReducer(\r\n prevState: ActiveAudiences,\r\n action: ReducerActions<AudienceActions>\r\n): ActiveAudiences {\r\n\r\n switch (action.type) {\r\n\r\n case AudienceActions.Init:\r\n return {\r\n ...prevState,\r\n ...initSelectedAudiences(action.payload)\r\n };\r\n\r\n case AudienceActions.Toggle:\r\n return {\r\n ...toggleSelectedAudience(prevState, action.payload)\r\n };\r\n\r\n default:\r\n return prevState;\r\n }\r\n}","import * as React from 'react';\r\n\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\r\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\n\r\ninterface ActionButtonProps {\r\n appLink?: Core.AppLink;\r\n onClick?: (e: React.MouseEvent) => void;\r\n svgName?: string;\r\n className?: string;\r\n tooltip?: string;\r\n}\r\n\r\nexport function ActionButton(props: React.PropsWithChildren<ActionButtonProps>): JSX.Element {\r\n let className = 'ml-2';\r\n\r\n if (props.className)\r\n className += ` ${props.className}`;\r\n\r\n if (props.tooltip) {\r\n return (\r\n <Tooltip title={props.tooltip}>\r\n <IconButton\r\n appLink={props.appLink}\r\n svgName={props.svgName}\r\n onClick={props.onClick}\r\n className={className}\r\n >\r\n {props.children}\r\n </IconButton>\r\n </Tooltip>\r\n );\r\n }\r\n\r\n if (props.svgName) {\r\n return (\r\n <IconButton\r\n onClick={props.onClick}\r\n appLink={props.appLink}\r\n svgName={props.svgName}\r\n className={className}\r\n >\r\n {props.children}\r\n </IconButton>\r\n );\r\n }\r\n\r\n if (props.appLink)\r\n return <AppLink onClick={props.onClick} appLink={props.appLink} className={className}>{props.children}</AppLink>;\r\n\r\n return (\r\n <button onClick={props.onClick} className={className}>\r\n {props.children}\r\n </button>\r\n );\r\n}","import * as React from 'react';\r\n\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { BaseObject } from 'libs/shared/interfaces';\r\n\r\nimport { ActionsDropdown } from './ActionsDropdown';\r\nimport { ActionButton } from './ActionButton';\r\n\r\nimport styles from './actions.scss';\r\n\r\nexport interface ActionOptions {\r\n label: string;\r\n appLink?: Core.AppLink;\r\n onClick?: (e: React.MouseEvent) => void;\r\n svgName?: string;\r\n className?: string;\r\n button?: boolean; // If true, a button will be rendered. Otherwise the action will be rendered in the dropdown.\r\n tooltip?: string;\r\n}\r\n\r\nexport type ActionGenerator = (obj: BaseObject) => ActionOptions[];\r\n\r\ninterface ActionsProps {\r\n actions: ActionOptions[];\r\n className?: string;\r\n actionsDropdownClassName?: string;\r\n sortComponent?: JSX.Element;\r\n}\r\n\r\nexport function Actions(props: ActionsProps): JSX.Element {\r\n const buttonActions: ActionOptions[] = [];\r\n const moreActions: ActionOptions[] = [];\r\n\r\n props.actions.forEach(a => {\r\n if (a.button)\r\n buttonActions.push(a);\r\n else\r\n moreActions.push(a);\r\n });\r\n\r\n let className = 'd-flex';\r\n\r\n if (props.className)\r\n className += ` ${props.className}`;\r\n\r\n return (\r\n <div className={className}>\r\n <>\r\n {!!buttonActions.length &&\r\n <span className={styles.buttonList}>\r\n {buttonActions.map((a, idx) =>\r\n <ActionButton\r\n key={idx}\r\n appLink={a.appLink}\r\n onClick={a.onClick}\r\n svgName={a.svgName}\r\n className={a.className}\r\n tooltip={a.tooltip}\r\n >\r\n {a.label}\r\n </ActionButton>\r\n )}\r\n </span>\r\n }\r\n {props.sortComponent ? props.sortComponent : '' }\r\n {!!moreActions.length &&\r\n <ActionsDropdown\r\n actions={moreActions}\r\n className={!!buttonActions.length && 'ml-2'}\r\n dropdownToggleClassName={props.actionsDropdownClassName}\r\n />\r\n }\r\n </>\r\n </div>\r\n );\r\n}","import * as React from 'react';\r\nimport { Dropdown } from 'react-bootstrap';\r\nimport { RandomHelper } from 'libs/common/react/utils/RandomHelper';\r\n\r\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nimport styles from './actions.scss';\r\n\r\nimport { ActionOptions } from './Actions';\r\n\r\nfunction getDropdownItemClassName(actionClassName?: string): string {\r\n let className = 'dropdown-item';\r\n\r\n if (actionClassName)\r\n className += ` ${actionClassName}`;\r\n\r\n return className;\r\n}\r\n\r\ntype DropdownActionOptions = Omit<ActionOptions, 'button' | 'tooltip'>;\r\n\r\ninterface ActionsDropdownProps {\r\n actions: DropdownActionOptions[];\r\n className?: string;\r\n dropdownToggleClassName?: string;\r\n}\r\n\r\nActionsDropdown.defaultProps = {\r\n dropdownToggleClassName: 'btn btn-light'\r\n};\r\n\r\nexport function ActionsDropdown(props: ActionsDropdownProps): React.ReactElement {\r\n if (!props.actions || !props.actions.length)\r\n return <></>;\r\n\r\n // Generate unique id to avoid collisions.\r\n const dropdownToggleId = `actions-dropdown-${RandomHelper.getRandomInt()}`;\r\n\r\n let dropdownToggleClassName = `px-0 ${styles.dropdownToggle}`;\r\n\r\n if (props.dropdownToggleClassName)\r\n dropdownToggleClassName += ` ${props.dropdownToggleClassName}`;\r\n\r\n return (\r\n <Dropdown className={props.className ? props.className : ''} alignRight>\r\n <Dropdown.Toggle as='button' type='button' id={dropdownToggleId} className={dropdownToggleClassName}>\r\n <SvgContainer svgName={cvSvgLibrary.More} size={SvgContainerSize.Small} />\r\n </Dropdown.Toggle>\r\n <Dropdown.Menu>\r\n {props.actions.map((a, idx) =>\r\n <AppLink key={idx} appLink={a.appLink} onClick={a.onClick} className={getDropdownItemClassName(a.className)}>\r\n {a.label}\r\n </AppLink>\r\n )}\r\n </Dropdown.Menu>\r\n </Dropdown>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonList\":\"cv--buttonList--2v9CT\",\"dropdownToggle\":\"cv--dropdownToggle--AYBvQ\"};","export * from './SeriesWidgetItem';\r\nexport * from './PartialSeriesList';","import * as React from 'react';\r\nimport { Core } from 'libs/common/core';\r\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\r\n\r\nfunction isValidAppLink(appLink: Core.AppLink, isValid?: () => boolean): boolean {\r\n if (!appLink)\r\n return false;\r\n\r\n if (!appLink.application || !appLink.action)\r\n return false;\r\n\r\n if (!isValid())\r\n return false;\r\n\r\n return true;\r\n}\r\n\r\nexport interface QueryStringOptions {\r\n appLink: Core.AppLink;\r\n paramBuilder: (...args: any[]) => HashObject;\r\n isValid?: (...args: any[]) => boolean;\r\n appLinkOptions?: Core.AppLinkOptions;\r\n}\r\n\r\nexport function useSetQueryString(\r\n queryOptions: QueryStringOptions,\r\n dependencies: any[] = []\r\n): void {\r\n React.useEffect(() => {\r\n const { appLink, paramBuilder, isValid, appLinkOptions } = queryOptions;\r\n\r\n if (!isValidAppLink(appLink, isValid))\r\n return;\r\n\r\n appLink.params = paramBuilder();\r\n\r\n Core.AppLinkHelper.trigger(appLink, appLinkOptions);\r\n\r\n }, [...dependencies]);\r\n}","import { Core } from 'libs/common/core';\r\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\r\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\r\nimport { Classification, Playlist } from 'libs/shared/interfaces';\r\n\r\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\r\nimport { Actions } from 'shared/constants/LiteActions';\r\n\r\nexport const getClassificationAppLink = (params?: HashObject) =>\r\n (classification?: Classification): Core.AppLink => ({\r\n application: AppChannels.SUBJECT,\r\n action: Actions.Subjects.CLASSIFICATION,\r\n args: classification ? [ classification.id, TextHelper.slugify(classification.name) ] : [],\r\n params: params ? params : {}\r\n });\r\n\r\nexport const getSeriesSubviewAppLink = (classification: Classification): Core.AppLink => ({\r\n application: AppChannels.SUBJECT,\r\n action: Actions.Subjects.CLASSIFICATION_SERIES,\r\n args: classification ? [ classification.id, TextHelper.slugify(classification.name) ] : []\r\n});\r\n\r\nexport const getPlaylistAppLink = (playlist: Playlist): Core.AppLink => ({\r\n application: AppChannels.PLAYLISTS,\r\n action: Actions.Playlists.PLAYLIST,\r\n args: [ playlist.id, TextHelper.slugify(playlist.name) ]\r\n});\r\n\r\nexport const getDashboardAppLink = (): Core.AppLink => ({\r\n application: AppChannels.DASHBOARD,\r\n action: Actions.Dashboard.HOME\r\n});"],"sourceRoot":""}
|