@clickview/lite 0.0.18-dev.2 → 0.0.18-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/dist/css/0.chunk.css.map +1 -0
  2. package/dist/css/1.chunk.css +144 -2
  3. package/dist/css/1.chunk.css.map +1 -0
  4. package/dist/css/10.chunk.css +10 -12
  5. package/dist/css/10.chunk.css.map +1 -0
  6. package/dist/css/11.chunk.css +5 -9
  7. package/dist/css/11.chunk.css.map +1 -0
  8. package/dist/css/12.chunk.css.map +1 -0
  9. package/dist/css/13.chunk.css.map +1 -0
  10. package/dist/css/14.chunk.css.map +1 -0
  11. package/dist/css/16.chunk.css.map +1 -0
  12. package/dist/css/18.chunk.css.map +1 -0
  13. package/dist/css/19.chunk.css +6 -2
  14. package/dist/css/19.chunk.css.map +1 -0
  15. package/dist/css/2.chunk.css +14 -0
  16. package/dist/css/20.chunk.css +2 -6
  17. package/dist/css/21.chunk.css +1 -3
  18. package/dist/css/21.chunk.css.map +1 -0
  19. package/dist/css/22.chunk.css +2 -2
  20. package/dist/css/22.chunk.css.map +1 -0
  21. package/dist/css/23.chunk.css +3 -1
  22. package/dist/css/23.chunk.css.map +1 -0
  23. package/dist/css/24.chunk.css +1 -3
  24. package/dist/css/24.chunk.css.map +1 -0
  25. package/dist/css/25.chunk.css +2 -2
  26. package/dist/css/25.chunk.css.map +1 -0
  27. package/dist/css/26.chunk.css +3 -1
  28. package/dist/css/26.chunk.css.map +1 -0
  29. package/dist/css/27.chunk.css +66 -2
  30. package/dist/css/27.chunk.css.map +1 -0
  31. package/dist/css/28.chunk.css +48 -2
  32. package/dist/css/28.chunk.css.map +1 -0
  33. package/dist/css/29.chunk.css +43 -4
  34. package/dist/css/29.chunk.css.map +1 -0
  35. package/dist/css/3.chunk.css +13 -7
  36. package/dist/css/3.chunk.css.map +1 -0
  37. package/dist/css/30.chunk.css +1 -3
  38. package/dist/css/30.chunk.css.map +1 -0
  39. package/dist/css/31.chunk.css +5 -2
  40. package/dist/css/31.chunk.css.map +1 -0
  41. package/dist/css/32.chunk.css +4 -1
  42. package/dist/css/32.chunk.css.map +1 -0
  43. package/dist/css/34.chunk.css +4 -2
  44. package/dist/css/34.chunk.css.map +1 -0
  45. package/dist/css/35.chunk.css +7 -0
  46. package/dist/css/35.chunk.css.map +1 -0
  47. package/dist/css/36.chunk.css +4 -0
  48. package/dist/css/36.chunk.css.map +1 -0
  49. package/dist/css/37.chunk.css +3 -1
  50. package/dist/css/37.chunk.css.map +1 -0
  51. package/dist/css/38.chunk.css +36 -2
  52. package/dist/css/38.chunk.css.map +1 -0
  53. package/dist/css/4.chunk.css +5 -13
  54. package/dist/css/4.chunk.css.map +1 -0
  55. package/dist/css/44.chunk.css +1 -1
  56. package/dist/css/45.chunk.css +9 -0
  57. package/dist/css/45.chunk.css.map +1 -0
  58. package/dist/css/5.chunk.css +2 -8
  59. package/dist/css/5.chunk.css.map +1 -0
  60. package/dist/css/9.chunk.css +15 -7
  61. package/dist/css/lite-app.css.map +1 -0
  62. package/dist/libs/analytics/src/AnalyticsService.d.ts +52 -0
  63. package/dist/libs/analytics/src/clients/BaseAnalyticsClient.d.ts +24 -0
  64. package/dist/libs/analytics/src/clients/CollectionApiClient.d.ts +48 -0
  65. package/dist/libs/analytics/src/clients/DebuggerClient.d.ts +7 -0
  66. package/dist/libs/analytics/src/constants/ApplicationOptionsKey.d.ts +1 -0
  67. package/dist/libs/analytics/src/constants/CountryRegionMapping.d.ts +7 -0
  68. package/dist/libs/analytics/src/constants/Regions.d.ts +6 -0
  69. package/dist/libs/analytics/src/enrichers/BaseAnalyticsEnricher.d.ts +19 -0
  70. package/dist/libs/analytics/src/enrichers/CoreContextEnricher.d.ts +22 -0
  71. package/dist/libs/analytics/src/enrichers/UserDataEnricher.d.ts +10 -0
  72. package/dist/libs/analytics/src/enums/CountryCode.d.ts +5 -0
  73. package/dist/libs/analytics/src/interfaces/AnalyticsTypes.d.ts +49 -5
  74. package/dist/libs/analytics/src/interfaces/VersionData.d.ts +4 -0
  75. package/dist/libs/analytics/src/models/CollectionEvent.d.ts +55 -0
  76. package/dist/libs/analytics/src/transport/EventTransport.d.ts +39 -0
  77. package/dist/libs/analytics/src/utils/CollectionApiClientHelper.d.ts +6 -0
  78. package/dist/libs/analytics/src/utils/DataFormatHelper.d.ts +14 -0
  79. package/dist/libs/analytics/src/utils/EventWhitelistHelper.d.ts +19 -0
  80. package/dist/libs/analytics/src/utils/TypeHelper.d.ts +4 -0
  81. package/dist/libs/analytics/src/utils/UploadDataFormatHelper.d.ts +10 -0
  82. package/dist/libs/analytics/src/utils/UserAgentHelper.d.ts +10 -0
  83. package/dist/libs/analytics/src/utils/VideoDataFormatHelper.d.ts +42 -0
  84. package/dist/libs/common/src/backbone/core/BaseAppRouter.d.ts +5 -1
  85. package/dist/libs/common/src/react/constants/ViewModelActions.d.ts +3 -0
  86. package/dist/libs/common/src/react/hooks/useViewModel.d.ts +4 -0
  87. package/dist/libs/common/src/react/interfaces/ApplicationState.d.ts +3 -1
  88. package/dist/libs/common/src/react/interfaces/ViewModelAction.d.ts +5 -0
  89. package/dist/libs/common/src/react/interfaces/ViewModelPayload.d.ts +5 -0
  90. package/dist/libs/common/src/react/reducers/ViewModelReducer.d.ts +3 -0
  91. package/dist/libs/common/src/react/utils/ArrayHelper.d.ts +1 -2
  92. package/dist/libs/shared/src/apps/content-updates/interfaces/VideoClassificationMapping.d.ts +2 -1
  93. package/dist/libs/shared/src/apps/upload/services/UploadService.d.ts +3 -2
  94. package/dist/libs/shared/src/components/lazy-image/LazyImage.d.ts +1 -1
  95. package/dist/libs/shared/src/components/search-bar/SearchBar.d.ts +5 -0
  96. package/dist/libs/shared/src/components/widgets/fixed-widget/FixedWidget.d.ts +4 -2
  97. package/dist/libs/shared/src/components/widgets/items/subject-widget-item/SubjectWidgetItem.d.ts +4 -3
  98. package/dist/libs/shared/src/constants/BootstrapKeys.d.ts +1 -0
  99. package/dist/libs/shared/src/constants/WithStatements.d.ts +1 -1
  100. package/dist/libs/shared/src/enums/CountryCode.d.ts +5 -0
  101. package/dist/libs/shared/src/enums/SubtitleExtractionOptions.d.ts +4 -0
  102. package/dist/libs/shared/src/enums/WidgetContents.d.ts +2 -1
  103. package/dist/libs/shared/src/flight-requests/FavouriteVideoRequests.d.ts +1 -1
  104. package/dist/libs/shared/src/flight-requests/PreferenceRequests.d.ts +4 -4
  105. package/dist/libs/shared/src/hooks/UseReorderedItems.d.ts +9 -0
  106. package/dist/libs/shared/src/interfaces/models/Config.d.ts +3 -1
  107. package/dist/libs/shared/src/interfaces/models/UserChannel.d.ts +7 -0
  108. package/dist/libs/shared/src/interfaces/models/index.d.ts +1 -0
  109. package/dist/libs/shared/src/services/ConfigDataService.d.ts +1 -0
  110. package/dist/libs/shared/src/utils/AudienceHelper.d.ts +5 -1
  111. package/dist/projects/lite/src/apps/classrooms/components/classroom-group-dropdown/ClassroomGroupDropdown.d.ts +3 -2
  112. package/dist/projects/lite/src/apps/classrooms/components/tile-actions/TileActions.d.ts +1 -0
  113. package/dist/projects/lite/src/apps/classrooms/flight-requests/ClassroomRequests.d.ts +1 -1
  114. package/dist/projects/lite/src/apps/classrooms/views/add-students-to-classroom/AddStudentsToClassroomView.d.ts +3 -3
  115. package/dist/projects/lite/src/apps/classrooms/views/create-classroom/CreateClassroomView.d.ts +3 -4
  116. package/dist/projects/lite/src/apps/classrooms/views/create-classroom-group/CreateClassroomGroupView.d.ts +3 -3
  117. package/dist/projects/lite/src/apps/classrooms/views/delete-classroom/DeleteClassroomView.d.ts +4 -4
  118. package/dist/projects/lite/src/apps/classrooms/views/delete-classroom-group/DeleteClassroomGroupView.d.ts +3 -3
  119. package/dist/projects/lite/src/apps/classrooms/views/edit-classroom/EditClassroomView.d.ts +3 -3
  120. package/dist/projects/lite/src/apps/classrooms/views/edit-classroom-group/EditClassroomGroupView.d.ts +3 -3
  121. package/dist/projects/lite/src/apps/classrooms/views/remove-students-from-classroom/RemoveStudentsFromClassroomView.d.ts +3 -3
  122. package/dist/projects/lite/src/apps/content-updates/LiteContentUpdatesApplication.d.ts +1 -1
  123. package/dist/projects/lite/src/apps/default/LiteDefaultApplication.d.ts +2 -2
  124. package/dist/projects/lite/src/apps/playlists/LitePlaylistsApplication.d.ts +2 -1
  125. package/dist/projects/lite/src/apps/playlists/views/delete-playlist/DeletePlaylistView.d.ts +2 -2
  126. package/dist/projects/lite/src/apps/playlists/views/edit-playlist/EditPlaylistView.d.ts +2 -2
  127. package/dist/projects/lite/src/apps/playlists/views/new-playlist/NewPlaylistView.d.ts +2 -2
  128. package/dist/projects/lite/src/apps/playlists/views/playlist/PlaylistViewUtils.d.ts +0 -8
  129. package/dist/projects/lite/src/apps/playlists/views/remove-video-from-playlist/RemoveVideoFromPlaylistView.d.ts +2 -2
  130. package/dist/projects/lite/src/apps/search/components/filter-actions/FilterActions.d.ts +3 -2
  131. package/dist/projects/lite/src/apps/search/components/filter-button/FilterButton.d.ts +3 -2
  132. package/dist/projects/lite/src/apps/search/components/filter-types/checkbox-filter/CheckboxFilter.d.ts +3 -2
  133. package/dist/projects/lite/src/apps/search/components/filter-types/dropdown-filter/DropdownFilter.d.ts +3 -2
  134. package/dist/projects/lite/src/apps/search/components/filter-types/radio-filter/RadioFilter.d.ts +3 -2
  135. package/dist/projects/lite/src/apps/search/components/filter-types/radio-filter/year-level/YearLevelRadioFilter.d.ts +3 -2
  136. package/dist/projects/lite/src/apps/search/components/reset-button/ResetButton.d.ts +3 -2
  137. package/dist/projects/lite/src/apps/search/components/search-filters/SearchFilters.d.ts +3 -2
  138. package/dist/projects/lite/src/apps/search/interfaces/FilterProps.d.ts +3 -2
  139. package/dist/projects/lite/src/apps/search/utils/FilterHelper.d.ts +4 -2
  140. package/dist/projects/lite/src/apps/subjects/LiteSubjectApplication.d.ts +2 -2
  141. package/dist/projects/lite/src/apps/upload/services/FlightVideoUploadDataService.d.ts +5 -0
  142. package/dist/projects/lite/src/apps/user-manager/components/delete-uploaded-student-popup/DeleteUploadedStudentPopup.d.ts +4 -4
  143. package/dist/projects/lite/src/apps/user-manager/components/delete-uploaded-teacher-popup/DeleteUploadedTeacherPopup.d.ts +4 -4
  144. package/dist/projects/lite/src/apps/user-manager/components/edit-uploaded-user-popup/EditUploadedUserPopup.d.ts +4 -4
  145. package/dist/projects/lite/src/apps/user-manager/components/manage-users-list/ManageUsersList.d.ts +3 -2
  146. package/dist/projects/lite/src/apps/user-manager/flight-requests/SchoolUserRequests.d.ts +3 -3
  147. package/dist/projects/lite/src/apps/user-manager/views/create-student/CreateStudentView.d.ts +3 -4
  148. package/dist/projects/lite/src/apps/user-manager/views/create-teacher/CreateTeacherView.d.ts +3 -4
  149. package/dist/projects/lite/src/apps/user-manager/views/edit-student/EditStudentView.d.ts +4 -4
  150. package/dist/projects/lite/src/apps/user-manager/views/edit-teacher/EditTeacherView.d.ts +4 -4
  151. package/dist/projects/lite/src/apps/user-manager/views/remove-user/RemoveUserView.d.ts +4 -4
  152. package/dist/projects/lite/src/apps/user-manager/views/student-upload-review/StudentUploadReviewView.d.ts +4 -2
  153. package/dist/projects/lite/src/apps/user-manager/views/teacher-upload-review/TeacherUploadReviewView.d.ts +4 -2
  154. package/dist/projects/lite/src/shared/components/immersive-reader/ImmersiveReader.d.ts +7 -2
  155. package/dist/projects/lite/src/shared/components/share/copy-embed-html/CopyEmbedHtml.d.ts +4 -2
  156. package/dist/projects/lite/src/shared/constants/LiteViewModels.d.ts +6 -0
  157. package/dist/projects/lite/src/shared/{contexts/player/PlayerContext.d.ts → hooks/useInitPlayerContext.d.ts} +4 -10
  158. package/dist/projects/lite/src/shared/hooks/useNavLock.d.ts +1 -0
  159. package/dist/projects/lite/src/shared/views/share/main-view/MainShareView.d.ts +3 -3
  160. package/dist/projects/lite/src/shared/views/share/settings-view/ShareSettingsView.d.ts +4 -3
  161. package/dist/projects/lite/src/startup/RegisterAnalytics.d.ts +3 -0
  162. package/dist/projects/lite/src/startup/index.d.ts +1 -0
  163. package/dist/scripts/0-525bd75473.chunk.js +1 -0
  164. package/dist/scripts/0.chunk.js +478 -1
  165. package/dist/scripts/0.chunk.js.map +1 -0
  166. package/dist/scripts/1-f6fa17226d.chunk.js +17 -0
  167. package/dist/scripts/1.chunk.js +621 -17
  168. package/dist/scripts/1.chunk.js.map +1 -0
  169. package/dist/scripts/10-f3b34b2d35.chunk.js +1 -0
  170. package/dist/scripts/10.chunk.js +400 -7
  171. package/dist/scripts/10.chunk.js.map +1 -0
  172. package/dist/scripts/11-a698af3f1c.chunk.js +1 -0
  173. package/dist/scripts/11.chunk.js +1289 -7
  174. package/dist/scripts/11.chunk.js.map +1 -0
  175. package/dist/scripts/12-9ace90fcbc.chunk.js +1 -0
  176. package/dist/scripts/12.chunk.js +1059 -7
  177. package/dist/scripts/12.chunk.js.map +1 -0
  178. package/dist/scripts/13-3a4f103546.chunk.js +1 -0
  179. package/dist/scripts/13.chunk.js +751 -7
  180. package/dist/scripts/13.chunk.js.map +1 -0
  181. package/dist/scripts/14-11868e2868.chunk.js +1 -0
  182. package/dist/scripts/14.chunk.js +425 -7
  183. package/dist/scripts/14.chunk.js.map +1 -0
  184. package/dist/scripts/15-78ff5e8be2.chunk.js +1 -0
  185. package/dist/scripts/15.chunk.js +609 -7
  186. package/dist/scripts/15.chunk.js.map +1 -0
  187. package/dist/scripts/16-22f6224811.chunk.js +1 -0
  188. package/dist/scripts/16.chunk.js +648 -7
  189. package/dist/scripts/16.chunk.js.map +1 -0
  190. package/dist/scripts/17-afe6281dd5.chunk.js +1 -0
  191. package/dist/scripts/17.chunk.js +541 -7
  192. package/dist/scripts/17.chunk.js.map +1 -0
  193. package/dist/scripts/18-47be31c0b6.chunk.js +1 -0
  194. package/dist/scripts/18.chunk.js +766 -7
  195. package/dist/scripts/18.chunk.js.map +1 -0
  196. package/dist/scripts/19-89c0b2c20e.chunk.js +1 -0
  197. package/dist/scripts/19.chunk.js +647 -7
  198. package/dist/scripts/19.chunk.js.map +1 -0
  199. package/dist/scripts/2-3b37480a80.chunk.js +7 -0
  200. package/dist/scripts/2.chunk.js +8259 -1
  201. package/dist/scripts/2.chunk.js.map +1 -0
  202. package/dist/scripts/20-32ac3fe0b9.chunk.js +1 -0
  203. package/dist/scripts/20.chunk.js +122 -7
  204. package/dist/scripts/20.chunk.js.map +1 -0
  205. package/dist/scripts/21-891207049a.chunk.js +1 -0
  206. package/dist/scripts/21.chunk.js +1571 -1
  207. package/dist/scripts/21.chunk.js.map +1 -0
  208. package/dist/scripts/22-24236e6723.chunk.js +1 -0
  209. package/dist/scripts/22.chunk.js +1387 -1
  210. package/dist/scripts/22.chunk.js.map +1 -0
  211. package/dist/scripts/23-7b425169bc.chunk.js +1 -0
  212. package/dist/scripts/23.chunk.js +1121 -1
  213. package/dist/scripts/23.chunk.js.map +1 -0
  214. package/dist/scripts/24-40edd30087.chunk.js +1 -0
  215. package/dist/scripts/24.chunk.js +1348 -1
  216. package/dist/scripts/24.chunk.js.map +1 -0
  217. package/dist/scripts/25-887b9ef587.chunk.js +1 -0
  218. package/dist/scripts/25.chunk.js +1137 -1
  219. package/dist/scripts/25.chunk.js.map +1 -0
  220. package/dist/scripts/26-cbe0ff0f77.chunk.js +1 -0
  221. package/dist/scripts/26.chunk.js +906 -1
  222. package/dist/scripts/26.chunk.js.map +1 -0
  223. package/dist/scripts/27-f26afdae78.chunk.js +1 -0
  224. package/dist/scripts/27.chunk.js +1143 -1
  225. package/dist/scripts/27.chunk.js.map +1 -0
  226. package/dist/scripts/28-70414fd373.chunk.js +1 -0
  227. package/dist/scripts/28.chunk.js +656 -1
  228. package/dist/scripts/28.chunk.js.map +1 -0
  229. package/dist/scripts/29-944b5c01a7.chunk.js +1 -0
  230. package/dist/scripts/29.chunk.js +616 -1
  231. package/dist/scripts/29.chunk.js.map +1 -0
  232. package/dist/scripts/3-233f573a92.chunk.js +1 -0
  233. package/dist/scripts/3.chunk.js +585 -1
  234. package/dist/scripts/3.chunk.js.map +1 -0
  235. package/dist/scripts/30-3a229887e9.chunk.js +1 -0
  236. package/dist/scripts/30.chunk.js +557 -1
  237. package/dist/scripts/30.chunk.js.map +1 -0
  238. package/dist/scripts/31-ab038bfc0c.chunk.js +1 -0
  239. package/dist/scripts/31.chunk.js +731 -1
  240. package/dist/scripts/31.chunk.js.map +1 -0
  241. package/dist/scripts/32-8bd6703eef.chunk.js +1 -0
  242. package/dist/scripts/32.chunk.js +957 -1
  243. package/dist/scripts/32.chunk.js.map +1 -0
  244. package/dist/scripts/{35-8b4ce9fc27.chunk.js → 33-4579af9cf9.chunk.js} +1 -1
  245. package/dist/scripts/33.chunk.js +938 -1
  246. package/dist/scripts/33.chunk.js.map +1 -0
  247. package/dist/scripts/{36-cbd8837f89.chunk.js → 34-d8b96d9f9f.chunk.js} +1 -1
  248. package/dist/scripts/34.chunk.js +523 -1
  249. package/dist/scripts/34.chunk.js.map +1 -0
  250. package/dist/scripts/35-666d815525.chunk.js +1 -0
  251. package/dist/scripts/35.chunk.js +414 -1
  252. package/dist/scripts/35.chunk.js.map +1 -0
  253. package/dist/scripts/36-02ce5f3538.chunk.js +1 -0
  254. package/dist/scripts/36.chunk.js +404 -1
  255. package/dist/scripts/36.chunk.js.map +1 -0
  256. package/dist/scripts/37-afd3d321e3.chunk.js +1 -0
  257. package/dist/scripts/37.chunk.js +245 -1
  258. package/dist/scripts/37.chunk.js.map +1 -0
  259. package/dist/scripts/{39-e2aa1689e2.chunk.js → 38-6ad53aa15b.chunk.js} +1 -1
  260. package/dist/scripts/38.chunk.js +343 -1
  261. package/dist/scripts/38.chunk.js.map +1 -0
  262. package/dist/scripts/{40-53d132e3b4.chunk.js → 39-46c747b1d9.chunk.js} +1 -1
  263. package/dist/scripts/39.chunk.js +318 -1
  264. package/dist/scripts/39.chunk.js.map +1 -0
  265. package/dist/scripts/4-6942fee782.chunk.js +1 -0
  266. package/dist/scripts/4.chunk.js +1030 -1
  267. package/dist/scripts/4.chunk.js.map +1 -0
  268. package/dist/scripts/{41-023d613070.chunk.js → 40-c1b8806b1c.chunk.js} +1 -1
  269. package/dist/scripts/40.chunk.js +236 -1
  270. package/dist/scripts/40.chunk.js.map +1 -0
  271. package/dist/scripts/{42-ba3779218d.chunk.js → 41-f4c23477e3.chunk.js} +1 -1
  272. package/dist/scripts/41.chunk.js +231 -1
  273. package/dist/scripts/41.chunk.js.map +1 -0
  274. package/dist/scripts/42-7a5b92d70b.chunk.js +1 -0
  275. package/dist/scripts/42.chunk.js +350 -1
  276. package/dist/scripts/42.chunk.js.map +1 -0
  277. package/dist/scripts/43-97193a87df.chunk.js +1 -0
  278. package/dist/scripts/43.chunk.js +225 -1
  279. package/dist/scripts/43.chunk.js.map +1 -0
  280. package/dist/scripts/{46-6501968ace.chunk.js → 44-7f92272274.chunk.js} +1 -1
  281. package/dist/scripts/44.chunk.js +318 -1
  282. package/dist/scripts/44.chunk.js.map +1 -0
  283. package/dist/scripts/45-265f1a7a42.chunk.js +1 -0
  284. package/dist/scripts/45.chunk.js +64 -1
  285. package/dist/scripts/45.chunk.js.map +1 -0
  286. package/dist/scripts/46-a594ad7eba.chunk.js +1 -0
  287. package/dist/scripts/46.chunk.js +108 -1
  288. package/dist/scripts/46.chunk.js.map +1 -0
  289. package/dist/scripts/47-99777c20cf.chunk.js +1 -0
  290. package/dist/scripts/47.chunk.js +110 -1
  291. package/dist/scripts/47.chunk.js.map +1 -0
  292. package/dist/scripts/48-9880523c82.chunk.js +1 -0
  293. package/dist/scripts/48.chunk.js +148 -1
  294. package/dist/scripts/48.chunk.js.map +1 -0
  295. package/dist/scripts/{50-00ffd5d7c6.chunk.js → 49-5e718594e5.chunk.js} +1 -1
  296. package/dist/scripts/49.chunk.js +142 -1
  297. package/dist/scripts/49.chunk.js.map +1 -0
  298. package/dist/scripts/5-2f631dcd74.chunk.js +1 -0
  299. package/dist/scripts/5.chunk.js +3262 -1
  300. package/dist/scripts/5.chunk.js.map +1 -0
  301. package/dist/scripts/50-8cb0d9cd7d.chunk.js +1 -0
  302. package/dist/scripts/50.chunk.js +145 -1
  303. package/dist/scripts/50.chunk.js.map +1 -0
  304. package/dist/scripts/{52-e5dfa5a640.chunk.js → 51-211b643ca5.chunk.js} +1 -1
  305. package/dist/scripts/51.chunk.js +176 -1
  306. package/dist/scripts/51.chunk.js.map +1 -0
  307. package/dist/scripts/{53-79d5905fc6.chunk.js → 52-bfb2683b5d.chunk.js} +1 -1
  308. package/dist/scripts/52.chunk.js +160 -1
  309. package/dist/scripts/52.chunk.js.map +1 -0
  310. package/dist/scripts/{54-4950ec1d52.chunk.js → 53-3cf5cd5f69.chunk.js} +1 -1
  311. package/dist/scripts/53.chunk.js +98 -1
  312. package/dist/scripts/53.chunk.js.map +1 -0
  313. package/dist/scripts/{55-accb81090d.chunk.js → 54-26807e3e49.chunk.js} +1 -1
  314. package/dist/scripts/54.chunk.js +48 -1
  315. package/dist/scripts/54.chunk.js.map +1 -0
  316. package/dist/scripts/55-d38be4860b.chunk.js +1 -0
  317. package/dist/scripts/55.chunk.js +99 -1
  318. package/dist/scripts/55.chunk.js.map +1 -0
  319. package/dist/scripts/56-d4abc25ec3.chunk.js +1 -0
  320. package/dist/scripts/56.chunk.js +64 -1
  321. package/dist/scripts/56.chunk.js.map +1 -0
  322. package/dist/scripts/57.chunk.js +72 -0
  323. package/dist/scripts/57.chunk.js.map +1 -0
  324. package/dist/scripts/58.chunk.js +73 -0
  325. package/dist/scripts/58.chunk.js.map +1 -0
  326. package/dist/scripts/59.chunk.js +70 -0
  327. package/dist/scripts/59.chunk.js.map +1 -0
  328. package/dist/scripts/6-4d72a3c3fc.chunk.js +1 -0
  329. package/dist/scripts/6.chunk.js +24 -1
  330. package/dist/scripts/6.chunk.js.map +1 -0
  331. package/dist/scripts/60.chunk.js +32 -0
  332. package/dist/scripts/60.chunk.js.map +1 -0
  333. package/dist/scripts/61.chunk.js +29 -0
  334. package/dist/scripts/61.chunk.js.map +1 -0
  335. package/dist/scripts/62.chunk.js +27 -0
  336. package/dist/scripts/62.chunk.js.map +1 -0
  337. package/dist/scripts/63.chunk.js +67 -0
  338. package/dist/scripts/63.chunk.js.map +1 -0
  339. package/dist/scripts/64.chunk.js +80 -0
  340. package/dist/scripts/64.chunk.js.map +1 -0
  341. package/dist/scripts/65.chunk.js +65 -0
  342. package/dist/scripts/65.chunk.js.map +1 -0
  343. package/dist/scripts/66.chunk.js +67 -0
  344. package/dist/scripts/66.chunk.js.map +1 -0
  345. package/dist/scripts/67.chunk.js +104 -0
  346. package/dist/scripts/67.chunk.js.map +1 -0
  347. package/dist/scripts/68.chunk.js +69 -0
  348. package/dist/scripts/68.chunk.js.map +1 -0
  349. package/dist/scripts/69.chunk.js +89 -0
  350. package/dist/scripts/69.chunk.js.map +1 -0
  351. package/dist/scripts/7-90ad392b55.chunk.js +1 -0
  352. package/dist/scripts/7.chunk.js +327 -1
  353. package/dist/scripts/7.chunk.js.map +1 -0
  354. package/dist/scripts/70.chunk.js +36 -0
  355. package/dist/scripts/70.chunk.js.map +1 -0
  356. package/dist/scripts/8.chunk.js +470 -0
  357. package/dist/scripts/8.chunk.js.map +1 -0
  358. package/dist/scripts/9-52877087ef.chunk.js +1 -0
  359. package/dist/scripts/9.chunk.js +471 -7
  360. package/dist/scripts/9.chunk.js.map +1 -0
  361. package/dist/scripts/bundle-99976c17a2.min.js +1 -0
  362. package/dist/scripts/bundle.js +34769 -1
  363. package/dist/scripts/bundle.js.map +1 -0
  364. package/dist/scripts/bundles.json +1 -1
  365. package/package.json +50 -49
  366. package/typings/libs/Trackers.d.ts +10 -0
  367. package/dist/css/33.chunk.css +0 -4
  368. package/dist/css/41.chunk.css +0 -4
  369. package/dist/css/46.chunk.css +0 -2
  370. package/dist/libs/shared/src/context/SearchAppContext.d.ts +0 -9
  371. package/dist/scripts/0-7ab5925809.chunk.js +0 -1
  372. package/dist/scripts/1-08c7a79a47.chunk.js +0 -1
  373. package/dist/scripts/10-20d3430ce2.chunk.js +0 -1
  374. package/dist/scripts/11-7a25650335.chunk.js +0 -1
  375. package/dist/scripts/12-6609af3add.chunk.js +0 -1
  376. package/dist/scripts/13-5adebd80b3.chunk.js +0 -1
  377. package/dist/scripts/14-dbd27fa3a5.chunk.js +0 -1
  378. package/dist/scripts/15-5a0e1ed526.chunk.js +0 -1
  379. package/dist/scripts/16-3adc733311.chunk.js +0 -1
  380. package/dist/scripts/17-a942a8ff32.chunk.js +0 -1
  381. package/dist/scripts/18-ab78fe1ad4.chunk.js +0 -1
  382. package/dist/scripts/19-04ba4906ea.chunk.js +0 -1
  383. package/dist/scripts/2-41fe2d7e77.chunk.js +0 -1
  384. package/dist/scripts/20-f0dcfc47a9.chunk.js +0 -1
  385. package/dist/scripts/21-33e50c0d6b.chunk.js +0 -1
  386. package/dist/scripts/22-d85dfba692.chunk.js +0 -1
  387. package/dist/scripts/23-90201310df.chunk.js +0 -1
  388. package/dist/scripts/24-bc8f0f5709.chunk.js +0 -1
  389. package/dist/scripts/25-317106a5da.chunk.js +0 -1
  390. package/dist/scripts/26-4a3372406a.chunk.js +0 -1
  391. package/dist/scripts/27-074f7ed617.chunk.js +0 -1
  392. package/dist/scripts/28-3f552efb1d.chunk.js +0 -1
  393. package/dist/scripts/29-3b0fed6546.chunk.js +0 -1
  394. package/dist/scripts/3-4c7cdc97d7.chunk.js +0 -7
  395. package/dist/scripts/30-efc1720b45.chunk.js +0 -1
  396. package/dist/scripts/31-fd10b2d2e3.chunk.js +0 -1
  397. package/dist/scripts/32-77df1d4c39.chunk.js +0 -1
  398. package/dist/scripts/33-7c092bbe19.chunk.js +0 -1
  399. package/dist/scripts/34-3c94a6fffe.chunk.js +0 -1
  400. package/dist/scripts/37-ecd001861c.chunk.js +0 -1
  401. package/dist/scripts/38-a42dc5fd6c.chunk.js +0 -1
  402. package/dist/scripts/4-9b843edce7.chunk.js +0 -1
  403. package/dist/scripts/43-9b84379d80.chunk.js +0 -1
  404. package/dist/scripts/44-1bedb97d4b.chunk.js +0 -1
  405. package/dist/scripts/45-b004111b2b.chunk.js +0 -1
  406. package/dist/scripts/47-cece788594.chunk.js +0 -1
  407. package/dist/scripts/48-722f37b837.chunk.js +0 -1
  408. package/dist/scripts/49-cb04b28057.chunk.js +0 -1
  409. package/dist/scripts/5-841e3d083b.chunk.js +0 -1
  410. package/dist/scripts/51-ed260ddadd.chunk.js +0 -1
  411. package/dist/scripts/56-83e51af2a6.chunk.js +0 -1
  412. package/dist/scripts/6-c429467dba.chunk.js +0 -1
  413. package/dist/scripts/7-3c52b41cbf.chunk.js +0 -1
  414. package/dist/scripts/9-fef5ef0698.chunk.js +0 -1
  415. package/dist/scripts/bundle-7782a79aa5.min.js +0 -1
@@ -0,0 +1,470 @@
1
+ (window["webpackJsonp_clickview_lite"] = window["webpackJsonp_clickview_lite"] || []).push([[8],{
2
+
3
+ /***/ "../../libs/shared/src/apps/playlists/enums/MigrationTaskStatus.ts":
4
+ /*!*************************************************************************************************************!*\
5
+ !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/enums/MigrationTaskStatus.ts ***!
6
+ \*************************************************************************************************************/
7
+ /*! exports provided: MigrationTaskStatus */
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__, "MigrationTaskStatus", function() { return MigrationTaskStatus; });
13
+ var MigrationTaskStatus;
14
+
15
+ (function (MigrationTaskStatus) {
16
+ MigrationTaskStatus[MigrationTaskStatus["Queued"] = 1] = "Queued";
17
+ MigrationTaskStatus[MigrationTaskStatus["Processing"] = 2] = "Processing";
18
+ MigrationTaskStatus[MigrationTaskStatus["Processed"] = 3] = "Processed";
19
+ MigrationTaskStatus[MigrationTaskStatus["Errored"] = 4] = "Errored";
20
+ })(MigrationTaskStatus || (MigrationTaskStatus = {}));
21
+
22
+ /***/ }),
23
+
24
+ /***/ "../../libs/shared/src/apps/playlists/interfaces/identifiers/PlaylistCollectionIdentifier.ts":
25
+ /*!***************************************************************************************************************************************!*\
26
+ !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/interfaces/identifiers/PlaylistCollectionIdentifier.ts ***!
27
+ \***************************************************************************************************************************************/
28
+ /*! exports provided: PlaylistCollectionIdentifier */
29
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
30
+
31
+ "use strict";
32
+ __webpack_require__.r(__webpack_exports__);
33
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PlaylistCollectionIdentifier", function() { return PlaylistCollectionIdentifier; });
34
+ /* harmony import */ var _common_src_backbone_interfaces__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../common/src/backbone/interfaces */ "../../libs/common/src/backbone/interfaces/index.ts");
35
+ /* harmony import */ var _enums_PlaylistSortType__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../enums/PlaylistSortType */ "../../libs/shared/src/apps/playlists/enums/PlaylistSortType.ts");
36
+
37
+
38
+ class PlaylistCollectionIdentifier extends _common_src_backbone_interfaces__WEBPACK_IMPORTED_MODULE_0__["BaseCollectionIdentifier"] {
39
+ constructor(sort = _enums_PlaylistSortType__WEBPACK_IMPORTED_MODULE_1__["PlaylistSortType"].Newest, cursor = '') {
40
+ super({
41
+ collectionPrefix: 'user:playlists',
42
+ cursor,
43
+ sort
44
+ });
45
+ }
46
+
47
+ }
48
+
49
+ /***/ }),
50
+
51
+ /***/ "../../libs/shared/src/apps/playlists/interfaces/identifiers/PlaylistVideoCollectionIdentifier.ts":
52
+ /*!********************************************************************************************************************************************!*\
53
+ !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/interfaces/identifiers/PlaylistVideoCollectionIdentifier.ts ***!
54
+ \********************************************************************************************************************************************/
55
+ /*! exports provided: PlaylistVideoCollectionIdentifier */
56
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
57
+
58
+ "use strict";
59
+ __webpack_require__.r(__webpack_exports__);
60
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PlaylistVideoCollectionIdentifier", function() { return PlaylistVideoCollectionIdentifier; });
61
+ /* harmony import */ var _common_src_backbone_interfaces__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../common/src/backbone/interfaces */ "../../libs/common/src/backbone/interfaces/index.ts");
62
+
63
+ class PlaylistVideoCollectionIdentifier extends _common_src_backbone_interfaces__WEBPACK_IMPORTED_MODULE_0__["BaseCollectionIdentifier"] {
64
+ constructor(id, cursor = '') {
65
+ super({
66
+ collectionPrefix: 'playlist:videos',
67
+ id,
68
+ cursor
69
+ });
70
+ }
71
+
72
+ }
73
+
74
+ /***/ }),
75
+
76
+ /***/ "../../libs/shared/src/apps/playlists/interfaces/identifiers/index.ts":
77
+ /*!****************************************************************************************************************!*\
78
+ !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/interfaces/identifiers/index.ts ***!
79
+ \****************************************************************************************************************/
80
+ /*! exports provided: PlaylistCollectionIdentifier, PlaylistVideoCollectionIdentifier */
81
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
82
+
83
+ "use strict";
84
+ __webpack_require__.r(__webpack_exports__);
85
+ /* harmony import */ var _PlaylistCollectionIdentifier__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PlaylistCollectionIdentifier */ "../../libs/shared/src/apps/playlists/interfaces/identifiers/PlaylistCollectionIdentifier.ts");
86
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PlaylistCollectionIdentifier", function() { return _PlaylistCollectionIdentifier__WEBPACK_IMPORTED_MODULE_0__["PlaylistCollectionIdentifier"]; });
87
+
88
+ /* harmony import */ var _PlaylistVideoCollectionIdentifier__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PlaylistVideoCollectionIdentifier */ "../../libs/shared/src/apps/playlists/interfaces/identifiers/PlaylistVideoCollectionIdentifier.ts");
89
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PlaylistVideoCollectionIdentifier", function() { return _PlaylistVideoCollectionIdentifier__WEBPACK_IMPORTED_MODULE_1__["PlaylistVideoCollectionIdentifier"]; });
90
+
91
+
92
+
93
+
94
+ /***/ }),
95
+
96
+ /***/ "../../libs/shared/src/apps/playlists/interfaces/index.ts":
97
+ /*!****************************************************************************************************!*\
98
+ !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/interfaces/index.ts ***!
99
+ \****************************************************************************************************/
100
+ /*! exports provided: PlaylistCollectionIdentifier, PlaylistVideoCollectionIdentifier */
101
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
102
+
103
+ "use strict";
104
+ __webpack_require__.r(__webpack_exports__);
105
+ /* harmony import */ var _identifiers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./identifiers */ "../../libs/shared/src/apps/playlists/interfaces/identifiers/index.ts");
106
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PlaylistCollectionIdentifier", function() { return _identifiers__WEBPACK_IMPORTED_MODULE_0__["PlaylistCollectionIdentifier"]; });
107
+
108
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PlaylistVideoCollectionIdentifier", function() { return _identifiers__WEBPACK_IMPORTED_MODULE_0__["PlaylistVideoCollectionIdentifier"]; });
109
+
110
+
111
+
112
+ /***/ }),
113
+
114
+ /***/ "../../libs/shared/src/apps/playlists/utils/PlaylistStateUpdateHelper.ts":
115
+ /*!*******************************************************************************************************************!*\
116
+ !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/utils/PlaylistStateUpdateHelper.ts ***!
117
+ \*******************************************************************************************************************/
118
+ /*! exports provided: PlaylistStateUpdateHelper */
119
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
120
+
121
+ "use strict";
122
+ __webpack_require__.r(__webpack_exports__);
123
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PlaylistStateUpdateHelper", function() { return PlaylistStateUpdateHelper; });
124
+ const PlaylistStateUpdateHelper = {
125
+ updatePlaylist(key, newPlaylist) {
126
+ return state => {
127
+ const updatedState = Object.assign({}, state);
128
+ if (updatedState.hasOwnProperty(key)) updatedState[key] = Object.assign(Object.assign({}, updatedState[key]), newPlaylist);
129
+ return updatedState;
130
+ };
131
+ },
132
+
133
+ deletePlaylist(key) {
134
+ return state => {
135
+ const updatedState = Object.assign({}, state);
136
+ if (updatedState.hasOwnProperty(key)) delete updatedState[key];
137
+ return updatedState;
138
+ };
139
+ },
140
+
141
+ incrementVideoCount(key, count) {
142
+ return state => {
143
+ const updatedState = Object.assign({}, state);
144
+ if (!updatedState.hasOwnProperty(key)) return state;
145
+ if (!updatedState[key].videos) updatedState[key].videos = {};
146
+ updatedState[key].videos.count = updatedState[key].videos.count ? updatedState[key].videos.count + count : count;
147
+ return updatedState;
148
+ };
149
+ }
150
+
151
+ };
152
+
153
+ /***/ }),
154
+
155
+ /***/ "../../libs/shared/src/flight-requests/PlaylistRequests.ts":
156
+ /*!*****************************************************************************************************!*\
157
+ !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/flight-requests/PlaylistRequests.ts ***!
158
+ \*****************************************************************************************************/
159
+ /*! exports provided: PlaylistRequests */
160
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
161
+
162
+ "use strict";
163
+ __webpack_require__.r(__webpack_exports__);
164
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PlaylistRequests", function() { return PlaylistRequests; });
165
+ /* harmony import */ var _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/src/backbone/enums/HttpVerbs */ "../../libs/common/src/backbone/enums/HttpVerbs.ts");
166
+ /* harmony import */ var _constants_WithStatements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/WithStatements */ "../../libs/shared/src/constants/WithStatements.ts");
167
+ /* harmony import */ var _utils_ReorderHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/ReorderHelper */ "../../libs/shared/src/utils/ReorderHelper.ts");
168
+ /* harmony import */ var _apps_playlists_interfaces__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../apps/playlists/interfaces */ "../../libs/shared/src/apps/playlists/interfaces/index.ts");
169
+ /* harmony import */ var _apps_playlists_enums_MigrationTaskStatus__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../apps/playlists/enums/MigrationTaskStatus */ "../../libs/shared/src/apps/playlists/enums/MigrationTaskStatus.ts");
170
+ /* harmony import */ var _apps_playlists_utils_PlaylistStateUpdateHelper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../apps/playlists/utils/PlaylistStateUpdateHelper */ "../../libs/shared/src/apps/playlists/utils/PlaylistStateUpdateHelper.ts");
171
+ /* harmony import */ var _apps_playlists_utils_PlaylistSortHelper__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../apps/playlists/utils/PlaylistSortHelper */ "../../libs/shared/src/apps/playlists/utils/PlaylistSortHelper.ts");
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+
180
+ const addCursor = cursor => cursor ? `&cursor=${cursor}` : '';
181
+
182
+ const addMaxRatingValue = maxRatingValue => Number.isInteger(maxRatingValue) ? `&maxRatingValue=${maxRatingValue}` : '';
183
+
184
+ const getDataPrefixWithCursor = (key, cursor) => `${key}${cursor ? `:${cursor}` : ''}`;
185
+
186
+ const PlaylistRequests = {
187
+ getPlaylist(id, success, error) {
188
+ return {
189
+ url: `/api/domain/v2/objects/${id}?query=${_constants_WithStatements__WEBPACK_IMPORTED_MODULE_1__["SharedWithStatements"].PLAYLIST}`,
190
+ key: `playlist:${id}`,
191
+ success,
192
+ error
193
+ };
194
+ },
195
+
196
+ getSharedPlaylist(shareCode, maxAllowedRating, success, error) {
197
+ const baseUrl = `/api/domain/v2/share/${shareCode}`;
198
+ return {
199
+ url: `${baseUrl}?query=${_constants_WithStatements__WEBPACK_IMPORTED_MODULE_1__["SharedWithStatements"].PLAYLIST}${addMaxRatingValue(maxAllowedRating)}`,
200
+ key: `shared:playlist:${shareCode}`,
201
+ success,
202
+ error
203
+ };
204
+ },
205
+
206
+ getUserPlaylists(collectionIdentifier) {
207
+ const filter = _apps_playlists_utils_PlaylistSortHelper__WEBPACK_IMPORTED_MODULE_6__["PlaylistSortHelper"].getFilterFromSort(collectionIdentifier.sort);
208
+ return {
209
+ url: `/api/domain/v2/me/playlists?query={${filter},limit:100}` + `${_constants_WithStatements__WEBPACK_IMPORTED_MODULE_1__["SharedWithStatements"].PLAYLIST_COLLECTION}${addCursor(collectionIdentifier.cursor)}`,
210
+ key: collectionIdentifier.toString()
211
+ };
212
+ },
213
+
214
+ getPlaylistVideos(id, maxAllowedRating, cursor) {
215
+ let filter = 'orderBy:orderindex,limit:100';
216
+ if (Number.isInteger(maxAllowedRating)) filter += `,rating.value:0...${maxAllowedRating}`;
217
+ return {
218
+ url: `/api/domain/v2/objects/${id}/videos?query={${filter}}` + `${_constants_WithStatements__WEBPACK_IMPORTED_MODULE_1__["SharedWithStatements"].VIDEO_COLLECTION}${addCursor(cursor)}`,
219
+ key: getDataPrefixWithCursor(`playlist:${id}:videos`, cursor)
220
+ };
221
+ },
222
+
223
+ getSharedPlaylistVideos(shareCode, maxAllowedRating, cursor) {
224
+ return {
225
+ url: `/api/domain/v2/share/${shareCode}/videos?query={orderBy:orderindex,limit:100}` + `${_constants_WithStatements__WEBPACK_IMPORTED_MODULE_1__["SharedWithStatements"].VIDEO_COLLECTION}${addCursor(cursor)}${addMaxRatingValue(maxAllowedRating)}`,
226
+ key: getDataPrefixWithCursor(`shared:playlist:${shareCode}:videos`, cursor)
227
+ };
228
+ },
229
+
230
+ getVideoPlaylists(videoId, userId, cursor) {
231
+ return {
232
+ url: `/api/domain/v2/objects/${videoId}/playlists?query={limit:100,owner.id:[${userId}]}`,
233
+ key: getDataPrefixWithCursor(`video:playlists:${videoId}`, cursor)
234
+ };
235
+ },
236
+
237
+ getIsFollowingPlaylist(playlistId, userId) {
238
+ const formatData = data => {
239
+ var _a, _b;
240
+
241
+ return {
242
+ objectId: playlistId,
243
+ isFollowing: !!((_b = (_a = data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.length)
244
+ };
245
+ };
246
+
247
+ return {
248
+ url: `/api/domain/v2/objects/${playlistId}/followers?query={id:${userId}}`,
249
+ key: `playlist:${playlistId}:following:${userId}`,
250
+ formatData,
251
+ normalize: false
252
+ };
253
+ },
254
+
255
+ createPlaylist(userId, data, success, error) {
256
+ return {
257
+ key: 'create:playlist',
258
+ url: `/api/domain/v2/objects/${userId}/playlists`,
259
+ data,
260
+ type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].POST,
261
+ success,
262
+ error,
263
+ invalidationKeys: 'user:playlists'
264
+ };
265
+ },
266
+
267
+ updatePlaylist(id, data, success, error) {
268
+ return {
269
+ key: 'update:playlist',
270
+ url: `/api/domain/v2/objects/${id}`,
271
+ data,
272
+ type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].PUT,
273
+ success,
274
+ error,
275
+ updateState: {
276
+ keys: `playlist:${id}`,
277
+ updateData: _apps_playlists_utils_PlaylistStateUpdateHelper__WEBPACK_IMPORTED_MODULE_5__["PlaylistStateUpdateHelper"].updatePlaylist(`playlist:${id}`, data)
278
+ }
279
+ };
280
+ },
281
+
282
+ deletePlaylist(id, success, error) {
283
+ return {
284
+ key: 'delete:playlist',
285
+ url: `/api/domain/v2/objects/${id}`,
286
+ type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].DELETE,
287
+ success,
288
+ error,
289
+ invalidationKeys: 'user:playlists',
290
+ updateState: {
291
+ keys: `playlist:${id}`,
292
+ updateData: _apps_playlists_utils_PlaylistStateUpdateHelper__WEBPACK_IMPORTED_MODULE_5__["PlaylistStateUpdateHelper"].deletePlaylist(`playlist:${id}`)
293
+ }
294
+ };
295
+ },
296
+
297
+ addToPlaylist(playlistId, videoIds, success, error) {
298
+ /**
299
+ * Invalidate:
300
+ * - Playlists as they are fetched with first video.
301
+ * - Playlist video collection.
302
+ * - Playlists for each video.
303
+ */
304
+ const invalidationKeys = ['user:playlists', new _apps_playlists_interfaces__WEBPACK_IMPORTED_MODULE_3__["PlaylistVideoCollectionIdentifier"](playlistId).toString()];
305
+ videoIds.forEach(id => {
306
+ invalidationKeys.push(`video:playlists:${id}`);
307
+ });
308
+ return {
309
+ key: 'add:to:playlist',
310
+ url: `/api/domain/v2/objects/${playlistId}/associate`,
311
+ data: videoIds,
312
+ type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].POST,
313
+ success,
314
+ error,
315
+ invalidationKeys,
316
+ updateState: {
317
+ keys: `playlist:${playlistId}`,
318
+ updateData: _apps_playlists_utils_PlaylistStateUpdateHelper__WEBPACK_IMPORTED_MODULE_5__["PlaylistStateUpdateHelper"].incrementVideoCount(`playlist:${playlistId}`, videoIds.length)
319
+ }
320
+ };
321
+ },
322
+
323
+ reorderVideos(id, reorderRequest, success, error) {
324
+ return {
325
+ key: `reorder:playlist`,
326
+ url: `/api/domain/v2/objects/${id}/videos/reorder`,
327
+ data: reorderRequest,
328
+ type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].PUT,
329
+ success,
330
+ error,
331
+ // Invalidate playlists as they are fetched with the first video.
332
+ invalidationKeys: 'user:playlists',
333
+ updateState: {
334
+ keys: `playlist:${id}:videos`,
335
+ updateData: data => _utils_ReorderHelper__WEBPACK_IMPORTED_MODULE_2__["ReorderHelper"].updateState(`playlist:${id}:videos`, reorderRequest, data)
336
+ }
337
+ };
338
+ },
339
+
340
+ removePlaylistVideo(playlistId, videoId, success, error) {
341
+ return {
342
+ key: 'remove:playlist:video',
343
+ url: `/api/domain/v2/objects/${playlistId}/dissociate?memberId=${videoId}`,
344
+ type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].DELETE,
345
+ success,
346
+ error,
347
+ // Invalidate playlists as they are fetched with the first video.
348
+ invalidationKeys: ['user:playlists', `playlist:${playlistId}:videos`]
349
+ };
350
+ },
351
+
352
+ followPlaylist(playlistId, userId) {
353
+ return {
354
+ url: `/api/domain/v2/objects/${userId}`,
355
+ key: `follow:playlist:${playlistId}`,
356
+ data: {
357
+ followedPlaylists: playlistId
358
+ },
359
+ type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].PUT
360
+ };
361
+ },
362
+
363
+ unfollowPlaylist(playlistId, userId) {
364
+ return {
365
+ url: `/api/domain/v2/objects/${userId}/followedplaylists/${playlistId}`,
366
+ key: `unfollow:playlist:${playlistId}`,
367
+ type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].DELETE
368
+ };
369
+ },
370
+
371
+ getMigrationTask(success, error) {
372
+ return {
373
+ url: '/api/playlist-app/migration-task',
374
+ key: 'migration:task',
375
+ formatData: data => data || {
376
+ status: _apps_playlists_enums_MigrationTaskStatus__WEBPACK_IMPORTED_MODULE_4__["MigrationTaskStatus"].Processed
377
+ },
378
+ success,
379
+ error
380
+ };
381
+ }
382
+
383
+ };
384
+
385
+ /***/ }),
386
+
387
+ /***/ "../../libs/shared/src/utils/ReorderHelper.ts":
388
+ /*!****************************************************************************************!*\
389
+ !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/utils/ReorderHelper.ts ***!
390
+ \****************************************************************************************/
391
+ /*! exports provided: ReorderHelper */
392
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
393
+
394
+ "use strict";
395
+ __webpack_require__.r(__webpack_exports__);
396
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ReorderHelper", function() { return ReorderHelper; });
397
+ /* 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");
398
+ /* 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");
399
+
400
+
401
+ const ReorderHelper = {
402
+ reorder(items, oldIdx, newIdx) {
403
+ if (oldIdx === newIdx) return {
404
+ reorderedItems: items,
405
+ reorderRequest: null
406
+ };
407
+ const reorderedItems = _common_src_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_0__["ArrayHelper"].moveItem(items, oldIdx, newIdx);
408
+ /**
409
+ * If newIdx is the last idx then we set
410
+ * destinationMemberId to null.
411
+ */
412
+
413
+ const destinationMemberId = newIdx < items.length - 1 ? reorderedItems[newIdx + 1].id : null;
414
+ const reorderRequest = {
415
+ sourceMemberId: reorderedItems[newIdx].id,
416
+ destinationMemberId
417
+ };
418
+ return {
419
+ reorderedItems,
420
+ reorderRequest
421
+ };
422
+ },
423
+
424
+ updateState(dataPrefix, reorderRequest, data) {
425
+ const items = [];
426
+ const updatedData = _common_src_react_utils_ObjectHelper__WEBPACK_IMPORTED_MODULE_1__["ObjectHelper"].deepClone(data);
427
+ const keys = [dataPrefix]; // Maintain an ordered list of keys.
428
+
429
+ let page = data[dataPrefix];
430
+ const pageSize = !!page && !!page.data && page.data.length;
431
+ /**
432
+ * Flatten items
433
+ */
434
+
435
+ while (page) {
436
+ if (!Array.isArray(page.data)) break;
437
+ items.push(...page.data);
438
+ const nextCursor = page.pagination && page.pagination.cursors && page.pagination.cursors.next;
439
+ const nextKey = !!nextCursor && `${dataPrefix}:${nextCursor}`;
440
+ page = nextCursor && data[nextKey];
441
+ if (page) keys.push(nextKey);
442
+ }
443
+
444
+ if (!items.length) return data;
445
+ /**
446
+ * Reorder items
447
+ */
448
+
449
+ const removeIdx = _common_src_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_0__["ArrayHelper"].findIndex(items, i => i.id === reorderRequest.sourceMemberId);
450
+ const reorderedItems = [...items];
451
+ const itemToMove = reorderedItems.splice(removeIdx, 1);
452
+ const insertIdx = reorderRequest.destinationMemberId ? _common_src_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_0__["ArrayHelper"].findIndex(reorderedItems, r => r.id === reorderRequest.destinationMemberId) : reorderedItems.length;
453
+ reorderedItems.splice(insertIdx, 0, itemToMove[0]);
454
+ /**
455
+ * Paginate reordered items
456
+ */
457
+
458
+ keys.forEach(key => {
459
+ const itemsToInsert = reorderedItems.splice(0, pageSize);
460
+ updatedData[key].data = itemsToInsert;
461
+ });
462
+ return updatedData;
463
+ }
464
+
465
+ };
466
+
467
+ /***/ })
468
+
469
+ }]);
470
+ //# sourceMappingURL=8.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/enums/MigrationTaskStatus.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/interfaces/identifiers/PlaylistCollectionIdentifier.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/interfaces/identifiers/PlaylistVideoCollectionIdentifier.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/interfaces/identifiers/index.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/interfaces/index.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/utils/PlaylistStateUpdateHelper.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/flight-requests/PlaylistRequests.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/utils/ReorderHelper.ts"],"names":[],"mappings":"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","file":"scripts/8.chunk.js","sourcesContent":["export enum MigrationTaskStatus {\r\n Queued = 1,\r\n Processing = 2,\r\n Processed = 3,\r\n Errored = 4\r\n}","import { BaseCollectionIdentifier } from 'libs/common/backbone/interfaces';\r\nimport { PlaylistSortType } from 'libs/shared/apps/playlists/enums/PlaylistSortType';\r\n\r\nexport class PlaylistCollectionIdentifier extends BaseCollectionIdentifier<PlaylistSortType> {\r\n constructor(sort: PlaylistSortType = PlaylistSortType.Newest, cursor: string = '') {\r\n super({ collectionPrefix: 'user:playlists', cursor, sort });\r\n }\r\n}","import { BaseCollectionIdentifier } from 'libs/common/backbone/interfaces';\r\n\r\nexport class PlaylistVideoCollectionIdentifier extends BaseCollectionIdentifier {\r\n constructor(id: string, cursor: string = '') {\r\n super({ collectionPrefix: 'playlist:videos', id, cursor });\r\n }\r\n}","export * from './PlaylistCollectionIdentifier';\r\nexport * from './PlaylistVideoCollectionIdentifier';","export * from './data-requests';\r\nexport * from './identifiers';","import { HashObject } from 'libs/common/react/interfaces/HashObject';\r\n\r\nimport { CreateOrUpdatePlaylistRequest } from 'libs/shared/apps/playlists/interfaces';\r\n\r\ntype StateMap = { [key: string]: HashObject };\r\n\r\nexport const PlaylistStateUpdateHelper = {\r\n updatePlaylist(key: string, newPlaylist: CreateOrUpdatePlaylistRequest): (state: StateMap) => StateMap {\r\n return (state: StateMap) => {\r\n const updatedState = { ...state };\r\n\r\n if (updatedState.hasOwnProperty(key))\r\n updatedState[key] = { ...updatedState[key], ...newPlaylist };\r\n\r\n return updatedState;\r\n };\r\n },\r\n\r\n deletePlaylist(key: string): (state: StateMap) => StateMap {\r\n return (state: StateMap) => {\r\n const updatedState = { ...state };\r\n\r\n if (updatedState.hasOwnProperty(key))\r\n delete updatedState[key];\r\n\r\n return updatedState;\r\n };\r\n },\r\n\r\n incrementVideoCount(key: string, count: number): (state: StateMap) => StateMap {\r\n return (state: StateMap) => {\r\n const updatedState = { ...state };\r\n\r\n if (!updatedState.hasOwnProperty(key))\r\n return state;\r\n\r\n if (!updatedState[key].videos)\r\n updatedState[key].videos = {};\r\n\r\n updatedState[key].videos.count = updatedState[key].videos.count\r\n ? updatedState[key].videos.count + count\r\n : count;\r\n\r\n return updatedState;\r\n };\r\n }\r\n};","import { Flight } from 'libs/common/flight';\r\nimport { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\r\nimport { Xhr } from 'libs/common/backbone/interfaces';\r\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\r\n\r\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\r\n\r\nimport { UserCollection, ReorderRequest, Following } from 'libs/shared/interfaces';\r\nimport { ReorderHelper } from 'libs/shared/utils/ReorderHelper';\r\n\r\nimport { CreateOrUpdatePlaylistRequest, PlaylistCollectionIdentifier, PlaylistVideoCollectionIdentifier } from 'libs/shared/apps/playlists/interfaces';\r\nimport { MigrationTaskStatus } from 'libs/shared/apps/playlists/enums/MigrationTaskStatus';\r\nimport { PlaylistStateUpdateHelper } from 'libs/shared/apps/playlists/utils/PlaylistStateUpdateHelper';\r\nimport { PlaylistSortHelper } from 'libs/shared/apps/playlists/utils/PlaylistSortHelper';\r\n\r\nconst addCursor = (cursor?: string) => cursor ? `&cursor=${cursor}` : '';\r\n\r\nconst addMaxRatingValue = (maxRatingValue?: number) => Number.isInteger(maxRatingValue) ? `&maxRatingValue=${maxRatingValue}` : '';\r\n\r\nconst getDataPrefixWithCursor = (key: string, cursor?: string) => `${key}${cursor ? `:${cursor}` : ''}`;\r\n\r\nexport const PlaylistRequests = {\r\n getPlaylist(id: string, success?: (data: any) => void, error?: (data: any) => void): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/objects/${id}?query=${SharedWithStatements.PLAYLIST}`,\r\n key: `playlist:${id}`,\r\n success,\r\n error\r\n };\r\n },\r\n\r\n getSharedPlaylist(\r\n shareCode: string,\r\n maxAllowedRating?: number,\r\n success?: (data: any) => void,\r\n error?: (data: any) => void\r\n ): Flight.Request {\r\n const baseUrl = `/api/domain/v2/share/${shareCode}`;\r\n return {\r\n url: `${baseUrl}?query=${SharedWithStatements.PLAYLIST}${addMaxRatingValue(maxAllowedRating)}`,\r\n key: `shared:playlist:${shareCode}`,\r\n success,\r\n error\r\n };\r\n },\r\n\r\n getUserPlaylists(collectionIdentifier: PlaylistCollectionIdentifier): Flight.Request {\r\n const filter = PlaylistSortHelper.getFilterFromSort(collectionIdentifier.sort);\r\n return {\r\n url: `/api/domain/v2/me/playlists?query={${filter},limit:100}`\r\n + `${SharedWithStatements.PLAYLIST_COLLECTION}${addCursor(collectionIdentifier.cursor)}`,\r\n key: collectionIdentifier.toString()\r\n };\r\n },\r\n\r\n getPlaylistVideos(id: string, maxAllowedRating?: number, cursor?: string): Flight.Request {\r\n let filter = 'orderBy:orderindex,limit:100';\r\n\r\n if (Number.isInteger(maxAllowedRating))\r\n filter += `,rating.value:0...${maxAllowedRating}`;\r\n\r\n return {\r\n url: `/api/domain/v2/objects/${id}/videos?query={${filter}}`\r\n + `${SharedWithStatements.VIDEO_COLLECTION}${addCursor(cursor)}`,\r\n key: getDataPrefixWithCursor(`playlist:${id}:videos`, cursor)\r\n };\r\n },\r\n\r\n getSharedPlaylistVideos(shareCode: string, maxAllowedRating?: number, cursor?: string): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/share/${shareCode}/videos?query={orderBy:orderindex,limit:100}`\r\n + `${SharedWithStatements.VIDEO_COLLECTION}${addCursor(cursor)}${addMaxRatingValue(maxAllowedRating)}`,\r\n key: getDataPrefixWithCursor(`shared:playlist:${shareCode}:videos`, cursor)\r\n };\r\n },\r\n\r\n getVideoPlaylists(videoId: string, userId: string, cursor?: string): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/objects/${videoId}/playlists?query={limit:100,owner.id:[${userId}]}`,\r\n key: getDataPrefixWithCursor(`video:playlists:${videoId}`, cursor),\r\n };\r\n },\r\n\r\n getIsFollowingPlaylist(playlistId: string, userId: string): Flight.Request {\r\n const formatData: ((data: UserCollection) => Following) = (data: UserCollection) => (\r\n { objectId: playlistId, isFollowing: !!data?.data?.length }\r\n );\r\n\r\n return {\r\n url: `/api/domain/v2/objects/${playlistId}/followers?query={id:${userId}}`,\r\n key: `playlist:${playlistId}:following:${userId}`,\r\n formatData,\r\n normalize: false\r\n };\r\n },\r\n\r\n createPlaylist(\r\n userId: string,\r\n data: CreateOrUpdatePlaylistRequest,\r\n success?: (data: any) => void,\r\n error?: (data: any) => void\r\n ): Flight.Request {\r\n return {\r\n key: 'create:playlist',\r\n url: `/api/domain/v2/objects/${userId}/playlists`,\r\n data,\r\n type: HttpVerbs.POST,\r\n success,\r\n error,\r\n invalidationKeys: 'user:playlists'\r\n };\r\n },\r\n\r\n updatePlaylist(\r\n id: string,\r\n data: CreateOrUpdatePlaylistRequest,\r\n success?: (data: any) => void,\r\n error?: (data: any) => void\r\n ): Flight.Request {\r\n return {\r\n key: 'update:playlist',\r\n url: `/api/domain/v2/objects/${id}`,\r\n data,\r\n type: HttpVerbs.PUT,\r\n success,\r\n error,\r\n updateState: {\r\n keys: `playlist:${id}`,\r\n updateData: PlaylistStateUpdateHelper.updatePlaylist(`playlist:${id}`, data)\r\n }\r\n };\r\n },\r\n\r\n deletePlaylist(id: string, success?: (data: any) => void, error?: (data: any) => void): Flight.Request {\r\n return{\r\n key: 'delete:playlist',\r\n url: `/api/domain/v2/objects/${id}`,\r\n type: HttpVerbs.DELETE,\r\n success,\r\n error,\r\n invalidationKeys: 'user:playlists',\r\n updateState: {\r\n keys: `playlist:${id}`,\r\n updateData: PlaylistStateUpdateHelper.deletePlaylist(`playlist:${id}`)\r\n }\r\n };\r\n },\r\n\r\n addToPlaylist(\r\n playlistId: string,\r\n videoIds: string[],\r\n success?: (data: any) => void,\r\n error?: (data: any) => void\r\n ): Flight.Request {\r\n /**\r\n * Invalidate:\r\n * - Playlists as they are fetched with first video.\r\n * - Playlist video collection.\r\n * - Playlists for each video.\r\n */\r\n const invalidationKeys = [\r\n 'user:playlists',\r\n (new PlaylistVideoCollectionIdentifier(playlistId)).toString()\r\n ];\r\n\r\n videoIds.forEach(id => {\r\n invalidationKeys.push(`video:playlists:${id}`);\r\n });\r\n\r\n return {\r\n key: 'add:to:playlist',\r\n url: `/api/domain/v2/objects/${playlistId}/associate`,\r\n data: videoIds,\r\n type: HttpVerbs.POST,\r\n success,\r\n error,\r\n invalidationKeys,\r\n updateState: {\r\n keys: `playlist:${playlistId}`,\r\n updateData: PlaylistStateUpdateHelper.incrementVideoCount(\r\n `playlist:${playlistId}`, videoIds.length)\r\n }\r\n };\r\n },\r\n\r\n reorderVideos(\r\n id: string,\r\n reorderRequest: ReorderRequest,\r\n success?: (data: any) => void,\r\n error?: (data: any) => void\r\n ): Flight.Request {\r\n return {\r\n key: `reorder:playlist`,\r\n url: `/api/domain/v2/objects/${id}/videos/reorder`,\r\n data: reorderRequest,\r\n type: HttpVerbs.PUT,\r\n success,\r\n error,\r\n // Invalidate playlists as they are fetched with the first video.\r\n invalidationKeys: 'user:playlists',\r\n updateState: {\r\n keys: `playlist:${id}:videos`,\r\n updateData: (data: { [key: string]: HashObject }) =>\r\n ReorderHelper.updateState(`playlist:${id}:videos`, reorderRequest, data)\r\n }\r\n };\r\n },\r\n\r\n removePlaylistVideo(\r\n playlistId: string,\r\n videoId: string,\r\n success?: (data: any) => void,\r\n error?: (data: any) => void\r\n ): Flight.Request {\r\n return {\r\n key: 'remove:playlist:video',\r\n url: `/api/domain/v2/objects/${playlistId}/dissociate?memberId=${videoId}`,\r\n type: HttpVerbs.DELETE,\r\n success,\r\n error,\r\n // Invalidate playlists as they are fetched with the first video.\r\n invalidationKeys: [ 'user:playlists', `playlist:${playlistId}:videos` ]\r\n };\r\n },\r\n\r\n followPlaylist(playlistId: string, userId: string): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/objects/${userId}`,\r\n key: `follow:playlist:${playlistId}`,\r\n data: { followedPlaylists: playlistId },\r\n type: HttpVerbs.PUT,\r\n // TODO updateState\r\n };\r\n },\r\n\r\n unfollowPlaylist(playlistId: string, userId: string): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/objects/${userId}/followedplaylists/${playlistId}`,\r\n key: `unfollow:playlist:${playlistId}`,\r\n type: HttpVerbs.DELETE,\r\n // TODO updateState\r\n };\r\n },\r\n\r\n getMigrationTask(success?: (data: any) => void, error?: (xhr: Xhr) => void): Flight.Request {\r\n return {\r\n url: '/api/playlist-app/migration-task',\r\n key: 'migration:task',\r\n formatData: (data: any) => data || { status: MigrationTaskStatus.Processed },\r\n success,\r\n error\r\n };\r\n }\r\n};","import { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\r\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\r\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\r\nimport { BaseObject, ReorderRequest } from 'libs/shared/interfaces';\r\n\r\ninterface ReorderResult<T extends BaseObject> {\r\n reorderRequest: ReorderRequest;\r\n reorderedItems: T[];\r\n}\r\n\r\nexport const ReorderHelper = {\r\n reorder<T extends BaseObject>(items: T[], oldIdx: number, newIdx: number): ReorderResult<T> {\r\n if (oldIdx === newIdx)\r\n return { reorderedItems: items, reorderRequest: null };\r\n\r\n const reorderedItems: T[] = ArrayHelper.moveItem(items, oldIdx, newIdx);\r\n\r\n /**\r\n * If newIdx is the last idx then we set\r\n * destinationMemberId to null.\r\n */\r\n const destinationMemberId = newIdx < items.length - 1\r\n ? reorderedItems[newIdx + 1].id\r\n : null;\r\n\r\n const reorderRequest: ReorderRequest = {\r\n sourceMemberId: reorderedItems[newIdx].id,\r\n destinationMemberId\r\n };\r\n\r\n return { reorderedItems, reorderRequest };\r\n },\r\n\r\n updateState(\r\n dataPrefix: string,\r\n reorderRequest: ReorderRequest,\r\n data: { [key: string]: HashObject\r\n }): { [key: string]: HashObject } {\r\n const items: BaseObject[] = [];\r\n const updatedData = ObjectHelper.deepClone(data);\r\n\r\n const keys = [dataPrefix]; // Maintain an ordered list of keys.\r\n let page = data[dataPrefix];\r\n const pageSize = !!page && !!page.data && page.data.length;\r\n\r\n /**\r\n * Flatten items\r\n */\r\n while (page) {\r\n if (!Array.isArray(page.data))\r\n break;\r\n\r\n items.push(...page.data as BaseObject[]);\r\n\r\n const nextCursor = page.pagination\r\n && page.pagination.cursors\r\n && page.pagination.cursors.next;\r\n\r\n const nextKey = !!nextCursor && `${dataPrefix}:${nextCursor}`;\r\n\r\n page = nextCursor && data[nextKey];\r\n\r\n if (page)\r\n keys.push(nextKey);\r\n }\r\n\r\n if (!items.length)\r\n return data;\r\n\r\n /**\r\n * Reorder items\r\n */\r\n const removeIdx = ArrayHelper.findIndex(items, i => i.id === reorderRequest.sourceMemberId);\r\n\r\n const reorderedItems = [...items];\r\n\r\n const itemToMove = reorderedItems.splice(removeIdx, 1);\r\n\r\n const insertIdx = reorderRequest.destinationMemberId\r\n ? ArrayHelper.findIndex(reorderedItems, r => r.id === reorderRequest.destinationMemberId)\r\n : reorderedItems.length;\r\n\r\n reorderedItems.splice(insertIdx, 0, itemToMove[0]);\r\n\r\n /**\r\n * Paginate reordered items\r\n */\r\n keys.forEach(key => {\r\n const itemsToInsert = reorderedItems.splice(0, pageSize);\r\n updatedData[key].data = itemsToInsert;\r\n });\r\n\r\n return updatedData;\r\n }\r\n};"],"sourceRoot":""}
@@ -0,0 +1 @@
1
+ (window.webpackJsonp_clickview_lite=window.webpackJsonp_clickview_lite||[]).push([[9],{427:function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(0),i=a(7),r=a(33),s=a(34),l=a(10);function c({backToName:e,appLink:t,color:a}){const c=e?i.a.getPhrase("shared.backButton","backTo",{backToName:e}):i.a.getPhrase("shared.backButton","back"),o="black"===a?"":"text-light";return n.createElement(s.a,{appLink:t,className:"d-inline-flex align-items-center h5 mb-0 "+o},n.createElement(r.a,{svgName:l.b.ChevronLeft,size:r.b.Medium}),n.createElement("span",{className:"ml-1"},c))}c.defaultProps={color:"black"}},430:function(e,t,a){"use strict";var n=a(0),i=a(28),r=a(131),s=a(33),l=a(34),c=a(10),o=a(435),d=a.n(o);function u(e){let t="dropdown-item";return e&&(t+=" "+e),t}function m(e){if(!e.actions||!e.actions.length)return n.createElement(n.Fragment,null);const t="actions-dropdown-"+r.a.getRandomInt();let a="px-0 "+d.a.dropdownToggle;return e.dropdownToggleClassName&&(a+=" "+e.dropdownToggleClassName),n.createElement(i.Dropdown,{className:e.className?e.className:"",alignRight:!0},n.createElement(i.Dropdown.Toggle,{as:"button",type:"button",id:t,className:a},n.createElement(s.a,{svgName:c.b.More,size:s.b.Small})),n.createElement(i.Dropdown.Menu,null,e.actions.map((e,t)=>n.createElement(l.a,{key:t,appLink:e.appLink,className:u(e.className)},e.label))))}m.defaultProps={dropdownToggleClassName:"btn btn-light"};var p=a(119),f=a(83);function g(e){const{onClick:t,appLink:a,svgName:i,tooltip:r}=e.actionOptions;let s="ml-2";return e.actionOptions.className&&(s+=" "+e.actionOptions.className),r?n.createElement(f.a,{title:r},n.createElement(p.a,{appLink:a,svgName:i,onClick:t,className:s},e.children)):i?n.createElement(p.a,{onClick:t,appLink:a,svgName:i,className:s},e.children):a?n.createElement(l.a,{onClick:t,appLink:a,className:s},e.children):n.createElement("button",{onClick:t,className:s},e.children)}function b(e){const t=[],a=[];e.actions.forEach(e=>{e.button?t.push(e):a.push(e)});let i="d-flex";return e.className&&(i+=" "+e.className),n.createElement("div",{className:i},n.createElement(n.Fragment,null,!!t.length&&n.createElement("span",{className:d.a.buttonList},t.map((e,t)=>n.createElement(g,{key:t,actionOptions:e},e.label))),e.sortComponent?e.sortComponent:"",!!a.length&&n.createElement(m,{actions:a,className:!!t.length&&"ml-2",dropdownToggleClassName:e.actionsDropdownClassName})))}a.d(t,"a",(function(){return b}))},432:function(e,t,a){"use strict";a.d(t,"a",(function(){return d})),a.d(t,"b",(function(){return u}));var n=a(0),i=a(427),r=a(122),s=a(80),l=a(430),c=a(433),o=a.n(c);const d=n.memo((function(e){const{heading:t,banner:a,imageCdnUrl:c,actions:d,sortComponent:u}=e,m=r.a.createBannerUrl(a,{fallbackBaseUrl:c,fallbackCategoryName:t,type:s.b.Banners},{size:s.a.Large,resizeType:s.c.Cover});return n.createElement("div",{className:"banner",style:{backgroundImage:`url('${m}')`}},e.backButtonAppLink&&n.createElement("div",{className:"pt-3"},n.createElement(i.a,{appLink:e.backButtonAppLink,backToName:e.backButtonText,color:"white"})),n.createElement("h1",{className:"text-white text-shadow position-absolute m-0 pb-3"},t),!!d&&n.createElement("div",{className:o.a.actionsContainer},n.createElement(l.a,{actions:d,sortComponent:u})))}),(e,t)=>e.actions===t.actions),u=()=>n.createElement("div",{className:"partial-banner partial-loading-background"})},433:function(e,t,a){e.exports={actionsContainer:"_286KF"}},435:function(e,t,a){e.exports={buttonList:"_2v9CT",dropdownToggle:"AYBvQ"}},439:function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var n=a(67);const i=/([0-9]+)/gi,r=/(^\w+)/gi;const s={getSortedPresentationAudiences(e,t){const a=e.map(e=>e.id.toString());return t.filter(e=>a.includes(e.masterId.toString()))},getMergedPresentationAudienceString(e){if(1===e.length)return e[0];const t=e.map(e=>e.name).join(","),a=t.match(i),n=t.match(r);if(!a||!n)return e[0];const s=function(e){let t,a,n=!1;const i=[];let r,s;for(e=e.sort((e,t)=>e-t),r=0;r<e.length;r++)s=r+1,n||(t=e[r]),a=e[s],e[r]+1===a?n=!0:n?(i.push(`${t} - ${e[r]}`),n=!1):(i.push(""+e[r]),n=!1);return i}(a.map(e=>+e)||[]);return{name:`${n[0]} ${s.join(" , ")}`}},sortMembersWithDuplicateNamesByAudience(e){const t=e=>{let t,a;return e.forEach(e=>{const r=+n.a.first(e.name.match(i));if(!t)return t=e,void(a=r);r>a&&(t=e)}),t},a={};let r=[];return e.forEach(e=>{if(!a[e.name])return a[e.name]=1,void r.push(e);r.push(e),a[e.name]++;const n=r.splice(r.length-a[e.name]).sort((e,a)=>{const n=t(e.subjectPresentationAudiences.data),i=t(a.subjectPresentationAudiences.data);return n.name.localeCompare(i.name)});r=r.concat(n)}),r}}},440:function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(0);a(463);function i(e){return e.audience?n.createElement("div",{className:"border rounded-pill d-inline-block px-2 mt-1 "+("border-"+e.border)},e.audience.name):n.createElement(n.Fragment,null)}},441:function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));const n=5,i=50,r=100,s={getPartialLoadingItems(e={}){const{numItems:t=n,minWidth:a=i,maxWidth:s=r}=e;return[...Array(t)].map(()=>({width:Math.max(Math.floor(Math.random()*s),a)+"px"}))}}},453:function(e,t,a){e.exports={basePlaylistItem:"_2nvrp",playlistItem:"_6o0Z2",playlistMetadata:"_3MCKL",partialHeading:"_13tO6"}},454:function(e,t,a){e.exports={partialLoadingHeading:"_1RLPq",partialLoading:"oArG4",labelContainer:"QLCgm",hoverActive:"_3Aleb",mask:"_2M2Zz",width:"TQg2K"}},462:function(e,t,a){"use strict";a.d(t,"a",(function(){return f}));var n=a(0),i=a(122),r=a(439),s=a(80),l=a(48),c=a(34),o=a(429),d=a(416),u=a(440),m=a(453),p=a.n(m);function f(e){const t=i.a.createUrl(e.data.cover&&e.data.cover.url,{size:s.a.Medium,resizeType:s.c.Cover}),a=e.data.subjectPresentationAudiences&&e.data.subjectPresentationAudiences.data,m=r.a.getSortedPresentationAudiences(a,e.presentationAudiences),f=r.a.getMergedPresentationAudienceString(m),g=!!e.showCount&&!!e.data.videos&&e.data.videos.count;return n.createElement(c.a,{appLink:e.appLink},n.createElement(o.b,{data:t,className:p.a.playlistItem},n.createElement(d.a,{type:d.b.Playlist}),n.createElement("div",{className:"text-white "+p.a.playlistMetadata},Number.isInteger(g)&&n.createElement(l.b,{namespace:"shared.playlistItem",phrase:"videos",options:{smartCount:g}}),n.createElement("h5",{className:"text-shadow mb-0"},e.data.name),!!a&&!!a.length&&n.createElement(u.a,{audience:f,border:"white"}))))}},463:function(e,t,a){e.exports={audienceLabelListItem:"_2YGVO"}},464:function(e,t,a){"use strict";a.d(t,"a",(function(){return g}));var n=a(0),i=a(35),r=a(452),s=a(439),l=a(34),c=a(429),o=a(416),d=a(426),u=a(440),m=a(434),p=a(454),f=a.n(p);function g(e){const{data:t,appLink:a,preloadImage:p}=e,g=Object.assign(Object.assign({},a),{args:[t.id,i.a.slugify(t.name)]});let b=t&&t.subjectPresentationAudiences&&t.subjectPresentationAudiences.data||[];const E=s.a.getSortedPresentationAudiences(b,e.audiences),v=s.a.getMergedPresentationAudienceString(E),[h,y]=Object(r.b)(f.a.hoverActive);return n.createElement(l.a,{key:t.id,appLink:g,className:"position-relative p-1 flex-shrink-0 "+f.a.width},n.createElement("div",{ref:h},y&&n.createElement("div",{className:"p-3 text-white text-center "+f.a.mask},n.createElement("h3",{className:"h4"},t.name),n.createElement("p",null,t.description)),n.createElement(c.b,{data:t.tallPoster,aspectRatio:c.a.NineBySixteen,preload:p,size:d.a.Large},n.createElement(o.a,{type:o.b.Series}),n.createElement("div",{className:"position-absolute text-white "+f.a.labelContainer},b&&b.length?n.createElement(u.a,{audience:v,border:"white"}):n.createElement(m.a,{type:m.b.Rating,data:t.rating})))))}},465:function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));const n=()=>"/api/domain/v1/subjects/audiences",i={presentationAudiences:()=>({bootstrapName:"presentationAudiences",url:n(),key:"presentation:audiences",normalize:!1})}},466:function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(0),i=a(454),r=a.n(i);const s=[...Array(4)],l=()=>n.createElement("div",{className:"pb-3"},n.createElement("div",{className:"partial-loading-background "+r.a.partialLoadingHeading,dangerouslySetInnerHTML:{__html:"&nbsp"}}),n.createElement("div",{className:"row"},s.map((e,t)=>n.createElement("div",{key:t,className:"col-6 col-sm-4 col-lg-3 "},n.createElement("div",{className:"py-2"},n.createElement("div",{className:r.a.partialLoading+" partial-loading-background"}))))))},467:function(e,t,a){"use strict";var n;function i(e,t){switch(t.type){case n.Init:return Object.assign(Object.assign({},e),t.payload.reduce((e,t)=>(e[t.masterId]=t,e),{}));case n.Toggle:return Object.assign({},function(e,t){const a=t.audience,n=t.isSelected;if(!a)return e;const i=a.masterId,r=Object.assign({},e);return n?r[i]||(r[i]=a):delete r[i],r}(e,t.payload));default:return e}}a.d(t,"a",(function(){return n})),a.d(t,"b",(function(){return i})),function(e){e.Init="init",e.Toggle="toggle"}(n||(n={}))},478:function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(0),i=a(28),r=a(453),s=a.n(r);function l(e){const t=[...Array(e.numItems)],a=e.itemClassName||"";return n.createElement(n.Fragment,null,e.showHeading&&n.createElement("div",{className:s.a.partialHeading+" partial-loading-background"}),n.createElement(i.Row,null,t.map((e,t)=>n.createElement(i.Col,{key:t,xs:6,sm:4,md:3,lg:2,className:a},n.createElement("div",{className:"py-2"},n.createElement("div",{className:s.a.basePlaylistItem+" partial-loading-background"}))))))}l.defaultProps={numItems:8}},479:function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var n=a(0),i=a(496),r=a.n(i);function s(e){const{audience:t,highlight:a,setAudience:i,isDisabled:s,extraClasses:l}=e,c=function(e,t){return e?"badge-info text-light":t?r.a.disabled+" text-muted":"badge-light"}(a,s),o=`badge-pill d-inline-block mr-1 ${s?"cursor-default":"cursor-pointer"} ${c} ${l}`;return n.createElement("span",{className:o,onClick:()=>{s||i(t,!a)},role:"checkbox","aria-checked":a},t.name.split(" ").map(e=>e.charAt(0).toUpperCase()+e.substring(1)).join(" "))}s.defaultProps={extraClasses:""}},495:function(e,t,a){e.exports={widgetItem:"_1oyw1",imagePanel:"_1UOVG",large:"_1EtWs",comingSoonPanel:"_3js2e",name:"_3csgE",clamped:"_1y2oG",editSubjectsItem:"_1yBMf"}},496:function(e,t,a){e.exports={disabled:"_1KxF9"}},498:function(e,t,a){"use strict";var n=a(0),i=a(26),r=a(36),s=a(67),l=a(441),c=a(34);const o=({breadcrumb:{label:e,appLink:t,active:a}})=>n.createElement("li",{className:"breadcrumb-item"+(a?" active":"")},a?n.createElement("strong",null,e):n.createElement(c.a,{appLink:t},e)),d=({breadcrumbs:e})=>n.createElement("ol",{className:"breadcrumb m-0 p-0"},e.map((e,t)=>n.createElement(o,{key:t,breadcrumb:e})));var u;function m(e,t,a){return{label:e.name,appLink:t(e),active:a}}function p(e){const{type:t}=e,a=function(e,t){let{currentItem:a,getItemAppLink:l,getParent:c,rootItem:o,data:d,subview:u}=e;const[p,f]=Object(n.useState)([]);n.useMemo(()=>{if(t||r.a.isEmpty(d))return;const e=d.map((e,t)=>m(e,l,t+1===d.length));o&&e.unshift(o),f(e)},[d]),n.useMemo(()=>{if(!t||!i.a.isFunction(c))return;const e=[m(a,l,!0)];for(a=c(a);a;)e.unshift(m(a,l)),a=c(a);return o&&e.unshift(o),f(e)},[a,c,l,o]);const{current:g}=n.useRef({label:u,appLink:null,active:!0});if(u){p.includes(g)||f([...p,g]);const e=p.filter(e=>e.active&&e!==g);e.length&&(s.a.first(e).active=!1)}return p}(e,t===u.Dynamic);return n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement(d,{breadcrumbs:a}))}a.d(t,"a",(function(){return u})),a.d(t,"b",(function(){return p})),a.d(t,"c",(function(){return g})),function(e){e[e.Static=0]="Static",e[e.Dynamic=1]="Dynamic"}(u||(u={}));const f=l.a.getPartialLoadingItems({numItems:3}),g=()=>n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},f.map(({width:e},t)=>n.createElement("li",{key:t,className:"breadcrumb-item"},n.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:e},dangerouslySetInnerHTML:{__html:"&nbsp"}})))))},505:function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var n=a(0),i=a(28),r=a(462);function s(e){return n.createElement(i.Row,null,e.playlists.map(t=>n.createElement(i.Col,{key:t.id,xs:6,sm:4,lg:3,className:"mb-3 "+(e.itemClassName?e.itemClassName:"")},n.createElement(r.a,{key:t.id,data:t,appLink:e.getPlaylistAppLink(t),presentationAudiences:e.presentationAudiences,showCount:e.showCount}))))}},506:function(e,t,a){"use strict";a.d(t,"a",(function(){return f}));var n=a(0),i=a(35),r=a(122),s=a(80),l=a(34),c=a(416),o=a(48),d=a(495),u=a.n(d);const m=({name:e,multiline:t})=>{let a=u.a.comingSoonPanel+" px-3 text-center mt-3",i=u.a.name+" h6 mb-0 pb-1";return t?i+=` ${u.a.clamped} clamp-2`:(a+=" text-nowrap",i+=" text-truncate"),n.createElement("div",{className:a},n.createElement("small",{className:"text-muted"},n.createElement(o.b,{namespace:"shared.subjectWidgetItem",phrase:"comingSoon"})),n.createElement("p",{className:i},e))},p=({name:e,multiline:t})=>{let a="px-3 text-center d-flex align-items-center",i=u.a.name+" h6 mb-0 pb-1";return t?i+=` ${u.a.clamped} clamp-2 text-left`:(a+=" text-nowrap text-truncate",i+=" text-truncate"),n.createElement("div",{className:a},n.createElement("p",{className:i},e))};const f=n.memo((function(e){var t;const a=Object.assign(Object.assign({},e.appLink),{args:[e.data.id,i.a.slugify(e.data.name)]}),o=r.a.createUrl(null===(t=e.data.cover)||void 0===t?void 0:t.url,{size:s.a.Small});return n.createElement(l.a,{appLink:a},n.createElement("div",{className:"border d-flex position-relative "+u.a.widgetItem,id:e.data.id},n.createElement("div",{className:`${u.a.imagePanel} ${e.isLarge?u.a.large:""}`,style:{backgroundImage:`url('${o}')`}}),e.data.comingSoon?n.createElement(m,{name:e.data.name,multiline:e.isLarge}):n.createElement(p,{name:e.data.name,multiline:e.isLarge}),n.createElement(c.a,{type:c.b.Subject,extraClasses:e.isLarge?u.a.large:""})))}))},532:function(e,t,a){e.exports={itemSpacing:"_10Pgb"}},533:function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(0),i=a(2);function r(e,t=[]){n.useEffect(()=>{const{appLink:t,paramBuilder:a,isValid:n,appLinkOptions:r}=e;(function(e,t){return!!e&&(!(!e.application||!e.action)&&!!t())})(t,n)&&(t.params=a(),i.a.AppLinkHelper.trigger(t,r))},[...t])}},534:function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(0),i=a(36),r=a(467);const s=/\s|\+/gi;function l(e){return e?e.replace(s,"").toLowerCase():""}function c(e,t,a,s=[]){n.useEffect(()=>{if(!i.a.isObject(e)||i.a.isEmpty(e))return;if(!t||!t.length)return;let{a:n}=e;if(!n)return;"string"==typeof n&&(n=[n]);const s=n.reduce((e,t)=>(e[l(t)]=t,e),{}),c=t.filter(e=>s[l(e.name)]);a({type:r.a.Init,payload:c})},[...s])}},535:function(e,t,a){"use strict";a.d(t,"a",(function(){return l})),a.d(t,"b",(function(){return o}));var n=a(0),i=a(441),r=a(479),s=a(467);function l(e){const{audiences:t,activeAudiences:a,setAudience:i,disabled:l}=e;return t&&t.length?n.createElement("div",{className:"pt-3"},t.map(e=>n.createElement(r.a,{key:e.masterId,audience:e,highlight:!!a&&!!a[e.masterId],setAudience:(e,t)=>i({type:s.a.Toggle,payload:{audience:e,isSelected:t}}),isDisabled:l}))):n.createElement(n.Fragment,null)}const c=i.a.getPartialLoadingItems({numItems:6}),o=()=>n.createElement("div",{className:"pt-3"},c.map(({width:e},t)=>n.createElement("span",{key:t,className:"d-inline-block badge-pill partial-loading-background mr-1",dangerouslySetInnerHTML:{__html:"&nbsp"},style:{width:e}})))},536:function(e,t,a){"use strict";var n=a(464);a.d(t,"b",(function(){return n.a}));var i=a(466);a.d(t,"a",(function(){return i.a}))},537:function(e,t,a){"use strict";a.d(t,"a",(function(){return s})),a.d(t,"d",(function(){return l})),a.d(t,"c",(function(){return c})),a.d(t,"b",(function(){return o}));var n=a(35),i=a(4),r=a(11),s=function(e){return function(t){return{application:i.a.SUBJECT,action:r.a.Subjects.CLASSIFICATION,args:t?[t.id,n.a.slugify(t.name)]:[],params:e||{}}}},l=function(e){return{application:i.a.SUBJECT,action:r.a.Subjects.CLASSIFICATION_SERIES,args:e?[e.id,n.a.slugify(e.name)]:[]}},c=function(e){return{application:i.a.PLAYLISTS,action:r.a.Playlists.PLAYLIST,args:[e.id,n.a.slugify(e.name)]}},o=function(){return{application:i.a.DASHBOARD,action:r.a.Dashboard.HOME}}},541:function(e,t,a){"use strict";var n=a(0),i=a(36),r=a(26),s=a(67);var l=a(484),c=a(461),o=a(483),d=a(131),u=a(416),m=a(495),p=a.n(m);const f=()=>{const[e]=n.useState(d.a.getRandomInt(5)+3+"rem");return n.createElement("div",{className:"border d-flex position-relative mr-2 "+p.a.widgetItem},n.createElement("div",{className:p.a.imagePanel}),n.createElement("div",{className:"px-2",style:{width:e}}," "),n.createElement(u.a,{type:u.b.Subject}))};var g=a(499),b=a(431),E=a(48),v=a(441);const h=(e,t,a,n,i)=>r=>{N(r.clientX,e,t,a,n,i)},y=(e,t,a,n,i)=>r=>{N(r.touches.item(0).clientX,e,t,a,n,i)};function N(e,t,a,n,i,r){let s=i;s||(s=Object.assign(Object.assign({},a),{initialMouseX:e}),r(s),t.current.style.transition=""),n({type:b.a.Drag,payload:{widgetSnapshot:s,currentMouseX:e}})}const k=(e,t)=>()=>{e.current.style.transition="transform 500ms ease-in-out 100ms",t(null)},L=k,w={offset:0,containerLeftPosition:null,containerRightPosition:null,firstElementPosition:null,lastElementPosition:null,hideLeftButton:!0,hideRightButton:!0,maxSlideDistance:500,leftOffsetLimit:null};function x(e,t){switch(t.type){case b.a.Init:case b.a.Resize:return Object.assign(Object.assign({},e),function(e){const{container:t={},lastElement:a={}}=e;if(!t.current||!a.current)return w;const n=e.container.current.getBoundingClientRect().left,i=e.container.current.getBoundingClientRect().right,r=n,s=e.lastElement.current.getBoundingClientRect().right,l=i-s;return Object.assign(Object.assign({},w),{containerLeftPosition:n,containerRightPosition:i,firstElementPosition:r,lastElementPosition:s,hideRightButton:s<i,leftOffsetLimit:l})}(t.payload));case b.a.Next:return Object.assign(Object.assign({},e),function(e){const{firstElementPosition:t,lastElementPosition:a,maxSlideDistance:n,offset:i,containerRightPosition:r}=e,s=a-r>=n?n:a-r;return{firstElementPosition:t-s,lastElementPosition:a-s,offset:i-s,hideRightButton:a-s===r,hideLeftButton:!1}}(e));case b.a.Previous:return Object.assign(Object.assign({},e),function(e){const{containerLeftPosition:t,firstElementPosition:a,lastElementPosition:n,maxSlideDistance:i,offset:r}=e,s=a+i<=t,l=s?i:Math.abs(r);return{firstElementPosition:a+l,lastElementPosition:n+l,offset:r+l,hideLeftButton:!s||a+l===t,hideRightButton:!1}}(e));case b.a.Drag:return Object.assign(Object.assign({},e),function(e,t){const{widgetSnapshot:a,currentMouseX:n}=t;if(a.hideLeftButton&&a.hideRightButton)return{};const i=a.initialMouseX-n;let r=a.offset-i,s=a.firstElementPosition-i,l=a.lastElementPosition-i,c=!1,o=!1;return s>e.containerLeftPosition&&(r=0,s=e.containerLeftPosition,l=e.lastElementPosition,c=!0),l<=e.containerRightPosition&&(r=e.leftOffsetLimit,s=e.containerLeftPosition-Math.abs(e.leftOffsetLimit),l=a.containerRightPosition,o=!0),{offset:r,firstElementPosition:s,lastElementPosition:l,hideLeftButton:c,hideRightButton:o}}(e,t.payload));default:return e}}var A=a(532),P=a.n(A);a.d(t,"a",(function(){return S})),a.d(t,"b",(function(){return I}));function S(e){const{childComponent:t,endComponent:a}=e,[d,u]=n.useReducer(x,w),[m,p]=n.useState(null),f={container:n.useRef(null),firstElement:n.useRef(null),lastElement:n.useRef(null)};var v;!function(e,t,a=[]){let i;const r=()=>{e(),window.clearTimeout(i),i=window.setTimeout(t,100)};n.useEffect(()=>(window.addEventListener("resize",t?r:e),()=>window.removeEventListener("resize",t?r:e)),[...a])}(((e,t)=>()=>{e.container.current&&(e.container.current.style.transition=""),t({type:b.a.Resize,payload:e})})(f,u),(v=f.container,()=>{v.current&&(v.current.style.transition="transform 500ms ease-in-out 100ms")}));const{ref:N,inView:A}=Object(l.a)(e.lazyLoad);let S=e.collection;!e.collection&&r.a.isFunction(e.fetch)&&(S=e.fetch(A)),n.useEffect(()=>{S&&!i.a.isEmpty(S)&&u({type:b.a.Init,payload:f})},[S]);const C=n.useMemo((function(){if(!S)return;const i=S.map(i=>{let r;return i===s.a.first(S)&&(r=f.firstElement),i!==s.a.last(S)||a||(r=f.lastElement),n.createElement("div",{key:i.id,ref:r,className:P.a.itemSpacing},n.createElement(t,{data:i,appLink:e.childAppLink}))});return a&&i.push(n.createElement("div",{key:"end-widget-component",ref:f.lastElement,className:P.a.itemSpacing},n.createElement(a,null))),n.createElement(n.Fragment,null,i)}),[S]);return S&&!S.length?n.createElement(n.Fragment,null):!S||i.a.isEmpty(S)?n.createElement("div",{ref:N},n.createElement(I,null)):n.createElement(n.Fragment,null,e.headingPhraseKey&&n.createElement("h4",{className:"d-inline-block mr-2 pl-1 mb-2"},n.createElement(E.b,{namespace:"shared.dynamicWidget",phrase:e.headingPhraseKey})),n.createElement("div",{className:"position-relative px-1"},n.createElement(o.a,{direction:o.b.Left,onClick:()=>u({type:b.a.Previous}),hide:d.hideLeftButton,useGradientBackdrop:!0}),n.createElement("div",{className:"overflow-hidden"},n.createElement(g.a,{position:d.offset,positionType:c.a.Pixels,onDrag:h(f.container,d,u,m,p),onDragEnd:k(f.container,p),onTouchMove:y(f.container,d,u,m,p),onTouchEnd:L(f.container,p),ref:f.container},C)),n.createElement(o.a,{direction:o.b.Right,onClick:()=>u({type:b.a.Next}),hide:d.hideRightButton,useGradientBackdrop:!0})))}const C=v.a.getPartialLoadingItems(),I=()=>n.createElement("div",{className:"pb-3 d-flex flex-nowrap"},C.map((e,t)=>n.createElement(f,{key:t})))},552:function(e,t,a){e.exports={tagList:"yvetE",tagItem:"_1InnN"}},605:function(e,t,a){e.exports={footerImageContainer:"_2lUo1",footerImage:"Q_m9i",wave:"_2WUUq"}},606:function(e,t,a){e.exports={classificationItem:"_2XXp2"}},607:function(e,t,a){e.exports={partialHeroThumbnail:"mBd7D",partialSeriesText:"_2MXtV",partialVideoTitleText:"_3AoSO",partialBadge:"_33OjS",partialDescription:"_2uRQA",partialSubject:"_3YJIE"}},653:function(e,t,a){"use strict";a.r(t);var n=a(0),i=a(39),r=a(7),s=a(2),l=a(12),c=a(36),o=a(86),d=a(82),u=a(432),m=a(498),p=a(10),f=a(126),g=a(120),b=a(133),E=a(59),v=a(16);const h=()=>"/api/domain/v1/subjects/classifications/following",y=e=>E.a.urlBuilder("/api/domain/v1/subjects/classifications/following",{id:e}),N={follow:(e,t,a)=>({url:h(),key:"follow:"+e.join(","),type:v.a.POST,data:e,success:t,error:a,invalidationKeys:e.map(e=>"classification:"+e)}),unfollow:(e,t,a)=>({url:y(e),key:"unfollow:"+e.join(","),type:v.a.DELETE,success:t,error:a,invalidationKeys:e.map(e=>"classification:"+e)})};var k=a(465),L=a(473),w=a(533),x=a(478),A=a(505),P=(a(462),a(534)),S=a(467),C=a(535),I=a(122),j=a(80),O=a(127),B=a(48),T=a(33),R=a(605),_=a.n(R);function D(e){var t,a;const[i,r]=n.useState(!1),[s,l]=n.useState(!1);n.useEffect(()=>{var t,a;r(!!(null===(a=null===(t=e.data.followers)||void 0===t?void 0:t.data)||void 0===a?void 0:a.length)),l(!1)},[null===(a=null===(t=e.data.followers)||void 0===t?void 0:t.data)||void 0===a?void 0:a.length]);const c=I.a.createBannerUrl(e.data.banner,{fallbackBaseUrl:e.imageCdnUrl,fallbackCategoryName:e.data.name,type:j.b.Banners},{size:j.a.Large}),o={variant:i?"outline-dark":"dark",showSpinner:s,onClick:function(){l(!0),e.onToggleFollow()}};return n.createElement(B.a.Provider,{value:"subjects.comingSoon"},n.createElement("div",{className:"d-flex flex-column align-items-center text-center py-3"},n.createElement("h2",{className:"display-4 font-weight-bold mb-3"},n.createElement(B.b,{phrase:"comingSoon"})),n.createElement("p",{className:"w-33"},n.createElement(B.b,{phrase:"info"})),n.createElement(O.a,Object.assign({},o),n.createElement(T.a,{svgName:i?p.b.Check:p.b.Bell,className:"align-middle d-inline-block svg-container"}),n.createElement("span",{className:"align-middle pl-1"},n.createElement(B.b,{phrase:"remindMe"})))),n.createElement("div",{className:_.a.footerImageContainer},n.createElement("div",{className:_.a.footerImage+" banner position-relative",style:{backgroundImage:`url('${c}')`}},n.createElement(T.a,{className:_.a.wave,size:T.b.ExtraLarge,svgName:p.b.WhiteWave}))))}var M=a(506),F=a(606),U=a.n(F);function H({classification:e,appLink:t}){return n.createElement("div",{className:"d-inline-flex position-relative px-2 mb-2 "+U.a.classificationItem},n.createElement(M.a,{data:e,appLink:t,isLarge:!0}))}function V(e){return n.createElement(n.Fragment,null,e.classifications.map(t=>n.createElement(H,{key:t.id,classification:t,appLink:e.getItemAppLink(t)})))}var z=a(28),$=a(508),G=a(130),K=a(459),W=a(434),X=a(440),Y=a(552),J=a.n(Y);function Q({tag:e}){const t=J.a.tagItem+" px-2 my-1 mr-1 cursor-pointer badge-light";return n.createElement("span",{className:t},e.name)}function q({tags:e}){return e&&e.data?n.createElement("div",{className:J.a.tagList},e.data.map(e=>n.createElement(Q,{key:e.id,tag:e}))):n.createElement(n.Fragment,null)}var Z=a(34),ee=a(426),te=a(475),ae=a(439),ne=a(607),ie=a.n(ne);const re=e=>!!(e&&e.data&&e.data.length);function se(e){const{video:t,presentationAudiences:a,videoAppLink:i,seriesAppLink:r}=e;if(!t)return n.createElement(n.Fragment,null);const s=ae.a.getSortedPresentationAudiences(t.subjectPresentationAudiences.data,a),l=ae.a.getMergedPresentationAudienceString(s),c=t.series&&!!t.series.id;return n.createElement(B.a.Provider,{value:"subjects.heroVideo"},n.createElement(z.Row,{className:"pb-3"},n.createElement(z.Col,{xs:6,className:"p-1"},n.createElement($.a,{video:t,appLink:i,seriesAppLink:c?r:null,size:ee.a.Medium,textPosition:te.a.Independent,type:"static"})),n.createElement(z.Col,{xs:6,className:"p-1"},c&&n.createElement(G.a,{video:t,appLink:r,className:"text-reset"}),n.createElement(Z.a,{appLink:i},n.createElement("h4",null,t.name)),n.createElement(K.a,{className:"pb-1"},n.createElement(W.a,{type:W.b.Interactive,data:t.interactives}),n.createElement(W.a,{type:W.b.Rating,data:t.rating}),n.createElement(W.a,{type:W.b.ProductionYear,data:t.productionYear})),n.createElement("p",{className:"mb-1"},t.description),n.createElement(X.a,{audience:l,border:"dark"}),e.showExtraMetadata&&n.createElement(z.Row,{className:"pt-2"},n.createElement(z.Col,{xs:2},re(t.resources)&&n.createElement("p",{className:"font-weight-bold"},n.createElement(B.b,{phrase:"resourcesHeading"})),re(t.links)&&n.createElement("p",{className:"font-weight-bold"},n.createElement(B.b,{phrase:"linksHeading"})),re(t.clips)&&n.createElement("p",{className:"font-weight-bold"},n.createElement(B.b,{phrase:"clipsHeading"})),re(t.tags)&&n.createElement("p",{className:"font-weight-bold"},n.createElement(B.b,{phrase:"tagsHeading"}))),n.createElement(z.Col,{xs:10},re(t.resources)&&n.createElement("p",null,n.createElement(B.b,{phrase:"resources",options:{smartCount:t.resources.data.length}})),re(t.links)&&n.createElement("p",null,n.createElement(B.b,{phrase:"links",options:{smartCount:t.links.data.length}})),re(t.clips)&&n.createElement("p",null,n.createElement(B.b,{phrase:"clips",options:{smartCount:t.clips.data.length}})),re(t.tags)&&n.createElement(q,{tags:t.tags}))))))}function le(){return n.createElement("div",{className:"row pb-3"},n.createElement("div",{className:"col-6 p1"},n.createElement("div",{className:ie.a.partialHeroThumbnail+" partial-loading-background"})),n.createElement("div",{className:"col-6 p1"},n.createElement("div",{className:"partial-loading-background mb-1 "+ie.a.partialSeriesText}),n.createElement("div",{className:"partial-loading-background my-1 "+ie.a.partialVideoTitleText}),n.createElement("div",{className:"d-flex"},n.createElement("div",{className:"partial-loading-background my-1 mr-1 "+ie.a.partialBadge}),n.createElement("div",{className:"partial-loading-background my-1 ml-1 "+ie.a.partialBadge})),n.createElement("div",{className:"partial-loading-background my-1 "+ie.a.partialDescription}),n.createElement("div",{className:"partial-loading-background mt-2 "+ie.a.partialSubject})))}var ce=a(482),oe=(a(488),a(485)),de=a(541),ue=a(550),me=a(536),pe=a(11),fe=a(4),ge=a(89),be=a(537),Ee=a(67);var ve=a(35);function he(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var a=[],n=!0,i=!1,r=void 0;try{for(var s,l=e[Symbol.iterator]();!(n=(s=l.next()).done)&&(a.push(s.value),!t||a.length!==t);n=!0);}catch(e){i=!0,r=e}finally{try{n||null==l.return||l.return()}finally{if(i)throw r}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return ye(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return ye(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ye(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}a.d(t,"getBannerActions",(function(){return ke})),a.d(t,"ClassificationView",(function(){return Le}));var Ne=r.a.encloseNamespace("subjects.classification");function ke(e,t){var a,n,i=!!(null===(n=null===(a=e.followers)||void 0===a?void 0:a.data)||void 0===n?void 0:n.length);return[{label:Ne(i?"unfollow":"follow"),onClick:t,svgName:p.b.Bell,className:"btn ".concat(i?"btn-dark":"btn-white"),button:!0,tooltip:i?void 0:Ne("followBtnTooltip")},{label:Ne("share"),appLink:{application:fe.a.DEFAULT,action:pe.a.Default.SHARE,args:[e.id],params:{entityType:"subject"}},svgName:p.b.Share,className:"btn btn-white",button:!0}]}function Le(e){var t,a,r,p,E,v,h,y,I,j,O,B,T,R,_,F=e.id,U=e.queryParams,H=he(n.useReducer(S.b,{}),2),z=H[0],$=H[1],G=he(n.useState(),2),K=(G[0],G[1]),W=he(n.useState(!1),2),X=W[0],Y=W[1],J=Object(i.useDispatch)(),Q=l.a.useBasicFetch(g.a.currentUser),q=l.a.useBasicFetch(f.a.config),Z=l.a.useBasicFetch(b.a.presentation()),ee=l.a.useBasicFetch(k.a.presentationAudiences()),te=l.a.useBasicFetch((null===(t=Q.data)||void 0===t?void 0:t.id)&&b.a.classification(F,null===(a=Q.data)||void 0===a?void 0:a.id,(function(e){e.status!==o.a.BadRequest&&e.status!==o.a.NotFound||s.a.ErrorHelper.throw(new ge.a)}))),ae=l.a.useBasicFetch(b.a.path(F)),ne=l.a.useBasicFetch(b.a.children(F)),ie=c.a.keys(z),re=c.a.values(z);ie&&ie.length||(ie=[]);var ye=null===(p=null===(r=Z)||void 0===r?void 0:r.data)||void 0===p?void 0:p.id,Le=b.a.series(F,ye,ie),we=b.a.playlists(F,ye,ie),xe=b.a.videos(F,ye,ie),Ae=l.a.useGetResponse(Le&&Le.key),Pe=l.a.useGetResponse(we&&we.key),Se=l.a.useGetResponse(xe&&xe.key),Ce=l.a.useGetFetch(Le),Ie=l.a.useGetFetch(we),je=l.a.useGetFetch(xe),Oe=ie.length?ie.join(":"):ye;function Be(){var e,t;K(!0);var a=(null===(t=null===(e=te.data.followers)||void 0===e?void 0:e.data)||void 0===t?void 0:t.length)?N.unfollow:N.follow;l.a.fetch(J,a([te.data.id]))}n.useEffect((function(){ye&&(Ce(),Ie(),je())}),[Oe]),n.useEffect((function(){X||(te.data?Y(!!te.data.series.count||!!te.data.playlists.count||!!te.data.videos.count):Y(!1))}),[te.data]),n.useEffect((function(){K(!1)}),[null===(h=null===(v=null===(E=te.data)||void 0===E?void 0:E.followers)||void 0===v?void 0:v.data)||void 0===h?void 0:h.length]),Object(w.a)({appLink:Object(be.a)()(te.data),paramBuilder:function(){return{a:re.map((function(e){return e.name}))}},isValid:function(){var e;return!!(null===(e=te.data)||void 0===e?void 0:e.id)},appLinkOptions:{replace:!0}},[re.length]);var Te=!(!ee.data||!ee.data.length);Object(P.a)(U,ee.data,$,[Te]);var Re=!!te.data&&!!q.data,_e=!!te.data&&!!ae.data,De=!!ne.data,Me=!!ee.data,Fe=!!te.data&&!!Pe.data,Ue=!!te.data&&!!Se.data,He=!!te.data&&!!Ae.data&&!!ee.data,Ve=function(e,t,a,n){if(!(e&&t&&a&&n))return{heroVideo:null,videoList:a&&a.data};if(!e.data.length&&!t.data.length&&1===a.data.length)return{heroVideo:Ee.a.first(a.data),videoList:[]};var i=a.data.findIndex((function(e){return e.id===n.pinnedVideoMasterId}));return-1===i?{heroVideo:null,videoList:a.data}:{heroVideo:a.data[i],videoList:a.data.filter((function(e){return e.id!==n.pinnedVideoMasterId}))}}(Ae.data,Pe.data,Se.data,te.data),ze=Ve.heroVideo,$e=Ve.videoList;return n.createElement("div",{className:"bg-white"},Re?n.createElement(u.a,{heading:te.data.name,banner:te.data.banner,imageCdnUrl:q.data.imageCdnUrl,actions:(null===(y=te.data)||void 0===y?void 0:y.comingSoon)?[]:ke(te.data,Be)}):n.createElement(u.b,null),n.createElement("div",{className:"px-3"},n.createElement("div",{className:"py-3 mb-3 ".concat((null===(I=te.data)||void 0===I?void 0:I.comingSoon)?"":"border-bottom")},_e?n.createElement(m.b,{currentItem:te.data,type:m.a.Static,getItemAppLink:Object(be.a)(),data:ae.data,rootItem:{label:Ne("dashboard"),appLink:Object(be.b)()}}):n.createElement(m.c,null),Me&&Fe&&He&&Ue?n.createElement(C.a,{audiences:ee.data,activeAudiences:z,setAudience:$,disabled:!X}):n.createElement(C.b,null))),q.data&&(null===(j=te.data)||void 0===j?void 0:j.comingSoon)?n.createElement(D,{data:te.data,imageCdnUrl:q.data.imageCdnUrl,onToggleFollow:Be}):n.createElement("div",{className:"px-3"},De&&Fe&&He&&Ue?function(e){if(e.data.length)return!0;for(var t=arguments.length,a=new Array(t>1?t-1:0),n=1;n<t;n++)a[n-1]=arguments[n];return a.some((function(e){return!!e.data.length}))}(Pe.data,Ae.data,Se.data)||ze?n.createElement("div",{className:"pb-3"},n.createElement(de.a,{collection:ne.data,childAppLink:Object(be.a)()(),childComponent:M.a,headingPhraseKey:"topics"})):n.createElement("div",{className:"mx-n2"},n.createElement(V,{classifications:ne.data,getItemAppLink:Object(be.a)()})):n.createElement(de.b,null),He&&Fe&&Ue&&Me?n.createElement(se,{video:ze,presentationAudiences:ee.data,videoAppLink:{application:fe.a.DEFAULT,action:pe.a.Default.PLAY_VIDEO,args:[null===(O=ze)||void 0===O?void 0:O.id,ve.a.slugify(null===(B=ze)||void 0===B?void 0:B.name)]},seriesAppLink:{application:fe.a.DEFAULT,action:pe.a.Default.SERIES,args:(null===(T=ze)||void 0===T?void 0:T.series)?[ze.series.id,ve.a.slugify(ze.series.name)]:[]}}):n.createElement(le,null),n.createElement("div",null,Fe&&Me?!!(null===(_=null===(R=Pe.data)||void 0===R?void 0:R.data)||void 0===_?void 0:_.length)&&n.createElement("div",{className:"pb-2"},n.createElement("h4",null,Ne("playlists")),n.createElement(A.a,{playlists:Pe.data.data,getPlaylistAppLink:be.c,presentationAudiences:ee.data,itemClassName:"columns-of-five"})):n.createElement("div",{className:"pb-3"},n.createElement(x.a,{showHeading:!0,itemClassName:"columns-of-five"})),He?n.createElement(ce.a,{name:Ne("series"),type:d.c.Row,contents:L.a.Series,collection:Ae.data,setData:function(e){return e.data},appLink:Object(be.d)(te.data),childComponent:function(e){return n.createElement(me.b,Object.assign({audiences:ee.data},e))},childAppLink:{application:fe.a.DEFAULT,action:pe.a.Default.SERIES},prefetched:!0}):n.createElement(me.a,null),Ue?n.createElement(ce.a,{name:Ne("popular"),type:d.c.Row,contents:L.a.Videos,collection:$e,childComponent:ue.a,childAppLink:{application:fe.a.DEFAULT,action:pe.a.Default.PLAY_VIDEO},prefetched:!0}):n.createElement(oe.a,{type:d.c.Row}))))}}}]);