@clickview/lite 0.0.18-dev.2 → 0.0.18-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/0.chunk.css.map +1 -0
- package/dist/css/1.chunk.css +144 -2
- package/dist/css/1.chunk.css.map +1 -0
- package/dist/css/10.chunk.css +10 -12
- package/dist/css/10.chunk.css.map +1 -0
- package/dist/css/11.chunk.css +5 -9
- 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/16.chunk.css.map +1 -0
- package/dist/css/18.chunk.css.map +1 -0
- package/dist/css/19.chunk.css +6 -2
- package/dist/css/19.chunk.css.map +1 -0
- package/dist/css/2.chunk.css +14 -0
- package/dist/css/20.chunk.css +2 -6
- package/dist/css/21.chunk.css +1 -3
- package/dist/css/21.chunk.css.map +1 -0
- package/dist/css/22.chunk.css +2 -2
- package/dist/css/22.chunk.css.map +1 -0
- package/dist/css/23.chunk.css +3 -1
- package/dist/css/23.chunk.css.map +1 -0
- package/dist/css/24.chunk.css +1 -3
- package/dist/css/24.chunk.css.map +1 -0
- package/dist/css/25.chunk.css +2 -2
- package/dist/css/25.chunk.css.map +1 -0
- package/dist/css/26.chunk.css +3 -1
- package/dist/css/26.chunk.css.map +1 -0
- package/dist/css/27.chunk.css +66 -2
- package/dist/css/27.chunk.css.map +1 -0
- package/dist/css/28.chunk.css +48 -2
- package/dist/css/28.chunk.css.map +1 -0
- package/dist/css/29.chunk.css +43 -4
- package/dist/css/29.chunk.css.map +1 -0
- package/dist/css/3.chunk.css +13 -7
- package/dist/css/3.chunk.css.map +1 -0
- package/dist/css/30.chunk.css +1 -3
- package/dist/css/30.chunk.css.map +1 -0
- package/dist/css/31.chunk.css +5 -2
- package/dist/css/31.chunk.css.map +1 -0
- package/dist/css/32.chunk.css +4 -1
- package/dist/css/32.chunk.css.map +1 -0
- package/dist/css/34.chunk.css +4 -2
- package/dist/css/34.chunk.css.map +1 -0
- package/dist/css/35.chunk.css +7 -0
- package/dist/css/35.chunk.css.map +1 -0
- package/dist/css/36.chunk.css +4 -0
- package/dist/css/36.chunk.css.map +1 -0
- package/dist/css/37.chunk.css +3 -1
- package/dist/css/37.chunk.css.map +1 -0
- package/dist/css/38.chunk.css +36 -2
- package/dist/css/38.chunk.css.map +1 -0
- package/dist/css/4.chunk.css +5 -13
- package/dist/css/4.chunk.css.map +1 -0
- package/dist/css/44.chunk.css +1 -1
- package/dist/css/45.chunk.css +9 -0
- package/dist/css/45.chunk.css.map +1 -0
- package/dist/css/5.chunk.css +2 -8
- package/dist/css/5.chunk.css.map +1 -0
- package/dist/css/9.chunk.css +15 -7
- package/dist/css/lite-app.css.map +1 -0
- package/dist/libs/analytics/src/AnalyticsService.d.ts +52 -0
- package/dist/libs/analytics/src/clients/BaseAnalyticsClient.d.ts +24 -0
- package/dist/libs/analytics/src/clients/CollectionApiClient.d.ts +48 -0
- package/dist/libs/analytics/src/clients/DebuggerClient.d.ts +7 -0
- package/dist/libs/analytics/src/constants/ApplicationOptionsKey.d.ts +1 -0
- package/dist/libs/analytics/src/constants/CountryRegionMapping.d.ts +7 -0
- package/dist/libs/analytics/src/constants/Regions.d.ts +6 -0
- package/dist/libs/analytics/src/enrichers/BaseAnalyticsEnricher.d.ts +19 -0
- package/dist/libs/analytics/src/enrichers/CoreContextEnricher.d.ts +22 -0
- package/dist/libs/analytics/src/enrichers/UserDataEnricher.d.ts +10 -0
- package/dist/libs/analytics/src/enums/CountryCode.d.ts +5 -0
- package/dist/libs/analytics/src/interfaces/AnalyticsTypes.d.ts +49 -5
- package/dist/libs/analytics/src/interfaces/VersionData.d.ts +4 -0
- package/dist/libs/analytics/src/models/CollectionEvent.d.ts +55 -0
- package/dist/libs/analytics/src/transport/EventTransport.d.ts +39 -0
- package/dist/libs/analytics/src/utils/CollectionApiClientHelper.d.ts +6 -0
- package/dist/libs/analytics/src/utils/DataFormatHelper.d.ts +14 -0
- package/dist/libs/analytics/src/utils/EventWhitelistHelper.d.ts +19 -0
- package/dist/libs/analytics/src/utils/TypeHelper.d.ts +4 -0
- package/dist/libs/analytics/src/utils/UploadDataFormatHelper.d.ts +10 -0
- package/dist/libs/analytics/src/utils/UserAgentHelper.d.ts +10 -0
- package/dist/libs/analytics/src/utils/VideoDataFormatHelper.d.ts +42 -0
- package/dist/libs/common/src/backbone/core/BaseAppRouter.d.ts +5 -1
- package/dist/libs/common/src/react/constants/ViewModelActions.d.ts +3 -0
- package/dist/libs/common/src/react/hooks/useViewModel.d.ts +4 -0
- package/dist/libs/common/src/react/interfaces/ApplicationState.d.ts +3 -1
- package/dist/libs/common/src/react/interfaces/ViewModelAction.d.ts +5 -0
- package/dist/libs/common/src/react/interfaces/ViewModelPayload.d.ts +5 -0
- package/dist/libs/common/src/react/reducers/ViewModelReducer.d.ts +3 -0
- package/dist/libs/common/src/react/utils/ArrayHelper.d.ts +1 -1
- package/dist/libs/shared/src/apps/content-updates/interfaces/VideoClassificationMapping.d.ts +2 -1
- package/dist/libs/shared/src/apps/upload/services/UploadService.d.ts +3 -2
- package/dist/libs/shared/src/components/lazy-image/LazyImage.d.ts +1 -1
- package/dist/libs/shared/src/components/search-bar/SearchBar.d.ts +5 -0
- package/dist/libs/shared/src/components/widgets/fixed-widget/FixedWidget.d.ts +4 -2
- package/dist/libs/shared/src/components/widgets/items/subject-widget-item/SubjectWidgetItem.d.ts +4 -3
- package/dist/libs/shared/src/constants/BootstrapKeys.d.ts +1 -0
- package/dist/libs/shared/src/constants/WithStatements.d.ts +1 -1
- package/dist/libs/shared/src/enums/CountryCode.d.ts +5 -0
- package/dist/libs/shared/src/enums/SubtitleExtractionOptions.d.ts +4 -0
- package/dist/libs/shared/src/enums/WidgetContents.d.ts +2 -1
- package/dist/libs/shared/src/flight-requests/FavouriteVideoRequests.d.ts +1 -1
- package/dist/libs/shared/src/flight-requests/PreferenceRequests.d.ts +4 -4
- package/dist/libs/shared/src/hooks/UseReorderedItems.d.ts +9 -0
- package/dist/libs/shared/src/interfaces/models/Config.d.ts +3 -1
- package/dist/libs/shared/src/interfaces/models/Group.d.ts +3 -0
- package/dist/libs/shared/src/interfaces/models/User.d.ts +2 -1
- package/dist/libs/shared/src/interfaces/models/UserChannel.d.ts +7 -0
- package/dist/libs/shared/src/interfaces/models/index.d.ts +2 -0
- package/dist/libs/shared/src/services/ConfigDataService.d.ts +1 -0
- package/dist/libs/shared/src/utils/AudienceHelper.d.ts +5 -1
- package/dist/projects/lite/src/apps/classrooms/components/classroom-group-dropdown/ClassroomGroupDropdown.d.ts +3 -2
- package/dist/projects/lite/src/apps/classrooms/components/tile-actions/TileActions.d.ts +1 -0
- package/dist/projects/lite/src/apps/classrooms/flight-requests/ClassroomRequests.d.ts +1 -1
- package/dist/projects/lite/src/apps/classrooms/views/add-students-to-classroom/AddStudentsToClassroomView.d.ts +3 -3
- package/dist/projects/lite/src/apps/classrooms/views/create-classroom/CreateClassroomView.d.ts +3 -4
- package/dist/projects/lite/src/apps/classrooms/views/create-classroom-group/CreateClassroomGroupView.d.ts +3 -3
- package/dist/projects/lite/src/apps/classrooms/views/delete-classroom/DeleteClassroomView.d.ts +4 -4
- package/dist/projects/lite/src/apps/classrooms/views/delete-classroom-group/DeleteClassroomGroupView.d.ts +3 -3
- package/dist/projects/lite/src/apps/classrooms/views/edit-classroom/EditClassroomView.d.ts +3 -3
- package/dist/projects/lite/src/apps/classrooms/views/edit-classroom-group/EditClassroomGroupView.d.ts +3 -3
- package/dist/projects/lite/src/apps/classrooms/views/remove-students-from-classroom/RemoveStudentsFromClassroomView.d.ts +3 -3
- package/dist/projects/lite/src/apps/content-updates/LiteContentUpdatesApplication.d.ts +1 -1
- package/dist/projects/lite/src/apps/default/LiteDefaultApplication.d.ts +2 -2
- package/dist/projects/lite/src/apps/playlists/LitePlaylistsApplication.d.ts +2 -1
- package/dist/projects/lite/src/apps/playlists/views/delete-playlist/DeletePlaylistView.d.ts +2 -2
- package/dist/projects/lite/src/apps/playlists/views/edit-playlist/EditPlaylistView.d.ts +2 -2
- package/dist/projects/lite/src/apps/playlists/views/new-playlist/NewPlaylistView.d.ts +2 -2
- package/dist/projects/lite/src/apps/playlists/views/playlist/PlaylistViewUtils.d.ts +0 -8
- package/dist/projects/lite/src/apps/playlists/views/remove-video-from-playlist/RemoveVideoFromPlaylistView.d.ts +2 -2
- package/dist/projects/lite/src/apps/search/components/filter-actions/FilterActions.d.ts +3 -2
- package/dist/projects/lite/src/apps/search/components/filter-button/FilterButton.d.ts +3 -2
- package/dist/projects/lite/src/apps/search/components/filter-types/checkbox-filter/CheckboxFilter.d.ts +3 -2
- package/dist/projects/lite/src/apps/search/components/filter-types/dropdown-filter/DropdownFilter.d.ts +3 -2
- package/dist/projects/lite/src/apps/search/components/filter-types/radio-filter/RadioFilter.d.ts +3 -2
- package/dist/projects/lite/src/apps/search/components/filter-types/radio-filter/year-level/YearLevelRadioFilter.d.ts +3 -2
- package/dist/projects/lite/src/apps/search/components/reset-button/ResetButton.d.ts +3 -2
- package/dist/projects/lite/src/apps/search/components/search-filters/SearchFilters.d.ts +3 -2
- package/dist/projects/lite/src/apps/search/interfaces/FilterProps.d.ts +3 -2
- package/dist/projects/lite/src/apps/search/utils/FilterHelper.d.ts +4 -2
- package/dist/projects/lite/src/apps/subjects/LiteSubjectApplication.d.ts +2 -2
- package/dist/projects/lite/src/apps/upload/services/FlightVideoUploadDataService.d.ts +5 -0
- package/dist/projects/lite/src/apps/user-manager/components/delete-uploaded-student-popup/DeleteUploadedStudentPopup.d.ts +4 -4
- package/dist/projects/lite/src/apps/user-manager/components/delete-uploaded-teacher-popup/DeleteUploadedTeacherPopup.d.ts +4 -4
- package/dist/projects/lite/src/apps/user-manager/components/edit-uploaded-user-popup/EditUploadedUserPopup.d.ts +4 -4
- package/dist/projects/lite/src/apps/user-manager/components/manage-users-list/ManageUsersList.d.ts +3 -2
- package/dist/projects/lite/src/apps/user-manager/flight-requests/SchoolUserRequests.d.ts +3 -3
- package/dist/projects/lite/src/apps/user-manager/views/create-student/CreateStudentView.d.ts +3 -4
- package/dist/projects/lite/src/apps/user-manager/views/create-teacher/CreateTeacherView.d.ts +3 -4
- package/dist/projects/lite/src/apps/user-manager/views/edit-student/EditStudentView.d.ts +4 -4
- package/dist/projects/lite/src/apps/user-manager/views/edit-teacher/EditTeacherView.d.ts +4 -4
- package/dist/projects/lite/src/apps/user-manager/views/remove-user/RemoveUserView.d.ts +4 -4
- package/dist/projects/lite/src/apps/user-manager/views/student-upload-review/StudentUploadReviewView.d.ts +4 -2
- package/dist/projects/lite/src/apps/user-manager/views/teacher-upload-review/TeacherUploadReviewView.d.ts +4 -2
- package/dist/projects/lite/src/shared/components/immersive-reader/ImmersiveReader.d.ts +7 -2
- package/dist/projects/lite/src/shared/components/share/copy-embed-html/CopyEmbedHtml.d.ts +4 -2
- package/dist/projects/lite/src/shared/constants/LiteViewModels.d.ts +6 -0
- package/dist/projects/lite/src/shared/{contexts/player/PlayerContext.d.ts → hooks/useInitPlayerContext.d.ts} +4 -10
- package/dist/projects/lite/src/shared/hooks/useNavLock.d.ts +1 -0
- package/dist/projects/lite/src/shared/views/share/main-view/MainShareView.d.ts +3 -3
- package/dist/projects/lite/src/shared/views/share/settings-view/ShareSettingsView.d.ts +4 -3
- package/dist/projects/lite/src/startup/RegisterAnalytics.d.ts +3 -0
- package/dist/projects/lite/src/startup/index.d.ts +1 -0
- package/dist/scripts/0-525bd75473.chunk.js +1 -0
- package/dist/scripts/0.chunk.js +478 -1
- package/dist/scripts/0.chunk.js.map +1 -0
- package/dist/scripts/1-f6fa17226d.chunk.js +17 -0
- package/dist/scripts/1.chunk.js +621 -17
- package/dist/scripts/1.chunk.js.map +1 -0
- package/dist/scripts/10-f3b34b2d35.chunk.js +1 -0
- package/dist/scripts/10.chunk.js +400 -7
- package/dist/scripts/10.chunk.js.map +1 -0
- package/dist/scripts/11-a698af3f1c.chunk.js +1 -0
- package/dist/scripts/11.chunk.js +1289 -7
- package/dist/scripts/11.chunk.js.map +1 -0
- package/dist/scripts/12-9ace90fcbc.chunk.js +1 -0
- package/dist/scripts/12.chunk.js +1059 -7
- package/dist/scripts/12.chunk.js.map +1 -0
- package/dist/scripts/13-3a4f103546.chunk.js +1 -0
- package/dist/scripts/13.chunk.js +751 -7
- package/dist/scripts/13.chunk.js.map +1 -0
- package/dist/scripts/14-11868e2868.chunk.js +1 -0
- package/dist/scripts/14.chunk.js +425 -7
- package/dist/scripts/14.chunk.js.map +1 -0
- package/dist/scripts/15-78ff5e8be2.chunk.js +1 -0
- package/dist/scripts/15.chunk.js +609 -7
- package/dist/scripts/15.chunk.js.map +1 -0
- package/dist/scripts/16-22f6224811.chunk.js +1 -0
- package/dist/scripts/16.chunk.js +648 -7
- package/dist/scripts/16.chunk.js.map +1 -0
- package/dist/scripts/17-afe6281dd5.chunk.js +1 -0
- package/dist/scripts/17.chunk.js +541 -7
- package/dist/scripts/17.chunk.js.map +1 -0
- package/dist/scripts/18-47be31c0b6.chunk.js +1 -0
- package/dist/scripts/18.chunk.js +766 -7
- package/dist/scripts/18.chunk.js.map +1 -0
- package/dist/scripts/19-89c0b2c20e.chunk.js +1 -0
- package/dist/scripts/19.chunk.js +647 -7
- package/dist/scripts/19.chunk.js.map +1 -0
- package/dist/scripts/2-3b37480a80.chunk.js +7 -0
- package/dist/scripts/2.chunk.js +8259 -1
- package/dist/scripts/2.chunk.js.map +1 -0
- package/dist/scripts/20-32ac3fe0b9.chunk.js +1 -0
- package/dist/scripts/20.chunk.js +122 -7
- package/dist/scripts/20.chunk.js.map +1 -0
- package/dist/scripts/21-891207049a.chunk.js +1 -0
- package/dist/scripts/21.chunk.js +1571 -1
- package/dist/scripts/21.chunk.js.map +1 -0
- package/dist/scripts/22-24236e6723.chunk.js +1 -0
- package/dist/scripts/22.chunk.js +1387 -1
- package/dist/scripts/22.chunk.js.map +1 -0
- package/dist/scripts/23-7b425169bc.chunk.js +1 -0
- package/dist/scripts/23.chunk.js +1121 -1
- package/dist/scripts/23.chunk.js.map +1 -0
- package/dist/scripts/24-40edd30087.chunk.js +1 -0
- package/dist/scripts/24.chunk.js +1348 -1
- package/dist/scripts/24.chunk.js.map +1 -0
- package/dist/scripts/25-887b9ef587.chunk.js +1 -0
- package/dist/scripts/25.chunk.js +1137 -1
- package/dist/scripts/25.chunk.js.map +1 -0
- package/dist/scripts/26-cbe0ff0f77.chunk.js +1 -0
- package/dist/scripts/26.chunk.js +906 -1
- package/dist/scripts/26.chunk.js.map +1 -0
- package/dist/scripts/27-f26afdae78.chunk.js +1 -0
- package/dist/scripts/27.chunk.js +1143 -1
- package/dist/scripts/27.chunk.js.map +1 -0
- package/dist/scripts/28-70414fd373.chunk.js +1 -0
- package/dist/scripts/28.chunk.js +656 -1
- package/dist/scripts/28.chunk.js.map +1 -0
- package/dist/scripts/29-944b5c01a7.chunk.js +1 -0
- package/dist/scripts/29.chunk.js +616 -1
- package/dist/scripts/29.chunk.js.map +1 -0
- package/dist/scripts/3-233f573a92.chunk.js +1 -0
- package/dist/scripts/3.chunk.js +585 -1
- package/dist/scripts/3.chunk.js.map +1 -0
- package/dist/scripts/30-3a229887e9.chunk.js +1 -0
- package/dist/scripts/30.chunk.js +557 -1
- package/dist/scripts/30.chunk.js.map +1 -0
- package/dist/scripts/31-ab038bfc0c.chunk.js +1 -0
- package/dist/scripts/31.chunk.js +731 -1
- package/dist/scripts/31.chunk.js.map +1 -0
- package/dist/scripts/32-8bd6703eef.chunk.js +1 -0
- package/dist/scripts/32.chunk.js +957 -1
- package/dist/scripts/32.chunk.js.map +1 -0
- package/dist/scripts/{35-8b4ce9fc27.chunk.js → 33-4579af9cf9.chunk.js} +1 -1
- package/dist/scripts/33.chunk.js +938 -1
- package/dist/scripts/33.chunk.js.map +1 -0
- package/dist/scripts/{36-cbd8837f89.chunk.js → 34-d8b96d9f9f.chunk.js} +1 -1
- package/dist/scripts/34.chunk.js +523 -1
- package/dist/scripts/34.chunk.js.map +1 -0
- package/dist/scripts/35-666d815525.chunk.js +1 -0
- package/dist/scripts/35.chunk.js +414 -1
- package/dist/scripts/35.chunk.js.map +1 -0
- package/dist/scripts/36-02ce5f3538.chunk.js +1 -0
- package/dist/scripts/36.chunk.js +404 -1
- package/dist/scripts/36.chunk.js.map +1 -0
- package/dist/scripts/37-afd3d321e3.chunk.js +1 -0
- package/dist/scripts/37.chunk.js +245 -1
- package/dist/scripts/37.chunk.js.map +1 -0
- package/dist/scripts/{39-e2aa1689e2.chunk.js → 38-6ad53aa15b.chunk.js} +1 -1
- package/dist/scripts/38.chunk.js +343 -1
- package/dist/scripts/38.chunk.js.map +1 -0
- package/dist/scripts/{40-53d132e3b4.chunk.js → 39-46c747b1d9.chunk.js} +1 -1
- package/dist/scripts/39.chunk.js +318 -1
- package/dist/scripts/39.chunk.js.map +1 -0
- package/dist/scripts/4-6942fee782.chunk.js +1 -0
- package/dist/scripts/4.chunk.js +1030 -1
- package/dist/scripts/4.chunk.js.map +1 -0
- package/dist/scripts/{41-023d613070.chunk.js → 40-c1b8806b1c.chunk.js} +1 -1
- package/dist/scripts/40.chunk.js +236 -1
- package/dist/scripts/40.chunk.js.map +1 -0
- package/dist/scripts/{42-ba3779218d.chunk.js → 41-f4c23477e3.chunk.js} +1 -1
- package/dist/scripts/41.chunk.js +231 -1
- package/dist/scripts/41.chunk.js.map +1 -0
- package/dist/scripts/42-7a5b92d70b.chunk.js +1 -0
- package/dist/scripts/42.chunk.js +350 -1
- package/dist/scripts/42.chunk.js.map +1 -0
- package/dist/scripts/43-97193a87df.chunk.js +1 -0
- package/dist/scripts/43.chunk.js +225 -1
- package/dist/scripts/43.chunk.js.map +1 -0
- package/dist/scripts/{46-6501968ace.chunk.js → 44-7f92272274.chunk.js} +1 -1
- package/dist/scripts/44.chunk.js +318 -1
- package/dist/scripts/44.chunk.js.map +1 -0
- package/dist/scripts/45-265f1a7a42.chunk.js +1 -0
- package/dist/scripts/45.chunk.js +64 -1
- package/dist/scripts/45.chunk.js.map +1 -0
- package/dist/scripts/46-a594ad7eba.chunk.js +1 -0
- package/dist/scripts/46.chunk.js +108 -1
- package/dist/scripts/46.chunk.js.map +1 -0
- package/dist/scripts/47-99777c20cf.chunk.js +1 -0
- package/dist/scripts/47.chunk.js +110 -1
- package/dist/scripts/47.chunk.js.map +1 -0
- package/dist/scripts/48-9880523c82.chunk.js +1 -0
- package/dist/scripts/48.chunk.js +148 -1
- package/dist/scripts/48.chunk.js.map +1 -0
- package/dist/scripts/{50-00ffd5d7c6.chunk.js → 49-5e718594e5.chunk.js} +1 -1
- package/dist/scripts/49.chunk.js +142 -1
- package/dist/scripts/49.chunk.js.map +1 -0
- package/dist/scripts/5-2f631dcd74.chunk.js +1 -0
- package/dist/scripts/5.chunk.js +3262 -1
- package/dist/scripts/5.chunk.js.map +1 -0
- package/dist/scripts/50-8cb0d9cd7d.chunk.js +1 -0
- package/dist/scripts/50.chunk.js +145 -1
- package/dist/scripts/50.chunk.js.map +1 -0
- package/dist/scripts/{52-e5dfa5a640.chunk.js → 51-211b643ca5.chunk.js} +1 -1
- package/dist/scripts/51.chunk.js +176 -1
- package/dist/scripts/51.chunk.js.map +1 -0
- package/dist/scripts/{53-79d5905fc6.chunk.js → 52-bfb2683b5d.chunk.js} +1 -1
- package/dist/scripts/52.chunk.js +160 -1
- package/dist/scripts/52.chunk.js.map +1 -0
- package/dist/scripts/{54-4950ec1d52.chunk.js → 53-3cf5cd5f69.chunk.js} +1 -1
- package/dist/scripts/53.chunk.js +98 -1
- package/dist/scripts/53.chunk.js.map +1 -0
- package/dist/scripts/{55-accb81090d.chunk.js → 54-26807e3e49.chunk.js} +1 -1
- package/dist/scripts/54.chunk.js +48 -1
- package/dist/scripts/54.chunk.js.map +1 -0
- package/dist/scripts/55-d38be4860b.chunk.js +1 -0
- package/dist/scripts/55.chunk.js +99 -1
- package/dist/scripts/55.chunk.js.map +1 -0
- package/dist/scripts/56-d4abc25ec3.chunk.js +1 -0
- package/dist/scripts/56.chunk.js +64 -1
- package/dist/scripts/56.chunk.js.map +1 -0
- package/dist/scripts/57.chunk.js +72 -0
- package/dist/scripts/57.chunk.js.map +1 -0
- package/dist/scripts/58.chunk.js +73 -0
- package/dist/scripts/58.chunk.js.map +1 -0
- package/dist/scripts/59.chunk.js +70 -0
- package/dist/scripts/59.chunk.js.map +1 -0
- package/dist/scripts/6-4d72a3c3fc.chunk.js +1 -0
- package/dist/scripts/6.chunk.js +24 -1
- package/dist/scripts/6.chunk.js.map +1 -0
- package/dist/scripts/60.chunk.js +32 -0
- package/dist/scripts/60.chunk.js.map +1 -0
- package/dist/scripts/61.chunk.js +29 -0
- package/dist/scripts/61.chunk.js.map +1 -0
- package/dist/scripts/62.chunk.js +27 -0
- package/dist/scripts/62.chunk.js.map +1 -0
- package/dist/scripts/63.chunk.js +67 -0
- package/dist/scripts/63.chunk.js.map +1 -0
- package/dist/scripts/64.chunk.js +80 -0
- package/dist/scripts/64.chunk.js.map +1 -0
- package/dist/scripts/65.chunk.js +65 -0
- package/dist/scripts/65.chunk.js.map +1 -0
- package/dist/scripts/66.chunk.js +67 -0
- package/dist/scripts/66.chunk.js.map +1 -0
- package/dist/scripts/67.chunk.js +104 -0
- package/dist/scripts/67.chunk.js.map +1 -0
- package/dist/scripts/68.chunk.js +69 -0
- package/dist/scripts/68.chunk.js.map +1 -0
- package/dist/scripts/69.chunk.js +89 -0
- package/dist/scripts/69.chunk.js.map +1 -0
- package/dist/scripts/7-90ad392b55.chunk.js +1 -0
- package/dist/scripts/7.chunk.js +327 -1
- package/dist/scripts/7.chunk.js.map +1 -0
- package/dist/scripts/70.chunk.js +36 -0
- package/dist/scripts/70.chunk.js.map +1 -0
- package/dist/scripts/8.chunk.js +470 -0
- package/dist/scripts/8.chunk.js.map +1 -0
- package/dist/scripts/9-52877087ef.chunk.js +1 -0
- package/dist/scripts/9.chunk.js +471 -7
- package/dist/scripts/9.chunk.js.map +1 -0
- package/dist/scripts/bundle-99976c17a2.min.js +1 -0
- package/dist/scripts/bundle-9f5ad50596.min.js +1 -0
- package/dist/scripts/bundle.js +34769 -1
- package/dist/scripts/bundle.js.map +1 -0
- package/dist/scripts/bundles.json +1 -1
- package/package.json +50 -49
- package/typings/libs/Trackers.d.ts +10 -0
- package/dist/css/33.chunk.css +0 -4
- package/dist/css/41.chunk.css +0 -4
- package/dist/css/46.chunk.css +0 -2
- package/dist/libs/shared/src/context/SearchAppContext.d.ts +0 -9
- package/dist/scripts/0-7ab5925809.chunk.js +0 -1
- package/dist/scripts/1-08c7a79a47.chunk.js +0 -1
- package/dist/scripts/10-20d3430ce2.chunk.js +0 -1
- package/dist/scripts/11-7a25650335.chunk.js +0 -1
- package/dist/scripts/12-6609af3add.chunk.js +0 -1
- package/dist/scripts/13-5adebd80b3.chunk.js +0 -1
- package/dist/scripts/14-dbd27fa3a5.chunk.js +0 -1
- package/dist/scripts/15-5a0e1ed526.chunk.js +0 -1
- package/dist/scripts/16-3adc733311.chunk.js +0 -1
- package/dist/scripts/17-a942a8ff32.chunk.js +0 -1
- package/dist/scripts/18-ab78fe1ad4.chunk.js +0 -1
- package/dist/scripts/19-04ba4906ea.chunk.js +0 -1
- package/dist/scripts/2-41fe2d7e77.chunk.js +0 -1
- package/dist/scripts/20-f0dcfc47a9.chunk.js +0 -1
- package/dist/scripts/21-33e50c0d6b.chunk.js +0 -1
- package/dist/scripts/22-d85dfba692.chunk.js +0 -1
- package/dist/scripts/23-90201310df.chunk.js +0 -1
- package/dist/scripts/24-bc8f0f5709.chunk.js +0 -1
- package/dist/scripts/25-317106a5da.chunk.js +0 -1
- package/dist/scripts/26-4a3372406a.chunk.js +0 -1
- package/dist/scripts/27-074f7ed617.chunk.js +0 -1
- package/dist/scripts/28-3f552efb1d.chunk.js +0 -1
- package/dist/scripts/29-3b0fed6546.chunk.js +0 -1
- package/dist/scripts/3-4c7cdc97d7.chunk.js +0 -7
- package/dist/scripts/30-efc1720b45.chunk.js +0 -1
- package/dist/scripts/31-fd10b2d2e3.chunk.js +0 -1
- package/dist/scripts/32-77df1d4c39.chunk.js +0 -1
- package/dist/scripts/33-7c092bbe19.chunk.js +0 -1
- package/dist/scripts/34-3c94a6fffe.chunk.js +0 -1
- package/dist/scripts/37-ecd001861c.chunk.js +0 -1
- package/dist/scripts/38-a42dc5fd6c.chunk.js +0 -1
- package/dist/scripts/4-9b843edce7.chunk.js +0 -1
- package/dist/scripts/43-9b84379d80.chunk.js +0 -1
- package/dist/scripts/44-1bedb97d4b.chunk.js +0 -1
- package/dist/scripts/45-b004111b2b.chunk.js +0 -1
- package/dist/scripts/47-cece788594.chunk.js +0 -1
- package/dist/scripts/48-722f37b837.chunk.js +0 -1
- package/dist/scripts/49-cb04b28057.chunk.js +0 -1
- package/dist/scripts/5-841e3d083b.chunk.js +0 -1
- package/dist/scripts/51-ed260ddadd.chunk.js +0 -1
- package/dist/scripts/56-83e51af2a6.chunk.js +0 -1
- package/dist/scripts/6-c429467dba.chunk.js +0 -1
- package/dist/scripts/7-3c52b41cbf.chunk.js +0 -1
- package/dist/scripts/9-fef5ef0698.chunk.js +0 -1
- package/dist/scripts/bundle-7782a79aa5.min.js +0 -1
package/dist/scripts/22.chunk.js
CHANGED
|
@@ -1 +1,1387 @@
|
|
|
1
|
-
(window.webpackJsonp_clickview_lite=window.webpackJsonp_clickview_lite||[]).push([[22],{401:function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(75),i=a(28),r=a(35);const l=()=>{const e=Object(n.a)(r.a.ALERT);return{success(t){e.success(t)()},error(t){e.error(t)()},warning(t){e.createAlert({type:i.a.Warning,heading:i.c.Warning,message:t})}}}},417:function(e,t,a){e.exports={basePlaylistItem:"_2nvrp",playlistItem:"_6o0Z2",playlistMetadata:"_3MCKL",partialHeading:"_13tO6"}},418:function(e,t,a){"use strict";a.d(t,"a",(function(){return v}));var n=a(0),i=a(113),r=a(407),l=a(76),o=a(44),s=a(32),c=a(413),d=a(406),m=a(408),u=a(417),p=a.n(u);function v(e){const t=i.a.createUrl(e.data.cover&&e.data.cover.url,{size:l.a.Medium,resizeType:l.c.Cover}),a=e.data.subjectPresentationAudiences&&e.data.subjectPresentationAudiences.data,u=!!e.showCount&&!!e.data.videos&&e.data.videos.count;return n.createElement(s.a,{appLink:e.appLink},n.createElement(c.b,{data:t,className:p.a.playlistItem},n.createElement(d.a,{type:d.b.Playlist}),n.createElement("div",{className:"text-white "+p.a.playlistMetadata},Number.isInteger(u)&&n.createElement(o.b,{namespace:"shared.playlistItem",phrase:"videos",options:{smartCount:u}}),n.createElement("h5",{className:"text-shadow mb-0"},e.data.name),!!a&&!!a.length&&n.createElement(m.b,{audiences:r.a.getSortedPresentationAudiences(a,e.presentationAudiences),border:"white"}))))}},449:function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(0),i=a(460),r=a.n(i);function l(e){let t="d-flex "+r.a.badgeList;return e.className&&(t+=" "+e.className),n.createElement("div",{className:t},e.children)}},451:function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(0),i=a(5),r=a(9),l=a(33),o=a(401);const s=i.a.encloseNamespace("shared.favouriteButton");function c(e){const t=Object(o.a)(),a="boolean"==typeof e.video.isFavourited,i=!!e.video.isFavourited,[c,d]=n.useState(i);n.useEffect(()=>{d(i)},[i]);let m="cursor-pointer text"+(c?"-danger":"-dark");return e.className&&(m+=" "+e.className),a?n.createElement("div",{className:m,onClick:function(){const a=!c;d(a),e.setFavourite(e.video.id,a,(function(){t.error(s(a?"favouriteError":"unfavouriteError")),d(!a)}))}},n.createElement(l.a,{svgName:c?r.b.Heart:r.b.HeartOutline,size:l.b.Small})):n.createElement(n.Fragment,null)}},452:function(e,t,a){"use strict";var n;a.d(t,"a",(function(){return n})),function(e){e[e.Below=1]="Below",e[e.Overlay=2]="Overlay",e[e.Independent=3]="Independent"}(n||(n={}))},471:function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(0),i=a(27),r=a(417),l=a.n(r);function o(e){const t=[...Array(e.numItems)],a=e.itemClassName||"";return n.createElement(n.Fragment,null,e.showHeading&&n.createElement("div",{className:l.a.partialHeading+" partial-loading-background"}),n.createElement(i.Row,null,t.map((e,t)=>n.createElement(i.Col,{key:t,xs:6,sm:4,md:3,lg:2,className:a},n.createElement("div",{className:"py-2"},n.createElement("div",{className:l.a.basePlaylistItem+" partial-loading-background"}))))))}o.defaultProps={numItems:8}},472:function(e,t,a){"use strict";var n=a(0),i=a.n(n),r=a(31),l=a(451),o=a(413),s=a(406),c=a(121),d=a(449),m=a(426),u=a(33),p=a(9),v=a(474),f=a.n(v);function g(e){var t;const{video:a,appLink:n,size:v,setFavourite:g,preload:E,hovering:b}=e;return i.a.createElement("div",{className:"position-relative rounded overflow-hidden"},!!r.a.isFunction(g)&&i.a.createElement("div",{className:f.a.favouriteContainer},i.a.createElement(l.a,{setFavourite:g,video:a,className:"rounded-circle p-1 "+f.a.favouriteButton})),i.a.createElement(o.b,{data:a.thumbnail,appLink:n,aspectRatio:o.a.SixteenByNine,size:v,preload:E,className:f.a.gradient},b&&i.a.createElement(u.a,{className:f.a.playIcon,svgName:p.b.PlayCircle}),i.a.createElement(s.a,{type:s.b.Video}),i.a.createElement("div",{className:f.a.overlayContainer},i.a.createElement("div",{className:`${f.a.title} ${b?f.a.downScale:""}`},!!(null===(t=e.video.series)||void 0===t?void 0:t.id)&&i.a.createElement(c.a,{className:"text-shadow clamp-1",video:a,appLink:null}),i.a.createElement("span",{className:"h6 text-reset text-shadow clamp-1 mb-0"},a.name),b&&i.a.createElement(d.a,{className:"align-items-center mb-n1"},i.a.createElement(m.a,{type:m.b.Duration,data:a.duration}),i.a.createElement(m.a,{type:m.b.Rating,data:a.rating}),i.a.createElement("span",{className:"badge p-0"},i.a.createElement(u.a,{svgName:p.b.CloseCaptionBadge})))))))}var E,b=a(452),h=a(475),y=a.n(h);function N(e){const{type:t}=e,a=function(e){return e===E.Video?y.a.video:e===E.Playlist?y.a.playlist:""}(t),i=function(e){return e===E.Video?p.b.PlayCircle:e===E.Playlist?p.b.AddToPlaylists:""}(t);return n.createElement("div",{className:y.a.maskContainer},n.createElement("div",{className:y.a.mask}),n.createElement(u.a,{svgName:i,className:a}))}!function(e){e[e.Video=0]="Video",e[e.Playlist=1]="Playlist"}(E||(E={}));var w=a(32),k=a(476),L=a.n(k);function x(e){var t;const{video:a,seriesAppLink:n,textPosition:r,appLink:l}=e,o=r===b.a.Overlay,s=o?L.a.titleOverlay:L.a.titleBelow;return i.a.createElement("div",{className:s},!!(null===(t=e.video.series)||void 0===t?void 0:t.id)&&i.a.createElement(c.a,{className:o?"text-shadow clamp-1":"clamp-2",video:a,appLink:o?null:n}),o?i.a.createElement("span",{className:"h6 text-reset text-shadow clamp-1 mb-0"},a.name):i.a.createElement(w.a,{className:"h6 text-reset clamp-2 mb-0",appLink:l},a.name))}function P(e){const{video:t,appLink:a,textPosition:n,size:c,setFavourite:u,preload:p}=e;let v="position-relative";return n===b.a.Overlay&&(v+=" rounded overflow-hidden"),i.a.createElement("div",{className:v},!!r.a.isFunction(u)&&i.a.createElement("div",{className:L.a.favouriteContainer},i.a.createElement(l.a,{setFavourite:u,video:t,className:"rounded-circle p-1 "+L.a.favouriteButton})),i.a.createElement(o.b,{data:t.thumbnail,appLink:a,aspectRatio:o.a.SixteenByNine,size:c,preload:p,className:n===b.a.Overlay?L.a.gradient:""},i.a.createElement(N,{type:E.Video}),i.a.createElement(s.a,{type:s.b.Video}),i.a.createElement("div",{className:L.a.overlayContainer},n===b.a.Overlay&&i.a.createElement(x,Object.assign({},e)),i.a.createElement(d.a,{className:L.a.badgeContainer},i.a.createElement(m.a,{type:m.b.Duration,data:t.duration})))),n===b.a.Below&&i.a.createElement(x,Object.assign({},e)))}function O(e){return"expandable"===e.type?n.createElement(g,Object.assign({},e)):n.createElement(P,Object.assign({},e))}a.d(t,"a",(function(){return O}))},474:function(e,t,a){e.exports={overlayContainer:"_1MQy4",favouriteContainer:"_2obuZ",favouriteButton:"_1UfdO",title:"Q1km-",downScale:"_2_7sb",gradient:"Of_Cn",playIcon:"B9cJG"}},475:function(e,t,a){e.exports={mask:"_3nE2p",video:"KdGwU",playlist:"_1cBmC",maskContainer:"_3si6K"}},476:function(e,t,a){e.exports={titleOverlay:"_1JIh4",titleBelow:"_1OKu_",overlayContainer:"_1BBKk",favouriteContainer:"_23tXc",favouriteButton:"_2lJ57",badgeContainer:"_28ZUf",gradient:"_1o4aT"}},484:function(e,t,a){e.exports={widgetItem:"_1oyw1",imagePanel:"_1UOVG",large:"_1EtWs",comingSoonPanel:"_3js2e",name:"_3csgE",clamped:"_1y2oG",editSubjectsItem:"_1yBMf"}},489:function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(0),i=a(27),r=a(418);function l(e){return n.createElement(i.Row,null,e.playlists.map(t=>n.createElement(i.Col,{key:t.id,xs:6,sm:4,lg:3,className:"mb-3 "+(e.itemClassName?e.itemClassName:"")},n.createElement(r.a,{key:t.id,data:t,appLink:e.getPlaylistAppLink(t),presentationAudiences:e.presentationAudiences,showCount:e.showCount}))))}},490:function(e,t,a){"use strict";a.d(t,"a",(function(){return p}));var n=a(0),i=a(113),r=a(76),l=a(32),o=a(406),s=a(44),c=a(484),d=a.n(c);const m=({name:e,multiline:t})=>{let a=d.a.comingSoonPanel+" px-3 text-center mt-3",i=d.a.name+" h6 mb-0 pb-1";return t?i+=` ${d.a.clamped} clamp-2`:(a+=" text-nowrap",i+=" text-truncate"),n.createElement("div",{className:a},n.createElement("small",{className:"text-muted"},n.createElement(s.b,{namespace:"shared.subjectWidgetItem",phrase:"comingSoon"})),n.createElement("p",{className:i},e))},u=({name:e,multiline:t})=>{let a="px-3 text-center d-flex align-items-center",i=d.a.name+" h6 mb-0 pb-1";return t?i+=` ${d.a.clamped} clamp-2 text-left`:(a+=" text-nowrap text-truncate",i+=" text-truncate"),n.createElement("div",{className:a},n.createElement("p",{className:i},e))};function p(e){var t;const a=Object.assign(Object.assign({},e.appLink),{args:[e.data.id]}),s=i.a.createUrl(null===(t=e.data.cover)||void 0===t?void 0:t.url,{size:r.a.Small});return n.createElement(l.a,{appLink:a},n.createElement("div",{className:"border d-flex position-relative "+d.a.widgetItem,id:e.data.id},n.createElement("div",{className:`${d.a.imagePanel} ${e.isLarge?d.a.large:""}`,style:{backgroundImage:`url('${s}')`}}),e.data.comingSoon?n.createElement(m,{name:e.data.name,multiline:e.isLarge}):n.createElement(u,{name:e.data.name,multiline:e.isLarge}),n.createElement(o.a,{type:o.b.Subject,extraClasses:e.isLarge?d.a.large:""})))}},510:function(e,t,a){"use strict";a.d(t,"a",(function(){return d}));var n=a(0),i=a(79),r=a(452),l=a(472),o=a(437),s=a(511),c=a.n(s);const d=n.memo((function(e){const{data:t,appLink:a,seriesAppLink:s,context:d,thumbnailSize:m,preloadImage:u}=e,[p,v]=Object(o.b)(c.a.hovering);n.useEffect(()=>{e.onHover(v)},[v]);const f=Object.assign(Object.assign({},a),{args:[t.id]});let g=c.a.rowWidth;return d.type!==i.c.LargeRow&&3!==d.collectionSize||(g=c.a.largeRowWidth),n.createElement("div",{ref:p,className:"p-1 flex-shrink-0 position-relative "+g},n.createElement(l.a,{video:t,type:"expandable",appLink:f,seriesAppLink:s,textPosition:r.a.Overlay,size:m,preload:u,hovering:v}))}),(e,t)=>{var a,n,i,r,l,o;return e.preloadImage===t.preloadImage&&(null===(a=e.data)||void 0===a?void 0:a.name)===(null===(n=t.data)||void 0===n?void 0:n.name)&&(null===(r=null===(i=e.data)||void 0===i?void 0:i.series)||void 0===r?void 0:r.id)===(null===(o=null===(l=t.data)||void 0===l?void 0:l.series)||void 0===o?void 0:o.id)})},511:function(e,t,a){e.exports={rowWidth:"_8IgrO",largeRowWidth:"q46rm",hovering:"IeeJA"}},519:function(e,t,a){e.exports={itemSpacing:"_10Pgb"}},527:function(e,t,a){"use strict";var n=a(0),i=a(34),r=a(31),l=a(63);var o=a(502),s=a(486),c=a(501),d=a(124),m=a(406),u=a(484),p=a.n(u);const v=()=>{const[e]=n.useState(d.a.getRandomInt(5)+3+"rem");return n.createElement("div",{className:"border d-flex position-relative mr-2 "+p.a.widgetItem},n.createElement("div",{className:p.a.imagePanel}),n.createElement("div",{className:"px-2",style:{width:e}}," "),n.createElement(m.a,{type:m.b.Subject}))};var f=a(531),g=a(453),E=a(44),b=a(466);const h=(e,t,a,n,i)=>r=>{N(r.clientX,e,t,a,n,i)},y=(e,t,a,n,i)=>r=>{N(r.touches.item(0).clientX,e,t,a,n,i)};function N(e,t,a,n,i,r){let l=i;l||(l=Object.assign(Object.assign({},a),{initialMouseX:e}),r(l),t.current.style.transition=""),n({type:g.a.Drag,payload:{widgetSnapshot:l,currentMouseX:e}})}const w=(e,t)=>()=>{e.current.style.transition="transform 500ms ease-in-out 100ms",t(null)},k=w,L={offset:0,containerLeftPosition:null,containerRightPosition:null,firstElementPosition:null,lastElementPosition:null,hideLeftButton:!0,hideRightButton:!0,maxSlideDistance:500,leftOffsetLimit:null};function x(e,t){switch(t.type){case g.a.Init:case g.a.Resize:return Object.assign(Object.assign({},e),function(e){const{container:t={},lastElement:a={}}=e;if(!t.current||!a.current)return L;const n=e.container.current.getBoundingClientRect().left,i=e.container.current.getBoundingClientRect().right,r=n,l=e.lastElement.current.getBoundingClientRect().right,o=i-l;return Object.assign(Object.assign({},L),{containerLeftPosition:n,containerRightPosition:i,firstElementPosition:r,lastElementPosition:l,hideRightButton:l<i,leftOffsetLimit:o})}(t.payload));case g.a.Next:return Object.assign(Object.assign({},e),function(e){const{firstElementPosition:t,lastElementPosition:a,maxSlideDistance:n,offset:i,containerRightPosition:r}=e,l=a-r>=n?n:a-r;return{firstElementPosition:t-l,lastElementPosition:a-l,offset:i-l,hideRightButton:a-l===r,hideLeftButton:!1}}(e));case g.a.Previous:return Object.assign(Object.assign({},e),function(e){const{containerLeftPosition:t,firstElementPosition:a,lastElementPosition:n,maxSlideDistance:i,offset:r}=e,l=a+i<=t,o=l?i:Math.abs(r);return{firstElementPosition:a+o,lastElementPosition:n+o,offset:r+o,hideLeftButton:!l||a+o===t,hideRightButton:!1}}(e));case g.a.Drag:return Object.assign(Object.assign({},e),function(e,t){const{widgetSnapshot:a,currentMouseX:n}=t;if(a.hideLeftButton&&a.hideRightButton)return{};const i=a.initialMouseX-n;let r=a.offset-i,l=a.firstElementPosition-i,o=a.lastElementPosition-i,s=!1,c=!1;return l>e.containerLeftPosition&&(r=0,l=e.containerLeftPosition,o=e.lastElementPosition,s=!0),o<=e.containerRightPosition&&(r=e.leftOffsetLimit,l=e.containerLeftPosition-Math.abs(e.leftOffsetLimit),o=a.containerRightPosition,c=!0),{offset:r,firstElementPosition:l,lastElementPosition:o,hideLeftButton:s,hideRightButton:c}}(e,t.payload));default:return e}}var P=a(519),O=a.n(P);a.d(t,"a",(function(){return C})),a.d(t,"b",(function(){return S}));function C(e){const{childComponent:t,endComponent:a}=e,[d,m]=n.useReducer(x,L),[u,p]=n.useState(null),v={container:n.useRef(null),firstElement:n.useRef(null),lastElement:n.useRef(null)};var b;!function(e,t,a=[]){let i;const r=()=>{e(),window.clearTimeout(i),i=window.setTimeout(t,100)};n.useEffect(()=>(window.addEventListener("resize",t?r:e),()=>window.removeEventListener("resize",t?r:e)),[...a])}(((e,t)=>()=>{e.container.current&&(e.container.current.style.transition=""),t({type:g.a.Resize,payload:e})})(v,m),(b=v.container,()=>{b.current&&(b.current.style.transition="transform 500ms ease-in-out 100ms")}));const{ref:N,inView:P}=Object(o.a)(e.lazyLoad);let C=e.collection;return!e.collection&&r.a.isFunction(e.fetch)&&(C=e.fetch(P)),n.useEffect(()=>{C&&!i.a.isEmpty(C)&&m({type:g.a.Init,payload:v})},[C]),C&&!C.length?n.createElement(n.Fragment,null):!C||i.a.isEmpty(C)?n.createElement("div",{ref:N},n.createElement(S,null)):n.createElement(n.Fragment,null,e.headingPhraseKey&&n.createElement("h4",{className:"d-inline-block mr-2 pl-1 mb-2"},n.createElement(E.b,{namespace:"shared.dynamicWidget",phrase:e.headingPhraseKey})),n.createElement("div",{className:"position-relative px-1"},n.createElement(c.a,{direction:c.b.Left,onClick:()=>m({type:g.a.Previous}),hide:d.hideLeftButton,useGradientBackdrop:!0}),n.createElement("div",{className:"overflow-hidden"},n.createElement(f.a,{position:d.offset,positionType:s.a.Pixels,onDrag:h(v.container,d,m,u,p),onDragEnd:w(v.container,p),onTouchMove:y(v.container,d,m,u,p),onTouchEnd:k(v.container,p),ref:v.container},function(){const i=C.map(i=>{let r;return i===l.a.first(C)&&(r=v.firstElement),i!==l.a.last(C)||a||(r=v.lastElement),n.createElement("div",{key:i.id,ref:r,className:O.a.itemSpacing},n.createElement(t,{data:i,appLink:e.childAppLink}))});return a&&i.push(n.createElement("div",{key:"end-widget-component",ref:v.lastElement,className:O.a.itemSpacing},n.createElement(a,null))),n.createElement(n.Fragment,null,i)}())),n.createElement(c.a,{direction:c.b.Right,onClick:()=>m({type:g.a.Next}),hide:d.hideRightButton,useGradientBackdrop:!0})))}const j=b.a.getPartialLoadingItems(),S=()=>n.createElement("div",{className:"pb-3 d-flex flex-nowrap"},j.map((e,t)=>n.createElement(v,{key:t})))},545:function(e,t,a){e.exports={tagList:"yvetE",tagItem:"_1InnN"}},600:function(e,t,a){e.exports={footerImageContainer:"_2lUo1",footerImage:"Q_m9i",wave:"_2WUUq"}},601:function(e,t,a){e.exports={classificationItem:"_2XXp2"}},602:function(e,t,a){e.exports={partialHeroThumbnail:"mBd7D",partialSeriesText:"_2MXtV",partialVideoTitleText:"_3AoSO",partialBadge:"_33OjS",partialDescription:"_2uRQA",partialSubject:"_3YJIE"}},646:function(e,t,a){"use strict";a.r(t);var n=a(0),i=a(40),r=a(5),l=a(2),o=a(11),s=a(34),c=a(82),d=a(79),m=a(445),u=a(495),p=a(9),v=a(120),f=a(115),g=a(126),E=a(53),b=a(15);const h=()=>"/api/domain/v1/subjects/classifications/following",y=e=>E.a.urlBuilder("/api/domain/v1/subjects/classifications/following",{id:e}),N={follow:(e,t,a)=>({url:h(),key:"follow:"+e.join(","),type:b.a.POST,data:e,success:t,error:a,invalidationKeys:e.map(e=>"classification:"+e)}),unfollow:(e,t,a)=>({url:y(e),key:"unfollow:"+e.join(","),type:b.a.DELETE,success:t,error:a,invalidationKeys:e.map(e=>"classification:"+e)})};var w=a(469),k=a(440),L=a(542),x=a(471),P=a(489),O=(a(418),a(543)),C=a(492),j=a(544),S=a(113),B=a(76),I=a(114),A=a(44),R=a(33),_=a(600),F=a.n(_);function T(e){var t,a;const[i,r]=n.useState(!1),[l,o]=n.useState(!1);n.useEffect(()=>{var t,a;r(!!(null===(a=null===(t=e.data.followers)||void 0===t?void 0:t.data)||void 0===a?void 0:a.length)),o(!1)},[null===(a=null===(t=e.data.followers)||void 0===t?void 0:t.data)||void 0===a?void 0:a.length]);const s=S.a.createBannerUrl(e.data.banner,{fallbackBaseUrl:e.imageCdnUrl,fallbackCategoryName:e.data.name,type:B.b.Banners},{size:B.a.Large}),c={variant:i?"outline-dark":"dark",showSpinner:l,onClick:function(){o(!0),e.onToggleFollow()}};return n.createElement(A.a.Provider,{value:"subjects.comingSoon"},n.createElement("div",{className:"d-flex flex-column align-items-center text-center py-3"},n.createElement("h2",{className:"display-4 font-weight-bold mb-3"},n.createElement(A.b,{phrase:"comingSoon"})),n.createElement("p",{className:"w-33"},n.createElement(A.b,{phrase:"info"})),n.createElement(I.a,Object.assign({},c),n.createElement(R.a,{svgName:i?p.b.Check:p.b.Bell,className:"align-middle d-inline-block svg-container"}),n.createElement("span",{className:"align-middle pl-1"},n.createElement(A.b,{phrase:"remindMe"})))),n.createElement("div",{className:F.a.footerImageContainer},n.createElement("div",{className:F.a.footerImage+" banner position-relative",style:{backgroundImage:`url('${s}')`}},n.createElement(R.a,{className:F.a.wave,size:R.b.ExtraLarge,svgName:p.b.WhiteWave}))))}var D=a(490),V=a(601),U=a.n(V);function M({classification:e,appLink:t}){return n.createElement("div",{className:"d-inline-flex position-relative px-2 mb-2 "+U.a.classificationItem},n.createElement(D.a,{data:e,appLink:t,isLarge:!0}))}function z(e){return n.createElement(n.Fragment,null,e.classifications.map(t=>n.createElement(M,{key:t.id,classification:t,appLink:e.getItemAppLink(t)})))}var H=a(27),G=a(472),W=a(121),K=a(449),X=a(426),$=a(408),J=a(545),Y=a.n(J);function q({tag:e}){const t=Y.a.tagItem+" px-2 my-1 mr-1 cursor-pointer badge-light";return n.createElement("span",{className:t},e.name)}function Q({tags:e}){return e&&e.data?n.createElement("div",{className:Y.a.tagList},e.data.map(e=>n.createElement(q,{key:e.id,tag:e}))):n.createElement(n.Fragment,null)}var Z=a(32),ee=a(425),te=a(452),ae=a(407),ne=a(602),ie=a.n(ne);const re=e=>!!(e&&e.data&&e.data.length);function le(e){const{video:t,presentationAudiences:a,videoAppLink:i,seriesAppLink:r}=e;if(!t)return n.createElement(n.Fragment,null);const l=t.series&&!!t.series.id;return n.createElement(A.a.Provider,{value:"subjects.heroVideo"},n.createElement(H.Row,{className:"pb-3"},n.createElement(H.Col,{xs:6,className:"p-1"},n.createElement(G.a,{video:t,appLink:i,seriesAppLink:l?r:null,size:ee.a.Medium,textPosition:te.a.Independent,type:"static"})),n.createElement(H.Col,{xs:6,className:"p-1"},l&&n.createElement(W.a,{video:t,appLink:r,className:"text-reset"}),n.createElement(Z.a,{appLink:i},n.createElement("h4",null,t.name)),n.createElement(K.a,{className:"pb-1"},n.createElement(X.a,{type:X.b.Interactive,data:t.interactives}),n.createElement(X.a,{type:X.b.Rating,data:t.rating}),n.createElement(X.a,{type:X.b.ProductionYear,data:t.productionYear})),n.createElement("p",{className:"mb-1"},t.description),n.createElement($.b,{audiences:ae.a.getSortedPresentationAudiences(t.subjectPresentationAudiences.data,a),border:"dark"}),e.showExtraMetadata&&n.createElement(H.Row,{className:"pt-2"},n.createElement(H.Col,{xs:2},re(t.resources)&&n.createElement("p",{className:"font-weight-bold"},n.createElement(A.b,{phrase:"resourcesHeading"})),re(t.links)&&n.createElement("p",{className:"font-weight-bold"},n.createElement(A.b,{phrase:"linksHeading"})),re(t.clips)&&n.createElement("p",{className:"font-weight-bold"},n.createElement(A.b,{phrase:"clipsHeading"})),re(t.tags)&&n.createElement("p",{className:"font-weight-bold"},n.createElement(A.b,{phrase:"tagsHeading"}))),n.createElement(H.Col,{xs:10},re(t.resources)&&n.createElement("p",null,n.createElement(A.b,{phrase:"resources",options:{smartCount:t.resources.data.length}})),re(t.links)&&n.createElement("p",null,n.createElement(A.b,{phrase:"links",options:{smartCount:t.links.data.length}})),re(t.clips)&&n.createElement("p",null,n.createElement(A.b,{phrase:"clips",options:{smartCount:t.clips.data.length}})),re(t.tags)&&n.createElement(Q,{tags:t.tags}))))))}function oe(){return n.createElement("div",{className:"row pb-3"},n.createElement("div",{className:"col-6 p1"},n.createElement("div",{className:ie.a.partialHeroThumbnail+" partial-loading-background"})),n.createElement("div",{className:"col-6 p1"},n.createElement("div",{className:"partial-loading-background mb-1 "+ie.a.partialSeriesText}),n.createElement("div",{className:"partial-loading-background my-1 "+ie.a.partialVideoTitleText}),n.createElement("div",{className:"d-flex"},n.createElement("div",{className:"partial-loading-background my-1 mr-1 "+ie.a.partialBadge}),n.createElement("div",{className:"partial-loading-background my-1 ml-1 "+ie.a.partialBadge})),n.createElement("div",{className:"partial-loading-background my-1 "+ie.a.partialDescription}),n.createElement("div",{className:"partial-loading-background mt-2 "+ie.a.partialSubject})))}var se=a(441),ce=(a(505),a(503)),de=a(527),me=a(510),ue=a(546),pe=a(10),ve=a(3),fe=a(85),ge=a(547),Ee=a(63);function be(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var a=[],n=!0,i=!1,r=void 0;try{for(var l,o=e[Symbol.iterator]();!(n=(l=o.next()).done)&&(a.push(l.value),!t||a.length!==t);n=!0);}catch(e){i=!0,r=e}finally{try{n||null==o.return||o.return()}finally{if(i)throw r}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return he(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 he(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 he(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}a.d(t,"getBannerActions",(function(){return Ne})),a.d(t,"ClassificationView",(function(){return we}));var ye=r.a.encloseNamespace("subjects.classification");function Ne(e,t){var a,n,i=!!(null===(n=null===(a=e.followers)||void 0===a?void 0:a.data)||void 0===n?void 0:n.length);return[{label:ye(i?"unfollow":"follow"),onClick:t,svgName:p.b.Bell,className:"btn ".concat(i?"btn-dark":"btn-white"),button:!0,tooltip:i?void 0:ye("followBtnTooltip")},{label:ye("share"),appLink:{application:ve.a.DEFAULT,action:pe.a.Default.SHARE,args:[e.id],params:{entityType:"subject"}},svgName:p.b.Share,className:"btn btn-white",button:!0}]}function we(e){var t,a,r,p,E,b,h,y,S,B,I,A,R,_,F,V=e.id,U=e.queryParams,M=be(n.useReducer(C.b,{}),2),H=M[0],G=M[1],W=be(n.useState(),2),K=(W[0],W[1]),X=Object(i.useDispatch)(),$=o.a.useBasicFetch(f.a.currentUser),J=o.a.useBasicFetch(v.a.config),Y=o.a.useBasicFetch(g.a.presentation()),q=o.a.useBasicFetch(w.a.presentationAudiences()),Q=o.a.useBasicFetch((null===(t=$.data)||void 0===t?void 0:t.id)&&g.a.classification(V,null===(a=$.data)||void 0===a?void 0:a.id,(function(e){e.status!==c.a.BadRequest&&e.status!==c.a.NotFound||l.a.ErrorHelper.throw(new fe.a)}))),Z=o.a.useBasicFetch(g.a.path(V)),ee=o.a.useBasicFetch(g.a.children(V)),te=s.a.keys(H),ae=s.a.values(H);te&&te.length||(te=[]);var ne=null===(p=null===(r=Y)||void 0===r?void 0:r.data)||void 0===p?void 0:p.id,ie=g.a.series(V,ne,te),re=g.a.playlists(V,ne,te),he=g.a.videos(V,ne,te),we=o.a.useGetResponse(ie&&ie.key),ke=o.a.useGetResponse(re&&re.key),Le=o.a.useGetResponse(he&&he.key),xe=o.a.useGetFetch(ie),Pe=o.a.useGetFetch(re),Oe=o.a.useGetFetch(he),Ce=te.length?te.join(":"):ne;function je(){var e,t;K(!0);var a=(null===(t=null===(e=Q.data.followers)||void 0===e?void 0:e.data)||void 0===t?void 0:t.length)?N.unfollow:N.follow;o.a.fetch(X,a([Q.data.id]))}n.useEffect((function(){ne&&(xe(),Pe(),Oe())}),[Ce]),n.useEffect((function(){K(!1)}),[null===(h=null===(b=null===(E=Q.data)||void 0===E?void 0:E.followers)||void 0===b?void 0:b.data)||void 0===h?void 0:h.length]),Object(L.a)({appLink:Object(ge.a)()(Q.data),paramBuilder:function(){return{a:ae.map((function(e){return e.name}))}},isValid:function(){var e;return!!(null===(e=Q.data)||void 0===e?void 0:e.id)},appLinkOptions:{replace:!0}},[ae.length]);var Se=!(!q.data||!q.data.length);Object(O.a)(U,q.data,G,[Se]);var Be=!!Q.data&&!!J.data,Ie=!!Q.data&&!!Z.data,Ae=!!ee.data,Re=!!q.data,_e=!!Q.data&&!!ke.data,Fe=!!Q.data&&!!Le.data,Te=!!Q.data&&!!we.data&&!!q.data,De=function(e,t,a,n){if(!(e&&t&&a&&n))return{heroVideo:null,videoList:a&&a.data};if(!e.data.length&&!t.data.length&&1===a.data.length)return{heroVideo:Ee.a.first(a.data),videoList:[]};var i=a.data.findIndex((function(e){return e.id===n.pinnedVideoMasterId}));return-1===i?{heroVideo:null,videoList:a.data}:{heroVideo:a.data[i],videoList:a.data.filter((function(e){return e.id!==n.pinnedVideoMasterId}))}}(we.data,ke.data,Le.data,Q.data),Ve=De.heroVideo,Ue=De.videoList;return n.createElement("div",{className:"bg-white"},Be?n.createElement(m.a,{heading:Q.data.name,banner:Q.data.banner,imageCdnUrl:J.data.imageCdnUrl,actions:(null===(y=Q.data)||void 0===y?void 0:y.comingSoon)?[]:Ne(Q.data,je)}):n.createElement(m.b,null),n.createElement("div",{className:"px-3"},n.createElement("div",{className:"py-3 mb-3 ".concat((null===(S=Q.data)||void 0===S?void 0:S.comingSoon)?"":"border-bottom")},Ie?n.createElement(u.b,{currentItem:Q.data,type:u.a.Static,getItemAppLink:Object(ge.a)(),data:Z.data,rootItem:{label:ye("dashboard"),appLink:Object(ge.b)()}}):n.createElement(u.c,null),Re&&_e&&Te&&Fe?n.createElement(j.a,{audiences:q.data,activeAudiences:H,setAudience:G}):n.createElement(j.b,null))),J.data&&(null===(B=Q.data)||void 0===B?void 0:B.comingSoon)?n.createElement(T,{data:Q.data,imageCdnUrl:J.data.imageCdnUrl,onToggleFollow:je}):n.createElement("div",{className:"px-3"},Ae&&_e&&Te&&Fe?function(e){if(e.data.length)return!0;for(var t=arguments.length,a=new Array(t>1?t-1:0),n=1;n<t;n++)a[n-1]=arguments[n];return a.some((function(e){return!!e.data.length}))}(ke.data,we.data,Le.data)||Ve?n.createElement("div",{className:"pb-3"},n.createElement(de.a,{collection:ee.data,childAppLink:Object(ge.a)()(),childComponent:D.a,headingPhraseKey:"topics"})):n.createElement("div",{className:"mx-n2"},n.createElement(z,{classifications:ee.data,getItemAppLink:Object(ge.a)()})):n.createElement(de.b,null),Te&&_e&&Fe&&Re?n.createElement(le,{video:Ve,presentationAudiences:q.data,videoAppLink:{application:ve.a.DEFAULT,action:pe.a.Default.PLAY_VIDEO,args:[null===(I=Ve)||void 0===I?void 0:I.id]},seriesAppLink:{application:ve.a.DEFAULT,action:pe.a.Default.SERIES,args:[null===(R=null===(A=Ve)||void 0===A?void 0:A.series)||void 0===R?void 0:R.id]}}):n.createElement(oe,null),n.createElement("div",null,_e&&Re?!!(null===(F=null===(_=ke.data)||void 0===_?void 0:_.data)||void 0===F?void 0:F.length)&&n.createElement("div",{className:"pb-2"},n.createElement("h4",null,ye("playlists")),n.createElement(P.a,{playlists:ke.data.data,getPlaylistAppLink:ge.c,presentationAudiences:q.data,itemClassName:"columns-of-five"})):n.createElement("div",{className:"pb-3"},n.createElement(x.a,{showHeading:!0,itemClassName:"columns-of-five"})),Te?n.createElement(se.a,{name:ye("series"),type:d.c.Row,contents:k.a.Series,collection:we.data,setData:function(e){return e.data},appLink:Object(ge.d)(Q.data),childComponent:function(e){return n.createElement(ue.b,Object.assign({audiences:q.data},e))},childAppLink:{application:ve.a.DEFAULT,action:pe.a.Default.SERIES},prefetched:!0}):n.createElement(ue.a,null),Fe?n.createElement(se.a,{name:ye("popular"),type:d.c.Row,contents:k.a.Videos,collection:Ue,childComponent:me.a,childAppLink:{application:ve.a.DEFAULT,action:pe.a.Default.PLAY_VIDEO},prefetched:!0}):n.createElement(ce.a,{type:d.c.Row}))))}}}]);
|
|
1
|
+
(window["webpackJsonp_clickview_lite"] = window["webpackJsonp_clickview_lite"] || []).push([[22],{
|
|
2
|
+
|
|
3
|
+
/***/ "../../libs/shared/src/apps/playlists/components/empty-state/EmptyVideoList.tsx":
|
|
4
|
+
/*!**************************************************************************************************************************!*\
|
|
5
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/components/empty-state/EmptyVideoList.tsx ***!
|
|
6
|
+
\**************************************************************************************************************************/
|
|
7
|
+
/*! exports provided: EmptyVideoListComponent */
|
|
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__, "EmptyVideoListComponent", function() { return EmptyVideoListComponent; });
|
|
13
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
14
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
15
|
+
/* harmony import */ var _common_src_backbone_utils_UrlHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../common/src/backbone/utils/UrlHelper */ "../../libs/common/src/backbone/utils/UrlHelper.ts");
|
|
16
|
+
/* harmony import */ var _common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
|
|
17
|
+
/* harmony import */ var _common_src_react_hooks_UseService__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../common/src/react/hooks/UseService */ "../../libs/common/src/react/hooks/UseService.ts");
|
|
18
|
+
/* harmony import */ var _constants_SharedServices__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../constants/SharedServices */ "../../libs/shared/src/constants/SharedServices.ts");
|
|
19
|
+
/* harmony import */ var _constants_SupportArticles__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../constants/SupportArticles */ "../../libs/shared/src/constants/SupportArticles.ts");
|
|
20
|
+
/* harmony import */ var _components_empty_state_EmptyState__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../components/empty-state/EmptyState */ "../../libs/shared/src/components/empty-state/EmptyState.tsx");
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
const getPhrase = _common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_2__["LanguageService"].encloseNamespace('playlists.emptyState');
|
|
29
|
+
function EmptyVideoListComponent(props) {
|
|
30
|
+
const {
|
|
31
|
+
supportSiteUrl
|
|
32
|
+
} = props;
|
|
33
|
+
const imageUrlService = Object(_common_src_react_hooks_UseService__WEBPACK_IMPORTED_MODULE_3__["useService"])(_constants_SharedServices__WEBPACK_IMPORTED_MODULE_4__["SharedServices"].ImageUrl);
|
|
34
|
+
const imageUrls = imageUrlService.getImageUrls();
|
|
35
|
+
const supportArticleUrl = _common_src_backbone_utils_UrlHelper__WEBPACK_IMPORTED_MODULE_1__["UrlHelper"].safeUrlConcat(supportSiteUrl, _constants_SupportArticles__WEBPACK_IMPORTED_MODULE_5__["SupportArticles"].ADD_TO_PLAYLIST);
|
|
36
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_empty_state_EmptyState__WEBPACK_IMPORTED_MODULE_6__["EmptyState"], {
|
|
37
|
+
imageUrl: imageUrls.EmptyStates.VIDEOS,
|
|
38
|
+
heading: getPhrase('noVideosHeading'),
|
|
39
|
+
description: `<a href="${supportArticleUrl}" target="_blank">${getPhrase('noVideosInfo')}</a>`
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/***/ }),
|
|
44
|
+
|
|
45
|
+
/***/ "../../libs/shared/src/apps/playlists/hooks/UseHandlePlaylistError.ts":
|
|
46
|
+
/*!****************************************************************************************************************!*\
|
|
47
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/hooks/UseHandlePlaylistError.ts ***!
|
|
48
|
+
\****************************************************************************************************************/
|
|
49
|
+
/*! exports provided: useHandlePlaylistError */
|
|
50
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
51
|
+
|
|
52
|
+
"use strict";
|
|
53
|
+
__webpack_require__.r(__webpack_exports__);
|
|
54
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useHandlePlaylistError", function() { return useHandlePlaylistError; });
|
|
55
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
56
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
57
|
+
/* harmony import */ var _common_src_backbone__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../common/src/backbone */ "../../libs/common/src/backbone/index.ts");
|
|
58
|
+
/* harmony import */ var _common_src_backbone_enums_HttpStatus__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../common/src/backbone/enums/HttpStatus */ "../../libs/common/src/backbone/enums/HttpStatus.ts");
|
|
59
|
+
/* harmony import */ var _common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
|
|
60
|
+
/* harmony import */ var _common_src_react_hooks_UseService__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../common/src/react/hooks/UseService */ "../../libs/common/src/react/hooks/UseService.ts");
|
|
61
|
+
/* harmony import */ var _common_src_backbone_constants_CommonServices__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../common/src/backbone/constants/CommonServices */ "../../libs/common/src/backbone/constants/CommonServices.ts");
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
const namespace = 'playlists.hooks';
|
|
69
|
+
|
|
70
|
+
function handlePlaylistError(statusCode, alertService, appLinks) {
|
|
71
|
+
let appLink;
|
|
72
|
+
|
|
73
|
+
switch (statusCode) {
|
|
74
|
+
case _common_src_backbone_enums_HttpStatus__WEBPACK_IMPORTED_MODULE_2__["HttpStatus"].Forbidden:
|
|
75
|
+
appLink = appLinks.forbidden;
|
|
76
|
+
break;
|
|
77
|
+
|
|
78
|
+
case _common_src_backbone_enums_HttpStatus__WEBPACK_IMPORTED_MODULE_2__["HttpStatus"].NotFound:
|
|
79
|
+
appLink = appLinks.notFound;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if (!appLink) {
|
|
83
|
+
alertService.error(_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_3__["LanguageService"].getPhrase(namespace, 'somethingWentWrong'))();
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
_common_src_backbone__WEBPACK_IMPORTED_MODULE_1__["Core"].AppLinkHelper.trigger(appLink);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function useHandlePlaylistError(response, appLinks = {}) {
|
|
91
|
+
const alertService = Object(_common_src_react_hooks_UseService__WEBPACK_IMPORTED_MODULE_4__["useService"])(_common_src_backbone_constants_CommonServices__WEBPACK_IMPORTED_MODULE_5__["CommonServices"].ALERT);
|
|
92
|
+
Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(() => {
|
|
93
|
+
if (response.hasError) handlePlaylistError(response.statusCode, alertService, appLinks);
|
|
94
|
+
}, [response.hasError]);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/***/ }),
|
|
98
|
+
|
|
99
|
+
/***/ "../../libs/shared/src/components/back-button/BackButton.tsx":
|
|
100
|
+
/*!*******************************************************************************************************!*\
|
|
101
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/back-button/BackButton.tsx ***!
|
|
102
|
+
\*******************************************************************************************************/
|
|
103
|
+
/*! exports provided: BackButton */
|
|
104
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
105
|
+
|
|
106
|
+
"use strict";
|
|
107
|
+
__webpack_require__.r(__webpack_exports__);
|
|
108
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BackButton", function() { return BackButton; });
|
|
109
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
110
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
111
|
+
/* harmony import */ var _common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
|
|
112
|
+
/* harmony import */ var _svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../svg-container/SvgContainer */ "../../libs/shared/src/components/svg-container/SvgContainer.tsx");
|
|
113
|
+
/* harmony import */ var _app_link_AppLink__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../app-link/AppLink */ "../../libs/shared/src/components/app-link/AppLink.tsx");
|
|
114
|
+
/* harmony import */ var _utils_SvgHelper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/SvgHelper */ "../../libs/shared/src/utils/SvgHelper.ts");
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
const namespace = 'shared.backButton';
|
|
121
|
+
BackButton.defaultProps = {
|
|
122
|
+
color: 'black'
|
|
123
|
+
};
|
|
124
|
+
function BackButton({
|
|
125
|
+
backToName,
|
|
126
|
+
appLink,
|
|
127
|
+
color
|
|
128
|
+
}) {
|
|
129
|
+
const backPhrase = backToName ? _common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_1__["LanguageService"].getPhrase(namespace, 'backTo', {
|
|
130
|
+
backToName
|
|
131
|
+
}) : _common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_1__["LanguageService"].getPhrase(namespace, 'back');
|
|
132
|
+
const colorClass = color === 'black' ? '' : 'text-light';
|
|
133
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_app_link_AppLink__WEBPACK_IMPORTED_MODULE_3__["AppLink"], {
|
|
134
|
+
appLink: appLink,
|
|
135
|
+
className: `d-inline-flex align-items-center h5 mb-0 ${colorClass}`
|
|
136
|
+
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_2__["SvgContainer"], {
|
|
137
|
+
svgName: _utils_SvgHelper__WEBPACK_IMPORTED_MODULE_4__["cvSvgLibrary"].ChevronLeft,
|
|
138
|
+
size: _svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_2__["SvgContainerSize"].Medium
|
|
139
|
+
}), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
|
|
140
|
+
className: 'ml-1'
|
|
141
|
+
}, backPhrase));
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/***/ }),
|
|
145
|
+
|
|
146
|
+
/***/ "../../libs/shared/src/components/banner-header/BannerHeader.tsx":
|
|
147
|
+
/*!***********************************************************************************************************!*\
|
|
148
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/banner-header/BannerHeader.tsx ***!
|
|
149
|
+
\***********************************************************************************************************/
|
|
150
|
+
/*! exports provided: BannerHeader, PartialBannerHeader */
|
|
151
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
152
|
+
|
|
153
|
+
"use strict";
|
|
154
|
+
__webpack_require__.r(__webpack_exports__);
|
|
155
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BannerHeader", function() { return BannerHeader; });
|
|
156
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PartialBannerHeader", function() { return PartialBannerHeader; });
|
|
157
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
158
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
159
|
+
/* harmony import */ var _back_button_BackButton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../back-button/BackButton */ "../../libs/shared/src/components/back-button/BackButton.tsx");
|
|
160
|
+
/* harmony import */ var _utils_ImageHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/ImageHelper */ "../../libs/shared/src/utils/ImageHelper.ts");
|
|
161
|
+
/* harmony import */ var _enums_Images__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../enums/Images */ "../../libs/shared/src/enums/Images.ts");
|
|
162
|
+
/* harmony import */ var _actions_Actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../actions/Actions */ "../../libs/shared/src/components/actions/Actions.tsx");
|
|
163
|
+
/* harmony import */ var _banner_header_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./banner-header.scss */ "../../libs/shared/src/components/banner-header/banner-header.scss");
|
|
164
|
+
/* harmony import */ var _banner_header_scss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_banner_header_scss__WEBPACK_IMPORTED_MODULE_5__);
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
const BannerHeader = react__WEBPACK_IMPORTED_MODULE_0__["memo"](function (props) {
|
|
172
|
+
const {
|
|
173
|
+
heading,
|
|
174
|
+
banner,
|
|
175
|
+
imageCdnUrl,
|
|
176
|
+
actions,
|
|
177
|
+
sortComponent
|
|
178
|
+
} = props;
|
|
179
|
+
const url = _utils_ImageHelper__WEBPACK_IMPORTED_MODULE_2__["ImageHelper"].createBannerUrl(banner, {
|
|
180
|
+
fallbackBaseUrl: imageCdnUrl,
|
|
181
|
+
fallbackCategoryName: heading,
|
|
182
|
+
type: _enums_Images__WEBPACK_IMPORTED_MODULE_3__["ImageType"].Banners
|
|
183
|
+
}, {
|
|
184
|
+
size: _enums_Images__WEBPACK_IMPORTED_MODULE_3__["ImageSize"].Large,
|
|
185
|
+
resizeType: _enums_Images__WEBPACK_IMPORTED_MODULE_3__["ResizeType"].Cover
|
|
186
|
+
});
|
|
187
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
188
|
+
className: 'banner',
|
|
189
|
+
style: {
|
|
190
|
+
backgroundImage: `url('${url}')`
|
|
191
|
+
}
|
|
192
|
+
}, props.backButtonAppLink && react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
193
|
+
className: 'pt-3'
|
|
194
|
+
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_back_button_BackButton__WEBPACK_IMPORTED_MODULE_1__["BackButton"], {
|
|
195
|
+
appLink: props.backButtonAppLink,
|
|
196
|
+
backToName: props.backButtonText,
|
|
197
|
+
color: 'white'
|
|
198
|
+
})), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("h1", {
|
|
199
|
+
className: 'text-white text-shadow position-absolute m-0 pb-3'
|
|
200
|
+
}, heading), !!actions && react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
201
|
+
className: _banner_header_scss__WEBPACK_IMPORTED_MODULE_5___default.a.actionsContainer
|
|
202
|
+
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_actions_Actions__WEBPACK_IMPORTED_MODULE_4__["Actions"], {
|
|
203
|
+
actions: actions,
|
|
204
|
+
sortComponent: sortComponent
|
|
205
|
+
})));
|
|
206
|
+
}, (prevProps, nextProps) => prevProps.actions === nextProps.actions);
|
|
207
|
+
const PartialBannerHeader = () => react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
208
|
+
className: `partial-banner partial-loading-background`
|
|
209
|
+
});
|
|
210
|
+
|
|
211
|
+
/***/ }),
|
|
212
|
+
|
|
213
|
+
/***/ "../../libs/shared/src/components/banner-header/banner-header.scss":
|
|
214
|
+
/*!*************************************************************************************************************!*\
|
|
215
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/banner-header/banner-header.scss ***!
|
|
216
|
+
\*************************************************************************************************************/
|
|
217
|
+
/*! no static exports found */
|
|
218
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
219
|
+
|
|
220
|
+
// extracted by mini-css-extract-plugin
|
|
221
|
+
module.exports = {"actionsContainer":"cv--actionsContainer--286KF"};
|
|
222
|
+
|
|
223
|
+
/***/ }),
|
|
224
|
+
|
|
225
|
+
/***/ "../../libs/shared/src/components/empty-state/EmptyState.tsx":
|
|
226
|
+
/*!*******************************************************************************************************!*\
|
|
227
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/empty-state/EmptyState.tsx ***!
|
|
228
|
+
\*******************************************************************************************************/
|
|
229
|
+
/*! exports provided: EmptyState */
|
|
230
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
231
|
+
|
|
232
|
+
"use strict";
|
|
233
|
+
__webpack_require__.r(__webpack_exports__);
|
|
234
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EmptyState", function() { return EmptyState; });
|
|
235
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
236
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
237
|
+
|
|
238
|
+
function EmptyState(props) {
|
|
239
|
+
const {
|
|
240
|
+
imageUrl,
|
|
241
|
+
heading,
|
|
242
|
+
description
|
|
243
|
+
} = props;
|
|
244
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
245
|
+
className: 'empty-state-container'
|
|
246
|
+
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
247
|
+
className: 'content-container'
|
|
248
|
+
}, imageUrl && react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("img", {
|
|
249
|
+
src: imageUrl
|
|
250
|
+
}), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("h1", null, heading), description && react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("p", {
|
|
251
|
+
dangerouslySetInnerHTML: {
|
|
252
|
+
__html: description
|
|
253
|
+
}
|
|
254
|
+
})));
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
/***/ }),
|
|
258
|
+
|
|
259
|
+
/***/ "../../libs/shared/src/components/infinite-scroll-footer/InfiniteScrollFooter.tsx":
|
|
260
|
+
/*!****************************************************************************************************************************!*\
|
|
261
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/infinite-scroll-footer/InfiniteScrollFooter.tsx ***!
|
|
262
|
+
\****************************************************************************************************************************/
|
|
263
|
+
/*! exports provided: InfiniteScrollFooter */
|
|
264
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
265
|
+
|
|
266
|
+
"use strict";
|
|
267
|
+
__webpack_require__.r(__webpack_exports__);
|
|
268
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "InfiniteScrollFooter", function() { return InfiniteScrollFooter; });
|
|
269
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
270
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
271
|
+
/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-bootstrap */ "react-bootstrap");
|
|
272
|
+
/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_bootstrap__WEBPACK_IMPORTED_MODULE_1__);
|
|
273
|
+
/* harmony import */ var _svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../svg-container/SvgContainer */ "../../libs/shared/src/components/svg-container/SvgContainer.tsx");
|
|
274
|
+
/* harmony import */ var _utils_SvgHelper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/SvgHelper */ "../../libs/shared/src/utils/SvgHelper.ts");
|
|
275
|
+
/* harmony import */ var _infinite_scroll_footer_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./infinite-scroll-footer.scss */ "../../libs/shared/src/components/infinite-scroll-footer/infinite-scroll-footer.scss");
|
|
276
|
+
/* harmony import */ var _infinite_scroll_footer_scss__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_infinite_scroll_footer_scss__WEBPACK_IMPORTED_MODULE_4__);
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
function InfiniteScrollFooter(props) {
|
|
283
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
284
|
+
className: `p-3 text-center ${_infinite_scroll_footer_scss__WEBPACK_IMPORTED_MODULE_4___default.a.container}`
|
|
285
|
+
}, props.isFetching ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Spinner"], {
|
|
286
|
+
as: 'span',
|
|
287
|
+
animation: 'border',
|
|
288
|
+
role: 'status',
|
|
289
|
+
className: _infinite_scroll_footer_scss__WEBPACK_IMPORTED_MODULE_4___default.a.spinner
|
|
290
|
+
}) : react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_2__["SvgContainer"], {
|
|
291
|
+
svgName: _utils_SvgHelper__WEBPACK_IMPORTED_MODULE_3__["cvSvgLibrary"].ChevronDown,
|
|
292
|
+
className: 'svg-container cursor-pointer',
|
|
293
|
+
size: _svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_2__["SvgContainerSize"].Large,
|
|
294
|
+
onClick: props.onClick
|
|
295
|
+
}));
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
/***/ }),
|
|
299
|
+
|
|
300
|
+
/***/ "../../libs/shared/src/components/infinite-scroll-footer/infinite-scroll-footer.scss":
|
|
301
|
+
/*!*******************************************************************************************************************************!*\
|
|
302
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/infinite-scroll-footer/infinite-scroll-footer.scss ***!
|
|
303
|
+
\*******************************************************************************************************************************/
|
|
304
|
+
/*! no static exports found */
|
|
305
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
306
|
+
|
|
307
|
+
// extracted by mini-css-extract-plugin
|
|
308
|
+
module.exports = {"container":"cv--container--1_KC6","spinner":"cv--spinner--VXlcl"};
|
|
309
|
+
|
|
310
|
+
/***/ }),
|
|
311
|
+
|
|
312
|
+
/***/ "../../libs/shared/src/components/video-list/PartialVideoList.tsx":
|
|
313
|
+
/*!************************************************************************************************************!*\
|
|
314
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/video-list/PartialVideoList.tsx ***!
|
|
315
|
+
\************************************************************************************************************/
|
|
316
|
+
/*! exports provided: PartialVideoList */
|
|
317
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
318
|
+
|
|
319
|
+
"use strict";
|
|
320
|
+
__webpack_require__.r(__webpack_exports__);
|
|
321
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PartialVideoList", function() { return PartialVideoList; });
|
|
322
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
323
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
324
|
+
|
|
325
|
+
function PartialVideoList(props) {
|
|
326
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
/***/ }),
|
|
330
|
+
|
|
331
|
+
/***/ "../../libs/shared/src/constants/SupportArticles.ts":
|
|
332
|
+
/*!**********************************************************************************************!*\
|
|
333
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/constants/SupportArticles.ts ***!
|
|
334
|
+
\**********************************************************************************************/
|
|
335
|
+
/*! exports provided: SupportArticles */
|
|
336
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
337
|
+
|
|
338
|
+
"use strict";
|
|
339
|
+
__webpack_require__.r(__webpack_exports__);
|
|
340
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SupportArticles", function() { return SupportArticles; });
|
|
341
|
+
const SupportArticles = {
|
|
342
|
+
ADD_TO_PLAYLIST: 'hc/articles/115005679748'
|
|
343
|
+
};
|
|
344
|
+
|
|
345
|
+
/***/ }),
|
|
346
|
+
|
|
347
|
+
/***/ "../../libs/shared/src/context/PageTitleContext.tsx":
|
|
348
|
+
/*!**********************************************************************************************!*\
|
|
349
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/context/PageTitleContext.tsx ***!
|
|
350
|
+
\**********************************************************************************************/
|
|
351
|
+
/*! exports provided: PageTitleContext, PageTitleContextProvider */
|
|
352
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
353
|
+
|
|
354
|
+
"use strict";
|
|
355
|
+
__webpack_require__.r(__webpack_exports__);
|
|
356
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PageTitleContext", function() { return PageTitleContext; });
|
|
357
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PageTitleContextProvider", function() { return PageTitleContextProvider; });
|
|
358
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
359
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
360
|
+
/* harmony import */ var _common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
|
|
361
|
+
/* harmony import */ var _utils_PageTitleHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/PageTitleHelper */ "../../libs/shared/src/utils/PageTitleHelper.ts");
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
const PageTitleContext = react__WEBPACK_IMPORTED_MODULE_0__["createContext"]({});
|
|
366
|
+
const namespace = 'shared.context';
|
|
367
|
+
|
|
368
|
+
const DEFAULT_TITLE = () => _common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_1__["LanguageService"].getPhrase(namespace, 'defaultTitle');
|
|
369
|
+
|
|
370
|
+
const PageTitleContextProvider = ({
|
|
371
|
+
children
|
|
372
|
+
}) => {
|
|
373
|
+
const [currentPageTitle, setCurrentPageTitle] = react__WEBPACK_IMPORTED_MODULE_0__["useState"](DEFAULT_TITLE);
|
|
374
|
+
const [previousPageTitle, setPreviousPageTitle] = react__WEBPACK_IMPORTED_MODULE_0__["useState"](DEFAULT_TITLE);
|
|
375
|
+
|
|
376
|
+
const setPageTitle = title => {
|
|
377
|
+
if (title === currentPageTitle) return;
|
|
378
|
+
if (currentPageTitle !== previousPageTitle) setPreviousPageTitle(currentPageTitle);
|
|
379
|
+
setCurrentPageTitle(title);
|
|
380
|
+
};
|
|
381
|
+
|
|
382
|
+
const revertPageTitle = () => {
|
|
383
|
+
setCurrentPageTitle(previousPageTitle);
|
|
384
|
+
};
|
|
385
|
+
|
|
386
|
+
react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](() => _utils_PageTitleHelper__WEBPACK_IMPORTED_MODULE_2__["PageTitleHelper"].setPageTitle(currentPageTitle), [currentPageTitle]);
|
|
387
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](PageTitleContext.Provider, {
|
|
388
|
+
value: {
|
|
389
|
+
setPageTitle,
|
|
390
|
+
revertPageTitle
|
|
391
|
+
}
|
|
392
|
+
}, children);
|
|
393
|
+
};
|
|
394
|
+
|
|
395
|
+
/***/ }),
|
|
396
|
+
|
|
397
|
+
/***/ "../../libs/shared/src/flight-requests/FavouriteVideoRequests.ts":
|
|
398
|
+
/*!***********************************************************************************************************!*\
|
|
399
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/flight-requests/FavouriteVideoRequests.ts ***!
|
|
400
|
+
\***********************************************************************************************************/
|
|
401
|
+
/*! exports provided: FavouriteVideoRequests */
|
|
402
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
403
|
+
|
|
404
|
+
"use strict";
|
|
405
|
+
__webpack_require__.r(__webpack_exports__);
|
|
406
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FavouriteVideoRequests", function() { return FavouriteVideoRequests; });
|
|
407
|
+
/* 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");
|
|
408
|
+
/* harmony import */ var _constants_WithStatements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/WithStatements */ "../../libs/shared/src/constants/WithStatements.ts");
|
|
409
|
+
var __rest = undefined && undefined.__rest || function (s, e) {
|
|
410
|
+
var t = {};
|
|
411
|
+
|
|
412
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
413
|
+
|
|
414
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
415
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
416
|
+
}
|
|
417
|
+
return t;
|
|
418
|
+
};
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
|
|
422
|
+
|
|
423
|
+
function favouriteVideo(videoId, userId, success, error) {
|
|
424
|
+
return {
|
|
425
|
+
url: `/api/domain/v2/objects/${userId}`,
|
|
426
|
+
key: `favourite:video:${userId}:${videoId}`,
|
|
427
|
+
data: {
|
|
428
|
+
favouriteVideos: videoId
|
|
429
|
+
},
|
|
430
|
+
type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].PUT,
|
|
431
|
+
invalidationKeys: [`favourite:videos:${userId}`, `video:is:favourited:${userId}`],
|
|
432
|
+
success,
|
|
433
|
+
error
|
|
434
|
+
};
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
function unfavouriteVideo(videoId, userId, success, error) {
|
|
438
|
+
return {
|
|
439
|
+
url: `/api/domain/v2/objects/${userId}/favouriteVideos/${videoId}`,
|
|
440
|
+
key: `favourite:video:${userId}:${videoId}`,
|
|
441
|
+
type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].DELETE,
|
|
442
|
+
invalidationKeys: [`favourite:videos:${userId}`, `video:is:favourited:${userId}`],
|
|
443
|
+
success,
|
|
444
|
+
error
|
|
445
|
+
};
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
const FavouriteVideoRequests = {
|
|
449
|
+
favouriteVideos(userId, cursor) {
|
|
450
|
+
const query = `${_constants_WithStatements__WEBPACK_IMPORTED_MODULE_1__["SharedWithStatements"].VIDEO_COLLECTION}${addCursor(cursor)}`;
|
|
451
|
+
return {
|
|
452
|
+
url: `/api/domain/v2/objects/${userId}/favouriteVideos?query=${query}`,
|
|
453
|
+
key: `favourite:videos:${userId}${cursor ? `:${cursor}` : ''}`
|
|
454
|
+
};
|
|
455
|
+
},
|
|
456
|
+
|
|
457
|
+
updateIsVideoFavourited(videoId, userId, shouldFavourite, success, error) {
|
|
458
|
+
const requestFn = shouldFavourite ? favouriteVideo : unfavouriteVideo;
|
|
459
|
+
return requestFn(videoId, userId, success, error);
|
|
460
|
+
},
|
|
461
|
+
|
|
462
|
+
isFavourited(userId, ids) {
|
|
463
|
+
const sortedIds = ids.slice().sort();
|
|
464
|
+
const params = sortedIds.map(i => `id=${i}`);
|
|
465
|
+
return {
|
|
466
|
+
url: `/api/domain/v2/objects?query=favouritedBy{id:${userId}}&${params.join('&')}`,
|
|
467
|
+
key: `video:is:favourited:${userId}:by:id:${sortedIds.join(',')}`,
|
|
468
|
+
formatData: videos => {
|
|
469
|
+
var _a;
|
|
470
|
+
|
|
471
|
+
if (!((_a = videos) === null || _a === void 0 ? void 0 : _a.length)) return videos;
|
|
472
|
+
|
|
473
|
+
const setIsFavourited = video => {
|
|
474
|
+
var _a, _b;
|
|
475
|
+
|
|
476
|
+
const {
|
|
477
|
+
favouritedBy
|
|
478
|
+
} = video,
|
|
479
|
+
v = __rest(video, ["favouritedBy"]); // As we filtered by userId, if there are any users, set isFavourited to true.
|
|
480
|
+
|
|
481
|
+
|
|
482
|
+
return Object.assign(Object.assign({}, v), {
|
|
483
|
+
isFavourited: !!((_b = (_a = favouritedBy) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.length)
|
|
484
|
+
});
|
|
485
|
+
};
|
|
486
|
+
|
|
487
|
+
return videos.map(setIsFavourited);
|
|
488
|
+
}
|
|
489
|
+
};
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
};
|
|
493
|
+
|
|
494
|
+
function addCursor(cursor) {
|
|
495
|
+
return cursor ? `&cursor=${cursor}` : '';
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
/***/ }),
|
|
499
|
+
|
|
500
|
+
/***/ "../../libs/shared/src/hooks/UseInfiniteList.ts":
|
|
501
|
+
/*!******************************************************************************************!*\
|
|
502
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/hooks/UseInfiniteList.ts ***!
|
|
503
|
+
\******************************************************************************************/
|
|
504
|
+
/*! exports provided: useInfiniteList */
|
|
505
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
506
|
+
|
|
507
|
+
"use strict";
|
|
508
|
+
__webpack_require__.r(__webpack_exports__);
|
|
509
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useInfiniteList", function() { return useInfiniteList; });
|
|
510
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
511
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
512
|
+
/* harmony import */ var _UseSelectAllPages__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UseSelectAllPages */ "../../libs/shared/src/hooks/UseSelectAllPages.ts");
|
|
513
|
+
/* harmony import */ var _UseInfiniteScroll__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UseInfiniteScroll */ "../../libs/shared/src/hooks/UseInfiniteScroll.ts");
|
|
514
|
+
|
|
515
|
+
|
|
516
|
+
|
|
517
|
+
/**
|
|
518
|
+
* Hook to extract an infinite list from the application state,
|
|
519
|
+
* save it locally in state and only update when new data
|
|
520
|
+
* is fetched.
|
|
521
|
+
*
|
|
522
|
+
* @param getRequest - callback function to get the request for each page.
|
|
523
|
+
* Can be false if the request requires data that hasn't yet been fetched - e.g. user id.
|
|
524
|
+
*
|
|
525
|
+
* @param fetchNext - callback function to fetch a page.
|
|
526
|
+
* Can be false if the request requires data that hasn't yet been fetched - e.g. user id.
|
|
527
|
+
*/
|
|
528
|
+
|
|
529
|
+
function useInfiniteList(getRequest, fetchNext) {
|
|
530
|
+
const fetchNextFn = fetchNext;
|
|
531
|
+
const response = Object(_UseSelectAllPages__WEBPACK_IMPORTED_MODULE_1__["useSelectAllPages"])(getRequest && (cursor => getRequest(cursor).key));
|
|
532
|
+
Object(_UseInfiniteScroll__WEBPACK_IMPORTED_MODULE_2__["useInfiniteScroll"])(() => fetchNext && fetchNextFn(response.nextCursor), !!response.nextCursor, response.isFetching);
|
|
533
|
+
Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(() => {
|
|
534
|
+
if (response.shouldInitialFetch && fetchNext) fetchNextFn();
|
|
535
|
+
}, [response.shouldInitialFetch, fetchNext]);
|
|
536
|
+
return {
|
|
537
|
+
items: response.items,
|
|
538
|
+
hasMore: !!response.nextCursor,
|
|
539
|
+
isFetching: response.isFetching
|
|
540
|
+
};
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
/***/ }),
|
|
544
|
+
|
|
545
|
+
/***/ "../../libs/shared/src/hooks/UseInfiniteScroll.ts":
|
|
546
|
+
/*!********************************************************************************************!*\
|
|
547
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/hooks/UseInfiniteScroll.ts ***!
|
|
548
|
+
\********************************************************************************************/
|
|
549
|
+
/*! exports provided: useInfiniteScroll */
|
|
550
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
551
|
+
|
|
552
|
+
"use strict";
|
|
553
|
+
__webpack_require__.r(__webpack_exports__);
|
|
554
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useInfiniteScroll", function() { return useInfiniteScroll; });
|
|
555
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
556
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
557
|
+
/* harmony import */ var _common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/src/backbone/utils/FunctionHelper */ "../../libs/common/src/backbone/utils/FunctionHelper.ts");
|
|
558
|
+
|
|
559
|
+
|
|
560
|
+
const SCROLL_TOLERANCE = 400; // value in px
|
|
561
|
+
|
|
562
|
+
function useInfiniteScroll(fetchNextPage, hasMore, isFetching) {
|
|
563
|
+
const handleScroll = () => {
|
|
564
|
+
if (isFetching) return;
|
|
565
|
+
const currentScrollHeight = window.innerHeight + document.documentElement.scrollTop;
|
|
566
|
+
const totalHeight = document.documentElement.scrollHeight - SCROLL_TOLERANCE;
|
|
567
|
+
if (currentScrollHeight < totalHeight) return;
|
|
568
|
+
fetchNextPage();
|
|
569
|
+
};
|
|
570
|
+
|
|
571
|
+
Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(() => {
|
|
572
|
+
const onScroll = _common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_1__["FunctionHelper"].throttle(handleScroll, 200);
|
|
573
|
+
if (hasMore) window.addEventListener('scroll', onScroll);
|
|
574
|
+
return () => window.removeEventListener('scroll', onScroll);
|
|
575
|
+
}, [hasMore]);
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
/***/ }),
|
|
579
|
+
|
|
580
|
+
/***/ "../../libs/shared/src/hooks/UseReorderedItems.ts":
|
|
581
|
+
/*!********************************************************************************************!*\
|
|
582
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/hooks/UseReorderedItems.ts ***!
|
|
583
|
+
\********************************************************************************************/
|
|
584
|
+
/*! exports provided: useReorderedItems */
|
|
585
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
586
|
+
|
|
587
|
+
"use strict";
|
|
588
|
+
__webpack_require__.r(__webpack_exports__);
|
|
589
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useReorderedItems", function() { return useReorderedItems; });
|
|
590
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
591
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
592
|
+
|
|
593
|
+
|
|
594
|
+
function isOrderEqual(arr1, arr2) {
|
|
595
|
+
let isEqual = true;
|
|
596
|
+
if (arr1.length !== arr2.length) return false;
|
|
597
|
+
|
|
598
|
+
for (let i = 0; i < arr1.length; i++) {
|
|
599
|
+
if (arr1[i].id !== arr2[i].id) {
|
|
600
|
+
isEqual = false;
|
|
601
|
+
break;
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
return isEqual;
|
|
606
|
+
}
|
|
607
|
+
/**
|
|
608
|
+
* This function can be used to temporarily store an array of reordered objects
|
|
609
|
+
* until the array obtained from the application store updates to the new order.
|
|
610
|
+
*
|
|
611
|
+
* @param items array of objects from application store.
|
|
612
|
+
*/
|
|
613
|
+
|
|
614
|
+
|
|
615
|
+
function useReorderedItems(items) {
|
|
616
|
+
const [reorderedItems, setReorderedItems] = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])();
|
|
617
|
+
Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(() => {
|
|
618
|
+
if (!reorderedItems) return;
|
|
619
|
+
if (items.length !== reorderedItems.length || isOrderEqual(items, reorderedItems)) setReorderedItems(null);
|
|
620
|
+
}, [items]);
|
|
621
|
+
return [reorderedItems, setReorderedItems];
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
/***/ }),
|
|
625
|
+
|
|
626
|
+
/***/ "../../libs/shared/src/hooks/UseSelectAllPages.ts":
|
|
627
|
+
/*!********************************************************************************************!*\
|
|
628
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/hooks/UseSelectAllPages.ts ***!
|
|
629
|
+
\********************************************************************************************/
|
|
630
|
+
/*! exports provided: useSelectAllPages */
|
|
631
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
632
|
+
|
|
633
|
+
"use strict";
|
|
634
|
+
__webpack_require__.r(__webpack_exports__);
|
|
635
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useSelectAllPages", function() { return useSelectAllPages; });
|
|
636
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
637
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
638
|
+
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "react-redux");
|
|
639
|
+
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
|
|
640
|
+
/* harmony import */ var _common_src_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/src/react */ "../../libs/common/src/react/index.ts");
|
|
641
|
+
/* harmony import */ var _common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/src/backbone/utils/FunctionHelper */ "../../libs/common/src/backbone/utils/FunctionHelper.ts");
|
|
642
|
+
|
|
643
|
+
|
|
644
|
+
|
|
645
|
+
|
|
646
|
+
|
|
647
|
+
const safeGetCursor = request => {
|
|
648
|
+
return request && request.data && request.data.pagination && request.data.pagination.cursors && request.data.pagination.cursors.next;
|
|
649
|
+
};
|
|
650
|
+
/**
|
|
651
|
+
* Hook to select all pages of a collection from the store and flatten them.
|
|
652
|
+
* It will not trigger any fetches.
|
|
653
|
+
*
|
|
654
|
+
* @param getKey - callback function to get the key for each page.
|
|
655
|
+
* Can be false if the key requires data that hasn't yet been fetched - e.g. user id.
|
|
656
|
+
*/
|
|
657
|
+
|
|
658
|
+
|
|
659
|
+
function useSelectAllPages(getKey) {
|
|
660
|
+
return Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useSelector"])(Object(react__WEBPACK_IMPORTED_MODULE_0__["useMemo"])(() => state => {
|
|
661
|
+
const getKeyFn = getKey;
|
|
662
|
+
let request = _common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_3__["FunctionHelper"].isFunction(getKey) && _common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].getResponse(state, getKeyFn());
|
|
663
|
+
let isFetching = request && request.isFetching;
|
|
664
|
+
const shouldInitialFetch = request && request.shouldFetch;
|
|
665
|
+
let items = request && request.data && request.data.data;
|
|
666
|
+
let nextCursor = safeGetCursor(request); // Retrieve all pages that are currently in the store.
|
|
667
|
+
|
|
668
|
+
while (nextCursor) {
|
|
669
|
+
request = _common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].getResponse(state, getKeyFn(nextCursor));
|
|
670
|
+
isFetching = request.isFetching; // If next page hasn't been fetched, break.
|
|
671
|
+
|
|
672
|
+
if (request.shouldFetch) break;
|
|
673
|
+
let newItems = request.data && request.data.data;
|
|
674
|
+
newItems && items.push(...newItems);
|
|
675
|
+
nextCursor = safeGetCursor(request);
|
|
676
|
+
}
|
|
677
|
+
|
|
678
|
+
return {
|
|
679
|
+
shouldInitialFetch,
|
|
680
|
+
items,
|
|
681
|
+
nextCursor,
|
|
682
|
+
isFetching
|
|
683
|
+
};
|
|
684
|
+
}, [getKey]));
|
|
685
|
+
}
|
|
686
|
+
|
|
687
|
+
/***/ }),
|
|
688
|
+
|
|
689
|
+
/***/ "../../libs/shared/src/hooks/useSetPageTitle.ts":
|
|
690
|
+
/*!******************************************************************************************!*\
|
|
691
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/hooks/useSetPageTitle.ts ***!
|
|
692
|
+
\******************************************************************************************/
|
|
693
|
+
/*! exports provided: useSetPageTitle */
|
|
694
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
695
|
+
|
|
696
|
+
"use strict";
|
|
697
|
+
__webpack_require__.r(__webpack_exports__);
|
|
698
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useSetPageTitle", function() { return useSetPageTitle; });
|
|
699
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
700
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
701
|
+
/* harmony import */ var _common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/src/backbone/utils/FunctionHelper */ "../../libs/common/src/backbone/utils/FunctionHelper.ts");
|
|
702
|
+
/* harmony import */ var _context_PageTitleContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../context/PageTitleContext */ "../../libs/shared/src/context/PageTitleContext.tsx");
|
|
703
|
+
|
|
704
|
+
|
|
705
|
+
|
|
706
|
+
/**
|
|
707
|
+
* Hook function to set the page title using the useEffect hook.
|
|
708
|
+
* @param title - value to set the page title to.
|
|
709
|
+
* @param dependencies - values from the component (e.g. state, props and functions) that are used
|
|
710
|
+
* inside the effect hook.
|
|
711
|
+
*/
|
|
712
|
+
|
|
713
|
+
function useSetPageTitle(title, dependencies = []) {
|
|
714
|
+
const {
|
|
715
|
+
setPageTitle
|
|
716
|
+
} = react__WEBPACK_IMPORTED_MODULE_0__["useContext"](_context_PageTitleContext__WEBPACK_IMPORTED_MODULE_2__["PageTitleContext"]);
|
|
717
|
+
react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](() => {
|
|
718
|
+
if (!title || !_common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_1__["FunctionHelper"].isFunction(setPageTitle)) return;
|
|
719
|
+
setPageTitle(title);
|
|
720
|
+
}, [title, ...dependencies]);
|
|
721
|
+
}
|
|
722
|
+
|
|
723
|
+
/***/ }),
|
|
724
|
+
|
|
725
|
+
/***/ "../../libs/shared/src/utils/PageTitleHelper.ts":
|
|
726
|
+
/*!******************************************************************************************!*\
|
|
727
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/utils/PageTitleHelper.ts ***!
|
|
728
|
+
\******************************************************************************************/
|
|
729
|
+
/*! exports provided: PageTitleHelper */
|
|
730
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
731
|
+
|
|
732
|
+
"use strict";
|
|
733
|
+
__webpack_require__.r(__webpack_exports__);
|
|
734
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PageTitleHelper", function() { return PageTitleHelper; });
|
|
735
|
+
/* harmony import */ var _common_src_backbone__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/src/backbone */ "../../libs/common/src/backbone/index.ts");
|
|
736
|
+
|
|
737
|
+
const TITLE_LENGTH = 60;
|
|
738
|
+
const SUFFIX = ' - ClickView';
|
|
739
|
+
|
|
740
|
+
const trimTitle = title => {
|
|
741
|
+
if (title.length + SUFFIX.length <= TITLE_LENGTH) return title + SUFFIX;
|
|
742
|
+
return title.substring(0, TITLE_LENGTH - 3) + '...' + SUFFIX;
|
|
743
|
+
};
|
|
744
|
+
|
|
745
|
+
const PageTitleHelper = {
|
|
746
|
+
setPageTitle(title) {
|
|
747
|
+
if (!title) return;
|
|
748
|
+
_common_src_backbone__WEBPACK_IMPORTED_MODULE_0__["Core"].LocationUtils.SetPageTitle(trimTitle(title));
|
|
749
|
+
}
|
|
750
|
+
|
|
751
|
+
};
|
|
752
|
+
|
|
753
|
+
/***/ }),
|
|
754
|
+
|
|
755
|
+
/***/ "../../libs/shared/src/utils/RatingHelper.ts":
|
|
756
|
+
/*!***************************************************************************************!*\
|
|
757
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/utils/RatingHelper.ts ***!
|
|
758
|
+
\***************************************************************************************/
|
|
759
|
+
/*! exports provided: RatingHelper */
|
|
760
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
761
|
+
|
|
762
|
+
"use strict";
|
|
763
|
+
__webpack_require__.r(__webpack_exports__);
|
|
764
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RatingHelper", function() { return RatingHelper; });
|
|
765
|
+
/* harmony import */ var _enums_UserRole__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums/UserRole */ "../../libs/shared/src/enums/UserRole.ts");
|
|
766
|
+
|
|
767
|
+
const RatingHelper = {
|
|
768
|
+
getMaxAllowedRatingForUser(user) {
|
|
769
|
+
var _a, _b;
|
|
770
|
+
|
|
771
|
+
if (((_a = user) === null || _a === void 0 ? void 0 : _a.onlineRole) === _enums_UserRole__WEBPACK_IMPORTED_MODULE_0__["OnlineUserRole"].Staff) return;
|
|
772
|
+
return (_b = user) === null || _b === void 0 ? void 0 : _b.maxAllowedRating;
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
};
|
|
776
|
+
|
|
777
|
+
/***/ }),
|
|
778
|
+
|
|
779
|
+
/***/ "../../libs/shared/src/utils/RestrictionHelper.ts":
|
|
780
|
+
/*!********************************************************************************************!*\
|
|
781
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/utils/RestrictionHelper.ts ***!
|
|
782
|
+
\********************************************************************************************/
|
|
783
|
+
/*! exports provided: RestrictionHelper */
|
|
784
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
785
|
+
|
|
786
|
+
"use strict";
|
|
787
|
+
__webpack_require__.r(__webpack_exports__);
|
|
788
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RestrictionHelper", function() { return RestrictionHelper; });
|
|
789
|
+
const RestrictionHelper = {
|
|
790
|
+
mixinRestrictions(videos, restrictions) {
|
|
791
|
+
const videosWithRestrictions = [];
|
|
792
|
+
videos.forEach(video => {
|
|
793
|
+
var _a, _b;
|
|
794
|
+
|
|
795
|
+
const videoRestrictions = restrictions.find(r => r.objectId === video.id);
|
|
796
|
+
videosWithRestrictions.push(Object.assign(Object.assign({}, video), {
|
|
797
|
+
restrictions: (_b = (_a = videoRestrictions) === null || _a === void 0 ? void 0 : _a.restrictedObjects, _b !== null && _b !== void 0 ? _b : [])
|
|
798
|
+
}));
|
|
799
|
+
});
|
|
800
|
+
return videosWithRestrictions;
|
|
801
|
+
},
|
|
802
|
+
|
|
803
|
+
getVideoRestrictions(videoId, restrictions) {
|
|
804
|
+
var _a;
|
|
805
|
+
|
|
806
|
+
if (!videoId || !restrictions) return;
|
|
807
|
+
const videoRestrictions = restrictions.find(r => r.objectId.toString() === videoId.toString());
|
|
808
|
+
return (_a = videoRestrictions) === null || _a === void 0 ? void 0 : _a.restrictedObjects;
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
};
|
|
812
|
+
|
|
813
|
+
/***/ }),
|
|
814
|
+
|
|
815
|
+
/***/ "./src/apps/playlists/components/playlist-header/PlaylistHeader.tsx":
|
|
816
|
+
/*!**************************************************************************!*\
|
|
817
|
+
!*** ./src/apps/playlists/components/playlist-header/PlaylistHeader.tsx ***!
|
|
818
|
+
\**************************************************************************/
|
|
819
|
+
/*! exports provided: PlaylistHeader */
|
|
820
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
821
|
+
|
|
822
|
+
"use strict";
|
|
823
|
+
__webpack_require__.r(__webpack_exports__);
|
|
824
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PlaylistHeader", function() { return PlaylistHeader; });
|
|
825
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
826
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
827
|
+
/* harmony import */ var _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../libs/common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
|
|
828
|
+
/* harmony import */ var _libs_shared_src_hooks_UseMediaQuery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/hooks/UseMediaQuery */ "../../libs/shared/src/hooks/UseMediaQuery.tsx");
|
|
829
|
+
/* harmony import */ var _libs_shared_src_enums_MediaQueries__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/enums/MediaQueries */ "../../libs/shared/src/enums/MediaQueries.ts");
|
|
830
|
+
/* harmony import */ var _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/utils/SvgHelper */ "../../libs/shared/src/utils/SvgHelper.ts");
|
|
831
|
+
/* harmony import */ var _libs_shared_src_components_banner_header_BannerHeader__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/banner-header/BannerHeader */ "../../libs/shared/src/components/banner-header/BannerHeader.tsx");
|
|
832
|
+
/* harmony import */ var _libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/text/Text */ "../../libs/shared/src/components/text/Text.tsx");
|
|
833
|
+
/* harmony import */ var shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! shared/constants/LiteActions */ "./src/shared/constants/LiteActions.ts");
|
|
834
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
835
|
+
|
|
836
|
+
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."); }
|
|
837
|
+
|
|
838
|
+
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); }
|
|
839
|
+
|
|
840
|
+
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; }
|
|
841
|
+
|
|
842
|
+
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; }
|
|
843
|
+
|
|
844
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
845
|
+
|
|
846
|
+
|
|
847
|
+
|
|
848
|
+
|
|
849
|
+
|
|
850
|
+
|
|
851
|
+
|
|
852
|
+
|
|
853
|
+
|
|
854
|
+
var namespace = 'playlists.playlistHeader';
|
|
855
|
+
function PlaylistHeader(props) {
|
|
856
|
+
// Store isFollowing in local state so that it updates immediately.
|
|
857
|
+
var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__["useState"](props.isFollowing),
|
|
858
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
859
|
+
isFollowing = _React$useState2[0],
|
|
860
|
+
setIsFollowing = _React$useState2[1];
|
|
861
|
+
|
|
862
|
+
var isMobile = Object(_libs_shared_src_hooks_UseMediaQuery__WEBPACK_IMPORTED_MODULE_2__["useMediaQuery"])(_libs_shared_src_enums_MediaQueries__WEBPACK_IMPORTED_MODULE_3__["MediaQueryStrings"].XS);
|
|
863
|
+
if (props.showPartialLoading) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
|
|
864
|
+
var description = props.playlist.description;
|
|
865
|
+
var application = props.application;
|
|
866
|
+
var args = [props.playlist.id];
|
|
867
|
+
var actions = [];
|
|
868
|
+
|
|
869
|
+
if (props.canEdit) {
|
|
870
|
+
actions.push({
|
|
871
|
+
label: _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_1__["LanguageService"].getPhrase(namespace, 'edit'),
|
|
872
|
+
appLink: {
|
|
873
|
+
application: application,
|
|
874
|
+
action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_7__["Actions"].Playlists.EDIT_PLAYLIST,
|
|
875
|
+
args: args
|
|
876
|
+
},
|
|
877
|
+
svgName: _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_4__["cvSvgLibrary"].Edit,
|
|
878
|
+
className: 'btn btn-light',
|
|
879
|
+
button: !isMobile
|
|
880
|
+
}, {
|
|
881
|
+
label: _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_1__["LanguageService"].getPhrase(namespace, 'delete'),
|
|
882
|
+
appLink: {
|
|
883
|
+
application: application,
|
|
884
|
+
action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_7__["Actions"].Playlists.DELETE_PLAYLIST,
|
|
885
|
+
args: args
|
|
886
|
+
},
|
|
887
|
+
svgName: _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_4__["cvSvgLibrary"].Share,
|
|
888
|
+
className: 'text-danger'
|
|
889
|
+
});
|
|
890
|
+
}
|
|
891
|
+
|
|
892
|
+
if (!props.canEdit) {
|
|
893
|
+
actions.push({
|
|
894
|
+
label: _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_1__["LanguageService"].getPhrase(namespace, isFollowing ? 'following' : 'follow'),
|
|
895
|
+
onClick: function onClick() {
|
|
896
|
+
setIsFollowing(!isFollowing);
|
|
897
|
+
props.follow(!isFollowing);
|
|
898
|
+
},
|
|
899
|
+
svgName: _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_4__["cvSvgLibrary"].Bell,
|
|
900
|
+
className: "btn btn-".concat(isFollowing ? 'dark' : 'light'),
|
|
901
|
+
button: !isMobile
|
|
902
|
+
});
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_banner_header_BannerHeader__WEBPACK_IMPORTED_MODULE_5__["BannerHeader"], {
|
|
906
|
+
heading: props.playlist.name,
|
|
907
|
+
banner: props.playlist.banner,
|
|
908
|
+
imageCdnUrl: props.imageCdnUrl,
|
|
909
|
+
actions: actions.length && actions
|
|
910
|
+
}), !!description && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("h4", null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_6__["Text"], {
|
|
911
|
+
namespace: namespace,
|
|
912
|
+
phrase: 'description'
|
|
913
|
+
})), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("p", null, description)));
|
|
914
|
+
}
|
|
915
|
+
|
|
916
|
+
/***/ }),
|
|
917
|
+
|
|
918
|
+
/***/ "./src/apps/playlists/components/video-list/SortableVideoListContainer.tsx":
|
|
919
|
+
/*!*********************************************************************************!*\
|
|
920
|
+
!*** ./src/apps/playlists/components/video-list/SortableVideoListContainer.tsx ***!
|
|
921
|
+
\*********************************************************************************/
|
|
922
|
+
/*! exports provided: SortableVideoListContainer */
|
|
923
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
924
|
+
|
|
925
|
+
"use strict";
|
|
926
|
+
__webpack_require__.r(__webpack_exports__);
|
|
927
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SortableVideoListContainer", function() { return SortableVideoListContainer; });
|
|
928
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
929
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
930
|
+
/* harmony import */ var _libs_common_src_backbone__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../libs/common/src/backbone */ "../../libs/common/src/backbone/index.ts");
|
|
931
|
+
/* harmony import */ var _libs_common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../libs/common/src/backbone/utils/FunctionHelper */ "../../libs/common/src/backbone/utils/FunctionHelper.ts");
|
|
932
|
+
/* harmony import */ var _libs_common_src_backbone_errors_DevError__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../libs/common/src/backbone/errors/DevError */ "../../libs/common/src/backbone/errors/DevError.ts");
|
|
933
|
+
/* harmony import */ var _libs_shared_src_components_video_list_VideoList__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/video-list/VideoList */ "../../libs/shared/src/components/video-list/VideoList.tsx");
|
|
934
|
+
/* harmony import */ var _libs_shared_src_components_video_list_PartialVideoList__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/video-list/PartialVideoList */ "../../libs/shared/src/components/video-list/PartialVideoList.tsx");
|
|
935
|
+
/* harmony import */ var _sortable_video_list_container_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./sortable-video-list-container.scss */ "./src/apps/playlists/components/video-list/sortable-video-list-container.scss");
|
|
936
|
+
/* harmony import */ var _sortable_video_list_container_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_sortable_video_list_container_scss__WEBPACK_IMPORTED_MODULE_6__);
|
|
937
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
938
|
+
|
|
939
|
+
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."); }
|
|
940
|
+
|
|
941
|
+
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); }
|
|
942
|
+
|
|
943
|
+
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; }
|
|
944
|
+
|
|
945
|
+
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; }
|
|
946
|
+
|
|
947
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
948
|
+
|
|
949
|
+
var __rest = undefined && undefined.__rest || function (s, e) {
|
|
950
|
+
var t = {};
|
|
951
|
+
|
|
952
|
+
for (var p in s) {
|
|
953
|
+
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
954
|
+
}
|
|
955
|
+
|
|
956
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
957
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
958
|
+
}
|
|
959
|
+
return t;
|
|
960
|
+
};
|
|
961
|
+
|
|
962
|
+
|
|
963
|
+
|
|
964
|
+
|
|
965
|
+
|
|
966
|
+
|
|
967
|
+
|
|
968
|
+
|
|
969
|
+
function SortableVideoListContainer(props) {
|
|
970
|
+
var onSortComplete = props.onSortComplete,
|
|
971
|
+
onSortStart = props.onSortStart,
|
|
972
|
+
showPartialLoading = props.showPartialLoading,
|
|
973
|
+
videoListProps = __rest(props, ["onSortComplete", "onSortStart", "showPartialLoading"]);
|
|
974
|
+
|
|
975
|
+
var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__["useState"](),
|
|
976
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
977
|
+
currentSortingIndex = _React$useState2[0],
|
|
978
|
+
setCurrentSortingIndex = _React$useState2[1];
|
|
979
|
+
|
|
980
|
+
var onSortStartHandler = function onSortStartHandler(index) {
|
|
981
|
+
if (_libs_common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_2__["FunctionHelper"].isFunction(onSortStart)) onSortStart(index);
|
|
982
|
+
};
|
|
983
|
+
|
|
984
|
+
var onSortEnd = function onSortEnd(sort) {
|
|
985
|
+
setCurrentSortingIndex(null);
|
|
986
|
+
|
|
987
|
+
if (!_libs_common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_2__["FunctionHelper"].isFunction(onSortComplete)) {
|
|
988
|
+
_libs_common_src_backbone__WEBPACK_IMPORTED_MODULE_1__["Core"].ErrorHelper["throw"](new _libs_common_src_backbone_errors_DevError__WEBPACK_IMPORTED_MODULE_3__["DevError"]('An onSortComplete callback function must be passed to SortableVideoListComponent'));
|
|
989
|
+
return;
|
|
990
|
+
}
|
|
991
|
+
|
|
992
|
+
onSortComplete(sort.oldIndex, sort.newIndex);
|
|
993
|
+
};
|
|
994
|
+
|
|
995
|
+
if (showPartialLoading) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_video_list_PartialVideoList__WEBPACK_IMPORTED_MODULE_5__["PartialVideoList"], null);
|
|
996
|
+
if (!props.canEdit) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_video_list_VideoList__WEBPACK_IMPORTED_MODULE_4__["VideoList"], Object.assign({}, videoListProps));
|
|
997
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_video_list_VideoList__WEBPACK_IMPORTED_MODULE_4__["SortableVideoList"], Object.assign({}, videoListProps, {
|
|
998
|
+
currentSortingIndex: currentSortingIndex,
|
|
999
|
+
updateBeforeSortStart: function updateBeforeSortStart(_ref) {
|
|
1000
|
+
var index = _ref.index;
|
|
1001
|
+
return setCurrentSortingIndex(index);
|
|
1002
|
+
},
|
|
1003
|
+
onSortStart: function onSortStart(_ref2) {
|
|
1004
|
+
var index = _ref2.index;
|
|
1005
|
+
return onSortStartHandler(index);
|
|
1006
|
+
},
|
|
1007
|
+
onSortEnd: onSortEnd,
|
|
1008
|
+
lockAxis: 'y',
|
|
1009
|
+
lockToContainerEdges: true,
|
|
1010
|
+
lockOffset: ['0%', '100%'],
|
|
1011
|
+
helperClass: "bg-white ".concat(_sortable_video_list_container_scss__WEBPACK_IMPORTED_MODULE_6___default.a.sortableItem),
|
|
1012
|
+
distance: 1,
|
|
1013
|
+
useDragHandle: true
|
|
1014
|
+
}));
|
|
1015
|
+
}
|
|
1016
|
+
|
|
1017
|
+
/***/ }),
|
|
1018
|
+
|
|
1019
|
+
/***/ "./src/apps/playlists/components/video-list/sortable-video-list-container.scss":
|
|
1020
|
+
/*!*************************************************************************************!*\
|
|
1021
|
+
!*** ./src/apps/playlists/components/video-list/sortable-video-list-container.scss ***!
|
|
1022
|
+
\*************************************************************************************/
|
|
1023
|
+
/*! no static exports found */
|
|
1024
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
1025
|
+
|
|
1026
|
+
// extracted by mini-css-extract-plugin
|
|
1027
|
+
module.exports = {"sortableItem":"cv--sortableItem--2eiPB"};
|
|
1028
|
+
|
|
1029
|
+
/***/ }),
|
|
1030
|
+
|
|
1031
|
+
/***/ "./src/apps/playlists/utils/PlaylistVideoActionAppLinkHelper.ts":
|
|
1032
|
+
/*!**********************************************************************!*\
|
|
1033
|
+
!*** ./src/apps/playlists/utils/PlaylistVideoActionAppLinkHelper.ts ***!
|
|
1034
|
+
\**********************************************************************/
|
|
1035
|
+
/*! exports provided: getVideoActionAppLink */
|
|
1036
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
1037
|
+
|
|
1038
|
+
"use strict";
|
|
1039
|
+
__webpack_require__.r(__webpack_exports__);
|
|
1040
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getVideoActionAppLink", function() { return getVideoActionAppLink; });
|
|
1041
|
+
/* harmony import */ var _libs_shared_src_utils_video_actions_VideoActionsHelper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../libs/shared/src/utils/video-actions/VideoActionsHelper */ "../../libs/shared/src/utils/video-actions/VideoActionsHelper.ts");
|
|
1042
|
+
/* harmony import */ var shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! shared/constants/LiteActions */ "./src/shared/constants/LiteActions.ts");
|
|
1043
|
+
|
|
1044
|
+
|
|
1045
|
+
function getVideoActionAppLink(application, playlistId) {
|
|
1046
|
+
return function (video, action) {
|
|
1047
|
+
switch (action) {
|
|
1048
|
+
case _libs_shared_src_utils_video_actions_VideoActionsHelper__WEBPACK_IMPORTED_MODULE_0__["VideoAction"].RemoveFromPlaylist:
|
|
1049
|
+
return {
|
|
1050
|
+
application: application,
|
|
1051
|
+
action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_1__["Actions"].Playlists.REMOVE_VIDEO_FROM_PLAYLIST,
|
|
1052
|
+
args: [video.id, playlistId]
|
|
1053
|
+
};
|
|
1054
|
+
|
|
1055
|
+
case _libs_shared_src_utils_video_actions_VideoActionsHelper__WEBPACK_IMPORTED_MODULE_0__["VideoAction"].AddToPlaylist:
|
|
1056
|
+
return {
|
|
1057
|
+
application: application,
|
|
1058
|
+
action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_1__["Actions"].Playlists.ADD_TO_PLAYLIST,
|
|
1059
|
+
args: [video.id]
|
|
1060
|
+
};
|
|
1061
|
+
// TODO Replace this with proper appLink
|
|
1062
|
+
|
|
1063
|
+
case _libs_shared_src_utils_video_actions_VideoActionsHelper__WEBPACK_IMPORTED_MODULE_0__["VideoAction"].Share:
|
|
1064
|
+
return {
|
|
1065
|
+
application: application,
|
|
1066
|
+
action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_1__["Actions"].Playlists.HOME
|
|
1067
|
+
};
|
|
1068
|
+
}
|
|
1069
|
+
};
|
|
1070
|
+
}
|
|
1071
|
+
|
|
1072
|
+
/***/ }),
|
|
1073
|
+
|
|
1074
|
+
/***/ "./src/apps/playlists/views/playlist/PlaylistView.tsx":
|
|
1075
|
+
/*!************************************************************!*\
|
|
1076
|
+
!*** ./src/apps/playlists/views/playlist/PlaylistView.tsx ***!
|
|
1077
|
+
\************************************************************/
|
|
1078
|
+
/*! exports provided: PlaylistView */
|
|
1079
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
1080
|
+
|
|
1081
|
+
"use strict";
|
|
1082
|
+
__webpack_require__.r(__webpack_exports__);
|
|
1083
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PlaylistView", function() { return PlaylistView; });
|
|
1084
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
1085
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
1086
|
+
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "react-redux");
|
|
1087
|
+
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
|
|
1088
|
+
/* harmony import */ var _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../libs/common/src/react */ "../../libs/common/src/react/index.ts");
|
|
1089
|
+
/* harmony import */ var _libs_common_src_react_utils_ObjectHelper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../libs/common/src/react/utils/ObjectHelper */ "../../libs/common/src/react/utils/ObjectHelper.ts");
|
|
1090
|
+
/* harmony import */ var _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../../libs/analytics/src/interfaces */ "../../libs/analytics/src/interfaces/index.ts");
|
|
1091
|
+
/* harmony import */ var _libs_shared_src_apps_playlists_components_empty_state_EmptyVideoList__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/apps/playlists/components/empty-state/EmptyVideoList */ "../../libs/shared/src/apps/playlists/components/empty-state/EmptyVideoList.tsx");
|
|
1092
|
+
/* harmony import */ var _libs_shared_src_flight_requests_ConfigRequests__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/flight-requests/ConfigRequests */ "../../libs/shared/src/flight-requests/ConfigRequests.ts");
|
|
1093
|
+
/* harmony import */ var _libs_shared_src_flight_requests_UserRequests__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/flight-requests/UserRequests */ "../../libs/shared/src/flight-requests/UserRequests.ts");
|
|
1094
|
+
/* harmony import */ var _libs_shared_src_flight_requests_FavouriteVideoRequests__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/flight-requests/FavouriteVideoRequests */ "../../libs/shared/src/flight-requests/FavouriteVideoRequests.ts");
|
|
1095
|
+
/* harmony import */ var _libs_shared_src_flight_requests_PlaylistRequests__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/flight-requests/PlaylistRequests */ "../../libs/shared/src/flight-requests/PlaylistRequests.ts");
|
|
1096
|
+
/* harmony import */ var _libs_shared_src_hooks_useSetPageTitle__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/hooks/useSetPageTitle */ "../../libs/shared/src/hooks/useSetPageTitle.ts");
|
|
1097
|
+
/* harmony import */ var _libs_shared_src_hooks_UseInfiniteList__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/hooks/UseInfiniteList */ "../../libs/shared/src/hooks/UseInfiniteList.ts");
|
|
1098
|
+
/* harmony import */ var _libs_shared_src_components_infinite_scroll_footer_InfiniteScrollFooter__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/infinite-scroll-footer/InfiniteScrollFooter */ "../../libs/shared/src/components/infinite-scroll-footer/InfiniteScrollFooter.tsx");
|
|
1099
|
+
/* harmony import */ var _libs_shared_src_utils_RestrictionHelper__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/utils/RestrictionHelper */ "../../libs/shared/src/utils/RestrictionHelper.ts");
|
|
1100
|
+
/* harmony import */ var _libs_shared_src_utils_ReorderHelper__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/utils/ReorderHelper */ "../../libs/shared/src/utils/ReorderHelper.ts");
|
|
1101
|
+
/* harmony import */ var _libs_shared_src_utils_RatingHelper__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/utils/RatingHelper */ "../../libs/shared/src/utils/RatingHelper.ts");
|
|
1102
|
+
/* harmony import */ var _libs_shared_src_apps_playlists_hooks_UseHandlePlaylistError__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/apps/playlists/hooks/UseHandlePlaylistError */ "../../libs/shared/src/apps/playlists/hooks/UseHandlePlaylistError.ts");
|
|
1103
|
+
/* harmony import */ var _libs_shared_src_hooks_UseReorderedItems__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/hooks/UseReorderedItems */ "../../libs/shared/src/hooks/UseReorderedItems.ts");
|
|
1104
|
+
/* harmony import */ var _libs_shared_src_context_VideoActionsContext__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/context/VideoActionsContext */ "../../libs/shared/src/context/VideoActionsContext.tsx");
|
|
1105
|
+
/* harmony import */ var shared_hooks_useVideoMixin__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! shared/hooks/useVideoMixin */ "./src/shared/hooks/useVideoMixin.ts");
|
|
1106
|
+
/* harmony import */ var shared_flight_requests_VideoRequests__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! shared/flight-requests/VideoRequests */ "./src/shared/flight-requests/VideoRequests.ts");
|
|
1107
|
+
/* harmony import */ var apps_playlists_components_playlist_header_PlaylistHeader__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! apps/playlists/components/playlist-header/PlaylistHeader */ "./src/apps/playlists/components/playlist-header/PlaylistHeader.tsx");
|
|
1108
|
+
/* harmony import */ var apps_playlists_components_video_list_SortableVideoListContainer__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! apps/playlists/components/video-list/SortableVideoListContainer */ "./src/apps/playlists/components/video-list/SortableVideoListContainer.tsx");
|
|
1109
|
+
/* harmony import */ var apps_playlists_utils_PlaylistVideoActionAppLinkHelper__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! apps/playlists/utils/PlaylistVideoActionAppLinkHelper */ "./src/apps/playlists/utils/PlaylistVideoActionAppLinkHelper.ts");
|
|
1110
|
+
/* harmony import */ var _PlaylistViewUtils__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./PlaylistViewUtils */ "./src/apps/playlists/views/playlist/PlaylistViewUtils.ts");
|
|
1111
|
+
/* harmony import */ var _libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../../../../../../libs/analytics/src/AnalyticsHelper */ "../../libs/analytics/src/AnalyticsHelper.ts");
|
|
1112
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
1113
|
+
|
|
1114
|
+
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."); }
|
|
1115
|
+
|
|
1116
|
+
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); }
|
|
1117
|
+
|
|
1118
|
+
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; }
|
|
1119
|
+
|
|
1120
|
+
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; }
|
|
1121
|
+
|
|
1122
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
1123
|
+
|
|
1124
|
+
|
|
1125
|
+
|
|
1126
|
+
|
|
1127
|
+
|
|
1128
|
+
|
|
1129
|
+
|
|
1130
|
+
|
|
1131
|
+
|
|
1132
|
+
|
|
1133
|
+
|
|
1134
|
+
|
|
1135
|
+
|
|
1136
|
+
|
|
1137
|
+
|
|
1138
|
+
|
|
1139
|
+
|
|
1140
|
+
|
|
1141
|
+
|
|
1142
|
+
|
|
1143
|
+
|
|
1144
|
+
|
|
1145
|
+
|
|
1146
|
+
|
|
1147
|
+
|
|
1148
|
+
|
|
1149
|
+
|
|
1150
|
+
function PlaylistView(props) {
|
|
1151
|
+
var _a;
|
|
1152
|
+
|
|
1153
|
+
var dispatch = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useDispatch"])();
|
|
1154
|
+
var config = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useBasicFetch(_libs_shared_src_flight_requests_ConfigRequests__WEBPACK_IMPORTED_MODULE_6__["ConfigRequests"].config);
|
|
1155
|
+
var user = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useBasicFetch(_libs_shared_src_flight_requests_UserRequests__WEBPACK_IMPORTED_MODULE_7__["UserRequests"].currentUser);
|
|
1156
|
+
var isUserSignedIn = !_libs_common_src_react_utils_ObjectHelper__WEBPACK_IMPORTED_MODULE_3__["ObjectHelper"].isEmpty(user.data);
|
|
1157
|
+
var maxAllowedRating = props.filterByRating ? isUserSignedIn && _libs_shared_src_utils_RatingHelper__WEBPACK_IMPORTED_MODULE_15__["RatingHelper"].getMaxAllowedRatingForUser(user.data) : null;
|
|
1158
|
+
var playlistRequest = props.isShared ? !!user.data && _libs_shared_src_flight_requests_PlaylistRequests__WEBPACK_IMPORTED_MODULE_9__["PlaylistRequests"].getSharedPlaylist(props.playlistId, maxAllowedRating) : _libs_shared_src_flight_requests_PlaylistRequests__WEBPACK_IMPORTED_MODULE_9__["PlaylistRequests"].getPlaylist(props.playlistId);
|
|
1159
|
+
var playlist = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useBasicFetch(playlistRequest);
|
|
1160
|
+
Object(_libs_shared_src_apps_playlists_hooks_UseHandlePlaylistError__WEBPACK_IMPORTED_MODULE_16__["useHandlePlaylistError"])(playlist);
|
|
1161
|
+
|
|
1162
|
+
var getVideosRequest = !!user.data && function (cursor) {
|
|
1163
|
+
var request = props.isShared ? _libs_shared_src_flight_requests_PlaylistRequests__WEBPACK_IMPORTED_MODULE_9__["PlaylistRequests"].getSharedPlaylistVideos : _libs_shared_src_flight_requests_PlaylistRequests__WEBPACK_IMPORTED_MODULE_9__["PlaylistRequests"].getPlaylistVideos;
|
|
1164
|
+
return request(props.playlistId, maxAllowedRating, cursor);
|
|
1165
|
+
};
|
|
1166
|
+
|
|
1167
|
+
var following = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useBasicFetch(!!user.data && _libs_shared_src_flight_requests_PlaylistRequests__WEBPACK_IMPORTED_MODULE_9__["PlaylistRequests"].getIsFollowingPlaylist(props.playlistId, user.data.id));
|
|
1168
|
+
|
|
1169
|
+
var fetchNext = function fetchNext(cursor) {
|
|
1170
|
+
_libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].getFetch(dispatch, getVideosRequest(cursor))();
|
|
1171
|
+
};
|
|
1172
|
+
|
|
1173
|
+
var _useInfiniteList = Object(_libs_shared_src_hooks_UseInfiniteList__WEBPACK_IMPORTED_MODULE_11__["useInfiniteList"])(getVideosRequest, fetchNext),
|
|
1174
|
+
videos = _useInfiniteList.items,
|
|
1175
|
+
hasMore = _useInfiniteList.hasMore,
|
|
1176
|
+
isFetching = _useInfiniteList.isFetching;
|
|
1177
|
+
|
|
1178
|
+
Object(shared_hooks_useVideoMixin__WEBPACK_IMPORTED_MODULE_19__["useVideoMixin"])(videos); // Locally stored array of videos used to immediately reflect changes in order.
|
|
1179
|
+
|
|
1180
|
+
var _useReorderedItems = Object(_libs_shared_src_hooks_UseReorderedItems__WEBPACK_IMPORTED_MODULE_17__["useReorderedItems"])(videos),
|
|
1181
|
+
_useReorderedItems2 = _slicedToArray(_useReorderedItems, 2),
|
|
1182
|
+
reorderedVideos = _useReorderedItems2[0],
|
|
1183
|
+
setReorderedVideos = _useReorderedItems2[1];
|
|
1184
|
+
|
|
1185
|
+
var restrictionsRequest = isUserSignedIn && !!videos && !!videos.length && shared_flight_requests_VideoRequests__WEBPACK_IMPORTED_MODULE_20__["VideoRequests"].getRestrictions(videos.map(function (v) {
|
|
1186
|
+
return v.id;
|
|
1187
|
+
}));
|
|
1188
|
+
var restrictions = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useGetResponse(restrictionsRequest && restrictionsRequest.key);
|
|
1189
|
+
var fetchRestrictions = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useGetFetch(restrictionsRequest);
|
|
1190
|
+
|
|
1191
|
+
if (restrictionsRequest && restrictions.shouldFetch) {
|
|
1192
|
+
fetchRestrictions();
|
|
1193
|
+
}
|
|
1194
|
+
|
|
1195
|
+
var videosWithRestrictions = isUserSignedIn ? !!restrictions.data && _libs_shared_src_utils_RestrictionHelper__WEBPACK_IMPORTED_MODULE_13__["RestrictionHelper"].mixinRestrictions(videos, restrictions.data) : videos;
|
|
1196
|
+
Object(_libs_shared_src_hooks_useSetPageTitle__WEBPACK_IMPORTED_MODULE_10__["useSetPageTitle"])(!!playlist.data && playlist.data.name, [playlist.data]);
|
|
1197
|
+
|
|
1198
|
+
var onSortStart = function onSortStart(index) {
|
|
1199
|
+
var video = videos[index];
|
|
1200
|
+
if (video) _PlaylistViewUtils__WEBPACK_IMPORTED_MODULE_24__["logSortAction"](props.playlistId, video.id, _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_4__["WorkflowPhase"].Start);
|
|
1201
|
+
};
|
|
1202
|
+
|
|
1203
|
+
var onSortComplete = function onSortComplete(oldIdx, newIdx) {
|
|
1204
|
+
if (oldIdx === newIdx) return;
|
|
1205
|
+
var video = videosWithRestrictions[oldIdx];
|
|
1206
|
+
if (!video) return;
|
|
1207
|
+
|
|
1208
|
+
var _ReorderHelper$reorde = _libs_shared_src_utils_ReorderHelper__WEBPACK_IMPORTED_MODULE_14__["ReorderHelper"].reorder(videosWithRestrictions, oldIdx, newIdx),
|
|
1209
|
+
reorderedItems = _ReorderHelper$reorde.reorderedItems,
|
|
1210
|
+
reorderRequest = _ReorderHelper$reorde.reorderRequest;
|
|
1211
|
+
|
|
1212
|
+
setReorderedVideos(reorderedItems);
|
|
1213
|
+
_PlaylistViewUtils__WEBPACK_IMPORTED_MODULE_24__["logSortAction"](props.playlistId, video.id, _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_4__["WorkflowPhase"].Complete);
|
|
1214
|
+
|
|
1215
|
+
var onError = function onError() {
|
|
1216
|
+
setReorderedVideos(null);
|
|
1217
|
+
};
|
|
1218
|
+
|
|
1219
|
+
_libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].fetch(dispatch, _libs_shared_src_flight_requests_PlaylistRequests__WEBPACK_IMPORTED_MODULE_9__["PlaylistRequests"].reorderVideos(props.playlistId, reorderRequest, null, onError));
|
|
1220
|
+
};
|
|
1221
|
+
|
|
1222
|
+
var follow = function follow(shouldFollow) {
|
|
1223
|
+
var req = shouldFollow ? _libs_shared_src_flight_requests_PlaylistRequests__WEBPACK_IMPORTED_MODULE_9__["PlaylistRequests"].followPlaylist : _libs_shared_src_flight_requests_PlaylistRequests__WEBPACK_IMPORTED_MODULE_9__["PlaylistRequests"].unfollowPlaylist;
|
|
1224
|
+
_libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].fetch(dispatch, req(props.playlistId, user.data.id));
|
|
1225
|
+
};
|
|
1226
|
+
|
|
1227
|
+
var setFavourite = function setFavourite(videoId, shouldFavourite, onError) {
|
|
1228
|
+
_libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].fetch(dispatch, _libs_shared_src_flight_requests_FavouriteVideoRequests__WEBPACK_IMPORTED_MODULE_8__["FavouriteVideoRequests"].updateIsVideoFavourited(videoId, user.data.id, shouldFavourite, function () {
|
|
1229
|
+
_libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_25__["AnalyticsHelper"].logUserAction({
|
|
1230
|
+
id: videoId
|
|
1231
|
+
}, {
|
|
1232
|
+
entity: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_4__["EntityType"].Video,
|
|
1233
|
+
actionType: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_4__["UserAction"].Favourite,
|
|
1234
|
+
descriptor: shouldFavourite ? _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_4__["ToggleDescriptor"].On : _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_4__["ToggleDescriptor"].Off,
|
|
1235
|
+
location: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_4__["LocationContext"].VideoThumbnail,
|
|
1236
|
+
workflowPhase: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_4__["WorkflowPhase"].Complete
|
|
1237
|
+
});
|
|
1238
|
+
}, onError));
|
|
1239
|
+
};
|
|
1240
|
+
|
|
1241
|
+
var canEdit = !!props.allowEdit && _PlaylistViewUtils__WEBPACK_IMPORTED_MODULE_24__["canEditPlaylist"](playlist.data, user.data);
|
|
1242
|
+
var playlistIsEmpty = !!videos && videos.length === 0;
|
|
1243
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_context_VideoActionsContext__WEBPACK_IMPORTED_MODULE_18__["VideoActionsContext"].Provider, {
|
|
1244
|
+
value: {
|
|
1245
|
+
videoActions: _PlaylistViewUtils__WEBPACK_IMPORTED_MODULE_24__["getVideoActions"](canEdit),
|
|
1246
|
+
getActionAppLink: Object(apps_playlists_utils_PlaylistVideoActionAppLinkHelper__WEBPACK_IMPORTED_MODULE_23__["getVideoActionAppLink"])(props.application, props.playlistId)
|
|
1247
|
+
}
|
|
1248
|
+
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
1249
|
+
className: 'bg-white padding-gutter'
|
|
1250
|
+
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](apps_playlists_components_playlist_header_PlaylistHeader__WEBPACK_IMPORTED_MODULE_21__["PlaylistHeader"], {
|
|
1251
|
+
playlistId: props.playlistId,
|
|
1252
|
+
playlist: playlist.data,
|
|
1253
|
+
hasVideos: !playlistIsEmpty,
|
|
1254
|
+
isFollowing: (_a = following.data) === null || _a === void 0 ? void 0 : _a.isFollowing,
|
|
1255
|
+
follow: follow,
|
|
1256
|
+
application: props.application,
|
|
1257
|
+
canEdit: canEdit,
|
|
1258
|
+
isShared: props.isShared,
|
|
1259
|
+
showBreadcrumbs: props.showBreadcrumbs,
|
|
1260
|
+
showDateMetadata: props.showDateMetadata,
|
|
1261
|
+
playAllAppLink: props.playAllAppLink,
|
|
1262
|
+
showPartialLoading: !playlist.data || !videos || !user.data || !config.data || !following.data,
|
|
1263
|
+
lastUpdated: !!videos && _PlaylistViewUtils__WEBPACK_IMPORTED_MODULE_24__["getLastUpdatedDate"](videos),
|
|
1264
|
+
imageCdnUrl: !!config.data && config.data.imageCdnUrl,
|
|
1265
|
+
returnAppLink: props.returnAppLink
|
|
1266
|
+
}), playlistIsEmpty ? !!config.data && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_apps_playlists_components_empty_state_EmptyVideoList__WEBPACK_IMPORTED_MODULE_5__["EmptyVideoListComponent"], {
|
|
1267
|
+
supportSiteUrl: config.data.supportSiteUrl
|
|
1268
|
+
}) : react__WEBPACK_IMPORTED_MODULE_0__["createElement"](apps_playlists_components_video_list_SortableVideoListContainer__WEBPACK_IMPORTED_MODULE_22__["SortableVideoListContainer"], {
|
|
1269
|
+
videos: reorderedVideos || videosWithRestrictions,
|
|
1270
|
+
playlistId: !!playlist.data && playlist.data.id,
|
|
1271
|
+
onSortStart: onSortStart,
|
|
1272
|
+
onSortComplete: onSortComplete,
|
|
1273
|
+
isUserSignedIn: isUserSignedIn,
|
|
1274
|
+
canEdit: canEdit,
|
|
1275
|
+
showPartialLoading: !videosWithRestrictions || !user.data || !config.data,
|
|
1276
|
+
getVideoAppLink: props.getVideoAppLink,
|
|
1277
|
+
getSeriesAppLink: props.getSeriesAppLink,
|
|
1278
|
+
fetchRestrictions: fetchRestrictions,
|
|
1279
|
+
setFavourite: setFavourite
|
|
1280
|
+
}), !!hasMore && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_infinite_scroll_footer_InfiniteScrollFooter__WEBPACK_IMPORTED_MODULE_12__["InfiniteScrollFooter"], {
|
|
1281
|
+
isFetching: isFetching,
|
|
1282
|
+
onClick: fetchNext
|
|
1283
|
+
})));
|
|
1284
|
+
}
|
|
1285
|
+
|
|
1286
|
+
/***/ }),
|
|
1287
|
+
|
|
1288
|
+
/***/ "./src/apps/playlists/views/playlist/PlaylistViewUtils.ts":
|
|
1289
|
+
/*!****************************************************************!*\
|
|
1290
|
+
!*** ./src/apps/playlists/views/playlist/PlaylistViewUtils.ts ***!
|
|
1291
|
+
\****************************************************************/
|
|
1292
|
+
/*! exports provided: getLastUpdatedDate, getVideoActions, logSortAction, canEditPlaylist */
|
|
1293
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
1294
|
+
|
|
1295
|
+
"use strict";
|
|
1296
|
+
__webpack_require__.r(__webpack_exports__);
|
|
1297
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLastUpdatedDate", function() { return getLastUpdatedDate; });
|
|
1298
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getVideoActions", function() { return getVideoActions; });
|
|
1299
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "logSortAction", function() { return logSortAction; });
|
|
1300
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "canEditPlaylist", function() { return canEditPlaylist; });
|
|
1301
|
+
/* harmony import */ var _libs_common_src_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../libs/common/src/react/utils/ArrayHelper */ "../../libs/common/src/react/utils/ArrayHelper.ts");
|
|
1302
|
+
/* harmony import */ var _libs_common_src_react_utils_ObjectHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../libs/common/src/react/utils/ObjectHelper */ "../../libs/common/src/react/utils/ObjectHelper.ts");
|
|
1303
|
+
/* harmony import */ var _libs_shared_src_utils_video_actions_VideoActionsHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/utils/video-actions/VideoActionsHelper */ "../../libs/shared/src/utils/video-actions/VideoActionsHelper.ts");
|
|
1304
|
+
/* harmony import */ var _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../libs/analytics/src/interfaces */ "../../libs/analytics/src/interfaces/index.ts");
|
|
1305
|
+
/* harmony import */ var _libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../../libs/analytics/src/AnalyticsHelper */ "../../libs/analytics/src/AnalyticsHelper.ts");
|
|
1306
|
+
|
|
1307
|
+
|
|
1308
|
+
|
|
1309
|
+
|
|
1310
|
+
|
|
1311
|
+
/**
|
|
1312
|
+
* NOTE:
|
|
1313
|
+
* This will be wrong if we increase the playlist limit from 100, or
|
|
1314
|
+
* stop fetching all 100 videos at once.
|
|
1315
|
+
*/
|
|
1316
|
+
|
|
1317
|
+
function getLastUpdatedDate(videos) {
|
|
1318
|
+
var videoLastUpdatedDates = videos && videos.length && videos.map(function (v) {
|
|
1319
|
+
return v.dateAssociated;
|
|
1320
|
+
});
|
|
1321
|
+
return videoLastUpdatedDates && videoLastUpdatedDates.length ? _libs_common_src_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_0__["ArrayHelper"].max(videoLastUpdatedDates, function (date) {
|
|
1322
|
+
return new Date(date).getTime();
|
|
1323
|
+
}) : null;
|
|
1324
|
+
}
|
|
1325
|
+
function getVideoActions(canEdit) {
|
|
1326
|
+
return [canEdit ? _libs_shared_src_utils_video_actions_VideoActionsHelper__WEBPACK_IMPORTED_MODULE_2__["VideoAction"].RemoveFromPlaylist : _libs_shared_src_utils_video_actions_VideoActionsHelper__WEBPACK_IMPORTED_MODULE_2__["VideoAction"].AddToPlaylist, _libs_shared_src_utils_video_actions_VideoActionsHelper__WEBPACK_IMPORTED_MODULE_2__["VideoAction"].Share];
|
|
1327
|
+
}
|
|
1328
|
+
function logSortAction(playlistId, videoId, workflowPhase) {
|
|
1329
|
+
_libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_4__["AnalyticsHelper"].logUserAction({
|
|
1330
|
+
id: videoId,
|
|
1331
|
+
playlistId: playlistId
|
|
1332
|
+
}, {
|
|
1333
|
+
location: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_3__["LocationContext"].VideoList,
|
|
1334
|
+
entity: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_3__["EntityType"].Video,
|
|
1335
|
+
actionType: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_3__["UserAction"].Move,
|
|
1336
|
+
workflowPhase: workflowPhase
|
|
1337
|
+
});
|
|
1338
|
+
}
|
|
1339
|
+
function canEditPlaylist(playlist, user) {
|
|
1340
|
+
if (_libs_common_src_react_utils_ObjectHelper__WEBPACK_IMPORTED_MODULE_1__["ObjectHelper"].isEmpty(user) || !playlist || _libs_common_src_react_utils_ObjectHelper__WEBPACK_IMPORTED_MODULE_1__["ObjectHelper"].isEmpty(playlist.owner)) return false;
|
|
1341
|
+
return playlist.owner.id === user.id;
|
|
1342
|
+
}
|
|
1343
|
+
|
|
1344
|
+
/***/ }),
|
|
1345
|
+
|
|
1346
|
+
/***/ "./src/shared/hooks/useVideoMixin.ts":
|
|
1347
|
+
/*!*******************************************!*\
|
|
1348
|
+
!*** ./src/shared/hooks/useVideoMixin.ts ***!
|
|
1349
|
+
\*******************************************/
|
|
1350
|
+
/*! exports provided: useVideoMixin */
|
|
1351
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
1352
|
+
|
|
1353
|
+
"use strict";
|
|
1354
|
+
__webpack_require__.r(__webpack_exports__);
|
|
1355
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useVideoMixin", function() { return useVideoMixin; });
|
|
1356
|
+
/* harmony import */ var _libs_common_src_react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../libs/common/src/react */ "../../libs/common/src/react/index.ts");
|
|
1357
|
+
/* 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");
|
|
1358
|
+
/* 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");
|
|
1359
|
+
/* harmony import */ var shared_flight_requests_VideoRequests__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! shared/flight-requests/VideoRequests */ "./src/shared/flight-requests/VideoRequests.ts");
|
|
1360
|
+
|
|
1361
|
+
|
|
1362
|
+
|
|
1363
|
+
|
|
1364
|
+
|
|
1365
|
+
function fetchAttribute(videosFetched, request) {
|
|
1366
|
+
var attribute = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_0__["Flight"].useGetResponse(request && request.key);
|
|
1367
|
+
var fetch = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_0__["Flight"].useGetFetch(request);
|
|
1368
|
+
if (videosFetched && attribute.shouldFetch) fetch();
|
|
1369
|
+
}
|
|
1370
|
+
|
|
1371
|
+
function useVideoMixin(videos) {
|
|
1372
|
+
var currentUser = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_0__["Flight"].useBasicFetch(_libs_shared_src_flight_requests_UserRequests__WEBPACK_IMPORTED_MODULE_1__["UserRequests"].currentUser);
|
|
1373
|
+
var videoIds = videos && (Array.isArray(videos) ? videos.map(function (v) {
|
|
1374
|
+
return v.id;
|
|
1375
|
+
}) : videos.data.map(function (v) {
|
|
1376
|
+
return v.id;
|
|
1377
|
+
}));
|
|
1378
|
+
var requests = [videoIds && shared_flight_requests_VideoRequests__WEBPACK_IMPORTED_MODULE_3__["VideoRequests"].videoRatings(videoIds), videoIds && currentUser.data && _libs_shared_src_flight_requests_FavouriteVideoRequests__WEBPACK_IMPORTED_MODULE_2__["FavouriteVideoRequests"].isFavourited(currentUser.data.id, videoIds)];
|
|
1379
|
+
requests.forEach(function (r) {
|
|
1380
|
+
return fetchAttribute(!!videos, r);
|
|
1381
|
+
});
|
|
1382
|
+
}
|
|
1383
|
+
|
|
1384
|
+
/***/ })
|
|
1385
|
+
|
|
1386
|
+
}]);
|
|
1387
|
+
//# sourceMappingURL=22.chunk.js.map
|