@clickview/lite 0.0.20-rc.1 → 0.0.20
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/scripts/{bundle-df3f2fe30a.min.js → bundle-0a051d30d1.min.js} +1 -1
- package/dist/scripts/bundles.json +1 -1
- package/package.json +1 -1
- package/dist/css/0.chunk.css.map +0 -1
- package/dist/css/1.chunk.css +0 -146
- package/dist/css/1.chunk.css.map +0 -1
- package/dist/css/11.chunk.css.map +0 -1
- package/dist/css/12.chunk.css.map +0 -1
- package/dist/css/13.chunk.css.map +0 -1
- package/dist/css/14.chunk.css.map +0 -1
- package/dist/css/15.chunk.css.map +0 -1
- package/dist/css/16.chunk.css.map +0 -1
- package/dist/css/17.chunk.css.map +0 -1
- package/dist/css/18.chunk.css.map +0 -1
- package/dist/css/19.chunk.css.map +0 -1
- package/dist/css/21.chunk.css.map +0 -1
- package/dist/css/22.chunk.css.map +0 -1
- package/dist/css/23.chunk.css.map +0 -1
- package/dist/css/24.chunk.css.map +0 -1
- package/dist/css/25.chunk.css.map +0 -1
- package/dist/css/26.chunk.css.map +0 -1
- package/dist/css/27.chunk.css.map +0 -1
- package/dist/css/28.chunk.css.map +0 -1
- package/dist/css/29.chunk.css.map +0 -1
- package/dist/css/3.chunk.css.map +0 -1
- package/dist/css/30.chunk.css +0 -32
- package/dist/css/30.chunk.css.map +0 -1
- package/dist/css/31.chunk.css.map +0 -1
- package/dist/css/32.chunk.css +0 -6
- package/dist/css/32.chunk.css.map +0 -1
- package/dist/css/33.chunk.css +0 -5
- package/dist/css/33.chunk.css.map +0 -1
- package/dist/css/34.chunk.css.map +0 -1
- package/dist/css/36.chunk.css +0 -6
- package/dist/css/36.chunk.css.map +0 -1
- package/dist/css/37.chunk.css +0 -7
- package/dist/css/37.chunk.css.map +0 -1
- package/dist/css/38.chunk.css.map +0 -1
- package/dist/css/41.chunk.css +0 -38
- package/dist/css/41.chunk.css.map +0 -1
- package/dist/css/5.chunk.css.map +0 -1
- package/dist/css/51.chunk.css +0 -9
- package/dist/css/51.chunk.css.map +0 -1
- package/dist/css/6.chunk.css.map +0 -1
- package/dist/css/7.chunk.css +0 -66
- package/dist/css/7.chunk.css.map +0 -1
- package/dist/css/lite-app.css.map +0 -1
- package/dist/projects/lite/src/polyfills.d.ts +0 -2
- package/dist/scripts/0.chunk.js +0 -308
- package/dist/scripts/0.chunk.js.map +0 -1
- package/dist/scripts/1.chunk.js +0 -623
- package/dist/scripts/1.chunk.js.map +0 -1
- package/dist/scripts/10.chunk.js +0 -530
- package/dist/scripts/10.chunk.js.map +0 -1
- package/dist/scripts/11.chunk.js +0 -380
- package/dist/scripts/11.chunk.js.map +0 -1
- package/dist/scripts/12.chunk.js +0 -434
- package/dist/scripts/12.chunk.js.map +0 -1
- package/dist/scripts/13.chunk.js +0 -1287
- package/dist/scripts/13.chunk.js.map +0 -1
- package/dist/scripts/14.chunk.js +0 -575
- package/dist/scripts/14.chunk.js.map +0 -1
- package/dist/scripts/15.chunk.js +0 -806
- package/dist/scripts/15.chunk.js.map +0 -1
- package/dist/scripts/16.chunk.js +0 -482
- package/dist/scripts/16.chunk.js.map +0 -1
- package/dist/scripts/17.chunk.js +0 -428
- package/dist/scripts/17.chunk.js.map +0 -1
- package/dist/scripts/18.chunk.js +0 -766
- package/dist/scripts/18.chunk.js.map +0 -1
- package/dist/scripts/19.chunk.js +0 -647
- package/dist/scripts/19.chunk.js.map +0 -1
- package/dist/scripts/2.chunk.js +0 -18882
- package/dist/scripts/2.chunk.js.map +0 -1
- package/dist/scripts/20.chunk.js +0 -212
- package/dist/scripts/20.chunk.js.map +0 -1
- package/dist/scripts/21.chunk.js +0 -1591
- package/dist/scripts/21.chunk.js.map +0 -1
- package/dist/scripts/22.chunk.js +0 -1348
- package/dist/scripts/22.chunk.js.map +0 -1
- package/dist/scripts/23.chunk.js +0 -1181
- package/dist/scripts/23.chunk.js.map +0 -1
- package/dist/scripts/24.chunk.js +0 -1141
- package/dist/scripts/24.chunk.js.map +0 -1
- package/dist/scripts/25.chunk.js +0 -907
- package/dist/scripts/25.chunk.js.map +0 -1
- package/dist/scripts/26.chunk.js +0 -979
- package/dist/scripts/26.chunk.js.map +0 -1
- package/dist/scripts/27.chunk.js +0 -655
- package/dist/scripts/27.chunk.js.map +0 -1
- package/dist/scripts/28.chunk.js +0 -615
- package/dist/scripts/28.chunk.js.map +0 -1
- package/dist/scripts/29.chunk.js +0 -622
- package/dist/scripts/29.chunk.js.map +0 -1
- package/dist/scripts/3.chunk.js +0 -809
- package/dist/scripts/3.chunk.js.map +0 -1
- package/dist/scripts/30.chunk.js +0 -468
- package/dist/scripts/30.chunk.js.map +0 -1
- package/dist/scripts/31.chunk.js +0 -441
- package/dist/scripts/31.chunk.js.map +0 -1
- package/dist/scripts/32.chunk.js +0 -509
- package/dist/scripts/32.chunk.js.map +0 -1
- package/dist/scripts/33.chunk.js +0 -957
- package/dist/scripts/33.chunk.js.map +0 -1
- package/dist/scripts/34.chunk.js +0 -502
- package/dist/scripts/34.chunk.js.map +0 -1
- package/dist/scripts/35.chunk.js +0 -938
- package/dist/scripts/35.chunk.js.map +0 -1
- package/dist/scripts/36.chunk.js +0 -537
- package/dist/scripts/36.chunk.js.map +0 -1
- package/dist/scripts/37.chunk.js +0 -414
- package/dist/scripts/37.chunk.js.map +0 -1
- package/dist/scripts/38.chunk.js +0 -245
- package/dist/scripts/38.chunk.js.map +0 -1
- package/dist/scripts/39.chunk.js +0 -337
- package/dist/scripts/39.chunk.js.map +0 -1
- package/dist/scripts/4.chunk.js +0 -402
- package/dist/scripts/4.chunk.js.map +0 -1
- package/dist/scripts/40.chunk.js +0 -350
- package/dist/scripts/40.chunk.js.map +0 -1
- package/dist/scripts/41.chunk.js +0 -343
- package/dist/scripts/41.chunk.js.map +0 -1
- package/dist/scripts/42.chunk.js +0 -404
- package/dist/scripts/42.chunk.js.map +0 -1
- package/dist/scripts/43.chunk.js +0 -221
- package/dist/scripts/43.chunk.js.map +0 -1
- package/dist/scripts/44.chunk.js +0 -230
- package/dist/scripts/44.chunk.js.map +0 -1
- package/dist/scripts/45.chunk.js +0 -409
- package/dist/scripts/45.chunk.js.map +0 -1
- package/dist/scripts/46.chunk.js +0 -272
- package/dist/scripts/46.chunk.js.map +0 -1
- package/dist/scripts/47.chunk.js +0 -267
- package/dist/scripts/47.chunk.js.map +0 -1
- package/dist/scripts/48.chunk.js +0 -359
- package/dist/scripts/48.chunk.js.map +0 -1
- package/dist/scripts/49.chunk.js +0 -225
- package/dist/scripts/49.chunk.js.map +0 -1
- package/dist/scripts/5.chunk.js +0 -1104
- package/dist/scripts/5.chunk.js.map +0 -1
- package/dist/scripts/50.chunk.js +0 -318
- package/dist/scripts/50.chunk.js.map +0 -1
- package/dist/scripts/51.chunk.js +0 -64
- package/dist/scripts/51.chunk.js.map +0 -1
- package/dist/scripts/52.chunk.js +0 -108
- package/dist/scripts/52.chunk.js.map +0 -1
- package/dist/scripts/53.chunk.js +0 -110
- package/dist/scripts/53.chunk.js.map +0 -1
- package/dist/scripts/54.chunk.js +0 -162
- package/dist/scripts/54.chunk.js.map +0 -1
- package/dist/scripts/55.chunk.js +0 -145
- package/dist/scripts/55.chunk.js.map +0 -1
- package/dist/scripts/56.chunk.js +0 -139
- package/dist/scripts/56.chunk.js.map +0 -1
- package/dist/scripts/57.chunk.js +0 -142
- package/dist/scripts/57.chunk.js.map +0 -1
- package/dist/scripts/58.chunk.js +0 -173
- package/dist/scripts/58.chunk.js.map +0 -1
- package/dist/scripts/59.chunk.js +0 -160
- package/dist/scripts/59.chunk.js.map +0 -1
- package/dist/scripts/6.chunk.js +0 -335
- package/dist/scripts/6.chunk.js.map +0 -1
- package/dist/scripts/60.chunk.js +0 -98
- package/dist/scripts/60.chunk.js.map +0 -1
- package/dist/scripts/61.chunk.js +0 -48
- package/dist/scripts/61.chunk.js.map +0 -1
- package/dist/scripts/62.chunk.js +0 -70
- package/dist/scripts/62.chunk.js.map +0 -1
- package/dist/scripts/63.chunk.js +0 -32
- package/dist/scripts/63.chunk.js.map +0 -1
- package/dist/scripts/64.chunk.js +0 -29
- package/dist/scripts/64.chunk.js.map +0 -1
- package/dist/scripts/65.chunk.js +0 -27
- package/dist/scripts/65.chunk.js.map +0 -1
- package/dist/scripts/66.chunk.js +0 -65
- package/dist/scripts/66.chunk.js.map +0 -1
- package/dist/scripts/67.chunk.js +0 -67
- package/dist/scripts/67.chunk.js.map +0 -1
- package/dist/scripts/68.chunk.js +0 -104
- package/dist/scripts/68.chunk.js.map +0 -1
- package/dist/scripts/69.chunk.js +0 -89
- package/dist/scripts/69.chunk.js.map +0 -1
- package/dist/scripts/7.chunk.js +0 -2579
- package/dist/scripts/7.chunk.js.map +0 -1
- package/dist/scripts/70.chunk.js +0 -1001
- package/dist/scripts/70.chunk.js.map +0 -1
- package/dist/scripts/71.chunk.js +0 -36
- package/dist/scripts/71.chunk.js.map +0 -1
- package/dist/scripts/8.chunk.js +0 -24
- package/dist/scripts/8.chunk.js.map +0 -1
- package/dist/scripts/9.chunk.js +0 -327
- package/dist/scripts/9.chunk.js.map +0 -1
- package/dist/scripts/bundle.js +0 -38145
- package/dist/scripts/bundle.js.map +0 -1
- package/dist/scripts/polyfills.js +0 -15232
- package/dist/scripts/polyfills.js.map +0 -1
package/dist/scripts/59.chunk.js
DELETED
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
(window["webpackJsonp_clickview_lite"] = window["webpackJsonp_clickview_lite"] || []).push([[59],{
|
|
2
|
-
|
|
3
|
-
/***/ "./src/apps/user-manager/views/school-teacher-manager/SchoolTeacherManagerView.tsx":
|
|
4
|
-
/*!*****************************************************************************************!*\
|
|
5
|
-
!*** ./src/apps/user-manager/views/school-teacher-manager/SchoolTeacherManagerView.tsx ***!
|
|
6
|
-
\*****************************************************************************************/
|
|
7
|
-
/*! exports provided: SchoolTeacherManagerView */
|
|
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__, "SchoolTeacherManagerView", function() { return SchoolTeacherManagerView; });
|
|
13
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
14
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
15
|
-
/* harmony import */ var _libs_common_src_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../libs/common/src/react */ "../../libs/common/src/react/index.ts");
|
|
16
|
-
/* harmony import */ var _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../libs/common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
|
|
17
|
-
/* harmony import */ var _libs_shared_src_components_pagination_Pagination__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/pagination/Pagination */ "../../libs/shared/src/components/pagination/Pagination.tsx");
|
|
18
|
-
/* harmony import */ var _libs_shared_src_services_ContextService__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/services/ContextService */ "../../libs/shared/src/services/ContextService.ts");
|
|
19
|
-
/* harmony import */ var _libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/text/Text */ "../../libs/shared/src/components/text/Text.tsx");
|
|
20
|
-
/* harmony import */ var apps_user_manager_flight_requests_SchoolUserRequests__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! apps/user-manager/flight-requests/SchoolUserRequests */ "./src/apps/user-manager/flight-requests/SchoolUserRequests.ts");
|
|
21
|
-
/* harmony import */ var apps_user_manager_components_manage_users_list_ManageUsersList__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! apps/user-manager/components/manage-users-list/ManageUsersList */ "./src/apps/user-manager/components/manage-users-list/ManageUsersList.tsx");
|
|
22
|
-
/* harmony import */ var apps_user_manager_components_manage_users_list_partial_loading_PartialManageUsersList__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! apps/user-manager/components/manage-users-list/partial-loading/PartialManageUsersList */ "./src/apps/user-manager/components/manage-users-list/partial-loading/PartialManageUsersList.tsx");
|
|
23
|
-
/* harmony import */ var apps_search_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! apps/search/utils */ "./src/apps/search/utils/index.ts");
|
|
24
|
-
/* harmony import */ var apps_search_components__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! apps/search/components */ "./src/apps/search/components/index.ts");
|
|
25
|
-
/* harmony import */ var apps_search_components_scoped_search_bar_ScopedSearchBar__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! apps/search/components/scoped-search-bar/ScopedSearchBar */ "./src/apps/search/components/scoped-search-bar/ScopedSearchBar.tsx");
|
|
26
|
-
/* harmony import */ var apps_user_manager_enums__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! apps/user-manager/enums */ "./src/apps/user-manager/enums/index.ts");
|
|
27
|
-
/* harmony import */ var _empty_state_SchoolTeacherManagerEmptyState__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./empty-state/SchoolTeacherManagerEmptyState */ "./src/apps/user-manager/views/school-teacher-manager/empty-state/SchoolTeacherManagerEmptyState.tsx");
|
|
28
|
-
/* harmony import */ var _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../../../../../libs/analytics/src/interfaces */ "../../libs/analytics/src/interfaces/index.ts");
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
var namespace = 'userManager.schoolTeacherManager';
|
|
45
|
-
var getPhrase = _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_2__["LanguageService"].encloseNamespace(namespace);
|
|
46
|
-
function SchoolTeacherManagerView(props) {
|
|
47
|
-
var _a, _b;
|
|
48
|
-
|
|
49
|
-
var userRoles = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_1__["Flight"].useBasicFetch(apps_user_manager_flight_requests_SchoolUserRequests__WEBPACK_IMPORTED_MODULE_6__["SchoolUserRequests"].getUserRoles());
|
|
50
|
-
var teachers = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_1__["Flight"].useBasicFetch(apps_user_manager_flight_requests_SchoolUserRequests__WEBPACK_IMPORTED_MODULE_6__["SchoolUserRequests"].getSchoolTeachers(apps_search_utils__WEBPACK_IMPORTED_MODULE_9__["FilterHelper"].getBackendQueryParams(props.queryParams)));
|
|
51
|
-
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("h1", {
|
|
52
|
-
className: 'pl-4'
|
|
53
|
-
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_5__["Text"], {
|
|
54
|
-
namespace: namespace,
|
|
55
|
-
phrase: 'heading'
|
|
56
|
-
})), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
57
|
-
className: 'pl-4 py-2 row'
|
|
58
|
-
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
59
|
-
className: 'col-9 p-0'
|
|
60
|
-
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](apps_search_components__WEBPACK_IMPORTED_MODULE_10__["SearchFilters"], {
|
|
61
|
-
queryParams: props.queryParams,
|
|
62
|
-
mainFilters: [apps_search_utils__WEBPACK_IMPORTED_MODULE_9__["Filters"].SortByName(apps_search_utils__WEBPACK_IMPORTED_MODULE_9__["FilterHelper"].getNameSortOptions())],
|
|
63
|
-
analyticsOptions: {
|
|
64
|
-
entity: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_14__["EntityType"].User,
|
|
65
|
-
location: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_14__["LocationContext"].TeacherManager
|
|
66
|
-
},
|
|
67
|
-
hideHeading: true
|
|
68
|
-
})), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
69
|
-
className: 'col-3'
|
|
70
|
-
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](apps_search_components_scoped_search_bar_ScopedSearchBar__WEBPACK_IMPORTED_MODULE_11__["ScopedSearchBar"], {
|
|
71
|
-
id: 'school-teacher-search',
|
|
72
|
-
name: 'school-teacher-search',
|
|
73
|
-
placeholder: getPhrase('searchBarPlaceholder')
|
|
74
|
-
}))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("p", {
|
|
75
|
-
className: 'pl-4 mb-0 font-weight-bold'
|
|
76
|
-
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_5__["Text"], {
|
|
77
|
-
namespace: namespace,
|
|
78
|
-
phrase: 'entries',
|
|
79
|
-
options: {
|
|
80
|
-
smartCount: ((_b = (_a = teachers.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.length) || 0
|
|
81
|
-
}
|
|
82
|
-
})), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("main", {
|
|
83
|
-
className: 'py-3'
|
|
84
|
-
}, function () {
|
|
85
|
-
var _a;
|
|
86
|
-
|
|
87
|
-
if (!((_a = teachers.data) === null || _a === void 0 ? void 0 : _a.data) || !userRoles.data) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](apps_user_manager_components_manage_users_list_partial_loading_PartialManageUsersList__WEBPACK_IMPORTED_MODULE_8__["PartialManageUsersList"], null);
|
|
88
|
-
if (!teachers.data.data.length) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_empty_state_SchoolTeacherManagerEmptyState__WEBPACK_IMPORTED_MODULE_13__["SchoolTeacherManagerEmptyState"], null);
|
|
89
|
-
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](apps_user_manager_components_manage_users_list_ManageUsersList__WEBPACK_IMPORTED_MODULE_7__["ManageUsersList"], {
|
|
90
|
-
users: teachers.data.data,
|
|
91
|
-
userType: apps_user_manager_enums__WEBPACK_IMPORTED_MODULE_12__["MockUserType"].Teacher,
|
|
92
|
-
userRoles: userRoles.data,
|
|
93
|
-
analyticsOptions: {
|
|
94
|
-
location: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_14__["LocationContext"].StudentManager
|
|
95
|
-
}
|
|
96
|
-
}), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_pagination_Pagination__WEBPACK_IMPORTED_MODULE_3__["Pagination"], {
|
|
97
|
-
appLink: _libs_shared_src_services_ContextService__WEBPACK_IMPORTED_MODULE_4__["ContextService"].getCurrentRoute().appLink,
|
|
98
|
-
cursors: {
|
|
99
|
-
next: teachers.data.pagination.cursors.next,
|
|
100
|
-
previous: teachers.data.pagination.cursors.previous
|
|
101
|
-
},
|
|
102
|
-
className: 'pt-3 d-flex justify-content-end'
|
|
103
|
-
}));
|
|
104
|
-
}()));
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/***/ }),
|
|
108
|
-
|
|
109
|
-
/***/ "./src/apps/user-manager/views/school-teacher-manager/empty-state/SchoolTeacherManagerEmptyState.tsx":
|
|
110
|
-
/*!***********************************************************************************************************!*\
|
|
111
|
-
!*** ./src/apps/user-manager/views/school-teacher-manager/empty-state/SchoolTeacherManagerEmptyState.tsx ***!
|
|
112
|
-
\***********************************************************************************************************/
|
|
113
|
-
/*! exports provided: SchoolTeacherManagerEmptyState */
|
|
114
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
115
|
-
|
|
116
|
-
"use strict";
|
|
117
|
-
__webpack_require__.r(__webpack_exports__);
|
|
118
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SchoolTeacherManagerEmptyState", function() { return SchoolTeacherManagerEmptyState; });
|
|
119
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
120
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
121
|
-
/* harmony import */ var _libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../../libs/shared/src/components/text/Text */ "../../libs/shared/src/components/text/Text.tsx");
|
|
122
|
-
/* harmony import */ var _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../../libs/shared/src/utils/SvgHelper */ "../../libs/shared/src/utils/SvgHelper.ts");
|
|
123
|
-
/* harmony import */ var _libs_shared_src_components_icon_button_IconButton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../../libs/shared/src/components/icon-button/IconButton */ "../../libs/shared/src/components/icon-button/IconButton.tsx");
|
|
124
|
-
/* harmony import */ var shared_components_video_info_button_VideoInfoButton__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! shared/components/video-info-button/VideoInfoButton */ "./src/shared/components/video-info-button/VideoInfoButton.tsx");
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
var namespace = 'userManager.schoolTeacherManagerEmptyState';
|
|
131
|
-
function SchoolTeacherManagerEmptyState() {
|
|
132
|
-
return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_1__["LanguageNamespaceContext"].Provider, {
|
|
133
|
-
value: namespace
|
|
134
|
-
}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
|
135
|
-
className: 'text-center py-5'
|
|
136
|
-
}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", null, "TODO: add an actual empty state image once bev has one"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("img", {
|
|
137
|
-
src: '/favicon.ico',
|
|
138
|
-
className: 'pb-3'
|
|
139
|
-
}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2", {
|
|
140
|
-
className: 'h6'
|
|
141
|
-
}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_1__["Text"], {
|
|
142
|
-
phrase: 'heading'
|
|
143
|
-
})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", {
|
|
144
|
-
className: 'w-33 mx-auto'
|
|
145
|
-
}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_1__["Text"], {
|
|
146
|
-
phrase: 'info'
|
|
147
|
-
})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(shared_components_video_info_button_VideoInfoButton__WEBPACK_IMPORTED_MODULE_4__["VideoInfoButton"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_1__["Text"], {
|
|
148
|
-
phrase: 'videoLink'
|
|
149
|
-
})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_icon_button_IconButton__WEBPACK_IMPORTED_MODULE_3__["IconButton"], {
|
|
150
|
-
className: 'btn btn-dark d-block mx-auto',
|
|
151
|
-
svgName: _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_2__["cvSvgLibrary"].Plus
|
|
152
|
-
}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_1__["Text"], {
|
|
153
|
-
phrase: 'addNew'
|
|
154
|
-
}))));
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
/***/ })
|
|
158
|
-
|
|
159
|
-
}]);
|
|
160
|
-
//# sourceMappingURL=59.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/user-manager/views/school-teacher-manager/SchoolTeacherManagerView.tsx","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/user-manager/views/school-teacher-manager/empty-state/SchoolTeacherManagerEmptyState.tsx"],"names":[],"mappings":"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","file":"scripts/59.chunk.js","sourcesContent":["import * as React from 'react';\r\n\r\nimport { Flight } from 'libs/common/flight';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\r\nimport { Pagination } from 'libs/shared/components/pagination/Pagination';\r\nimport { ContextService } from 'libs/shared/services/ContextService';\r\nimport { Text } from 'libs/shared/components/text/Text';\r\n\r\nimport { SchoolUserRequests } from 'apps/user-manager/flight-requests/SchoolUserRequests';\r\nimport { ManageUsersList } from 'apps/user-manager/components/manage-users-list/ManageUsersList';\r\nimport { PartialManageUsersList } from 'apps/user-manager/components/manage-users-list/partial-loading/PartialManageUsersList';\r\n\r\nimport { Filters, FilterHelper } from 'apps/search/utils';\r\nimport { SearchFilters } from 'apps/search/components';\r\nimport { ScopedSearchBar } from 'apps/search/components/scoped-search-bar/ScopedSearchBar';\r\nimport { MockUserType } from 'apps/user-manager/enums';\r\n\r\nimport { SchoolTeacherManagerEmptyState } from './empty-state/SchoolTeacherManagerEmptyState';\r\nimport { MockUserRole, MockTeacherCollection } from 'apps/user-manager/interfaces';\r\nimport { LocationContext, EntityType } from 'libs/analytics/interfaces';\r\n\r\nconst namespace = 'userManager.schoolTeacherManager';\r\nconst getPhrase = LanguageService.encloseNamespace(namespace);\r\n\r\ninterface SchoolTeacherManagerViewProps {\r\n queryParams: HashObject;\r\n}\r\n\r\nexport function SchoolTeacherManagerView(props: SchoolTeacherManagerViewProps): JSX.Element {\r\n const userRoles = Flight.useBasicFetch<MockUserRole[]>(SchoolUserRequests.getUserRoles());\r\n const teachers = Flight.useBasicFetch<MockTeacherCollection>(\r\n SchoolUserRequests.getSchoolTeachers(FilterHelper.getBackendQueryParams(props.queryParams)));\r\n\r\n return (\r\n <>\r\n <h1 className='pl-4'><Text namespace={namespace} phrase='heading' /></h1>\r\n\r\n <div className='pl-4 py-2 row'>\r\n <div className='col-9 p-0'>\r\n <SearchFilters\r\n queryParams={props.queryParams}\r\n mainFilters={[Filters.SortByName(FilterHelper.getNameSortOptions())]}\r\n analyticsOptions={{\r\n entity: EntityType.User,\r\n location: LocationContext.TeacherManager\r\n }}\r\n hideHeading\r\n />\r\n </div>\r\n\r\n <div className='col-3'>\r\n <ScopedSearchBar\r\n id='school-teacher-search'\r\n name='school-teacher-search'\r\n placeholder={getPhrase('searchBarPlaceholder')}\r\n />\r\n </div>\r\n </div>\r\n\r\n <p className='pl-4 mb-0 font-weight-bold'>\r\n <Text namespace={namespace} phrase='entries' options={{ smartCount: teachers.data?.data?.length || 0 }} />\r\n </p>\r\n\r\n <main className='py-3'>\r\n {(() => {\r\n if (!teachers.data?.data || !userRoles.data)\r\n return <PartialManageUsersList />;\r\n\r\n if (!teachers.data.data.length)\r\n return <SchoolTeacherManagerEmptyState />;\r\n\r\n return (\r\n <>\r\n <ManageUsersList\r\n users={teachers.data.data}\r\n userType={MockUserType.Teacher}\r\n userRoles={userRoles.data}\r\n analyticsOptions={{ location: LocationContext.StudentManager }}\r\n />\r\n <Pagination\r\n appLink={ContextService.getCurrentRoute().appLink}\r\n cursors={{\r\n next: teachers.data.pagination.cursors.next,\r\n previous: teachers.data.pagination.cursors.previous\r\n }}\r\n className='pt-3 d-flex justify-content-end'\r\n />\r\n </>\r\n );\r\n })()}\r\n </main>\r\n </>\r\n );\r\n}","import React from 'react';\r\nimport { Text, LanguageNamespaceContext } from 'libs/shared/components/text/Text';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\r\n\r\nimport { VideoInfoButton } from 'shared/components/video-info-button/VideoInfoButton';\r\n\r\nconst namespace = 'userManager.schoolTeacherManagerEmptyState';\r\n\r\nexport function SchoolTeacherManagerEmptyState(): JSX.Element {\r\n return (\r\n <LanguageNamespaceContext.Provider value={namespace}>\r\n <div className='text-center py-5'>\r\n <p>TODO: add an actual empty state image once bev has one</p>\r\n <img src='/favicon.ico' className='pb-3' />\r\n\r\n <h2 className='h6'><Text phrase='heading' /></h2>\r\n <p className='w-33 mx-auto'><Text phrase='info' /></p>\r\n\r\n <VideoInfoButton>\r\n <Text phrase='videoLink' />\r\n </VideoInfoButton>\r\n\r\n <IconButton\r\n className='btn btn-dark d-block mx-auto'\r\n svgName={cvSvgLibrary.Plus}\r\n >\r\n <Text phrase='addNew' />\r\n </IconButton>\r\n </div>\r\n </LanguageNamespaceContext.Provider>\r\n );\r\n}"],"sourceRoot":""}
|
package/dist/scripts/6.chunk.js
DELETED
|
@@ -1,335 +0,0 @@
|
|
|
1
|
-
(window["webpackJsonp_clickview_lite"] = window["webpackJsonp_clickview_lite"] || []).push([[6],{
|
|
2
|
-
|
|
3
|
-
/***/ "../../libs/shared/src/components/audience-label/AudienceLabel.tsx":
|
|
4
|
-
/*!*************************************************************************************************************!*\
|
|
5
|
-
!*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/audience-label/AudienceLabel.tsx ***!
|
|
6
|
-
\*************************************************************************************************************/
|
|
7
|
-
/*! exports provided: AudienceLabel, AudienceLabelList */
|
|
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__, "AudienceLabel", function() { return AudienceLabel; });
|
|
13
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AudienceLabelList", function() { return AudienceLabelList; });
|
|
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 _audience_label_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./audience-label.scss */ "../../libs/shared/src/components/audience-label/audience-label.scss");
|
|
17
|
-
/* harmony import */ var _audience_label_scss__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_audience_label_scss__WEBPACK_IMPORTED_MODULE_1__);
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
function AudienceLabel(props) {
|
|
21
|
-
if (!props.audience) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
|
|
22
|
-
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
23
|
-
className: "border rounded-pill d-inline-block px-2 mt-1 ".concat('border-' + props.border)
|
|
24
|
-
}, props.audience.name);
|
|
25
|
-
}
|
|
26
|
-
function AudienceLabelList(props) {
|
|
27
|
-
if (!props.audiences || !props.audiences.length) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
|
|
28
|
-
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, props.audiences.map(function (a, idx) {
|
|
29
|
-
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
|
|
30
|
-
key: idx,
|
|
31
|
-
className: _audience_label_scss__WEBPACK_IMPORTED_MODULE_1___default.a.audienceLabelListItem
|
|
32
|
-
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](AudienceLabel, {
|
|
33
|
-
audience: a,
|
|
34
|
-
border: props.border
|
|
35
|
-
}));
|
|
36
|
-
}));
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/***/ }),
|
|
40
|
-
|
|
41
|
-
/***/ "../../libs/shared/src/components/audience-label/audience-label.scss":
|
|
42
|
-
/*!***************************************************************************************************************!*\
|
|
43
|
-
!*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/audience-label/audience-label.scss ***!
|
|
44
|
-
\***************************************************************************************************************/
|
|
45
|
-
/*! no static exports found */
|
|
46
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
47
|
-
|
|
48
|
-
// extracted by mini-css-extract-plugin
|
|
49
|
-
module.exports = {"audienceLabelListItem":"cv--audienceLabelListItem--2YGVO"};
|
|
50
|
-
|
|
51
|
-
/***/ }),
|
|
52
|
-
|
|
53
|
-
/***/ "../../libs/shared/src/components/widgets/items/series-widget-item/SeriesWidgetItem.tsx":
|
|
54
|
-
/*!**********************************************************************************************************************************!*\
|
|
55
|
-
!*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/items/series-widget-item/SeriesWidgetItem.tsx ***!
|
|
56
|
-
\**********************************************************************************************************************************/
|
|
57
|
-
/*! exports provided: SeriesWidgetItem */
|
|
58
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
59
|
-
|
|
60
|
-
"use strict";
|
|
61
|
-
__webpack_require__.r(__webpack_exports__);
|
|
62
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SeriesWidgetItem", function() { return SeriesWidgetItem; });
|
|
63
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
64
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
65
|
-
/* harmony import */ var _common_src_react_utils_TextHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../common/src/react/utils/TextHelper */ "../../libs/common/src/react/utils/TextHelper.ts");
|
|
66
|
-
/* harmony import */ var _hooks_UseHover__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../hooks/UseHover */ "../../libs/shared/src/hooks/UseHover.ts");
|
|
67
|
-
/* harmony import */ var _utils_AudienceHelper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../utils/AudienceHelper */ "../../libs/shared/src/utils/AudienceHelper.ts");
|
|
68
|
-
/* harmony import */ var _app_link_AppLink__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../app-link/AppLink */ "../../libs/shared/src/components/app-link/AppLink.tsx");
|
|
69
|
-
/* harmony import */ var _thumbnails_base_BaseThumbnail__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../thumbnails/base/BaseThumbnail */ "../../libs/shared/src/components/thumbnails/base/BaseThumbnail.tsx");
|
|
70
|
-
/* harmony import */ var _thumbnails_base_ThumbnailFallback__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../thumbnails/base/ThumbnailFallback */ "../../libs/shared/src/components/thumbnails/base/ThumbnailFallback.tsx");
|
|
71
|
-
/* harmony import */ var _enums_ThumbnailSize__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../enums/ThumbnailSize */ "../../libs/shared/src/enums/ThumbnailSize.ts");
|
|
72
|
-
/* harmony import */ var _audience_label_AudienceLabel__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../audience-label/AudienceLabel */ "../../libs/shared/src/components/audience-label/AudienceLabel.tsx");
|
|
73
|
-
/* harmony import */ var _badges_Badge__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../badges/Badge */ "../../libs/shared/src/components/badges/Badge.tsx");
|
|
74
|
-
/* harmony import */ var _series_widget_item_scss__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./series-widget-item.scss */ "../../libs/shared/src/components/widgets/items/series-widget-item/series-widget-item.scss");
|
|
75
|
-
/* harmony import */ var _series_widget_item_scss__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_series_widget_item_scss__WEBPACK_IMPORTED_MODULE_10__);
|
|
76
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
77
|
-
|
|
78
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
79
|
-
|
|
80
|
-
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); }
|
|
81
|
-
|
|
82
|
-
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; }
|
|
83
|
-
|
|
84
|
-
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
85
|
-
|
|
86
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
function SeriesWidgetItem(props) {
|
|
100
|
-
var series = props.data,
|
|
101
|
-
appLink = props.appLink,
|
|
102
|
-
preloadImage = props.preloadImage;
|
|
103
|
-
var seriesAppLink = Object.assign(Object.assign({}, appLink), {
|
|
104
|
-
args: [series.id, _common_src_react_utils_TextHelper__WEBPACK_IMPORTED_MODULE_1__["TextHelper"].slugify(series.name)]
|
|
105
|
-
});
|
|
106
|
-
/**
|
|
107
|
-
* Subject audiences currently take render precedence over rating.
|
|
108
|
-
*
|
|
109
|
-
* This means that until we properly add productionCompanies to series, we
|
|
110
|
-
* should expect only CV series to have a subject audience. Any TV series
|
|
111
|
-
* from the Exchange should only have a rating.
|
|
112
|
-
*/
|
|
113
|
-
|
|
114
|
-
var audiences = series && series.subjectPresentationAudiences && series.subjectPresentationAudiences.data || [];
|
|
115
|
-
var filteredAudiences = _utils_AudienceHelper__WEBPACK_IMPORTED_MODULE_3__["AudienceHelper"].getSortedPresentationAudiences(audiences, props.audiences);
|
|
116
|
-
var mergedAudience = _utils_AudienceHelper__WEBPACK_IMPORTED_MODULE_3__["AudienceHelper"].getMergedPresentationAudienceString(filteredAudiences);
|
|
117
|
-
|
|
118
|
-
var _useHoverIntent = Object(_hooks_UseHover__WEBPACK_IMPORTED_MODULE_2__["useHoverIntent"])(_series_widget_item_scss__WEBPACK_IMPORTED_MODULE_10___default.a.hoverActive),
|
|
119
|
-
_useHoverIntent2 = _slicedToArray(_useHoverIntent, 2),
|
|
120
|
-
hoverRef = _useHoverIntent2[0],
|
|
121
|
-
isHovering = _useHoverIntent2[1];
|
|
122
|
-
|
|
123
|
-
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_app_link_AppLink__WEBPACK_IMPORTED_MODULE_4__["AppLink"], {
|
|
124
|
-
key: series.id,
|
|
125
|
-
appLink: seriesAppLink,
|
|
126
|
-
className: "position-relative p-1 flex-shrink-0 ".concat(_series_widget_item_scss__WEBPACK_IMPORTED_MODULE_10___default.a.width)
|
|
127
|
-
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
128
|
-
ref: hoverRef
|
|
129
|
-
}, isHovering && react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
130
|
-
className: "p-3 text-white text-center ".concat(_series_widget_item_scss__WEBPACK_IMPORTED_MODULE_10___default.a.mask)
|
|
131
|
-
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("h3", {
|
|
132
|
-
className: 'h4'
|
|
133
|
-
}, series.name), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("p", null, series.description)), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_thumbnails_base_BaseThumbnail__WEBPACK_IMPORTED_MODULE_5__["BaseThumbnail"], {
|
|
134
|
-
data: series.tallPoster,
|
|
135
|
-
aspectRatio: _thumbnails_base_BaseThumbnail__WEBPACK_IMPORTED_MODULE_5__["AspectRatio"].NineBySixteen,
|
|
136
|
-
preload: preloadImage,
|
|
137
|
-
size: _enums_ThumbnailSize__WEBPACK_IMPORTED_MODULE_7__["ThumbnailSize"].Large
|
|
138
|
-
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_thumbnails_base_ThumbnailFallback__WEBPACK_IMPORTED_MODULE_6__["ThumbnailFallback"], {
|
|
139
|
-
type: _thumbnails_base_ThumbnailFallback__WEBPACK_IMPORTED_MODULE_6__["ThumbnailFallbackType"].Series
|
|
140
|
-
}), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
141
|
-
className: "position-absolute text-white ".concat(_series_widget_item_scss__WEBPACK_IMPORTED_MODULE_10___default.a.labelContainer)
|
|
142
|
-
}, !!audiences && audiences.length ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_audience_label_AudienceLabel__WEBPACK_IMPORTED_MODULE_8__["AudienceLabel"], {
|
|
143
|
-
audience: mergedAudience,
|
|
144
|
-
border: 'white'
|
|
145
|
-
}) : react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_badges_Badge__WEBPACK_IMPORTED_MODULE_9__["Badge"], {
|
|
146
|
-
type: _badges_Badge__WEBPACK_IMPORTED_MODULE_9__["BadgeType"].Rating,
|
|
147
|
-
data: series.rating
|
|
148
|
-
})))));
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
/***/ }),
|
|
152
|
-
|
|
153
|
-
/***/ "../../libs/shared/src/components/widgets/items/series-widget-item/series-widget-item.scss":
|
|
154
|
-
/*!*************************************************************************************************************************************!*\
|
|
155
|
-
!*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/items/series-widget-item/series-widget-item.scss ***!
|
|
156
|
-
\*************************************************************************************************************************************/
|
|
157
|
-
/*! no static exports found */
|
|
158
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
159
|
-
|
|
160
|
-
// extracted by mini-css-extract-plugin
|
|
161
|
-
module.exports = {"partialLoadingHeading":"cv--partialLoadingHeading--1RLPq","partialLoading":"cv--partialLoading--oArG4","labelContainer":"cv--labelContainer--QLCgm","hoverActive":"cv--hoverActive--3Aleb","mask":"cv--mask--2M2Zz","width":"cv--width--TQg2K"};
|
|
162
|
-
|
|
163
|
-
/***/ }),
|
|
164
|
-
|
|
165
|
-
/***/ "../../libs/shared/src/utils/AudienceHelper.ts":
|
|
166
|
-
/*!*****************************************************************************************!*\
|
|
167
|
-
!*** C:/ClickView/front-end/clickview/packages/libs/shared/src/utils/AudienceHelper.ts ***!
|
|
168
|
-
\*****************************************************************************************/
|
|
169
|
-
/*! exports provided: AudienceHelper */
|
|
170
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
171
|
-
|
|
172
|
-
"use strict";
|
|
173
|
-
__webpack_require__.r(__webpack_exports__);
|
|
174
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AudienceHelper", function() { return AudienceHelper; });
|
|
175
|
-
/* harmony import */ var _common_src_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/src/react/utils/ArrayHelper */ "../../libs/common/src/react/utils/ArrayHelper.ts");
|
|
176
|
-
|
|
177
|
-
var DIGIT_REGEX = /([0-9]+)/ig;
|
|
178
|
-
var NAME_REGEX = /(^\w+)/ig;
|
|
179
|
-
var COUNT_OFFSET = 1;
|
|
180
|
-
|
|
181
|
-
function processAudienceRanges(audienceValues) {
|
|
182
|
-
/**
|
|
183
|
-
* Lookahead by increments of offset
|
|
184
|
-
*/
|
|
185
|
-
var offset = COUNT_OFFSET;
|
|
186
|
-
var initialVal, nextVal;
|
|
187
|
-
var isContinguous = false;
|
|
188
|
-
var ranges = []; // Audience values need to be in ascending order
|
|
189
|
-
|
|
190
|
-
audienceValues = audienceValues.sort(function (a, b) {
|
|
191
|
-
return a - b;
|
|
192
|
-
});
|
|
193
|
-
var i, j;
|
|
194
|
-
|
|
195
|
-
for (i = 0; i < audienceValues.length; i++) {
|
|
196
|
-
j = i + 1; // Set our lower boundary to compare against
|
|
197
|
-
|
|
198
|
-
if (!isContinguous) initialVal = audienceValues[i];
|
|
199
|
-
nextVal = audienceValues[j];
|
|
200
|
-
/**
|
|
201
|
-
* Where the next number is also the next incremental value
|
|
202
|
-
* we're going to continue iterating until the next value
|
|
203
|
-
* is no longer contiguos.
|
|
204
|
-
*/
|
|
205
|
-
|
|
206
|
-
if (audienceValues[i] + offset === nextVal) {
|
|
207
|
-
isContinguous = true;
|
|
208
|
-
} else if (isContinguous) {
|
|
209
|
-
/**
|
|
210
|
-
* Where we were tracking a contiguous set, format appropriately
|
|
211
|
-
* and store the vals
|
|
212
|
-
*/
|
|
213
|
-
ranges.push("".concat(initialVal, " - ").concat(audienceValues[i]));
|
|
214
|
-
isContinguous = false;
|
|
215
|
-
} else {
|
|
216
|
-
/**
|
|
217
|
-
* Where the values arent contiguous, just store the current value
|
|
218
|
-
*/
|
|
219
|
-
ranges.push("".concat(audienceValues[i]));
|
|
220
|
-
isContinguous = false;
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
return ranges;
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
var AudienceHelper = {
|
|
228
|
-
/**
|
|
229
|
-
* This is needed to sort an object's audiences, as they are not sorted by the backend.
|
|
230
|
-
* To do this, we take the presentation audiences (sorted) and filter them by the object's
|
|
231
|
-
* audiences, leaving behind a sorted array of object audiences.
|
|
232
|
-
*/
|
|
233
|
-
getSortedPresentationAudiences: function getSortedPresentationAudiences(objectAudiences, presentationAudiences) {
|
|
234
|
-
var objectAudienceIds = objectAudiences.map(function (audience) {
|
|
235
|
-
return audience.id.toString();
|
|
236
|
-
});
|
|
237
|
-
/**
|
|
238
|
-
* Remove audiences that aren't relevant for the user's current presentation
|
|
239
|
-
*/
|
|
240
|
-
|
|
241
|
-
var filteredAudiences = presentationAudiences.filter(function (presAudience) {
|
|
242
|
-
return objectAudienceIds.includes(presAudience.masterId.toString());
|
|
243
|
-
});
|
|
244
|
-
return filteredAudiences;
|
|
245
|
-
},
|
|
246
|
-
getMergedPresentationAudienceString: function getMergedPresentationAudienceString(presentationAudiences) {
|
|
247
|
-
if (presentationAudiences.length === 1) return presentationAudiences[0];
|
|
248
|
-
/**
|
|
249
|
-
* Create a string with all of the audiences
|
|
250
|
-
*/
|
|
251
|
-
|
|
252
|
-
var valuesStr = presentationAudiences.map(function (a) {
|
|
253
|
-
return a.name;
|
|
254
|
-
}).join(',');
|
|
255
|
-
/**
|
|
256
|
-
* Extract all the numbers and matches from the string
|
|
257
|
-
* Where there aren't matches, just return the first Audience.
|
|
258
|
-
*/
|
|
259
|
-
|
|
260
|
-
var valMatches = valuesStr.match(DIGIT_REGEX);
|
|
261
|
-
var nameMatches = valuesStr.match(NAME_REGEX);
|
|
262
|
-
if (!valMatches || !nameMatches) return presentationAudiences[0];
|
|
263
|
-
var audienceValues = valMatches.map(function (l) {
|
|
264
|
-
return +l;
|
|
265
|
-
}) || [];
|
|
266
|
-
/**
|
|
267
|
-
* Build set of logical audience ranges
|
|
268
|
-
*/
|
|
269
|
-
|
|
270
|
-
var audienceRange = processAudienceRanges(audienceValues);
|
|
271
|
-
/**
|
|
272
|
-
* Get matches name
|
|
273
|
-
*/
|
|
274
|
-
|
|
275
|
-
var audienceName = nameMatches[0];
|
|
276
|
-
return {
|
|
277
|
-
name: "".concat(audienceName, " ").concat(audienceRange.join(' , '))
|
|
278
|
-
};
|
|
279
|
-
},
|
|
280
|
-
|
|
281
|
-
/**
|
|
282
|
-
* This function assumes the members array passed in is ordered by `name`.
|
|
283
|
-
*/
|
|
284
|
-
sortMembersWithDuplicateNamesByAudience: function sortMembersWithDuplicateNamesByAudience(members) {
|
|
285
|
-
// Returns the lowest level audience out of an array of audience objects by looking at the name
|
|
286
|
-
var getLowestAudience = function getLowestAudience(audiences) {
|
|
287
|
-
if (!audiences.length) return null;
|
|
288
|
-
var lowestAudience;
|
|
289
|
-
var lowestAudienceDigit;
|
|
290
|
-
audiences.forEach(function (audience) {
|
|
291
|
-
var digit = +_common_src_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_0__["ArrayHelper"].first(audience.name.match(DIGIT_REGEX));
|
|
292
|
-
|
|
293
|
-
if (!lowestAudience) {
|
|
294
|
-
lowestAudience = audience;
|
|
295
|
-
lowestAudienceDigit = digit;
|
|
296
|
-
return;
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
if (digit > lowestAudienceDigit) lowestAudience = audience;
|
|
300
|
-
});
|
|
301
|
-
return lowestAudience;
|
|
302
|
-
}; // This is used to track how many times a member's name appears in the collection
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
var nameCountMap = {};
|
|
306
|
-
var sorted = [];
|
|
307
|
-
members.forEach(function (member) {
|
|
308
|
-
if (!nameCountMap[member.name]) {
|
|
309
|
-
nameCountMap[member.name] = 1;
|
|
310
|
-
sorted.push(member);
|
|
311
|
-
return;
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
sorted.push(member);
|
|
315
|
-
nameCountMap[member.name]++; // Take the slice of duplicates that we want to sort by audience
|
|
316
|
-
|
|
317
|
-
var slice = sorted.splice(sorted.length - nameCountMap[member.name]); // Sort the slice by lowest audience
|
|
318
|
-
|
|
319
|
-
var sortedSlice = slice.sort(function (a, b) {
|
|
320
|
-
var firstObjLowestAudience = getLowestAudience(a.subjectPresentationAudiences.data);
|
|
321
|
-
var secondObjLowestAudience = getLowestAudience(b.subjectPresentationAudiences.data);
|
|
322
|
-
if (!firstObjLowestAudience && secondObjLowestAudience) return 1;
|
|
323
|
-
if (!secondObjLowestAudience) return -1;
|
|
324
|
-
return firstObjLowestAudience.name.localeCompare(secondObjLowestAudience.name);
|
|
325
|
-
});
|
|
326
|
-
sorted = sorted.concat(sortedSlice);
|
|
327
|
-
});
|
|
328
|
-
return sorted;
|
|
329
|
-
}
|
|
330
|
-
};
|
|
331
|
-
|
|
332
|
-
/***/ })
|
|
333
|
-
|
|
334
|
-
}]);
|
|
335
|
-
//# sourceMappingURL=6.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/audience-label/AudienceLabel.tsx","webpack://@clickview/lite/C:/ClickView/front-end/clickview/packages/libs/shared/src/components/audience-label/audience-label.scss?0950","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/items/series-widget-item/SeriesWidgetItem.tsx","webpack://@clickview/lite/C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/items/series-widget-item/series-widget-item.scss?6ab1","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/utils/AudienceHelper.ts"],"names":[],"mappings":"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","file":"scripts/6.chunk.js","sourcesContent":["import * as React from 'react';\r\nimport { Audience } from 'libs/shared/interfaces';\r\n\r\nimport styles from './audience-label.scss';\r\n\r\ntype AudienceBorderColour = 'dark' | 'white';\r\n\r\ninterface AudienceLabelProps {\r\n audience: Audience;\r\n border: AudienceBorderColour;\r\n}\r\n\r\nexport function AudienceLabel(props: AudienceLabelProps): JSX.Element {\r\n if (!props.audience)\r\n return <></>;\r\n\r\n return (\r\n <div className={`border rounded-pill d-inline-block px-2 mt-1 ${'border-' + props.border}`}>\r\n {props.audience.name}\r\n </div>\r\n );\r\n}\r\n\r\ninterface AudienceLabelListProps {\r\n audiences: Audience[];\r\n border: AudienceBorderColour;\r\n}\r\n\r\nexport function AudienceLabelList(props: AudienceLabelListProps): JSX.Element {\r\n if (!props.audiences || !props.audiences.length)\r\n return <></>;\r\n\r\n return (\r\n <>\r\n {props.audiences.map((a, idx) => (\r\n <span key={idx} className={styles.audienceLabelListItem}>\r\n <AudienceLabel audience={a} border={props.border} />\r\n </span>\r\n ))}\r\n </>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"audienceLabelListItem\":\"cv--audienceLabelListItem--2YGVO\"};","import * as React from 'react';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\r\n\r\nimport { useHoverIntent } from 'libs/shared/hooks/UseHover';\r\nimport { Series, PresentationAudience } from 'libs/shared/interfaces';\r\nimport { AudienceHelper } from 'libs/shared/utils/AudienceHelper';\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\nimport { BaseThumbnail, AspectRatio } from 'libs/shared/components/thumbnails/base/BaseThumbnail';\r\nimport { ThumbnailFallback, ThumbnailFallbackType } from 'libs/shared/components/thumbnails/base/ThumbnailFallback';\r\nimport { ThumbnailSize } from 'libs/shared/enums/ThumbnailSize';\r\nimport { AudienceLabel } from 'libs/shared/components/audience-label/AudienceLabel';\r\nimport { BadgeType, Badge } from 'libs/shared/components/badges/Badge';\r\n\r\nimport styles from './series-widget-item.scss';\r\n\r\nexport interface SeriesWidgetItemProps {\r\n data: Series;\r\n appLink: Core.AppLink;\r\n audiences: PresentationAudience[];\r\n preloadImage?: boolean;\r\n}\r\n\r\nexport function SeriesWidgetItem(props : SeriesWidgetItemProps): JSX.Element {\r\n const { data: series, appLink, preloadImage } = props;\r\n\r\n const seriesAppLink: Core.AppLink = {\r\n ...appLink,\r\n args: [ series.id, TextHelper.slugify(series.name) ]\r\n };\r\n\r\n /**\r\n * Subject audiences currently take render precedence over rating.\r\n * \r\n * This means that until we properly add productionCompanies to series, we\r\n * should expect only CV series to have a subject audience. Any TV series\r\n * from the Exchange should only have a rating. \r\n */\r\n\r\n let audiences = series && series.subjectPresentationAudiences &&\r\n series.subjectPresentationAudiences.data || [];\r\n\r\n const filteredAudiences = AudienceHelper.getSortedPresentationAudiences(audiences, props.audiences);\r\n const mergedAudience = AudienceHelper.getMergedPresentationAudienceString(filteredAudiences);\r\n\r\n const [ hoverRef, isHovering ] = useHoverIntent<HTMLDivElement>(styles.hoverActive);\r\n\r\n return (\r\n <AppLink\r\n key={series.id}\r\n appLink={seriesAppLink}\r\n className={`position-relative p-1 flex-shrink-0 ${styles.width}`}\r\n >\r\n <div ref={hoverRef}>\r\n {isHovering &&\r\n <div className={`p-3 text-white text-center ${styles.mask}`}>\r\n <h3 className='h4'>{series.name}</h3>\r\n <p>{series.description}</p>\r\n </div>\r\n }\r\n <BaseThumbnail\r\n data={series.tallPoster}\r\n aspectRatio={AspectRatio.NineBySixteen}\r\n preload={preloadImage}\r\n size={ThumbnailSize.Large}>\r\n <ThumbnailFallback type={ThumbnailFallbackType.Series} />\r\n <div className={`position-absolute text-white ${styles.labelContainer}`}>\r\n {!!audiences && audiences.length\r\n ? <AudienceLabel audience={ mergedAudience } border='white' />\r\n : <Badge type={BadgeType.Rating} data={series.rating} />\r\n }\r\n </div>\r\n </BaseThumbnail>\r\n </div>\r\n </AppLink>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"partialLoadingHeading\":\"cv--partialLoadingHeading--1RLPq\",\"partialLoading\":\"cv--partialLoading--oArG4\",\"labelContainer\":\"cv--labelContainer--QLCgm\",\"hoverActive\":\"cv--hoverActive--3Aleb\",\"mask\":\"cv--mask--2M2Zz\",\"width\":\"cv--width--TQg2K\"};","import { HashObject } from 'libs/common/react/interfaces';\r\nimport { Audience, PresentationAudience, BaseObject } from 'libs/shared/interfaces';\r\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\r\n\r\nconst DIGIT_REGEX = /([0-9]+)/ig;\r\nconst NAME_REGEX = /(^\\w+)/ig;\r\nconst COUNT_OFFSET = 1;\r\n\r\nfunction processAudienceRanges(audienceValues: number[]): string[] {\r\n /**\r\n * Lookahead by increments of offset\r\n */\r\n let offset = COUNT_OFFSET;\r\n\r\n let initialVal, nextVal;\r\n let isContinguous: boolean = false;\r\n\r\n const ranges: string[] = [];\r\n\r\n // Audience values need to be in ascending order\r\n audienceValues = audienceValues.sort((a, b) => a - b);\r\n\r\n let i, j;\r\n\r\n for (i = 0; i < audienceValues.length; i++) {\r\n j = i + 1;\r\n\r\n // Set our lower boundary to compare against\r\n if (!isContinguous)\r\n initialVal = audienceValues[i];\r\n\r\n nextVal = audienceValues[j];\r\n\r\n /**\r\n * Where the next number is also the next incremental value\r\n * we're going to continue iterating until the next value\r\n * is no longer contiguos.\r\n */\r\n if (audienceValues[i] + offset === nextVal) {\r\n isContinguous = true;\r\n\r\n } else if (isContinguous) {\r\n\r\n /**\r\n * Where we were tracking a contiguous set, format appropriately \r\n * and store the vals\r\n */\r\n\r\n ranges.push(`${initialVal} - ${audienceValues[i]}`);\r\n isContinguous = false;\r\n\r\n } else {\r\n\r\n /**\r\n * Where the values arent contiguous, just store the current value\r\n */\r\n\r\n ranges.push(`${audienceValues[i]}`);\r\n isContinguous = false;\r\n }\r\n\r\n }\r\n\r\n return ranges;\r\n}\r\n\r\nexport const AudienceHelper = {\r\n /**\r\n * This is needed to sort an object's audiences, as they are not sorted by the backend.\r\n * To do this, we take the presentation audiences (sorted) and filter them by the object's\r\n * audiences, leaving behind a sorted array of object audiences.\r\n */\r\n getSortedPresentationAudiences(\r\n objectAudiences: Audience[],\r\n presentationAudiences: PresentationAudience[]\r\n ): PresentationAudience[] {\r\n const objectAudienceIds = objectAudiences.map(audience => audience.id.toString());\r\n\r\n /**\r\n * Remove audiences that aren't relevant for the user's current presentation\r\n */\r\n const filteredAudiences = presentationAudiences.filter(presAudience => {\r\n return objectAudienceIds.includes(presAudience.masterId.toString());\r\n });\r\n\r\n return filteredAudiences;\r\n },\r\n\r\n getMergedPresentationAudienceString(presentationAudiences: PresentationAudience[]): PresentationAudience {\r\n if (presentationAudiences.length === 1)\r\n return presentationAudiences[0];\r\n\r\n /**\r\n * Create a string with all of the audiences\r\n */\r\n const valuesStr = presentationAudiences.map(a => a.name).join(',');\r\n\r\n /**\r\n * Extract all the numbers and matches from the string\r\n * Where there aren't matches, just return the first Audience.\r\n */\r\n const valMatches = valuesStr.match(DIGIT_REGEX);\r\n const nameMatches = valuesStr.match(NAME_REGEX);\r\n\r\n if (!valMatches || !nameMatches) return presentationAudiences[0];\r\n\r\n const audienceValues = valMatches\r\n .map(l => +l) || [];\r\n\r\n /**\r\n * Build set of logical audience ranges\r\n */\r\n const audienceRange = processAudienceRanges(audienceValues);\r\n\r\n /**\r\n * Get matches name\r\n */\r\n const audienceName = nameMatches[0];\r\n\r\n return {\r\n name: `${audienceName} ${audienceRange.join(' , ')}`\r\n } as PresentationAudience;\r\n },\r\n\r\n /**\r\n * This function assumes the members array passed in is ordered by `name`.\r\n */\r\n sortMembersWithDuplicateNamesByAudience(members: BaseObject[]): BaseObject[] {\r\n // Returns the lowest level audience out of an array of audience objects by looking at the name\r\n const getLowestAudience = (audiences: Audience[]) => {\r\n if (!audiences.length)\r\n return null;\r\n\r\n let lowestAudience: Audience;\r\n let lowestAudienceDigit: number;\r\n\r\n audiences.forEach(audience => {\r\n const digit = +ArrayHelper.first(audience.name.match(DIGIT_REGEX));\r\n\r\n if (!lowestAudience) {\r\n lowestAudience = audience;\r\n lowestAudienceDigit = digit;\r\n return;\r\n }\r\n\r\n if (digit > lowestAudienceDigit)\r\n lowestAudience = audience;\r\n });\r\n\r\n return lowestAudience;\r\n };\r\n\r\n // This is used to track how many times a member's name appears in the collection\r\n const nameCountMap: HashObject<number> = {};\r\n\r\n let sorted: BaseObject[] = [];\r\n\r\n members.forEach(member => {\r\n if (!nameCountMap[member.name]) {\r\n nameCountMap[member.name] = 1;\r\n sorted.push(member);\r\n return;\r\n }\r\n\r\n sorted.push(member);\r\n nameCountMap[member.name]++;\r\n\r\n // Take the slice of duplicates that we want to sort by audience\r\n const slice = sorted.splice(sorted.length - nameCountMap[member.name]);\r\n\r\n // Sort the slice by lowest audience\r\n const sortedSlice = slice.sort((a: any, b: any) => {\r\n const firstObjLowestAudience = getLowestAudience(a.subjectPresentationAudiences.data);\r\n const secondObjLowestAudience = getLowestAudience(b.subjectPresentationAudiences.data);\r\n\r\n if (!firstObjLowestAudience && secondObjLowestAudience)\r\n return 1;\r\n\r\n if (!secondObjLowestAudience)\r\n return -1;\r\n\r\n return firstObjLowestAudience.name.localeCompare(secondObjLowestAudience.name);\r\n });\r\n\r\n sorted = sorted.concat(sortedSlice);\r\n });\r\n\r\n return sorted;\r\n }\r\n};"],"sourceRoot":""}
|