@clickview/lite 0.0.25-rc.0 → 0.0.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/0.chunk.css.map +1 -0
- package/dist/css/1.chunk.css +223 -0
- package/dist/css/1.chunk.css.map +1 -0
- package/dist/css/10.chunk.css +106 -0
- package/dist/css/10.chunk.css.map +1 -0
- package/dist/css/11.chunk.css.map +1 -0
- package/dist/css/12.chunk.css.map +1 -0
- package/dist/css/13.chunk.css.map +1 -0
- package/dist/css/14.chunk.css.map +1 -0
- package/dist/css/15.chunk.css.map +1 -0
- package/dist/css/16.chunk.css.map +1 -0
- package/dist/css/17.chunk.css.map +1 -0
- package/dist/css/18.chunk.css.map +1 -0
- package/dist/css/19.chunk.css.map +1 -0
- package/dist/css/2.chunk.css.map +1 -0
- package/dist/css/20.chunk.css.map +1 -0
- package/dist/css/21.chunk.css.map +1 -0
- package/dist/css/22.chunk.css.map +1 -0
- package/dist/css/23.chunk.css.map +1 -0
- package/dist/css/24.chunk.css.map +1 -0
- package/dist/css/25.chunk.css.map +1 -0
- package/dist/css/26.chunk.css.map +1 -0
- package/dist/css/27.chunk.css.map +1 -0
- package/dist/css/28.chunk.css.map +1 -0
- package/dist/css/29.chunk.css.map +1 -0
- package/dist/css/3.chunk.css.map +1 -0
- package/dist/css/30.chunk.css.map +1 -0
- package/dist/css/31.chunk.css.map +1 -0
- package/dist/css/32.chunk.css.map +1 -0
- package/dist/css/33.chunk.css.map +1 -0
- package/dist/css/34.chunk.css.map +1 -0
- package/dist/css/35.chunk.css.map +1 -0
- package/dist/css/36.chunk.css.map +1 -0
- package/dist/css/37.chunk.css.map +1 -0
- package/dist/css/38.chunk.css +17 -0
- package/dist/css/38.chunk.css.map +1 -0
- package/dist/css/39.chunk.css +6 -0
- package/dist/css/39.chunk.css.map +1 -0
- package/dist/css/4.chunk.css.map +1 -0
- package/dist/css/40.chunk.css +6 -0
- package/dist/css/40.chunk.css.map +1 -0
- package/dist/css/41.chunk.css +40 -0
- package/dist/css/41.chunk.css.map +1 -0
- package/dist/css/42.chunk.css +14 -0
- package/dist/css/42.chunk.css.map +1 -0
- package/dist/css/43.chunk.css +38 -0
- package/dist/css/43.chunk.css.map +1 -0
- package/dist/css/44.chunk.css +14 -0
- package/dist/css/44.chunk.css.map +1 -0
- package/dist/css/45.chunk.css +38 -0
- package/dist/css/45.chunk.css.map +1 -0
- package/dist/css/46.chunk.css +52 -0
- package/dist/css/46.chunk.css.map +1 -0
- package/dist/css/5.chunk.css.map +1 -0
- package/dist/css/50.chunk.css +52 -0
- package/dist/css/50.chunk.css.map +1 -0
- package/dist/css/52.chunk.css +52 -0
- package/dist/css/52.chunk.css.map +1 -0
- package/dist/css/53.chunk.css.map +1 -0
- package/dist/css/54.chunk.css.map +1 -0
- package/dist/css/55.chunk.css.map +1 -0
- package/dist/css/56.chunk.css +14 -0
- package/dist/css/56.chunk.css.map +1 -0
- package/dist/css/57.chunk.css +14 -0
- package/dist/css/57.chunk.css.map +1 -0
- package/dist/css/58.chunk.css +43 -0
- package/dist/css/58.chunk.css.map +1 -0
- package/dist/css/59.chunk.css +14 -0
- package/dist/css/59.chunk.css.map +1 -0
- package/dist/css/6.chunk.css.map +1 -0
- package/dist/css/60.chunk.css +43 -0
- package/dist/css/60.chunk.css.map +1 -0
- package/dist/css/7.chunk.css +94 -0
- package/dist/css/7.chunk.css.map +1 -0
- package/dist/css/79.chunk.css +58 -0
- package/dist/css/79.chunk.css.map +1 -0
- package/dist/css/8.chunk.css +54 -0
- package/dist/css/8.chunk.css.map +1 -0
- package/dist/css/82.chunk.css +28 -0
- package/dist/css/82.chunk.css.map +1 -0
- package/dist/css/83.chunk.css +11 -0
- package/dist/css/83.chunk.css.map +1 -0
- package/dist/css/84.chunk.css +152 -0
- package/dist/css/84.chunk.css.map +1 -0
- package/dist/css/85.chunk.css +21 -0
- package/dist/css/85.chunk.css.map +1 -0
- package/dist/css/86.chunk.css +17 -0
- package/dist/css/86.chunk.css.map +1 -0
- package/dist/css/87.chunk.css +21 -0
- package/dist/css/87.chunk.css.map +1 -0
- package/dist/css/88.chunk.css +5 -0
- package/dist/css/88.chunk.css.map +1 -0
- package/dist/css/90.chunk.css +38 -0
- package/dist/css/90.chunk.css.map +1 -0
- package/dist/css/lite-app.css.map +1 -0
- package/dist/libs/common/src/react/utils/ArrayHelper.d.ts +1 -1
- package/dist/libs/common/src/react/utils/TextHelper.d.ts +1 -1
- package/dist/libs/shared/src/components/file-select-button/FileSelectButton.d.ts +15 -0
- package/dist/libs/shared/src/components/thumbnails/video/VideoThumbnailWatchProgressBar.d.ts +8 -0
- package/dist/libs/shared/src/components/video-list/components/video-item-badges/VideoItemBadges.d.ts +7 -0
- package/dist/libs/shared/src/components/video-list/components/video-item-description/UseTruncateText.d.ts +9 -0
- package/dist/libs/shared/src/components/widgets/items/resource-widget-item/ResourceWidgetItem.d.ts +12 -0
- package/dist/libs/shared/src/enums/MasterObjectTypes.d.ts +8 -0
- package/dist/libs/shared/src/flight-requests/ResourceRequests.d.ts +11 -0
- package/dist/libs/shared/src/hooks/useGetCollectionItems.d.ts +7 -0
- package/dist/libs/shared/src/interfaces/collections/SubtitleCollection.d.ts +3 -0
- package/dist/libs/shared/src/interfaces/models/FileUpload.d.ts +20 -0
- package/dist/libs/shared/src/interfaces/models/Language.d.ts +4 -0
- package/dist/libs/shared/src/interfaces/models/Pdf.d.ts +4 -0
- package/dist/libs/shared/src/interfaces/models/Subtitle.d.ts +7 -0
- package/dist/libs/shared/src/interfaces/requests/UpdateObjectChannel.d.ts +3 -0
- package/dist/libs/shared/src/interfaces/requests/UpdateObjectRating.d.ts +3 -0
- package/dist/libs/shared/src/interfaces/requests/UpdateResourceRequest.d.ts +3 -0
- package/dist/projects/lite/src/apps/upload/views/my-uploads/DismissibleAlert.d.ts +2 -0
- package/dist/projects/lite/src/apps/upload/views/my-uploads/MyUploadsView.d.ts +6 -0
- package/dist/projects/lite/src/shared/components/clips/ClipItem.d.ts +8 -0
- package/dist/projects/lite/src/shared/components/clips/Clips.d.ts +7 -0
- package/dist/projects/lite/src/shared/components/interactives/InteractiveItem.d.ts +7 -0
- package/dist/projects/lite/src/shared/components/interactives/Interactives.d.ts +7 -0
- package/dist/projects/lite/src/shared/components/play-page/Buttons.d.ts +7 -0
- package/dist/projects/lite/src/shared/views/preview-pdf/PreviewPdfView.d.ts +7 -0
- package/dist/scripts/0-702db3d74c.chunk.js +1 -0
- package/dist/scripts/0-b02efe11fb.chunk.js +1 -0
- package/dist/scripts/0-bf0af5f75c.chunk.js +1 -0
- package/dist/scripts/0.chunk.js +355 -0
- package/dist/scripts/0.chunk.js.map +1 -0
- package/dist/scripts/1-4f19a5caea.chunk.js +17 -0
- package/dist/scripts/1-d1ce3fe6e8.chunk.js +17 -0
- package/dist/scripts/1-fcddc988fa.chunk.js +17 -0
- package/dist/scripts/1.chunk.js +1031 -0
- package/dist/scripts/1.chunk.js.map +1 -0
- package/dist/scripts/10.chunk.js +619 -0
- package/dist/scripts/10.chunk.js.map +1 -0
- package/dist/scripts/11-32e30d10ce.chunk.js +1 -0
- package/dist/scripts/11-6e7f935551.chunk.js +1 -0
- package/dist/scripts/11.chunk.js +445 -0
- package/dist/scripts/11.chunk.js.map +1 -0
- package/dist/scripts/12-72a5373486.chunk.js +1 -0
- package/dist/scripts/12-7e1380d9fa.chunk.js +1 -0
- package/dist/scripts/12-fa7004b555.chunk.js +1 -0
- package/dist/scripts/12.chunk.js +1533 -0
- package/dist/scripts/12.chunk.js.map +1 -0
- package/dist/scripts/13-1cd85ad3ee.chunk.js +1 -0
- package/dist/scripts/13-4245983c0a.chunk.js +1 -0
- package/dist/scripts/13-95937e4149.chunk.js +1 -0
- package/dist/scripts/13.chunk.js +469 -0
- package/dist/scripts/13.chunk.js.map +1 -0
- package/dist/scripts/14-3d60b8ee85.chunk.js +1 -0
- package/dist/scripts/14-62608fc1de.chunk.js +1 -0
- package/dist/scripts/14-eba60049a5.chunk.js +1 -0
- package/dist/scripts/14.chunk.js +930 -0
- package/dist/scripts/14.chunk.js.map +1 -0
- package/dist/scripts/15-379cb5f586.chunk.js +1 -0
- package/dist/scripts/15-90226fb996.chunk.js +1 -0
- package/dist/scripts/15-d811a90e8d.chunk.js +1 -0
- package/dist/scripts/15.chunk.js +437 -0
- package/dist/scripts/15.chunk.js.map +1 -0
- package/dist/scripts/16-00e83a6d12.chunk.js +1 -0
- package/dist/scripts/16-885363ce46.chunk.js +1 -0
- package/dist/scripts/16-913b2535ea.chunk.js +1 -0
- package/dist/scripts/16.chunk.js +633 -0
- package/dist/scripts/16.chunk.js.map +1 -0
- package/dist/scripts/17-6d597b8323.chunk.js +1 -0
- package/dist/scripts/17-c62d5aa7f2.chunk.js +1 -0
- package/dist/scripts/17-d6c19ccb60.chunk.js +1 -0
- package/dist/scripts/17.chunk.js +356 -0
- package/dist/scripts/17.chunk.js.map +1 -0
- package/dist/scripts/18-33efcac0c6.chunk.js +1 -0
- package/dist/scripts/18-5affadddcc.chunk.js +1 -0
- package/dist/scripts/18-69049350eb.chunk.js +1 -0
- package/dist/scripts/18.chunk.js +339 -0
- package/dist/scripts/18.chunk.js.map +1 -0
- package/dist/scripts/19-2380200cfb.chunk.js +1 -0
- package/dist/scripts/19-d394ae9543.chunk.js +1 -0
- package/dist/scripts/19-f0550464de.chunk.js +1 -0
- package/dist/scripts/19.chunk.js +506 -0
- package/dist/scripts/19.chunk.js.map +1 -0
- package/dist/scripts/2-53e37c2047.chunk.js +1 -0
- package/dist/scripts/2-6aad743aee.chunk.js +1 -0
- package/dist/scripts/2-c47e1da13a.chunk.js +1 -0
- package/dist/scripts/2.chunk.js +18851 -0
- package/dist/scripts/2.chunk.js.map +1 -0
- package/dist/scripts/20-81a48ca4fa.chunk.js +1 -0
- package/dist/scripts/20-ca85f0514e.chunk.js +1 -0
- package/dist/scripts/20-e20c4c0645.chunk.js +1 -0
- package/dist/scripts/20.chunk.js +1942 -0
- package/dist/scripts/20.chunk.js.map +1 -0
- package/dist/scripts/21-8b195ab041.chunk.js +1 -0
- package/dist/scripts/21-ef4a226771.chunk.js +1 -0
- package/dist/scripts/21-f6ff589cb4.chunk.js +1 -0
- package/dist/scripts/21.chunk.js +1544 -0
- package/dist/scripts/21.chunk.js.map +1 -0
- package/dist/scripts/22-8a60335dfb.chunk.js +1 -0
- package/dist/scripts/22-99c04e164f.chunk.js +1 -0
- package/dist/scripts/22-f458cb647a.chunk.js +1 -0
- package/dist/scripts/22.chunk.js +1338 -0
- package/dist/scripts/22.chunk.js.map +1 -0
- package/dist/scripts/23-028eb81a43.chunk.js +1 -0
- package/dist/scripts/23-633a2d5b09.chunk.js +1 -0
- package/dist/scripts/23-bb1e2bfb90.chunk.js +1 -0
- package/dist/scripts/23.chunk.js +749 -0
- package/dist/scripts/23.chunk.js.map +1 -0
- package/dist/scripts/24-68f8df3eca.chunk.js +1 -0
- package/dist/scripts/24-7924828128.chunk.js +1 -0
- package/dist/scripts/24-a254eb1f32.chunk.js +1 -0
- package/dist/scripts/24.chunk.js +1207 -0
- package/dist/scripts/24.chunk.js.map +1 -0
- package/dist/scripts/25-7ad07f87d4.chunk.js +1 -0
- package/dist/scripts/25-93218e513e.chunk.js +1 -0
- package/dist/scripts/25-db170bd5e3.chunk.js +1 -0
- package/dist/scripts/25.chunk.js +750 -0
- package/dist/scripts/25.chunk.js.map +1 -0
- package/dist/scripts/26-93c9661292.chunk.js +1 -0
- package/dist/scripts/26-a4a0b97207.chunk.js +1 -0
- package/dist/scripts/26-f3dcacfe4f.chunk.js +1 -0
- package/dist/scripts/26.chunk.js +826 -0
- package/dist/scripts/26.chunk.js.map +1 -0
- package/dist/scripts/27-35820f00f1.chunk.js +1 -0
- package/dist/scripts/27-8a4d69f288.chunk.js +1 -0
- package/dist/scripts/27-e844268f38.chunk.js +1 -0
- package/dist/scripts/27.chunk.js +658 -0
- package/dist/scripts/27.chunk.js.map +1 -0
- package/dist/scripts/28-0730152b25.chunk.js +1 -0
- package/dist/scripts/28-22cbd36128.chunk.js +1 -0
- package/dist/scripts/28-853bc5de1f.chunk.js +1 -0
- package/dist/scripts/28.chunk.js +692 -0
- package/dist/scripts/28.chunk.js.map +1 -0
- package/dist/scripts/29-965aa23b96.chunk.js +1 -0
- package/dist/scripts/29-b164ecafe9.chunk.js +1 -0
- package/dist/scripts/29-d6f6b32986.chunk.js +1 -0
- package/dist/scripts/29.chunk.js +562 -0
- package/dist/scripts/29.chunk.js.map +1 -0
- package/dist/scripts/3-02219d10d4.chunk.js +7 -0
- package/dist/scripts/3-0ce5d8bff2.chunk.js +7 -0
- package/dist/scripts/3-a1bd8c9016.chunk.js +7 -0
- package/dist/scripts/3.chunk.js +800 -0
- package/dist/scripts/3.chunk.js.map +1 -0
- package/dist/scripts/30-13106255a1.chunk.js +1 -0
- package/dist/scripts/30-2cfcf52ea1.chunk.js +1 -0
- package/dist/scripts/30-77202cb6be.chunk.js +1 -0
- package/dist/scripts/30.chunk.js +767 -0
- package/dist/scripts/30.chunk.js.map +1 -0
- package/dist/scripts/31-1307509953.chunk.js +1 -0
- package/dist/scripts/31-e3ee095203.chunk.js +1 -0
- package/dist/scripts/31-e6a8291d2f.chunk.js +1 -0
- package/dist/scripts/31.chunk.js +468 -0
- package/dist/scripts/31.chunk.js.map +1 -0
- package/dist/scripts/32-40ed1dd894.chunk.js +1 -0
- package/dist/scripts/32-7030dc98ed.chunk.js +1 -0
- package/dist/scripts/32-8ec5bb19f5.chunk.js +1 -0
- package/dist/scripts/32.chunk.js +441 -0
- package/dist/scripts/32.chunk.js.map +1 -0
- package/dist/scripts/33-47b0ac90bd.chunk.js +1 -0
- package/dist/scripts/33-8740c874b3.chunk.js +1 -0
- package/dist/scripts/33-93b8d74603.chunk.js +1 -0
- package/dist/scripts/33.chunk.js +829 -0
- package/dist/scripts/33.chunk.js.map +1 -0
- package/dist/scripts/34-2de007b628.chunk.js +1 -0
- package/dist/scripts/34-81e4464339.chunk.js +1 -0
- package/dist/scripts/34-ada5bfd254.chunk.js +1 -0
- package/dist/scripts/34.chunk.js +622 -0
- package/dist/scripts/34.chunk.js.map +1 -0
- package/dist/scripts/35-0ff2658139.chunk.js +1 -0
- package/dist/scripts/35-3eb6fe74fc.chunk.js +1 -0
- package/dist/scripts/35-d2fb66920b.chunk.js +1 -0
- package/dist/scripts/35.chunk.js +962 -0
- package/dist/scripts/35.chunk.js.map +1 -0
- package/dist/scripts/36-0532d93a26.chunk.js +1 -0
- package/dist/scripts/36-3bfbb52684.chunk.js +1 -0
- package/dist/scripts/36-bc85df33de.chunk.js +1 -0
- package/dist/scripts/36.chunk.js +545 -0
- package/dist/scripts/36.chunk.js.map +1 -0
- package/dist/scripts/37-10fe5a06a5.chunk.js +1 -0
- package/dist/scripts/37-3e5e429c93.chunk.js +1 -0
- package/dist/scripts/37-e26652840b.chunk.js +1 -0
- package/dist/scripts/37.chunk.js +627 -0
- package/dist/scripts/37.chunk.js.map +1 -0
- package/dist/scripts/38-0b6a6b9619.chunk.js +1 -0
- package/dist/scripts/38-31744f9ae7.chunk.js +1 -0
- package/dist/scripts/38-76dc0e356d.chunk.js +1 -0
- package/dist/scripts/38.chunk.js +943 -0
- package/dist/scripts/38.chunk.js.map +1 -0
- package/dist/scripts/39-4b26fafe13.chunk.js +1 -0
- package/dist/scripts/39-5df3077ac3.chunk.js +1 -0
- package/dist/scripts/39-6549f483c6.chunk.js +1 -0
- package/dist/scripts/39.chunk.js +585 -0
- package/dist/scripts/39.chunk.js.map +1 -0
- package/dist/scripts/4-3b38074599.chunk.js +1 -0
- package/dist/scripts/4-9e83a22d7a.chunk.js +1 -0
- package/dist/scripts/4-d5bec07430.chunk.js +1 -0
- package/dist/scripts/4.chunk.js +403 -0
- package/dist/scripts/4.chunk.js.map +1 -0
- package/dist/scripts/40-6e3500fafc.chunk.js +1 -0
- package/dist/scripts/40-8e6e9d285f.chunk.js +1 -0
- package/dist/scripts/40-fa1b51a3e0.chunk.js +1 -0
- package/dist/scripts/40.chunk.js +273 -0
- package/dist/scripts/40.chunk.js.map +1 -0
- package/dist/scripts/41-2b44a2e66f.chunk.js +1 -0
- package/dist/scripts/41-2e358dbf59.chunk.js +1 -0
- package/dist/scripts/41-cde309348b.chunk.js +1 -0
- package/dist/scripts/41.chunk.js +252 -0
- package/dist/scripts/41.chunk.js.map +1 -0
- package/dist/scripts/42-4f9c639481.chunk.js +1 -0
- package/dist/scripts/42-680fb45a87.chunk.js +1 -0
- package/dist/scripts/42-9e75f420d8.chunk.js +1 -0
- package/dist/scripts/42.chunk.js +464 -0
- package/dist/scripts/42.chunk.js.map +1 -0
- package/dist/scripts/43-1141245420.chunk.js +1 -0
- package/dist/scripts/43-3818cf7ed2.chunk.js +1 -0
- package/dist/scripts/43-cb8bdb3d8f.chunk.js +1 -0
- package/dist/scripts/43.chunk.js +345 -0
- package/dist/scripts/43.chunk.js.map +1 -0
- package/dist/scripts/44-0648e8e28f.chunk.js +1 -0
- package/dist/scripts/44-9bc4201e0f.chunk.js +1 -0
- package/dist/scripts/44-f4e93786c0.chunk.js +1 -0
- package/dist/scripts/44.chunk.js +537 -0
- package/dist/scripts/44.chunk.js.map +1 -0
- package/dist/scripts/45-23e64d06ed.chunk.js +1 -0
- package/dist/scripts/45-586cefa5b3.chunk.js +1 -0
- package/dist/scripts/45-5ded8ca3db.chunk.js +1 -0
- package/dist/scripts/45.chunk.js +221 -0
- package/dist/scripts/45.chunk.js.map +1 -0
- package/dist/scripts/46-273127f163.chunk.js +1 -0
- package/dist/scripts/46-2afd7ee1fb.chunk.js +1 -0
- package/dist/scripts/46-8b4730ff48.chunk.js +1 -0
- package/dist/scripts/46.chunk.js +230 -0
- package/dist/scripts/46.chunk.js.map +1 -0
- package/dist/scripts/47-86e38a1468.chunk.js +1 -0
- package/dist/scripts/47-ab30686138.chunk.js +1 -0
- package/dist/scripts/47.chunk.js +408 -0
- package/dist/scripts/47.chunk.js.map +1 -0
- package/dist/scripts/48-54817c0e78.chunk.js +1 -0
- package/dist/scripts/48-54db253a8c.chunk.js +1 -0
- package/dist/scripts/48-d9cd99d55e.chunk.js +1 -0
- package/dist/scripts/48.chunk.js +241 -0
- package/dist/scripts/48.chunk.js.map +1 -0
- package/dist/scripts/49-0826d62735.chunk.js +1 -0
- package/dist/scripts/49-702676e587.chunk.js +1 -0
- package/dist/scripts/49-f43a08f90b.chunk.js +1 -0
- package/dist/scripts/49.chunk.js +249 -0
- package/dist/scripts/49.chunk.js.map +1 -0
- package/dist/scripts/5-202373c80b.chunk.js +1 -0
- package/dist/scripts/5-52c2070b12.chunk.js +1 -0
- package/dist/scripts/5-974660e17b.chunk.js +1 -0
- package/dist/scripts/5.chunk.js +1161 -0
- package/dist/scripts/5.chunk.js.map +1 -0
- package/dist/scripts/50-8069668f8a.chunk.js +1 -0
- package/dist/scripts/50-af699c531e.chunk.js +1 -0
- package/dist/scripts/50-e94493066c.chunk.js +1 -0
- package/dist/scripts/50.chunk.js +132 -0
- package/dist/scripts/50.chunk.js.map +1 -0
- package/dist/scripts/51-6177cd4126.chunk.js +1 -0
- package/dist/scripts/51-907ccc689c.chunk.js +1 -0
- package/dist/scripts/51-aa7b835007.chunk.js +1 -0
- package/dist/scripts/51.chunk.js +230 -0
- package/dist/scripts/51.chunk.js.map +1 -0
- package/dist/scripts/52-805f7fe04d.chunk.js +1 -0
- package/dist/scripts/52-96d9beee16.chunk.js +1 -0
- package/dist/scripts/52-dd5dd9f7f7.chunk.js +1 -0
- package/dist/scripts/52.chunk.js +318 -0
- package/dist/scripts/52.chunk.js.map +1 -0
- package/dist/scripts/53-b24c780288.chunk.js +1 -0
- package/dist/scripts/53-be20bb20c9.chunk.js +1 -0
- package/dist/scripts/53-d75ca53045.chunk.js +1 -0
- package/dist/scripts/53.chunk.js +212 -0
- package/dist/scripts/53.chunk.js.map +1 -0
- package/dist/scripts/54-2e75bad46f.chunk.js +1 -0
- package/dist/scripts/54-fdfdb33705.chunk.js +1 -0
- package/dist/scripts/54.chunk.js +108 -0
- package/dist/scripts/54.chunk.js.map +1 -0
- package/dist/scripts/55-306c5a0e4d.chunk.js +1 -0
- package/dist/scripts/55-ed637c4847.chunk.js +1 -0
- package/dist/scripts/55-eea39b3205.chunk.js +1 -0
- package/dist/scripts/55.chunk.js +69 -0
- package/dist/scripts/55.chunk.js.map +1 -0
- package/dist/scripts/56-20237748ba.chunk.js +1 -0
- package/dist/scripts/56-2ed3b5764b.chunk.js +1 -0
- package/dist/scripts/56-db73243d04.chunk.js +1 -0
- package/dist/scripts/56.chunk.js +209 -0
- package/dist/scripts/56.chunk.js.map +1 -0
- package/dist/scripts/57-d5c787b4e3.chunk.js +1 -0
- package/dist/scripts/57-dfacc1ad90.chunk.js +1 -0
- package/dist/scripts/57-e51101c8a1.chunk.js +1 -0
- package/dist/scripts/57.chunk.js +211 -0
- package/dist/scripts/57.chunk.js.map +1 -0
- package/dist/scripts/58-4d5ed35434.chunk.js +1 -0
- package/dist/scripts/58-9a32a6fb2d.chunk.js +1 -0
- package/dist/scripts/58-bb756b517d.chunk.js +1 -0
- package/dist/scripts/58.chunk.js +113 -0
- package/dist/scripts/58.chunk.js.map +1 -0
- package/dist/scripts/59-18ef4c5afb.chunk.js +1 -0
- package/dist/scripts/59-ad37f90eca.chunk.js +1 -0
- package/dist/scripts/59-da8a8c97a9.chunk.js +1 -0
- package/dist/scripts/59.chunk.js +108 -0
- package/dist/scripts/59.chunk.js.map +1 -0
- package/dist/scripts/6-0a53c42432.chunk.js +1 -0
- package/dist/scripts/6-6ac39034e0.chunk.js +1 -0
- package/dist/scripts/6-8ada925fb7.chunk.js +1 -0
- package/dist/scripts/6.chunk.js +423 -0
- package/dist/scripts/6.chunk.js.map +1 -0
- package/dist/scripts/60-5713de53e2.chunk.js +1 -0
- package/dist/scripts/60-81ac7ce262.chunk.js +1 -0
- package/dist/scripts/60-f95d0a0a90.chunk.js +1 -0
- package/dist/scripts/60.chunk.js +110 -0
- package/dist/scripts/60.chunk.js.map +1 -0
- package/dist/scripts/61-41c8cb7e0f.chunk.js +1 -0
- package/dist/scripts/61-7d2ad17963.chunk.js +1 -0
- package/dist/scripts/61-8ce5227508.chunk.js +1 -0
- package/dist/scripts/61.chunk.js +161 -0
- package/dist/scripts/61.chunk.js.map +1 -0
- package/dist/scripts/62-62d450716a.chunk.js +1 -0
- package/dist/scripts/62-a0a69501ac.chunk.js +1 -0
- package/dist/scripts/62.chunk.js +145 -0
- package/dist/scripts/62.chunk.js.map +1 -0
- package/dist/scripts/63-91623df29f.chunk.js +1 -0
- package/dist/scripts/63-c921b87f3f.chunk.js +1 -0
- package/dist/scripts/63-d423dd59f5.chunk.js +1 -0
- package/dist/scripts/63.chunk.js +139 -0
- package/dist/scripts/63.chunk.js.map +1 -0
- package/dist/scripts/64-87c1cf6985.chunk.js +1 -0
- package/dist/scripts/64-c0e959f4bb.chunk.js +1 -0
- package/dist/scripts/64.chunk.js +142 -0
- package/dist/scripts/64.chunk.js.map +1 -0
- package/dist/scripts/65-2322082836.chunk.js +1 -0
- package/dist/scripts/65-37ba4bad15.chunk.js +1 -0
- package/dist/scripts/65-f94e7ab2ef.chunk.js +1 -0
- package/dist/scripts/65.chunk.js +170 -0
- package/dist/scripts/65.chunk.js.map +1 -0
- package/dist/scripts/66-6d5356f6ce.chunk.js +1 -0
- package/dist/scripts/66-dc4b036321.chunk.js +1 -0
- package/dist/scripts/66-faeadaa25e.chunk.js +1 -0
- package/dist/scripts/66.chunk.js +172 -0
- package/dist/scripts/66.chunk.js.map +1 -0
- package/dist/scripts/67-edfc0ba1e9.chunk.js +1 -0
- package/dist/scripts/67.chunk.js +173 -0
- package/dist/scripts/67.chunk.js.map +1 -0
- package/dist/scripts/68.chunk.js +165 -0
- package/dist/scripts/68.chunk.js.map +1 -0
- package/dist/scripts/69.chunk.js +102 -0
- package/dist/scripts/69.chunk.js.map +1 -0
- package/dist/scripts/7-096f5703bd.chunk.js +1 -0
- package/dist/scripts/7-5ac5be64dd.chunk.js +1 -0
- package/dist/scripts/7-81162e12a2.chunk.js +1 -0
- package/dist/scripts/7.chunk.js +2629 -0
- package/dist/scripts/7.chunk.js.map +1 -0
- package/dist/scripts/70.chunk.js +60 -0
- package/dist/scripts/70.chunk.js.map +1 -0
- package/dist/scripts/71.chunk.js +65 -0
- package/dist/scripts/71.chunk.js.map +1 -0
- package/dist/scripts/72.chunk.js +37 -0
- package/dist/scripts/72.chunk.js.map +1 -0
- package/dist/scripts/73.chunk.js +65 -0
- package/dist/scripts/73.chunk.js.map +1 -0
- package/dist/scripts/74.chunk.js +67 -0
- package/dist/scripts/74.chunk.js.map +1 -0
- package/dist/scripts/75.chunk.js +104 -0
- package/dist/scripts/75.chunk.js.map +1 -0
- package/dist/scripts/76.chunk.js +123 -0
- package/dist/scripts/76.chunk.js.map +1 -0
- package/dist/scripts/77.chunk.js +1001 -0
- package/dist/scripts/77.chunk.js.map +1 -0
- package/dist/scripts/78.chunk.js +36 -0
- package/dist/scripts/78.chunk.js.map +1 -0
- package/dist/scripts/79.chunk.js +1001 -0
- package/dist/scripts/79.chunk.js.map +1 -0
- package/dist/scripts/8-7dc2d39ce2.chunk.js +1 -0
- package/dist/scripts/8-95563e3d36.chunk.js +1 -0
- package/dist/scripts/8-a89310bd50.chunk.js +1 -0
- package/dist/scripts/8.chunk.js +24 -0
- package/dist/scripts/8.chunk.js.map +1 -0
- package/dist/scripts/80.chunk.js +36 -0
- package/dist/scripts/80.chunk.js.map +1 -0
- package/dist/scripts/81.chunk.js +619 -0
- package/dist/scripts/81.chunk.js.map +1 -0
- package/dist/scripts/82.chunk.js +437 -0
- package/dist/scripts/82.chunk.js.map +1 -0
- package/dist/scripts/83.chunk.js +633 -0
- package/dist/scripts/83.chunk.js.map +1 -0
- package/dist/scripts/84.chunk.js +1938 -0
- package/dist/scripts/84.chunk.js.map +1 -0
- package/dist/scripts/85.chunk.js +692 -0
- package/dist/scripts/85.chunk.js.map +1 -0
- package/dist/scripts/86.chunk.js +829 -0
- package/dist/scripts/86.chunk.js.map +1 -0
- package/dist/scripts/87.chunk.js +622 -0
- package/dist/scripts/87.chunk.js.map +1 -0
- package/dist/scripts/88.chunk.js +962 -0
- package/dist/scripts/88.chunk.js.map +1 -0
- package/dist/scripts/89.chunk.js +943 -0
- package/dist/scripts/89.chunk.js.map +1 -0
- package/dist/scripts/9-9865a75c99.chunk.js +1 -0
- package/dist/scripts/9.chunk.js +327 -0
- package/dist/scripts/9.chunk.js.map +1 -0
- package/dist/scripts/90.chunk.js +345 -0
- package/dist/scripts/90.chunk.js.map +1 -0
- package/dist/scripts/91.chunk.js +108 -0
- package/dist/scripts/91.chunk.js.map +1 -0
- package/dist/scripts/92.chunk.js +110 -0
- package/dist/scripts/92.chunk.js.map +1 -0
- package/dist/scripts/93.chunk.js +165 -0
- package/dist/scripts/93.chunk.js.map +1 -0
- package/dist/scripts/94.chunk.js +102 -0
- package/dist/scripts/94.chunk.js.map +1 -0
- package/dist/scripts/95.chunk.js +65 -0
- package/dist/scripts/95.chunk.js.map +1 -0
- package/dist/scripts/96.chunk.js +65 -0
- package/dist/scripts/96.chunk.js.map +1 -0
- package/dist/scripts/97.chunk.js +67 -0
- package/dist/scripts/97.chunk.js.map +1 -0
- package/dist/scripts/98.chunk.js +104 -0
- package/dist/scripts/98.chunk.js.map +1 -0
- package/dist/scripts/99.chunk.js +123 -0
- package/dist/scripts/99.chunk.js.map +1 -0
- package/dist/scripts/bundle-0958accd59.min.js +15 -0
- package/dist/scripts/bundle-9ed1e126dd.min.js +15 -0
- package/dist/scripts/{bundle-09bb583faa.min.js → bundle-a520bd54ca.min.js} +1 -1
- package/dist/scripts/bundle-fef50e5bb9.min.js +15 -0
- package/dist/scripts/bundle.js +47069 -0
- package/dist/scripts/bundle.js.map +1 -0
- package/dist/scripts/bundles.json +2 -2
- package/dist/scripts/pdf.worker.entry.worker.js +46239 -0
- package/dist/scripts/pdf.worker.entry.worker.js.map +1 -0
- package/dist/scripts/polyfills-1f23e4a487.min.js +1 -0
- package/dist/scripts/polyfills-384beac1bd.min.js +1 -0
- package/dist/scripts/polyfills-8a0101e5f1.min.js +1 -0
- package/dist/scripts/polyfills.js +15254 -0
- package/dist/scripts/polyfills.js.map +1 -0
- package/package.json +2 -2
- /package/dist/scripts/{0-6bc17823fd.chunk.js → 0-1d51c87483.chunk.js} +0 -0
- /package/dist/scripts/{11-f67b6c11a7.chunk.js → 11-e2f313f85e.chunk.js} +0 -0
- /package/dist/scripts/{12-c3f4ba1831.chunk.js → 12-c7f5866361.chunk.js} +0 -0
- /package/dist/scripts/{13-d44a1e6204.chunk.js → 13-ec41bdbbbe.chunk.js} +0 -0
- /package/dist/scripts/{14-bbf4ab8ab9.chunk.js → 14-03b4af57e1.chunk.js} +0 -0
- /package/dist/scripts/{15-bdef10f60a.chunk.js → 15-3da33fa6d0.chunk.js} +0 -0
- /package/dist/scripts/{16-691b35dc8c.chunk.js → 16-9fdbeac822.chunk.js} +0 -0
- /package/dist/scripts/{17-4e3899d62b.chunk.js → 17-2b6bf7febc.chunk.js} +0 -0
- /package/dist/scripts/{18-6afc6b44f3.chunk.js → 18-d3af229f1f.chunk.js} +0 -0
- /package/dist/scripts/{19-7f2d561cf2.chunk.js → 19-17ffa1078f.chunk.js} +0 -0
- /package/dist/scripts/{2-a578d78153.chunk.js → 2-f455e81583.chunk.js} +0 -0
- /package/dist/scripts/{20-fe4b732b3b.chunk.js → 20-81c863da2f.chunk.js} +0 -0
- /package/dist/scripts/{21-850a6abb96.chunk.js → 21-c28f436ec9.chunk.js} +0 -0
- /package/dist/scripts/{22-be37ecc01d.chunk.js → 22-fe35a069b2.chunk.js} +0 -0
- /package/dist/scripts/{23-9ace914ea0.chunk.js → 23-62d1922569.chunk.js} +0 -0
- /package/dist/scripts/{24-007409325f.chunk.js → 24-765209316d.chunk.js} +0 -0
- /package/dist/scripts/{25-9d70dbe4ec.chunk.js → 25-663dfb4e48.chunk.js} +0 -0
- /package/dist/scripts/{26-e280e72009.chunk.js → 26-ef5709d204.chunk.js} +0 -0
- /package/dist/scripts/{27-c8f5fd76cb.chunk.js → 27-400831ca44.chunk.js} +0 -0
- /package/dist/scripts/{28-015dd3e4d4.chunk.js → 28-930e7d5870.chunk.js} +0 -0
- /package/dist/scripts/{29-91d67f4584.chunk.js → 29-e0f2036314.chunk.js} +0 -0
- /package/dist/scripts/{3-aa01c4304a.chunk.js → 3-f64ba09964.chunk.js} +0 -0
- /package/dist/scripts/{30-f16ad621da.chunk.js → 30-c93abab057.chunk.js} +0 -0
- /package/dist/scripts/{31-3f405d0372.chunk.js → 31-9d4e38eb3e.chunk.js} +0 -0
- /package/dist/scripts/{32-7a75602cc0.chunk.js → 32-88a7177e95.chunk.js} +0 -0
- /package/dist/scripts/{33-8d70bde32b.chunk.js → 33-85222ccf93.chunk.js} +0 -0
- /package/dist/scripts/{34-3f095c24f3.chunk.js → 34-6113635e43.chunk.js} +0 -0
- /package/dist/scripts/{35-58407394d5.chunk.js → 35-329132fe49.chunk.js} +0 -0
- /package/dist/scripts/{36-552740daf0.chunk.js → 36-0d6e16e354.chunk.js} +0 -0
- /package/dist/scripts/{37-d79eda4acb.chunk.js → 37-010a76757b.chunk.js} +0 -0
- /package/dist/scripts/{38-a6c89ffb8f.chunk.js → 38-d60741eca8.chunk.js} +0 -0
- /package/dist/scripts/{39-4a615de1ce.chunk.js → 39-b38f2afcd9.chunk.js} +0 -0
- /package/dist/scripts/{4-d296a64d17.chunk.js → 4-0dd0a25c20.chunk.js} +0 -0
- /package/dist/scripts/{40-5330a64b5d.chunk.js → 40-2b7ac55647.chunk.js} +0 -0
- /package/dist/scripts/{41-c268bfb400.chunk.js → 41-9a07dd3c06.chunk.js} +0 -0
- /package/dist/scripts/{42-0e2ebfa151.chunk.js → 42-a612da3a86.chunk.js} +0 -0
- /package/dist/scripts/{43-e1d3a1f0e5.chunk.js → 43-d2fb4006f3.chunk.js} +0 -0
- /package/dist/scripts/{44-8a44b614a8.chunk.js → 44-b959741f1f.chunk.js} +0 -0
- /package/dist/scripts/{45-9418f81185.chunk.js → 45-21e213d97e.chunk.js} +0 -0
- /package/dist/scripts/{46-4ab8038e30.chunk.js → 46-3847eb7655.chunk.js} +0 -0
- /package/dist/scripts/{47-b6a95ef8b0.chunk.js → 47-c4c6264df4.chunk.js} +0 -0
- /package/dist/scripts/{48-e4150407ee.chunk.js → 48-92bbddf27d.chunk.js} +0 -0
- /package/dist/scripts/{49-8fd6a45338.chunk.js → 49-6a65a3f865.chunk.js} +0 -0
- /package/dist/scripts/{5-3842bd1f2d.chunk.js → 5-e47ccdc9aa.chunk.js} +0 -0
- /package/dist/scripts/{50-ab1c16848b.chunk.js → 50-76d7668c64.chunk.js} +0 -0
- /package/dist/scripts/{51-7ce29a119d.chunk.js → 51-caf124fbb7.chunk.js} +0 -0
- /package/dist/scripts/{52-12e0feca43.chunk.js → 52-d3494312ce.chunk.js} +0 -0
- /package/dist/scripts/{53-a5250a2064.chunk.js → 53-7d97e2f664.chunk.js} +0 -0
- /package/dist/scripts/{54-ff24fa0c07.chunk.js → 54-603f252394.chunk.js} +0 -0
- /package/dist/scripts/{55-cd780b71b1.chunk.js → 55-4874473c9d.chunk.js} +0 -0
- /package/dist/scripts/{56-687e915081.chunk.js → 56-ca513946cf.chunk.js} +0 -0
- /package/dist/scripts/{57-5c9b7a7950.chunk.js → 57-e76b06192a.chunk.js} +0 -0
- /package/dist/scripts/{58-636a388c0c.chunk.js → 58-a8612894ef.chunk.js} +0 -0
- /package/dist/scripts/{59-cc88e95d77.chunk.js → 59-f42476f89d.chunk.js} +0 -0
- /package/dist/scripts/{6-7bee1cd6c9.chunk.js → 6-bf7446464f.chunk.js} +0 -0
- /package/dist/scripts/{60-1672f666ce.chunk.js → 60-41208378cc.chunk.js} +0 -0
- /package/dist/scripts/{61-b2bdee9283.chunk.js → 61-85e73cde67.chunk.js} +0 -0
- /package/dist/scripts/{62-d7cbe9da67.chunk.js → 62-94874205ae.chunk.js} +0 -0
- /package/dist/scripts/{63-2126404b54.chunk.js → 63-870238c0d7.chunk.js} +0 -0
- /package/dist/scripts/{64-1f651e86b3.chunk.js → 64-d280e018c4.chunk.js} +0 -0
- /package/dist/scripts/{65-c3472b12c9.chunk.js → 65-3c772a4624.chunk.js} +0 -0
- /package/dist/scripts/{66-c6406c845f.chunk.js → 66-a6ac298fa2.chunk.js} +0 -0
- /package/dist/scripts/{7-e39bfefa23.chunk.js → 7-0917af7a17.chunk.js} +0 -0
- /package/dist/scripts/{8-244738cbaf.chunk.js → 8-0853e12e22.chunk.js} +0 -0
- /package/dist/scripts/{polyfills-46d3c7a509.min.js → polyfills-2723daf478.min.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(window.webpackJsonp_clickview_lite=window.webpackJsonp_clickview_lite||[]).push([[19],{1249:function(e,t,a){e.exports={partialDate:"_2wbjP"}},1303:function(e,t,a){"use strict";a.r(t);var n=a(0),r=a.n(n),i=a(60),o=a(14),c=a(232),s=a(7),l=a(153),u=a(829),d=a(76),m=a(40),p=a(3),v=a(235),f=a(858),g=a(854),b=a(88),y=a(2),E=a(125),k=a(47),h=a(821),N=a(827),w=a(6),O=a(10),C="watchHistory.watchHistoryVideoList",j=function(e){return{application:w.a.DEFAULT,action:O.a.Default.PLAY_VIDEO,args:[e.id,k.a.slugify(e.name)],params:e.lastProgressPoint?{t:Math.floor(e.lastProgressPoint)}:{}}},L=function(e){return{application:null,action:null,args:[e.id]}};function x(e){var t=E.a.groupBy(e.videoHistory.data,"lastDateWatched"),a={},r=Object.keys(t).sort().reverse();r.forEach((function(n){a[n]=t[n].map((function(t){var a=e.videos.find((function(e){return e.id.toString()===t.videoId.toString()}));return a?Object.assign(Object.assign({},a),{lastProgressPoint:t.lastProgressPoint}):null})).filter(Boolean)}));var i=y.a.AppLinkHelper.getCurrentAppLink();return n.createElement(n.Fragment,null,r.map((function(t){return n.createElement("div",{key:t,className:"pb-3"},n.createElement("h2",{className:"h4"},function(e){var t=b().diff(e,"days");return 0===t?s.a.getPhrase(C,"today"):1===t?s.a.getPhrase(C,"yesterday"):b(e).format("Do MMMM")}(t)),n.createElement(h.c,{videos:a[t],getVideoAppLink:j,getSeriesAppLink:L,setFavourite:e.setFavourite}))})),e.videoHistory.pagination.cursors&&n.createElement(N.b,{appLink:i,cursors:e.videoHistory.pagination.cursors}))}var S=a(846),A=a(1249),P=a.n(A);function D(){return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:"mb-3"},r.a.createElement("div",{className:"".concat(P.a.partialDate," mb-2 partial-loading-background")}),r.a.createElement(S.a,{numVideos:2})),r.a.createElement("div",{className:"mb-3"},r.a.createElement("div",{className:"".concat(P.a.partialDate," mb-2 partial-loading-background")}),r.a.createElement(S.a,{numVideos:3})),r.a.createElement("div",{className:"mb-3"},r.a.createElement("div",{className:"".concat(P.a.partialDate," mb-2 partial-loading-background")}),r.a.createElement(S.a,{numVideos:2})),r.a.createElement("div",{className:"mb-3"},r.a.createElement("div",{className:"".concat(P.a.partialDate," mb-2 partial-loading-background")}),r.a.createElement(S.a,{numVideos:5})))}a.d(t,"WatchHistoryView",(function(){return F}));function F(e){var t,a,r;Object(c.a)(s.a.getPhrase("watchHistory.watchHistory","pageTitle"));var b=Object(i.useDispatch)(),y=o.a.useBasicFetch(l.a.currentUser()),E=o.a.useBasicFetch(!!y.data&&g.a.userVideoHistory(y.data.customerId,y.data.id,e.cursor)),k=null===(a=null===(t=E.data)||void 0===t?void 0:t.data)||void 0===a?void 0:a.map((function(e){return e.videoId})),h=o.a.useBasicFetch((null===(r=k)||void 0===r?void 0:r.length)&&v.a.hydratedVideos(k));function N(e,t,a){o.a.fetch(b,u.a.updateIsVideoFavourited(e,y.data.id,t,(function(){m.a.logUserAction({id:e},{entity:p.d.Video,actionType:p.n.Favourite,descriptor:t?p.m.On:p.m.Off,location:p.j.VideoThumbnail,workflowPhase:p.o.Complete})}),a))}return Object(f.a)(h.data,{watchHistory:!1}),n.createElement(d.a.Provider,{value:"watchHistory.watchHistory"},n.createElement("h1",null,n.createElement(d.b,{phrase:"heading"})),function(){var e;return E.data?(null===(e=E.data.data)||void 0===e?void 0:e.length)?h.data?n.createElement(x,{videoHistory:E.data,videos:h.data,setFavourite:N}):n.createElement(D,null):n.createElement(d.b,{phrase:"emptyState"}):n.createElement(D,null)}())}},816:function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(0);function r(e){return n.createElement("div",{role:"button",tabIndex:0,className:"".concat(e.className?e.className:""," cursor-pointer"),onKeyDown:function(t){return"Enter"===t.key&&e.onClick(t)},onClick:e.onClick,style:e.style?e.style:{}},e.children)}},818:function(e,t,a){e.exports={buttonList:"_2v9CT",dropdownToggle:"AYBvQ"}},819:function(e,t,a){"use strict";var n=a(0),r=a(36),i=a(238),o=a(40),c=a(52),s=a(50),l=a(13),u=a(818),d=a.n(u),m=a(34);function p(e){var t="dropdown-item";return e&&(t+=" ".concat(e)),t}function v(e){if(e.action.appLink)return n.createElement(s.a,{appLink:e.action.appLink,onClick:e.action.onClick,className:p(e.action.className),analyticsData:e.action.analyticsData,analyticsOptions:e.action.analyticsOptions},e.action.label);return n.createElement("span",{className:"cursor-pointer ".concat(p(e.action.className)),onClick:function(t){e.action.analyticsData&&e.action.analyticsOptions&&o.a.logUserAction(e.action.analyticsData,e.action.analyticsOptions),m.a.isFunction(e.action.onClick)&&e.action.onClick(t)}},e.action.label)}function f(e){if(!e.actions||!e.actions.length)return n.createElement(n.Fragment,null);var t="actions-dropdown-".concat(i.a.getRandomInt()),a="px-0 ".concat(d.a.dropdownToggle);return e.dropdownToggleClassName&&(a+=" ".concat(e.dropdownToggleClassName)),n.createElement(r.Dropdown,{className:e.className?e.className:"",alignRight:!0},n.createElement(r.Dropdown.Toggle,{as:"button",type:"button",id:t,className:a},n.createElement(c.a,{svgName:l.b.More,size:c.b.Small})),n.createElement(r.Dropdown.Menu,null,e.actions.map((function(e,t){return n.createElement(v,{key:t,action:e})}))))}f.defaultProps={dropdownToggleClassName:"btn btn-light"};var g=a(234),b=a(155);function y(e){var t="ml-2";e.className&&(t+=" ".concat(e.className));var a=e.showSpinner?n.createElement(r.Spinner,{as:"span",animation:"border",role:"status",size:"sm"}):e.children;if(e.tooltip)return n.createElement(b.a,{title:e.tooltip},n.createElement(g.a,{appLink:e.appLink,svgName:e.svgName,onClick:e.onClick,className:t,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions},a));if(e.svgName)return n.createElement(g.a,{onClick:e.onClick,appLink:e.appLink,svgName:e.svgName,className:t,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions},a);if(e.appLink)return n.createElement(s.a,{onClick:e.onClick,appLink:e.appLink,className:t,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions},a);return n.createElement("button",{onClick:function(t){e.analyticsData&&e.analyticsOptions&&o.a.logUserAction(e.analyticsData,e.analyticsOptions),m.a.isFunction(e.onClick)&&e.onClick(t)},className:t},a)}function E(e){var t=[],a=[];e.actions.forEach((function(e){e.button?t.push(e):a.push(e)}));var r="d-flex";return e.className&&(r+=" ".concat(e.className)),n.createElement("div",{className:r},n.createElement(n.Fragment,null,!!t.length&&n.createElement("span",{className:d.a.buttonList},t.map((function(e,t){return n.createElement(y,{key:t,appLink:e.appLink,onClick:e.onClick,svgName:e.svgName,className:e.className,tooltip:e.tooltip,showSpinner:e.showSpinner,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions},e.label)}))),e.sortComponent?e.sortComponent:"",!!a.length&&n.createElement(f,{actions:a,className:!!t.length&&"ml-2",dropdownToggleClassName:e.actionsDropdownClassName})))}a.d(t,"a",(function(){return E}))},821:function(e,t,a){"use strict";a.d(t,"a",(function(){return s})),a.d(t,"c",(function(){return l})),a.d(t,"b",(function(){return u}));var n=a(0),r=a(809),i=a(2),o=a(827),c=a(835),s=n.createContext({isSortable:!1});function l(e){var t=n.useContext(s).isSortable?c.a:c.b,a=i.a.AppLinkHelper.getCurrentAppLink();return n.createElement(n.Fragment,null,n.createElement("div",{className:"position-relative"},e.videos.map((function(a,r){return n.createElement(t,{key:a.id,idx:r,index:r,video:a,getVideoAppLink:e.getVideoAppLink,getSeriesAppLink:e.getSeriesAppLink,setFavourite:e.setFavourite})}))),e.cursors&&n.createElement(o.b,{appLink:a,cursors:e.cursors}))}var u=Object(r.SortableContainer)((function(e){return n.createElement(s.Provider,{value:{isSortable:!0,currentSortingIndex:e.currentSortingIndex}},n.createElement(l,Object.assign({},e)))}))},827:function(e,t,a){"use strict";a.d(t,"b",(function(){return u})),a.d(t,"a",(function(){return d}));var n=a(0),r=a(816),i=a(50),o=a(76),c=a(40),s=a(3);function l(e,t){return t?{application:e.application,action:e.action,args:e.args,params:Object.assign({},e.params,{cursor:t})}:null}function u(e){var t=e.appLink,a=e.cursors,r=e.className;function u(e){c.a.logUserAction({page:e},{location:s.j.Pagination,entity:s.d.Pagination,actionType:s.n.Navigate})}return n.createElement(o.a.Provider,{value:"shared.pagination"},n.createElement("div",{className:r},n.createElement(i.a,{appLink:l(t,a.previous),className:"btn btn-secondary mr-1 ".concat(a.previous?"":"disabled"),onClick:function(){return u("previous")}},n.createElement(o.b,{phrase:"previous"})),n.createElement(i.a,{appLink:l(t,a.next),className:"btn btn-secondary ".concat(a.next?"":"disabled"),onClick:function(){return u("next")}},n.createElement(o.b,{phrase:"next"}))))}function d(e){function t(e){c.a.logUserAction({page:e},{location:s.j.Pagination,entity:s.d.Pagination,actionType:s.n.Navigate})}return n.createElement(o.a.Provider,{value:"shared.pagination"},n.createElement("div",{className:e.className},n.createElement(r.a,{onClick:function(){1!==e.currentPage&&(t("previous"),e.onClickBack())},className:"btn btn-secondary mr-1 cursor-pointer ".concat(1===e.currentPage?"disabled":"")},n.createElement(o.b,{phrase:"previous"})),n.createElement(r.a,{onClick:function(){e.currentPage!==e.totalPages&&(t("next"),e.onClickNext())},className:"btn btn-secondary cursor-pointer ".concat(e.currentPage===e.totalPages?"disabled":"")},n.createElement(o.b,{phrase:"next"}))))}u.defaultProps={className:"py-2"},d.defaultProps={className:"py-2"}},829:function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var n=a(21),r=a(45),i=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a};function o(e,t,a,r){return{url:"/api/domain/v2/objects/".concat(t),key:"favourite:video:".concat(t,":").concat(e),data:{favouriteVideos:e},type:n.a.PUT,invalidationKeys:["favourite:videos:".concat(t),"video:is:favourited:".concat(t)],success:a,error:r}}function c(e,t,a,r){return{url:"/api/domain/v2/objects/".concat(t,"/favouriteVideos/").concat(e),key:"favourite:video:".concat(t,":").concat(e),type:n.a.DELETE,invalidationKeys:["favourite:videos:".concat(t),"video:is:favourited:".concat(t)],success:a,error:r}}var s={favouriteVideos:function(e,t){var a="".concat(r.a.VIDEO_COLLECTION).concat(function(e){return e?"&cursor=".concat(e):""}(t));return{url:"/api/domain/v2/objects/".concat(e,"/favouriteVideos?query=").concat(a),key:"favourite:videos:".concat(e).concat(t?":".concat(t):"")}},updateIsVideoFavourited:function(e,t,a,n,r){return(a?o:c)(e,t,n,r)},isFavourited:function(e,t){var a=t.slice().sort(),n=a.map((function(e){return"id=".concat(e)}));return{url:"/api/domain/v2/objects?query=favouritedBy{id:".concat(e,"}&").concat(n.join("&")),key:"video:is:favourited:".concat(e,":by:id:").concat(a.join(",")),formatData:function(e){var t;if(!(null===(t=e)||void 0===t?void 0:t.length))return e;return e.map((function(e){var t,a,n=e.favouritedBy,r=i(e,["favouritedBy"]);return Object.assign(Object.assign({},r),{isFavourited:!!(null===(a=null===(t=n)||void 0===t?void 0:t.data)||void 0===a?void 0:a.length)})}))}}}}},835:function(e,t,a){"use strict";var n=a(0),r=a(36),i=a(809),o=a(859),c=a(241),s=a(52),l=a(834),u=a(851),d=a(150),m=function(e){return!!e&&e.series&&!!e.series.id},p=a(13),v=a(151),f=a(821),g=a(34),b=a(819),y=a(236),E=a(126),k=a(836),h=a.n(k),N=[E.a.AddToPlaylist,E.a.Share];function w(e){var t=n.useContext(y.a),a=t.videoActions,r=void 0===a?N:a,i=t.getActionAppLink,o=Object(v.a)(d.a.XS);if(!g.a.isFunction(i))return n.createElement(n.Fragment,null);var c=[];return r.forEach((function(t){var a=i(e.video,t);a&&c.push(Object.assign({appLink:a,className:"btn btn-link",button:!o},Object(E.b)()[t]))})),n.createElement(b.a,{actions:c,className:"float-right mt-n1",actionsDropdownClassName:"btn btn-link rounded-circle p-0 ".concat(h.a.actionsDropdown)})}var O=a(857),C=a(845);function j(e){return n.createElement(O.a,null,n.createElement(C.a,{type:C.b.Rating,data:e.video.rating}),n.createElement(C.a,{type:C.b.ProductionYear,data:e.video.productionYear}),n.createElement(C.a,{type:C.b.Interactive,data:e.video.interactives}))}var L=a(76),x=a(837),S=a.n(x);function A(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,r=!1,i=void 0;try{for(var o,c=e[Symbol.iterator]();!(n=(o=c.next()).done)&&(a.push(o.value),!t||a.length!==t);n=!0);}catch(e){r=!0,i=e}finally{try{n||null==c.return||c.return()}finally{if(r)throw i}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return P(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 P(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 P(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}function D(e){var t=Object(v.a)(d.a.XS),a=21*(Object(v.a)(d.a.SM)?2:4),r=function(e){var t=A(Object(n.useState)(!1),2),a=t[0],r=t[1],i=A(Object(n.useState)(!1),2),o=i[0],c=i[1],s=Object(n.useRef)();return Object(n.useEffect)((function(){s&&s.current&&(s.current.offsetHeight<=e||(r(!0),c(!0)))}),[s]),{ref:s,isExpandable:a,isTruncated:o,toggleTruncation:function(){return c((function(e){return!e}))}}}(a),i=r.ref,o=r.isExpandable,c=r.isTruncated,s=r.toggleTruncation;if(t)return n.createElement(n.Fragment,null);var l={className:"position-relative overflow-hidden"};return c&&(l.style={maxHeight:"".concat(a,"px")}),e.forceTruncate&&!c&&s(),n.createElement("div",Object.assign({},l),n.createElement("p",{ref:i,className:"m-0"},e.video.description,!!o&&n.createElement("span",{className:"cursor-pointer ".concat(S.a.ellipsis),onClick:s},n.createElement(L.b,{namespace:"shared.videoItemDescription",phrase:c?"showMore":"showLess"}))))}var F=a(50);function H(e){return n.createElement(F.a,{appLink:e.appLink},n.createElement("h5",{className:"d-inline-block m-0 mb-1"},e.video.name))}var T=a(838),I=a.n(T);a.d(t,"b",(function(){return R})),a.d(t,"a",(function(){return _}));var V=Object(i.SortableHandle)((function(){return n.createElement(r.Col,{xs:2,className:"d-flex justify-content-center align-items-center cursor-pointer ".concat(I.a.dragHandleContainer)},n.createElement(s.a,{svgName:p.b.Handle,size:s.b.Small}))}));function R(e){var t,a=Object(v.a)(d.a.XS),i=n.useContext(f.a),s=i.isSortable,p=i.currentSortingIndex,g=s&&!a,b=e.getVideoAppLink(e.video),y=m(e.video)&&e.getSeriesAppLink(e.video.series);return n.createElement(r.Row,{className:"py-2"},n.createElement(r.Col,{xs:a?12:4,className:"flex-column align-items-flex-start mb-1"},n.createElement(r.Row,null,!!g&&n.createElement(V,null),n.createElement(r.Col,{xs:(t=g,t?10:12)},n.createElement(o.a,{video:e.video,appLink:b,seriesAppLink:y,size:g?l.a.Small:l.a.Medium,textPosition:u.a.Independent,setFavourite:e.setFavourite,type:"static"})))),n.createElement(r.Col,{xs:a?12:8},n.createElement(w,{video:e.video}),n.createElement(c.a,{video:e.video,appLink:y}),n.createElement(H,{video:e.video,appLink:e.getVideoAppLink(e.video)}),n.createElement(j,{video:e.video}),n.createElement(D,{video:e.video,forceTruncate:Number.isInteger(p)&&e.idx===p})))}var _=Object(i.SortableElement)((function(e){return n.createElement(R,Object.assign({},e))}))},836:function(e,t,a){e.exports={actionsDropdown:"XR0aX"}},837:function(e,t,a){e.exports={ellipsis:"LJY5U"}},838:function(e,t,a){e.exports={dragHandleContainer:"_24s1b"}},846:function(e,t,a){"use strict";a.d(t,"a",(function(){return u}));var n=a(0),r=a.n(n),i=a(36),o=a(151),c=a(150),s=a(847),l=a.n(s);function u(e){var t=Object(o.a)(c.a.XS),a=e.withReordering&&!t;return r.a.createElement(r.a.Fragment,null,Array(e.numVideos).fill(null).map((function(e,n){return r.a.createElement(i.Row,{key:n,className:"py-2"},r.a.createElement(i.Col,{xs:t?12:4,className:"flex-column align-items-flex-start mb-1"},r.a.createElement(i.Row,null,!!a&&r.a.createElement("div",{className:"d-flex align-items-center justify-content-center col-2"},r.a.createElement("div",{className:"partial-loading-background ".concat(l.a.partialDragHandle)})),r.a.createElement(i.Col,{xs:a?10:12},r.a.createElement("div",{className:"partial-loading-background ".concat(l.a.partialThumbnail)})))),r.a.createElement(i.Col,{xs:t?12:8},r.a.createElement("div",{className:"partial-loading-background ".concat(l.a.partialSeriesLink)}),r.a.createElement("div",{className:"partial-loading-background mb-1 ".concat(l.a.partialName)}),r.a.createElement("div",{className:"partial-loading-background ".concat(l.a.partialDescription)}),r.a.createElement("div",{className:"partial-loading-background ".concat(l.a.partialBadges)}),r.a.createElement("div",{className:"partial-loading-background ".concat(l.a.partialActions)})))})))}u.defaultProps={numVideos:15}},847:function(e,t,a){e.exports={partialName:"_7KNC2",partialDescription:"Vk_wR",partialThumbnail:"_3peRZ",partialDragHandle:"_1F7_f"}},854:function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));var n={userVideoHistory:function(e,t,a,n,r,i){var o="video:history:".concat(e,":").concat(t),c="/api/videoviews/v1/customers/".concat(e,"/users/").concat(t,"/videos/history");return a&&(o+=":".concat(a),c+="?cursor=".concat(a)),{key:o,url:c,success:n,error:r,always:i}},videoHistory:function(e,t,a,n,r,i){var o=a.sort().map((function(e){return"videoId=".concat(e)}));return{key:"video:history:".concat(e,":").concat(t,":videos:").concat(o.join("&")),url:"/api/videoviews/v1/customers/".concat(e,"/users/").concat(t,"/videos/history?").concat(o.join("&")),formatData:function(e){var t;return(null===(t=e)||void 0===t?void 0:t.length)?e.map((function(e){return{id:e.videoId,lastProgressPoint:e.lastProgressPoint}})):e},success:n,error:r,always:i}}}},858:function(e,t,a){"use strict";a.d(t,"a",(function(){return m}));var n=a(14),r=a(153),i=a(829),o=a(235),c=a(854);function s(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return l(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 l(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(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}var u={ratings:!0,favourites:!0,watchHistory:!0};function d(e,t){var a=n.a.useGetResponse(t&&t.key),r=n.a.useGetFetch(t);e&&a.shouldFetch&&r()}function m(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=Object.assign(Object.assign({},u),t),l=a.ratings,m=a.favourites,p=a.watchHistory,v=n.a.useBasicFetch(r.a.currentUser()),f=e&&(Array.isArray(e)?e.map((function(e){return e.id})):e.data.map((function(e){return e.id}))),g=v.data,b=[];l&&(b=[].concat(s(b),[f&&o.a.videoRatings(f)])),m&&(b=[].concat(s(b),[f&&g&&i.a.isFavourited(g.id,f)])),p&&(b=[].concat(s(b),[f&&g&&c.a.videoHistory(g.customerId,g.id,f)])),b.forEach((function(t){return d(!!e,t)}))}}}]);
|
|
@@ -0,0 +1,506 @@
|
|
|
1
|
+
(window["webpackJsonp_clickview_lite"] = window["webpackJsonp_clickview_lite"] || []).push([[19],{
|
|
2
|
+
|
|
3
|
+
/***/ "../../libs/shared/src/flight-requests/FavouriteVideoRequests.ts":
|
|
4
|
+
/*!***********************************************************************************************************!*\
|
|
5
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/flight-requests/FavouriteVideoRequests.ts ***!
|
|
6
|
+
\***********************************************************************************************************/
|
|
7
|
+
/*! exports provided: FavouriteVideoRequests */
|
|
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__, "FavouriteVideoRequests", function() { return FavouriteVideoRequests; });
|
|
13
|
+
/* 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");
|
|
14
|
+
/* harmony import */ var _constants_WithStatements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/WithStatements */ "../../libs/shared/src/constants/WithStatements.ts");
|
|
15
|
+
var __rest = undefined && undefined.__rest || function (s, e) {
|
|
16
|
+
var t = {};
|
|
17
|
+
|
|
18
|
+
for (var p in s) {
|
|
19
|
+
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
23
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
24
|
+
}
|
|
25
|
+
return t;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
function favouriteVideo(videoId, userId, success, error) {
|
|
32
|
+
return {
|
|
33
|
+
url: "/api/domain/v2/objects/".concat(userId),
|
|
34
|
+
key: "favourite:video:".concat(userId, ":").concat(videoId),
|
|
35
|
+
data: {
|
|
36
|
+
favouriteVideos: videoId
|
|
37
|
+
},
|
|
38
|
+
type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].PUT,
|
|
39
|
+
invalidationKeys: ["favourite:videos:".concat(userId), "video:is:favourited:".concat(userId)],
|
|
40
|
+
success: success,
|
|
41
|
+
error: error
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function unfavouriteVideo(videoId, userId, success, error) {
|
|
46
|
+
return {
|
|
47
|
+
url: "/api/domain/v2/objects/".concat(userId, "/favouriteVideos/").concat(videoId),
|
|
48
|
+
key: "favourite:video:".concat(userId, ":").concat(videoId),
|
|
49
|
+
type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].DELETE,
|
|
50
|
+
invalidationKeys: ["favourite:videos:".concat(userId), "video:is:favourited:".concat(userId)],
|
|
51
|
+
success: success,
|
|
52
|
+
error: error
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
var FavouriteVideoRequests = {
|
|
57
|
+
favouriteVideos: function favouriteVideos(userId, cursor) {
|
|
58
|
+
var query = "".concat(_constants_WithStatements__WEBPACK_IMPORTED_MODULE_1__["SharedWithStatements"].VIDEO_COLLECTION).concat(addCursor(cursor));
|
|
59
|
+
return {
|
|
60
|
+
url: "/api/domain/v2/objects/".concat(userId, "/favouriteVideos?query=").concat(query),
|
|
61
|
+
key: "favourite:videos:".concat(userId).concat(cursor ? ":".concat(cursor) : '')
|
|
62
|
+
};
|
|
63
|
+
},
|
|
64
|
+
updateIsVideoFavourited: function updateIsVideoFavourited(videoId, userId, shouldFavourite, success, error) {
|
|
65
|
+
var requestFn = shouldFavourite ? favouriteVideo : unfavouriteVideo;
|
|
66
|
+
return requestFn(videoId, userId, success, error);
|
|
67
|
+
},
|
|
68
|
+
isFavourited: function isFavourited(userId, ids) {
|
|
69
|
+
var sortedIds = ids.slice().sort();
|
|
70
|
+
var params = sortedIds.map(function (i) {
|
|
71
|
+
return "id=".concat(i);
|
|
72
|
+
});
|
|
73
|
+
if (!params.length) return;
|
|
74
|
+
return {
|
|
75
|
+
url: "/api/domain/v2/objects?query=favouritedBy{id:".concat(userId, "}&").concat(params.join('&')),
|
|
76
|
+
key: "video:is:favourited:".concat(userId, ":by:id:").concat(sortedIds.join(',')),
|
|
77
|
+
formatData: function formatData(videos) {
|
|
78
|
+
var _a;
|
|
79
|
+
|
|
80
|
+
if (!((_a = videos) === null || _a === void 0 ? void 0 : _a.length)) return videos;
|
|
81
|
+
|
|
82
|
+
var setIsFavourited = function setIsFavourited(video) {
|
|
83
|
+
var _a, _b;
|
|
84
|
+
|
|
85
|
+
var favouritedBy = video.favouritedBy,
|
|
86
|
+
v = __rest(video, ["favouritedBy"]); // As we filtered by userId, if there are any users, set isFavourited to true.
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
return Object.assign(Object.assign({}, v), {
|
|
90
|
+
isFavourited: !!((_b = (_a = favouritedBy) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.length)
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
return videos.map(setIsFavourited);
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
function addCursor(cursor) {
|
|
101
|
+
return cursor ? "&cursor=".concat(cursor) : '';
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/***/ }),
|
|
105
|
+
|
|
106
|
+
/***/ "../../libs/shared/src/flight-requests/ThemeRequests.ts":
|
|
107
|
+
/*!**************************************************************************************************!*\
|
|
108
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/flight-requests/ThemeRequests.ts ***!
|
|
109
|
+
\**************************************************************************************************/
|
|
110
|
+
/*! exports provided: ThemeRequests */
|
|
111
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
112
|
+
|
|
113
|
+
"use strict";
|
|
114
|
+
__webpack_require__.r(__webpack_exports__);
|
|
115
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ThemeRequests", function() { return ThemeRequests; });
|
|
116
|
+
/* 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");
|
|
117
|
+
|
|
118
|
+
var ThemeRequests = {
|
|
119
|
+
theme: function theme(id) {
|
|
120
|
+
return {
|
|
121
|
+
url: "/api/domain/v1/themes/".concat(id),
|
|
122
|
+
key: "themes:".concat(id)
|
|
123
|
+
};
|
|
124
|
+
},
|
|
125
|
+
themes: function themes(type) {
|
|
126
|
+
var url = '/api/domain/v1/themes';
|
|
127
|
+
var key = 'themes';
|
|
128
|
+
|
|
129
|
+
if (type) {
|
|
130
|
+
url += "?type=".concat(type);
|
|
131
|
+
key += ":type:".concat(type);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
return {
|
|
135
|
+
url: url,
|
|
136
|
+
key: key
|
|
137
|
+
};
|
|
138
|
+
},
|
|
139
|
+
createTheme: function createTheme(data, success, error, always) {
|
|
140
|
+
return {
|
|
141
|
+
url: '/api/domain/v1/themes',
|
|
142
|
+
key: 'theme',
|
|
143
|
+
data: data,
|
|
144
|
+
type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].POST,
|
|
145
|
+
invalidationKeys: 'themes',
|
|
146
|
+
success: success,
|
|
147
|
+
error: error,
|
|
148
|
+
always: always
|
|
149
|
+
};
|
|
150
|
+
},
|
|
151
|
+
updateTheme: function updateTheme(id, data, success, error, always) {
|
|
152
|
+
return {
|
|
153
|
+
url: "/api/domain/v1/themes/".concat(id),
|
|
154
|
+
key: "update:theme:".concat(id),
|
|
155
|
+
data: data,
|
|
156
|
+
type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].PUT,
|
|
157
|
+
success: success,
|
|
158
|
+
error: error,
|
|
159
|
+
always: always
|
|
160
|
+
};
|
|
161
|
+
},
|
|
162
|
+
deleteTheme: function deleteTheme(id, success, error, always) {
|
|
163
|
+
return {
|
|
164
|
+
url: "/api/domain/v1/themes/".concat(id),
|
|
165
|
+
key: "delete:theme:".concat(id),
|
|
166
|
+
type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].DELETE,
|
|
167
|
+
invalidationKeys: 'themes',
|
|
168
|
+
success: success,
|
|
169
|
+
error: error,
|
|
170
|
+
always: always
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
/***/ }),
|
|
176
|
+
|
|
177
|
+
/***/ "./src/apps/watch-history/flight-requests/VideoHistoryRequests.ts":
|
|
178
|
+
/*!************************************************************************!*\
|
|
179
|
+
!*** ./src/apps/watch-history/flight-requests/VideoHistoryRequests.ts ***!
|
|
180
|
+
\************************************************************************/
|
|
181
|
+
/*! exports provided: VideoHistoryRequests */
|
|
182
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
183
|
+
|
|
184
|
+
"use strict";
|
|
185
|
+
__webpack_require__.r(__webpack_exports__);
|
|
186
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VideoHistoryRequests", function() { return VideoHistoryRequests; });
|
|
187
|
+
var VideoHistoryRequests = {
|
|
188
|
+
userVideoHistory: function userVideoHistory(customerId, userId, cursor, success, error, always) {
|
|
189
|
+
var key = "video:history:".concat(customerId, ":").concat(userId);
|
|
190
|
+
var url = "/api/videoviews/v1/customers/".concat(customerId, "/users/").concat(userId, "/videos/history");
|
|
191
|
+
|
|
192
|
+
if (cursor) {
|
|
193
|
+
key += ":".concat(cursor);
|
|
194
|
+
url += "?cursor=".concat(cursor);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
return {
|
|
198
|
+
key: key,
|
|
199
|
+
url: url,
|
|
200
|
+
success: success,
|
|
201
|
+
error: error,
|
|
202
|
+
always: always
|
|
203
|
+
};
|
|
204
|
+
},
|
|
205
|
+
videoHistory: function videoHistory(customerId, userId, ids, success, error, always) {
|
|
206
|
+
var params = ids.sort().map(function (i) {
|
|
207
|
+
return "videoId=".concat(i);
|
|
208
|
+
});
|
|
209
|
+
return {
|
|
210
|
+
key: "video:history:".concat(customerId, ":").concat(userId, ":videos:").concat(params.join('&')),
|
|
211
|
+
url: "/api/videoviews/v1/customers/".concat(customerId, "/users/").concat(userId, "/videos/history?").concat(params.join('&')),
|
|
212
|
+
formatData: function formatData(historyCollection) {
|
|
213
|
+
var _a;
|
|
214
|
+
|
|
215
|
+
if (!((_a = historyCollection) === null || _a === void 0 ? void 0 : _a.length)) return historyCollection;
|
|
216
|
+
/**
|
|
217
|
+
* Data is formatted to enable it to be merged with the existing video object in the store
|
|
218
|
+
* Where we need to merge more history properties with the video object, map them below.
|
|
219
|
+
*/
|
|
220
|
+
|
|
221
|
+
return historyCollection.map(function (watchHistory) {
|
|
222
|
+
return {
|
|
223
|
+
id: watchHistory.videoId,
|
|
224
|
+
lastProgressPoint: watchHistory.lastProgressPoint
|
|
225
|
+
};
|
|
226
|
+
});
|
|
227
|
+
},
|
|
228
|
+
success: success,
|
|
229
|
+
error: error,
|
|
230
|
+
always: always
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
};
|
|
234
|
+
|
|
235
|
+
/***/ }),
|
|
236
|
+
|
|
237
|
+
/***/ "./src/shared/hooks/useHandleObjectError.ts":
|
|
238
|
+
/*!**************************************************!*\
|
|
239
|
+
!*** ./src/shared/hooks/useHandleObjectError.ts ***!
|
|
240
|
+
\**************************************************/
|
|
241
|
+
/*! exports provided: useHandleObjectError */
|
|
242
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
243
|
+
|
|
244
|
+
"use strict";
|
|
245
|
+
__webpack_require__.r(__webpack_exports__);
|
|
246
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useHandleObjectError", function() { return useHandleObjectError; });
|
|
247
|
+
/* harmony import */ var _libs_common_src_backbone__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../libs/common/src/backbone */ "../../libs/common/src/backbone/index.ts");
|
|
248
|
+
/* harmony import */ var _libs_common_src_backbone_enums_HttpStatus__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../libs/common/src/backbone/enums/HttpStatus */ "../../libs/common/src/backbone/enums/HttpStatus.ts");
|
|
249
|
+
/* harmony import */ var shared_errors_general_not_found_LiteNotFoundError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! shared/errors/general/not-found/LiteNotFoundError */ "./src/shared/errors/general/not-found/LiteNotFoundError.ts");
|
|
250
|
+
/* harmony import */ var shared_errors_general_unspecified_error_UnspecifiedError__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! shared/errors/general/unspecified-error/UnspecifiedError */ "./src/shared/errors/general/unspecified-error/UnspecifiedError.ts");
|
|
251
|
+
/* harmony import */ var shared_errors_general_private_resource_PrivateResourceError__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! shared/errors/general/private-resource/PrivateResourceError */ "./src/shared/errors/general/private-resource/PrivateResourceError.ts");
|
|
252
|
+
/* harmony import */ var shared_errors_general_region_locked_resource_RegionLockedResourceError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! shared/errors/general/region-locked-resource/RegionLockedResourceError */ "./src/shared/errors/general/region-locked-resource/RegionLockedResourceError.ts");
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
var defaultErrors = {
|
|
260
|
+
notFound: shared_errors_general_not_found_LiteNotFoundError__WEBPACK_IMPORTED_MODULE_2__["NotFoundError"],
|
|
261
|
+
forbidden: {
|
|
262
|
+
rating: shared_errors_general_private_resource_PrivateResourceError__WEBPACK_IMPORTED_MODULE_4__["PrivateResourceError"],
|
|
263
|
+
yearLevel: shared_errors_general_private_resource_PrivateResourceError__WEBPACK_IMPORTED_MODULE_4__["PrivateResourceError"],
|
|
264
|
+
region: shared_errors_general_region_locked_resource_RegionLockedResourceError__WEBPACK_IMPORTED_MODULE_5__["RegionLockedResourceError"],
|
|
265
|
+
privacy: shared_errors_general_private_resource_PrivateResourceError__WEBPACK_IMPORTED_MODULE_4__["PrivateResourceError"]
|
|
266
|
+
},
|
|
267
|
+
badRequest: shared_errors_general_unspecified_error_UnspecifiedError__WEBPACK_IMPORTED_MODULE_3__["UnspecifiedError"]
|
|
268
|
+
};
|
|
269
|
+
function useHandleObjectError(object, customErrors, currentUser) {
|
|
270
|
+
var errors = Object.assign(Object.assign({}, defaultErrors), customErrors);
|
|
271
|
+
if (!object.statusCode || object.statusCode === _libs_common_src_backbone_enums_HttpStatus__WEBPACK_IMPORTED_MODULE_1__["HttpStatus"].Ok) return;
|
|
272
|
+
|
|
273
|
+
if (object.statusCode === _libs_common_src_backbone_enums_HttpStatus__WEBPACK_IMPORTED_MODULE_1__["HttpStatus"].NotFound) {
|
|
274
|
+
_libs_common_src_backbone__WEBPACK_IMPORTED_MODULE_0__["Core"].ErrorHelper["throw"](new errors.notFound());
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
if (object.statusCode === _libs_common_src_backbone_enums_HttpStatus__WEBPACK_IMPORTED_MODULE_1__["HttpStatus"].Forbidden) {
|
|
279
|
+
/**
|
|
280
|
+
* TODO: Work out how to go about handling all forbidden errors, such as region locking, year levels,
|
|
281
|
+
* ratings, and privacy.
|
|
282
|
+
*/
|
|
283
|
+
_libs_common_src_backbone__WEBPACK_IMPORTED_MODULE_0__["Core"].ErrorHelper["throw"](new errors.forbidden.privacy());
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
_libs_common_src_backbone__WEBPACK_IMPORTED_MODULE_0__["Core"].ErrorHelper["throw"](new errors.badRequest());
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
/***/ }),
|
|
291
|
+
|
|
292
|
+
/***/ "./src/shared/hooks/useVideoMixin.ts":
|
|
293
|
+
/*!*******************************************!*\
|
|
294
|
+
!*** ./src/shared/hooks/useVideoMixin.ts ***!
|
|
295
|
+
\*******************************************/
|
|
296
|
+
/*! exports provided: useVideoMixin */
|
|
297
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
298
|
+
|
|
299
|
+
"use strict";
|
|
300
|
+
__webpack_require__.r(__webpack_exports__);
|
|
301
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useVideoMixin", function() { return useVideoMixin; });
|
|
302
|
+
/* harmony import */ var _libs_common_src_react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../libs/common/src/react */ "../../libs/common/src/react/index.ts");
|
|
303
|
+
/* harmony import */ var _libs_shared_src_flight_requests_UserRequests__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../libs/shared/src/flight-requests/UserRequests */ "../../libs/shared/src/flight-requests/UserRequests.ts");
|
|
304
|
+
/* harmony import */ var _libs_shared_src_flight_requests_FavouriteVideoRequests__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../libs/shared/src/flight-requests/FavouriteVideoRequests */ "../../libs/shared/src/flight-requests/FavouriteVideoRequests.ts");
|
|
305
|
+
/* harmony import */ var shared_flight_requests_VideoRequests__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! shared/flight-requests/VideoRequests */ "./src/shared/flight-requests/VideoRequests.ts");
|
|
306
|
+
/* harmony import */ var apps_watch_history_flight_requests_VideoHistoryRequests__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! apps/watch-history/flight-requests/VideoHistoryRequests */ "./src/apps/watch-history/flight-requests/VideoHistoryRequests.ts");
|
|
307
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
308
|
+
|
|
309
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
310
|
+
|
|
311
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
312
|
+
|
|
313
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
|
|
314
|
+
|
|
315
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
316
|
+
|
|
317
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
var defaults = {
|
|
325
|
+
ratings: true,
|
|
326
|
+
favourites: true,
|
|
327
|
+
watchHistory: true
|
|
328
|
+
};
|
|
329
|
+
|
|
330
|
+
function fetchAttribute(videosFetched, request) {
|
|
331
|
+
var _a;
|
|
332
|
+
|
|
333
|
+
var attribute = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_0__["Flight"].useGetResponse((_a = request) === null || _a === void 0 ? void 0 : _a.key);
|
|
334
|
+
var fetch = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_0__["Flight"].useGetFetch(request);
|
|
335
|
+
if (videosFetched && request && attribute.shouldFetch) fetch();
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
function useVideoMixin(videos) {
|
|
339
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
340
|
+
|
|
341
|
+
var _a, _b, _c;
|
|
342
|
+
|
|
343
|
+
var _Object$assign = Object.assign(Object.assign({}, defaults), options),
|
|
344
|
+
ratings = _Object$assign.ratings,
|
|
345
|
+
favourites = _Object$assign.favourites,
|
|
346
|
+
watchHistory = _Object$assign.watchHistory;
|
|
347
|
+
|
|
348
|
+
var currentUser = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_0__["Flight"].useBasicFetch(_libs_shared_src_flight_requests_UserRequests__WEBPACK_IMPORTED_MODULE_1__["UserRequests"].currentUser());
|
|
349
|
+
var videoIds = videos && (Array.isArray(videos) ? videos.filter(Boolean).map(function (v) {
|
|
350
|
+
return v.id;
|
|
351
|
+
}) : videos.data.filter(Boolean).map(function (v) {
|
|
352
|
+
return v.id;
|
|
353
|
+
}));
|
|
354
|
+
var user = currentUser.data;
|
|
355
|
+
var requests = [];
|
|
356
|
+
if (ratings) requests = [].concat(_toConsumableArray(requests), [!!((_a = videoIds) === null || _a === void 0 ? void 0 : _a.length) && shared_flight_requests_VideoRequests__WEBPACK_IMPORTED_MODULE_3__["VideoRequests"].videoRatings(videoIds)]);
|
|
357
|
+
if (favourites) requests = [].concat(_toConsumableArray(requests), [!!((_b = videoIds) === null || _b === void 0 ? void 0 : _b.length) && user && _libs_shared_src_flight_requests_FavouriteVideoRequests__WEBPACK_IMPORTED_MODULE_2__["FavouriteVideoRequests"].isFavourited(user.id, videoIds)]);
|
|
358
|
+
if (watchHistory) requests = [].concat(_toConsumableArray(requests), [!!((_c = videoIds) === null || _c === void 0 ? void 0 : _c.length) && user && apps_watch_history_flight_requests_VideoHistoryRequests__WEBPACK_IMPORTED_MODULE_4__["VideoHistoryRequests"].videoHistory(user.customerId, user.id, videoIds)]);
|
|
359
|
+
requests.forEach(function (r) {
|
|
360
|
+
return fetchAttribute(!!videos, r);
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
/***/ }),
|
|
365
|
+
|
|
366
|
+
/***/ "./src/shared/views/play/PlayView.tsx":
|
|
367
|
+
/*!********************************************!*\
|
|
368
|
+
!*** ./src/shared/views/play/PlayView.tsx ***!
|
|
369
|
+
\********************************************/
|
|
370
|
+
/*! exports provided: PlayView */
|
|
371
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
372
|
+
|
|
373
|
+
"use strict";
|
|
374
|
+
__webpack_require__.r(__webpack_exports__);
|
|
375
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PlayView", function() { return PlayView; });
|
|
376
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
377
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
378
|
+
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "react-redux");
|
|
379
|
+
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
|
|
380
|
+
/* harmony import */ var _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../libs/common/src/react */ "../../libs/common/src/react/index.ts");
|
|
381
|
+
/* harmony import */ var _libs_common_src_react_hooks_useViewModel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../libs/common/src/react/hooks/useViewModel */ "../../libs/common/src/react/hooks/useViewModel.ts");
|
|
382
|
+
/* harmony import */ var _libs_shared_src_flight_requests_UserRequests__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../libs/shared/src/flight-requests/UserRequests */ "../../libs/shared/src/flight-requests/UserRequests.ts");
|
|
383
|
+
/* harmony import */ var _libs_shared_src_flight_requests_FavouriteVideoRequests__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../libs/shared/src/flight-requests/FavouriteVideoRequests */ "../../libs/shared/src/flight-requests/FavouriteVideoRequests.ts");
|
|
384
|
+
/* harmony import */ var _libs_shared_src_flight_requests_ThemeRequests__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../../../libs/shared/src/flight-requests/ThemeRequests */ "../../libs/shared/src/flight-requests/ThemeRequests.ts");
|
|
385
|
+
/* harmony import */ var _libs_common_src_react_hooks_UseSetPageTitle__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../../../libs/common/src/react/hooks/UseSetPageTitle */ "../../libs/common/src/react/hooks/UseSetPageTitle.ts");
|
|
386
|
+
/* harmony import */ var _libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../../../libs/analytics/src/AnalyticsHelper */ "../../libs/analytics/src/AnalyticsHelper.ts");
|
|
387
|
+
/* harmony import */ var _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../../../../libs/analytics/src/interfaces */ "../../libs/analytics/src/interfaces/index.ts");
|
|
388
|
+
/* harmony import */ var _libs_shared_src_hooks_UseAlerts__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../../../../libs/shared/src/hooks/UseAlerts */ "../../libs/shared/src/hooks/UseAlerts.ts");
|
|
389
|
+
/* harmony import */ var _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../../../libs/common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
|
|
390
|
+
/* harmony import */ var shared_flight_requests_VideoRequests__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! shared/flight-requests/VideoRequests */ "./src/shared/flight-requests/VideoRequests.ts");
|
|
391
|
+
/* harmony import */ var shared_components_play_page_PlayPage__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! shared/components/play-page/PlayPage */ "./src/shared/components/play-page/PlayPage.tsx");
|
|
392
|
+
/* harmony import */ var shared_constants_LiteViewModels__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! shared/constants/LiteViewModels */ "./src/shared/constants/LiteViewModels.ts");
|
|
393
|
+
/* harmony import */ var shared_errors_videos_video_not_found_LiteVideoNotFoundError__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! shared/errors/videos/video-not-found/LiteVideoNotFoundError */ "./src/shared/errors/videos/video-not-found/LiteVideoNotFoundError.ts");
|
|
394
|
+
/* harmony import */ var shared_errors_videos_video_private_VideoPrivateError__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! shared/errors/videos/video-private/VideoPrivateError */ "./src/shared/errors/videos/video-private/VideoPrivateError.ts");
|
|
395
|
+
/* harmony import */ var shared_hooks_useHandleObjectError__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! shared/hooks/useHandleObjectError */ "./src/shared/hooks/useHandleObjectError.ts");
|
|
396
|
+
/* harmony import */ var shared_hooks_useVideoMixin__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! shared/hooks/useVideoMixin */ "./src/shared/hooks/useVideoMixin.ts");
|
|
397
|
+
/* harmony import */ var _libs_shared_src_flight_requests_ClassificationRequests__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../../../../../libs/shared/src/flight-requests/ClassificationRequests */ "../../libs/shared/src/flight-requests/ClassificationRequests.ts");
|
|
398
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
399
|
+
|
|
400
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
401
|
+
|
|
402
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
403
|
+
|
|
404
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
405
|
+
|
|
406
|
+
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
407
|
+
|
|
408
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
409
|
+
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
|
|
422
|
+
|
|
423
|
+
|
|
424
|
+
|
|
425
|
+
|
|
426
|
+
|
|
427
|
+
|
|
428
|
+
|
|
429
|
+
|
|
430
|
+
var namespace = 'shared.play';
|
|
431
|
+
var videoErrors = {
|
|
432
|
+
notFound: shared_errors_videos_video_not_found_LiteVideoNotFoundError__WEBPACK_IMPORTED_MODULE_15__["VideoNotFoundError"],
|
|
433
|
+
forbidden: {
|
|
434
|
+
privacy: shared_errors_videos_video_private_VideoPrivateError__WEBPACK_IMPORTED_MODULE_16__["VideoPrivateError"]
|
|
435
|
+
}
|
|
436
|
+
};
|
|
437
|
+
function PlayView(props) {
|
|
438
|
+
var _a, _b, _c, _d;
|
|
439
|
+
|
|
440
|
+
var dispatch = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useDispatch"])();
|
|
441
|
+
var alerts = Object(_libs_shared_src_hooks_UseAlerts__WEBPACK_IMPORTED_MODULE_10__["useAlerts"])();
|
|
442
|
+
|
|
443
|
+
var _useViewModel = Object(_libs_common_src_react_hooks_useViewModel__WEBPACK_IMPORTED_MODULE_3__["useViewModel"])(shared_constants_LiteViewModels__WEBPACK_IMPORTED_MODULE_14__["ViewModelKeys"].WEB_PLAYER_DATA),
|
|
444
|
+
_useViewModel2 = _slicedToArray(_useViewModel, 2),
|
|
445
|
+
currentPlayerData = _useViewModel2[0],
|
|
446
|
+
setPlayerData = _useViewModel2[1];
|
|
447
|
+
|
|
448
|
+
var video = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useBasicFetch(shared_flight_requests_VideoRequests__WEBPACK_IMPORTED_MODULE_12__["VideoRequests"].video(props.id));
|
|
449
|
+
var currentUser = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useBasicFetch(_libs_shared_src_flight_requests_UserRequests__WEBPACK_IMPORTED_MODULE_4__["UserRequests"].currentUser()); // const relatedVideos = Flight.useBasicFetch<VideoCollection>(!!currentUser.data &&
|
|
450
|
+
// FavouriteVideoRequests.favouriteVideos(currentUser.data.id));
|
|
451
|
+
|
|
452
|
+
var glanceTheme = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useBasicFetch(((_b = (_a = video.data) === null || _a === void 0 ? void 0 : _a.glance) === null || _b === void 0 ? void 0 : _b.theme) ? _libs_shared_src_flight_requests_ThemeRequests__WEBPACK_IMPORTED_MODULE_6__["ThemeRequests"].theme(video.data.glance.theme) : null);
|
|
453
|
+
var curriculumLinks = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useBasicFetch(((_c = video.data) === null || _c === void 0 ? void 0 : _c.id) ? _libs_shared_src_flight_requests_ClassificationRequests__WEBPACK_IMPORTED_MODULE_19__["ClassificationRequests"].curriculumLinks(video.data.id) : null);
|
|
454
|
+
Object(_libs_common_src_react_hooks_UseSetPageTitle__WEBPACK_IMPORTED_MODULE_7__["useSetPageTitle"])((_d = video.data) === null || _d === void 0 ? void 0 : _d.name);
|
|
455
|
+
Object(shared_hooks_useHandleObjectError__WEBPACK_IMPORTED_MODULE_17__["useHandleObjectError"])(video, videoErrors, currentUser.data);
|
|
456
|
+
Object(shared_hooks_useVideoMixin__WEBPACK_IMPORTED_MODULE_18__["useVideoMixin"])([video.data]);
|
|
457
|
+
|
|
458
|
+
function setFavourite(_video, shouldFavourite, onError) {
|
|
459
|
+
_libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].fetch(dispatch, _libs_shared_src_flight_requests_FavouriteVideoRequests__WEBPACK_IMPORTED_MODULE_5__["FavouriteVideoRequests"].updateIsVideoFavourited(_video.id, currentUser.data.id, shouldFavourite, function () {
|
|
460
|
+
_libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_8__["AnalyticsHelper"].logUserAction({
|
|
461
|
+
id: _video.id
|
|
462
|
+
}, {
|
|
463
|
+
entity: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_9__["EntityType"].Video,
|
|
464
|
+
actionType: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_9__["UserAction"].Favourite,
|
|
465
|
+
descriptor: shouldFavourite ? _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_9__["ToggleDescriptor"].On : _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_9__["ToggleDescriptor"].Off,
|
|
466
|
+
location: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_9__["LocationContext"].PlayPage,
|
|
467
|
+
workflowPhase: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_9__["WorkflowPhase"].Complete
|
|
468
|
+
});
|
|
469
|
+
alerts.success(_libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_11__["LanguageService"].getPhrase(namespace, shouldFavourite ? 'favourited' : 'unfavourited', {
|
|
470
|
+
video: _video.name
|
|
471
|
+
}));
|
|
472
|
+
}, onError));
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](function () {
|
|
476
|
+
var _a;
|
|
477
|
+
|
|
478
|
+
if (!video.data) return;
|
|
479
|
+
setPlayerData('video', video.data);
|
|
480
|
+
var newVideo = ((_a = currentPlayerData.video) === null || _a === void 0 ? void 0 : _a.id) !== video.data.id;
|
|
481
|
+
var newStartTime = Number.isInteger(props.startTime) && props.startTime !== currentPlayerData.startTime;
|
|
482
|
+
/**
|
|
483
|
+
* Only update start time if the video has changed or if a new startTime has been passed as a prop.
|
|
484
|
+
*
|
|
485
|
+
* We must set startTime as something other than undefined (i.e. a number) otherwise the ViewModelReducer
|
|
486
|
+
* won't recognise that it's a KVP.
|
|
487
|
+
*/
|
|
488
|
+
|
|
489
|
+
if (newVideo || newStartTime) setPlayerData('startTime', props.startTime || 0);
|
|
490
|
+
}, [!!video.data, props.startTime]);
|
|
491
|
+
if (!video.data || !currentUser.data || !curriculumLinks.data) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
|
|
492
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
493
|
+
className: 'px-3'
|
|
494
|
+
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](shared_components_play_page_PlayPage__WEBPACK_IMPORTED_MODULE_13__["PlayPage"], {
|
|
495
|
+
video: video.data,
|
|
496
|
+
glanceTheme: glanceTheme.data,
|
|
497
|
+
curriculumLinks: curriculumLinks.data,
|
|
498
|
+
// relatedVideos={relatedVideos.data ? relatedVideos.data.data : null}
|
|
499
|
+
setFavourite: setFavourite
|
|
500
|
+
}));
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
/***/ })
|
|
504
|
+
|
|
505
|
+
}]);
|
|
506
|
+
//# sourceMappingURL=19.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/libs/shared/src/flight-requests/FavouriteVideoRequests.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/flight-requests/ThemeRequests.ts","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/apps/watch-history/flight-requests/VideoHistoryRequests.ts","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/hooks/useHandleObjectError.ts","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/hooks/useVideoMixin.ts","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/views/play/PlayView.tsx"],"names":[],"mappings":"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","file":"scripts/19.chunk.js","sourcesContent":["import { Flight } from 'libs/common/flight';\r\nimport { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\r\nimport { Xhr } from 'libs/common/backbone/interfaces';\r\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\r\n\r\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\r\n\r\nfunction favouriteVideo(\r\n videoId: string, userId: string, success?: () => void, error?: (Xhr: Xhr) => void\r\n): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/objects/${userId}`,\r\n key: `favourite:video:${userId}:${videoId}`,\r\n data: { favouriteVideos: videoId },\r\n type: HttpVerbs.PUT,\r\n invalidationKeys: [ `favourite:videos:${userId}`, `video:is:favourited:${userId}` ],\r\n success,\r\n error\r\n };\r\n}\r\n\r\nfunction unfavouriteVideo(\r\n videoId: string, userId: string, success?: () => void, error?: (Xhr: Xhr) => void\r\n): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/objects/${userId}/favouriteVideos/${videoId}`,\r\n key: `favourite:video:${userId}:${videoId}`,\r\n type: HttpVerbs.DELETE,\r\n invalidationKeys: [ `favourite:videos:${userId}`, `video:is:favourited:${userId}` ],\r\n success,\r\n error\r\n };\r\n}\r\n\r\nexport const FavouriteVideoRequests = {\r\n favouriteVideos(userId: string, cursor?: string): Flight.Request {\r\n const query = `${SharedWithStatements.VIDEO_COLLECTION}${addCursor(cursor)}`;\r\n\r\n return {\r\n url: `/api/domain/v2/objects/${userId}/favouriteVideos?query=${query}`,\r\n key: `favourite:videos:${userId}${cursor ? `:${cursor}` : ''}`\r\n };\r\n },\r\n\r\n updateIsVideoFavourited(\r\n videoId: string, userId: string, shouldFavourite: boolean, success?: () => void, error?: (Xhr: Xhr) => void\r\n ): Flight.Request {\r\n const requestFn = shouldFavourite\r\n ? favouriteVideo\r\n : unfavouriteVideo;\r\n\r\n return requestFn(videoId, userId, success, error);\r\n },\r\n\r\n isFavourited(userId: string, ids: string[]): Flight.Request {\r\n const sortedIds = ids.slice().sort();\r\n\r\n const params = sortedIds.map(i => `id=${i}`);\r\n\r\n if (!params.length)\r\n return;\r\n\r\n return {\r\n url: `/api/domain/v2/objects?query=favouritedBy{id:${userId}}&${params.join('&')}`,\r\n key: `video:is:favourited:${userId}:by:id:${sortedIds.join(',')}`,\r\n formatData: (videos: HashObject[]) => {\r\n if (!videos?.length)\r\n return videos;\r\n\r\n const setIsFavourited = (video: HashObject) => {\r\n const { favouritedBy, ...v } = video;\r\n\r\n // As we filtered by userId, if there are any users, set isFavourited to true.\r\n return {\r\n ...v,\r\n isFavourited: !!favouritedBy?.data?.length\r\n };\r\n };\r\n\r\n return videos.map(setIsFavourited);\r\n }\r\n };\r\n }\r\n};\r\n\r\nfunction addCursor(cursor: string): string {\r\n return cursor ? `&cursor=${cursor}` : '';\r\n}","import { Flight } from 'libs/common/flight';\r\nimport { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\r\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\r\nimport { Xhr } from 'libs/common/backbone/interfaces';\r\nimport { Theme } from 'libs/shared/interfaces';\r\n\r\nexport const ThemeRequests = {\r\n theme(id: string): Flight.Request {\r\n return {\r\n url: `/api/domain/v1/themes/${id}`,\r\n key: `themes:${id}`\r\n };\r\n },\r\n\r\n themes(type?: string): Flight.Request {\r\n let url = '/api/domain/v1/themes';\r\n let key = 'themes';\r\n\r\n if (type) {\r\n url += `?type=${type}`;\r\n key += `:type:${type}`;\r\n }\r\n\r\n return {\r\n url,\r\n key\r\n };\r\n },\r\n\r\n createTheme(\r\n data: Theme,\r\n success?: (data: HashObject) => void,\r\n error?: (xhr: Xhr) => void,\r\n always?: () => void\r\n ): Flight.Request {\r\n return {\r\n url: '/api/domain/v1/themes',\r\n key: 'theme',\r\n data,\r\n type: HttpVerbs.POST,\r\n invalidationKeys: 'themes',\r\n success,\r\n error,\r\n always\r\n };\r\n },\r\n\r\n updateTheme(\r\n id: string,\r\n data: Theme,\r\n success?: (data: HashObject) => void,\r\n error?: (xhr: Xhr) => void,\r\n always?: () => void\r\n ): Flight.Request {\r\n return {\r\n url: `/api/domain/v1/themes/${id}`,\r\n key: `update:theme:${id}`,\r\n data,\r\n type: HttpVerbs.PUT,\r\n success,\r\n error,\r\n always\r\n };\r\n },\r\n\r\n deleteTheme(\r\n id: string,\r\n success?: (data: HashObject) => void,\r\n error?: (xhr: Xhr) => void,\r\n always?: () => void\r\n ): Flight.Request {\r\n return {\r\n url: `/api/domain/v1/themes/${id}`,\r\n key: `delete:theme:${id}`,\r\n type: HttpVerbs.DELETE,\r\n invalidationKeys: 'themes',\r\n success,\r\n error,\r\n always\r\n };\r\n }\r\n};","import { Flight } from 'libs/common/flight';\r\nimport { HashObject } from 'libs/common/react/interfaces';\r\nimport { Xhr } from 'libs/common/backbone/interfaces';\r\n\r\nexport const VideoHistoryRequests = {\r\n userVideoHistory(\r\n customerId: string,\r\n userId: string,\r\n cursor?: string,\r\n success?: (data: HashObject) => void,\r\n error?: (Xhr: Xhr) => void,\r\n always?: () => void\r\n ): Flight.Request {\r\n let key = `video:history:${customerId}:${userId}`;\r\n let url = `/api/videoviews/v1/customers/${customerId}/users/${userId}/videos/history`;\r\n\r\n if (cursor) {\r\n key += `:${cursor}`;\r\n url += `?cursor=${cursor}`;\r\n }\r\n\r\n return {\r\n key,\r\n url,\r\n success,\r\n error,\r\n always\r\n };\r\n },\r\n\r\n videoHistory(\r\n customerId: string,\r\n userId: string,\r\n ids: string[],\r\n success?: (data: HashObject) => void,\r\n error?: (Xhr: Xhr) => void,\r\n always?: () => void\r\n ): Flight.Request {\r\n const params = ids.sort().map(i => `videoId=${i}`);\r\n\r\n return {\r\n key: `video:history:${customerId}:${userId}:videos:${params.join('&')}`,\r\n url: `/api/videoviews/v1/customers/${customerId}/users/${userId}/videos/history?${params.join('&')}`,\r\n formatData: (historyCollection: HashObject[]) => {\r\n if (!historyCollection?.length)\r\n return historyCollection;\r\n\r\n /**\r\n * Data is formatted to enable it to be merged with the existing video object in the store\r\n * Where we need to merge more history properties with the video object, map them below.\r\n */\r\n return historyCollection.map((watchHistory: HashObject) => ({\r\n id: watchHistory.videoId,\r\n lastProgressPoint: watchHistory.lastProgressPoint\r\n }));\r\n },\r\n success,\r\n error,\r\n always\r\n };\r\n }\r\n};","import { Core } from 'libs/common/core';\r\nimport { Flight } from 'libs/common/flight';\r\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\r\n\r\nimport { BaseObject, CurrentUser } from 'libs/shared/interfaces';\r\nimport { BaseError } from 'libs/common/backbone/core/BaseError';\r\n\r\nimport { NotFoundError } from 'shared/errors/general/not-found/LiteNotFoundError';\r\nimport { UnspecifiedError } from 'shared/errors/general/unspecified-error/UnspecifiedError';\r\nimport { PrivateResourceError } from 'shared/errors/general/private-resource/PrivateResourceError';\r\nimport { RegionLockedResourceError } from 'shared/errors/general/region-locked-resource/RegionLockedResourceError';\r\n\r\ninterface ErrorMap {\r\n notFound?: new () => BaseError;\r\n forbidden?: {\r\n rating?: new (description: string) => BaseError;\r\n yearLevel?: new (description: string) => BaseError;\r\n region?: new () => BaseError;\r\n privacy?: new () => BaseError;\r\n };\r\n badRequest?: new () => BaseError;\r\n}\r\n\r\nconst defaultErrors: ErrorMap = {\r\n notFound: NotFoundError,\r\n forbidden: {\r\n rating: PrivateResourceError,\r\n yearLevel: PrivateResourceError,\r\n region: RegionLockedResourceError,\r\n privacy: PrivateResourceError\r\n },\r\n badRequest: UnspecifiedError\r\n};\r\n\r\nexport function useHandleObjectError(\r\n object: Flight.Response<BaseObject>,\r\n customErrors: ErrorMap,\r\n currentUser: CurrentUser\r\n): void {\r\n const errors = {\r\n ...defaultErrors,\r\n ...customErrors\r\n };\r\n\r\n if (!object.statusCode || object.statusCode === HttpStatus.Ok)\r\n return;\r\n\r\n if (object.statusCode === HttpStatus.NotFound) {\r\n Core.ErrorHelper.throw(new errors.notFound());\r\n return;\r\n }\r\n\r\n if (object.statusCode === HttpStatus.Forbidden) {\r\n /**\r\n * TODO: Work out how to go about handling all forbidden errors, such as region locking, year levels,\r\n * ratings, and privacy.\r\n */\r\n Core.ErrorHelper.throw(new errors.forbidden.privacy());\r\n return;\r\n }\r\n\r\n Core.ErrorHelper.throw(new errors.badRequest());\r\n}","import { Flight } from 'libs/common/flight';\r\nimport { VideoCollection, Video, CurrentUser } from 'libs/shared/interfaces';\r\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\r\nimport { FavouriteVideoRequests } from 'libs/shared/flight-requests/FavouriteVideoRequests';\r\n\r\nimport { VideoRequests } from 'shared/flight-requests/VideoRequests';\r\nimport { VideoHistoryRequests } from 'apps/watch-history/flight-requests/VideoHistoryRequests';\r\n\r\ninterface VideoMixinOptions {\r\n ratings?: boolean;\r\n favourites?: boolean;\r\n watchHistory?: boolean;\r\n}\r\n\r\nconst defaults: VideoMixinOptions = {\r\n ratings: true,\r\n favourites: true,\r\n watchHistory: true,\r\n};\r\n\r\nfunction fetchAttribute(videosFetched: boolean, request: Flight.Request): void {\r\n const attribute = Flight.useGetResponse<VideoCollection>(request?.key);\r\n const fetch = Flight.useGetFetch(request);\r\n\r\n if (videosFetched && request && attribute.shouldFetch)\r\n fetch();\r\n}\r\n\r\nexport function useVideoMixin(videos: VideoCollection | Video[], options: VideoMixinOptions = {}): void {\r\n const { ratings, favourites, watchHistory } = { ...defaults, ...options };\r\n\r\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\r\n\r\n const videoIds = videos && (Array.isArray(videos)\r\n ? videos.filter(Boolean).map(v => v.id)\r\n : videos.data.filter(Boolean).map(v => v.id));\r\n\r\n const user = currentUser.data;\r\n\r\n let requests: Flight.Request[] = [];\r\n\r\n if (ratings)\r\n requests = [ ...requests, !!videoIds?.length && VideoRequests.videoRatings(videoIds) ];\r\n\r\n if (favourites)\r\n requests = [ ...requests, !!videoIds?.length && user && FavouriteVideoRequests.isFavourited(user.id, videoIds) ];\r\n\r\n if (watchHistory)\r\n requests = [ ...requests, !!videoIds?.length && user &&\r\n VideoHistoryRequests.videoHistory( user.customerId, user.id, videoIds) ];\r\n\r\n requests.forEach(r => fetchAttribute(!!videos, r));\r\n}","import * as React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport { Flight } from 'libs/common/flight';\r\nimport { useViewModel } from 'libs/common/react/hooks/useViewModel';\r\nimport { Video, Curriculum, CurrentUser, Theme } from 'libs/shared/interfaces';\r\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\r\nimport { FavouriteVideoRequests } from 'libs/shared/flight-requests/FavouriteVideoRequests';\r\nimport { ThemeRequests } from 'libs/shared/flight-requests/ThemeRequests';\r\nimport { useSetPageTitle } from 'libs/common/react/hooks/UseSetPageTitle';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { EntityType, UserAction, LocationContext, WorkflowPhase, ToggleDescriptor } from 'libs/analytics/interfaces';\r\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { VideoRequests } from 'shared/flight-requests/VideoRequests';\r\nimport { PlayPage } from 'shared/components/play-page/PlayPage';\r\nimport { ViewModelKeys } from 'shared/constants/LiteViewModels';\r\nimport { VideoNotFoundError } from 'shared/errors/videos/video-not-found/LiteVideoNotFoundError';\r\nimport { VideoPrivateError } from 'shared/errors/videos/video-private/VideoPrivateError';\r\nimport { useHandleObjectError } from 'shared/hooks/useHandleObjectError';\r\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\r\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\r\n\r\nconst namespace = 'shared.play';\r\n\r\nconst videoErrors = {\r\n notFound: VideoNotFoundError,\r\n forbidden: {\r\n privacy: VideoPrivateError\r\n }\r\n};\r\n\r\ninterface PlayViewProps {\r\n id: string;\r\n startTime?: number; // Timepoint in seconds\r\n}\r\n\r\nexport function PlayView(props: PlayViewProps): React.ReactElement {\r\n const dispatch = useDispatch();\r\n const alerts = useAlerts();\r\n\r\n const [ currentPlayerData, setPlayerData ] = useViewModel(ViewModelKeys.WEB_PLAYER_DATA);\r\n\r\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.id));\r\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\r\n // const relatedVideos = Flight.useBasicFetch<VideoCollection>(!!currentUser.data &&\r\n // FavouriteVideoRequests.favouriteVideos(currentUser.data.id));\r\n const glanceTheme = Flight.useBasicFetch<Theme>(video.data?.glance?.theme\r\n ? ThemeRequests.theme(video.data.glance.theme) : null);\r\n const curriculumLinks = Flight.useBasicFetch<Curriculum[][]>(video.data?.id\r\n ? ClassificationRequests.curriculumLinks(video.data.id) : null);\r\n\r\n useSetPageTitle(video.data?.name);\r\n useHandleObjectError(video, videoErrors, currentUser.data);\r\n\r\n useVideoMixin([video.data]);\r\n\r\n function setFavourite(_video: Video, shouldFavourite: boolean, onError?: () => void): void {\r\n Flight.fetch(\r\n dispatch,\r\n FavouriteVideoRequests.updateIsVideoFavourited(_video.id, currentUser.data.id, shouldFavourite, () => {\r\n AnalyticsHelper.logUserAction({ id: _video.id }, {\r\n entity: EntityType.Video,\r\n actionType: UserAction.Favourite,\r\n descriptor: shouldFavourite ? ToggleDescriptor.On : ToggleDescriptor.Off,\r\n location: LocationContext.PlayPage,\r\n workflowPhase: WorkflowPhase.Complete\r\n });\r\n\r\n alerts.success(LanguageService.getPhrase(\r\n namespace,\r\n shouldFavourite ? 'favourited' : 'unfavourited',\r\n { video: _video.name }\r\n ));\r\n }, onError)\r\n );\r\n }\r\n\r\n React.useEffect(() => {\r\n if (!video.data)\r\n return;\r\n\r\n setPlayerData('video', video.data);\r\n\r\n const newVideo = currentPlayerData.video?.id !== video.data.id;\r\n const newStartTime = Number.isInteger(props.startTime) && props.startTime !== currentPlayerData.startTime;\r\n\r\n /**\r\n * Only update start time if the video has changed or if a new startTime has been passed as a prop.\r\n * \r\n * We must set startTime as something other than undefined (i.e. a number) otherwise the ViewModelReducer\r\n * won't recognise that it's a KVP.\r\n */\r\n if (newVideo || newStartTime)\r\n setPlayerData('startTime', props.startTime || 0);\r\n }, [ !!video.data, props.startTime ]);\r\n\r\n if (!video.data || !currentUser.data || !curriculumLinks.data)\r\n return <></>;\r\n\r\n return (\r\n <div className='px-3'>\r\n <PlayPage\r\n video={video.data}\r\n glanceTheme={glanceTheme.data}\r\n curriculumLinks={curriculumLinks.data}\r\n // relatedVideos={relatedVideos.data ? relatedVideos.data.data : null}\r\n setFavourite={setFavourite}\r\n />\r\n </div>\r\n );\r\n}"],"sourceRoot":""}
|