@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
|
@@ -0,0 +1,470 @@
|
|
|
1
|
+
(window["webpackJsonp_clickview_lite"] = window["webpackJsonp_clickview_lite"] || []).push([[8],{
|
|
2
|
+
|
|
3
|
+
/***/ "../../libs/shared/src/apps/playlists/enums/MigrationTaskStatus.ts":
|
|
4
|
+
/*!*************************************************************************************************************!*\
|
|
5
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/enums/MigrationTaskStatus.ts ***!
|
|
6
|
+
\*************************************************************************************************************/
|
|
7
|
+
/*! exports provided: MigrationTaskStatus */
|
|
8
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
9
|
+
|
|
10
|
+
"use strict";
|
|
11
|
+
__webpack_require__.r(__webpack_exports__);
|
|
12
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MigrationTaskStatus", function() { return MigrationTaskStatus; });
|
|
13
|
+
var MigrationTaskStatus;
|
|
14
|
+
|
|
15
|
+
(function (MigrationTaskStatus) {
|
|
16
|
+
MigrationTaskStatus[MigrationTaskStatus["Queued"] = 1] = "Queued";
|
|
17
|
+
MigrationTaskStatus[MigrationTaskStatus["Processing"] = 2] = "Processing";
|
|
18
|
+
MigrationTaskStatus[MigrationTaskStatus["Processed"] = 3] = "Processed";
|
|
19
|
+
MigrationTaskStatus[MigrationTaskStatus["Errored"] = 4] = "Errored";
|
|
20
|
+
})(MigrationTaskStatus || (MigrationTaskStatus = {}));
|
|
21
|
+
|
|
22
|
+
/***/ }),
|
|
23
|
+
|
|
24
|
+
/***/ "../../libs/shared/src/apps/playlists/interfaces/identifiers/PlaylistCollectionIdentifier.ts":
|
|
25
|
+
/*!***************************************************************************************************************************************!*\
|
|
26
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/interfaces/identifiers/PlaylistCollectionIdentifier.ts ***!
|
|
27
|
+
\***************************************************************************************************************************************/
|
|
28
|
+
/*! exports provided: PlaylistCollectionIdentifier */
|
|
29
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
30
|
+
|
|
31
|
+
"use strict";
|
|
32
|
+
__webpack_require__.r(__webpack_exports__);
|
|
33
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PlaylistCollectionIdentifier", function() { return PlaylistCollectionIdentifier; });
|
|
34
|
+
/* harmony import */ var _common_src_backbone_interfaces__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../common/src/backbone/interfaces */ "../../libs/common/src/backbone/interfaces/index.ts");
|
|
35
|
+
/* harmony import */ var _enums_PlaylistSortType__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../enums/PlaylistSortType */ "../../libs/shared/src/apps/playlists/enums/PlaylistSortType.ts");
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class PlaylistCollectionIdentifier extends _common_src_backbone_interfaces__WEBPACK_IMPORTED_MODULE_0__["BaseCollectionIdentifier"] {
|
|
39
|
+
constructor(sort = _enums_PlaylistSortType__WEBPACK_IMPORTED_MODULE_1__["PlaylistSortType"].Newest, cursor = '') {
|
|
40
|
+
super({
|
|
41
|
+
collectionPrefix: 'user:playlists',
|
|
42
|
+
cursor,
|
|
43
|
+
sort
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/***/ }),
|
|
50
|
+
|
|
51
|
+
/***/ "../../libs/shared/src/apps/playlists/interfaces/identifiers/PlaylistVideoCollectionIdentifier.ts":
|
|
52
|
+
/*!********************************************************************************************************************************************!*\
|
|
53
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/interfaces/identifiers/PlaylistVideoCollectionIdentifier.ts ***!
|
|
54
|
+
\********************************************************************************************************************************************/
|
|
55
|
+
/*! exports provided: PlaylistVideoCollectionIdentifier */
|
|
56
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
57
|
+
|
|
58
|
+
"use strict";
|
|
59
|
+
__webpack_require__.r(__webpack_exports__);
|
|
60
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PlaylistVideoCollectionIdentifier", function() { return PlaylistVideoCollectionIdentifier; });
|
|
61
|
+
/* harmony import */ var _common_src_backbone_interfaces__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../common/src/backbone/interfaces */ "../../libs/common/src/backbone/interfaces/index.ts");
|
|
62
|
+
|
|
63
|
+
class PlaylistVideoCollectionIdentifier extends _common_src_backbone_interfaces__WEBPACK_IMPORTED_MODULE_0__["BaseCollectionIdentifier"] {
|
|
64
|
+
constructor(id, cursor = '') {
|
|
65
|
+
super({
|
|
66
|
+
collectionPrefix: 'playlist:videos',
|
|
67
|
+
id,
|
|
68
|
+
cursor
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/***/ }),
|
|
75
|
+
|
|
76
|
+
/***/ "../../libs/shared/src/apps/playlists/interfaces/identifiers/index.ts":
|
|
77
|
+
/*!****************************************************************************************************************!*\
|
|
78
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/interfaces/identifiers/index.ts ***!
|
|
79
|
+
\****************************************************************************************************************/
|
|
80
|
+
/*! exports provided: PlaylistCollectionIdentifier, PlaylistVideoCollectionIdentifier */
|
|
81
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
82
|
+
|
|
83
|
+
"use strict";
|
|
84
|
+
__webpack_require__.r(__webpack_exports__);
|
|
85
|
+
/* harmony import */ var _PlaylistCollectionIdentifier__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PlaylistCollectionIdentifier */ "../../libs/shared/src/apps/playlists/interfaces/identifiers/PlaylistCollectionIdentifier.ts");
|
|
86
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PlaylistCollectionIdentifier", function() { return _PlaylistCollectionIdentifier__WEBPACK_IMPORTED_MODULE_0__["PlaylistCollectionIdentifier"]; });
|
|
87
|
+
|
|
88
|
+
/* harmony import */ var _PlaylistVideoCollectionIdentifier__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PlaylistVideoCollectionIdentifier */ "../../libs/shared/src/apps/playlists/interfaces/identifiers/PlaylistVideoCollectionIdentifier.ts");
|
|
89
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PlaylistVideoCollectionIdentifier", function() { return _PlaylistVideoCollectionIdentifier__WEBPACK_IMPORTED_MODULE_1__["PlaylistVideoCollectionIdentifier"]; });
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
/***/ }),
|
|
95
|
+
|
|
96
|
+
/***/ "../../libs/shared/src/apps/playlists/interfaces/index.ts":
|
|
97
|
+
/*!****************************************************************************************************!*\
|
|
98
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/interfaces/index.ts ***!
|
|
99
|
+
\****************************************************************************************************/
|
|
100
|
+
/*! exports provided: PlaylistCollectionIdentifier, PlaylistVideoCollectionIdentifier */
|
|
101
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
102
|
+
|
|
103
|
+
"use strict";
|
|
104
|
+
__webpack_require__.r(__webpack_exports__);
|
|
105
|
+
/* harmony import */ var _identifiers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./identifiers */ "../../libs/shared/src/apps/playlists/interfaces/identifiers/index.ts");
|
|
106
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PlaylistCollectionIdentifier", function() { return _identifiers__WEBPACK_IMPORTED_MODULE_0__["PlaylistCollectionIdentifier"]; });
|
|
107
|
+
|
|
108
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PlaylistVideoCollectionIdentifier", function() { return _identifiers__WEBPACK_IMPORTED_MODULE_0__["PlaylistVideoCollectionIdentifier"]; });
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
/***/ }),
|
|
113
|
+
|
|
114
|
+
/***/ "../../libs/shared/src/apps/playlists/utils/PlaylistStateUpdateHelper.ts":
|
|
115
|
+
/*!*******************************************************************************************************************!*\
|
|
116
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/utils/PlaylistStateUpdateHelper.ts ***!
|
|
117
|
+
\*******************************************************************************************************************/
|
|
118
|
+
/*! exports provided: PlaylistStateUpdateHelper */
|
|
119
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
120
|
+
|
|
121
|
+
"use strict";
|
|
122
|
+
__webpack_require__.r(__webpack_exports__);
|
|
123
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PlaylistStateUpdateHelper", function() { return PlaylistStateUpdateHelper; });
|
|
124
|
+
const PlaylistStateUpdateHelper = {
|
|
125
|
+
updatePlaylist(key, newPlaylist) {
|
|
126
|
+
return state => {
|
|
127
|
+
const updatedState = Object.assign({}, state);
|
|
128
|
+
if (updatedState.hasOwnProperty(key)) updatedState[key] = Object.assign(Object.assign({}, updatedState[key]), newPlaylist);
|
|
129
|
+
return updatedState;
|
|
130
|
+
};
|
|
131
|
+
},
|
|
132
|
+
|
|
133
|
+
deletePlaylist(key) {
|
|
134
|
+
return state => {
|
|
135
|
+
const updatedState = Object.assign({}, state);
|
|
136
|
+
if (updatedState.hasOwnProperty(key)) delete updatedState[key];
|
|
137
|
+
return updatedState;
|
|
138
|
+
};
|
|
139
|
+
},
|
|
140
|
+
|
|
141
|
+
incrementVideoCount(key, count) {
|
|
142
|
+
return state => {
|
|
143
|
+
const updatedState = Object.assign({}, state);
|
|
144
|
+
if (!updatedState.hasOwnProperty(key)) return state;
|
|
145
|
+
if (!updatedState[key].videos) updatedState[key].videos = {};
|
|
146
|
+
updatedState[key].videos.count = updatedState[key].videos.count ? updatedState[key].videos.count + count : count;
|
|
147
|
+
return updatedState;
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
/***/ }),
|
|
154
|
+
|
|
155
|
+
/***/ "../../libs/shared/src/flight-requests/PlaylistRequests.ts":
|
|
156
|
+
/*!*****************************************************************************************************!*\
|
|
157
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/flight-requests/PlaylistRequests.ts ***!
|
|
158
|
+
\*****************************************************************************************************/
|
|
159
|
+
/*! exports provided: PlaylistRequests */
|
|
160
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
161
|
+
|
|
162
|
+
"use strict";
|
|
163
|
+
__webpack_require__.r(__webpack_exports__);
|
|
164
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PlaylistRequests", function() { return PlaylistRequests; });
|
|
165
|
+
/* harmony import */ var _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/src/backbone/enums/HttpVerbs */ "../../libs/common/src/backbone/enums/HttpVerbs.ts");
|
|
166
|
+
/* harmony import */ var _constants_WithStatements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/WithStatements */ "../../libs/shared/src/constants/WithStatements.ts");
|
|
167
|
+
/* harmony import */ var _utils_ReorderHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/ReorderHelper */ "../../libs/shared/src/utils/ReorderHelper.ts");
|
|
168
|
+
/* harmony import */ var _apps_playlists_interfaces__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../apps/playlists/interfaces */ "../../libs/shared/src/apps/playlists/interfaces/index.ts");
|
|
169
|
+
/* harmony import */ var _apps_playlists_enums_MigrationTaskStatus__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../apps/playlists/enums/MigrationTaskStatus */ "../../libs/shared/src/apps/playlists/enums/MigrationTaskStatus.ts");
|
|
170
|
+
/* harmony import */ var _apps_playlists_utils_PlaylistStateUpdateHelper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../apps/playlists/utils/PlaylistStateUpdateHelper */ "../../libs/shared/src/apps/playlists/utils/PlaylistStateUpdateHelper.ts");
|
|
171
|
+
/* harmony import */ var _apps_playlists_utils_PlaylistSortHelper__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../apps/playlists/utils/PlaylistSortHelper */ "../../libs/shared/src/apps/playlists/utils/PlaylistSortHelper.ts");
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
const addCursor = cursor => cursor ? `&cursor=${cursor}` : '';
|
|
181
|
+
|
|
182
|
+
const addMaxRatingValue = maxRatingValue => Number.isInteger(maxRatingValue) ? `&maxRatingValue=${maxRatingValue}` : '';
|
|
183
|
+
|
|
184
|
+
const getDataPrefixWithCursor = (key, cursor) => `${key}${cursor ? `:${cursor}` : ''}`;
|
|
185
|
+
|
|
186
|
+
const PlaylistRequests = {
|
|
187
|
+
getPlaylist(id, success, error) {
|
|
188
|
+
return {
|
|
189
|
+
url: `/api/domain/v2/objects/${id}?query=${_constants_WithStatements__WEBPACK_IMPORTED_MODULE_1__["SharedWithStatements"].PLAYLIST}`,
|
|
190
|
+
key: `playlist:${id}`,
|
|
191
|
+
success,
|
|
192
|
+
error
|
|
193
|
+
};
|
|
194
|
+
},
|
|
195
|
+
|
|
196
|
+
getSharedPlaylist(shareCode, maxAllowedRating, success, error) {
|
|
197
|
+
const baseUrl = `/api/domain/v2/share/${shareCode}`;
|
|
198
|
+
return {
|
|
199
|
+
url: `${baseUrl}?query=${_constants_WithStatements__WEBPACK_IMPORTED_MODULE_1__["SharedWithStatements"].PLAYLIST}${addMaxRatingValue(maxAllowedRating)}`,
|
|
200
|
+
key: `shared:playlist:${shareCode}`,
|
|
201
|
+
success,
|
|
202
|
+
error
|
|
203
|
+
};
|
|
204
|
+
},
|
|
205
|
+
|
|
206
|
+
getUserPlaylists(collectionIdentifier) {
|
|
207
|
+
const filter = _apps_playlists_utils_PlaylistSortHelper__WEBPACK_IMPORTED_MODULE_6__["PlaylistSortHelper"].getFilterFromSort(collectionIdentifier.sort);
|
|
208
|
+
return {
|
|
209
|
+
url: `/api/domain/v2/me/playlists?query={${filter},limit:100}` + `${_constants_WithStatements__WEBPACK_IMPORTED_MODULE_1__["SharedWithStatements"].PLAYLIST_COLLECTION}${addCursor(collectionIdentifier.cursor)}`,
|
|
210
|
+
key: collectionIdentifier.toString()
|
|
211
|
+
};
|
|
212
|
+
},
|
|
213
|
+
|
|
214
|
+
getPlaylistVideos(id, maxAllowedRating, cursor) {
|
|
215
|
+
let filter = 'orderBy:orderindex,limit:100';
|
|
216
|
+
if (Number.isInteger(maxAllowedRating)) filter += `,rating.value:0...${maxAllowedRating}`;
|
|
217
|
+
return {
|
|
218
|
+
url: `/api/domain/v2/objects/${id}/videos?query={${filter}}` + `${_constants_WithStatements__WEBPACK_IMPORTED_MODULE_1__["SharedWithStatements"].VIDEO_COLLECTION}${addCursor(cursor)}`,
|
|
219
|
+
key: getDataPrefixWithCursor(`playlist:${id}:videos`, cursor)
|
|
220
|
+
};
|
|
221
|
+
},
|
|
222
|
+
|
|
223
|
+
getSharedPlaylistVideos(shareCode, maxAllowedRating, cursor) {
|
|
224
|
+
return {
|
|
225
|
+
url: `/api/domain/v2/share/${shareCode}/videos?query={orderBy:orderindex,limit:100}` + `${_constants_WithStatements__WEBPACK_IMPORTED_MODULE_1__["SharedWithStatements"].VIDEO_COLLECTION}${addCursor(cursor)}${addMaxRatingValue(maxAllowedRating)}`,
|
|
226
|
+
key: getDataPrefixWithCursor(`shared:playlist:${shareCode}:videos`, cursor)
|
|
227
|
+
};
|
|
228
|
+
},
|
|
229
|
+
|
|
230
|
+
getVideoPlaylists(videoId, userId, cursor) {
|
|
231
|
+
return {
|
|
232
|
+
url: `/api/domain/v2/objects/${videoId}/playlists?query={limit:100,owner.id:[${userId}]}`,
|
|
233
|
+
key: getDataPrefixWithCursor(`video:playlists:${videoId}`, cursor)
|
|
234
|
+
};
|
|
235
|
+
},
|
|
236
|
+
|
|
237
|
+
getIsFollowingPlaylist(playlistId, userId) {
|
|
238
|
+
const formatData = data => {
|
|
239
|
+
var _a, _b;
|
|
240
|
+
|
|
241
|
+
return {
|
|
242
|
+
objectId: playlistId,
|
|
243
|
+
isFollowing: !!((_b = (_a = data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.length)
|
|
244
|
+
};
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
return {
|
|
248
|
+
url: `/api/domain/v2/objects/${playlistId}/followers?query={id:${userId}}`,
|
|
249
|
+
key: `playlist:${playlistId}:following:${userId}`,
|
|
250
|
+
formatData,
|
|
251
|
+
normalize: false
|
|
252
|
+
};
|
|
253
|
+
},
|
|
254
|
+
|
|
255
|
+
createPlaylist(userId, data, success, error) {
|
|
256
|
+
return {
|
|
257
|
+
key: 'create:playlist',
|
|
258
|
+
url: `/api/domain/v2/objects/${userId}/playlists`,
|
|
259
|
+
data,
|
|
260
|
+
type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].POST,
|
|
261
|
+
success,
|
|
262
|
+
error,
|
|
263
|
+
invalidationKeys: 'user:playlists'
|
|
264
|
+
};
|
|
265
|
+
},
|
|
266
|
+
|
|
267
|
+
updatePlaylist(id, data, success, error) {
|
|
268
|
+
return {
|
|
269
|
+
key: 'update:playlist',
|
|
270
|
+
url: `/api/domain/v2/objects/${id}`,
|
|
271
|
+
data,
|
|
272
|
+
type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].PUT,
|
|
273
|
+
success,
|
|
274
|
+
error,
|
|
275
|
+
updateState: {
|
|
276
|
+
keys: `playlist:${id}`,
|
|
277
|
+
updateData: _apps_playlists_utils_PlaylistStateUpdateHelper__WEBPACK_IMPORTED_MODULE_5__["PlaylistStateUpdateHelper"].updatePlaylist(`playlist:${id}`, data)
|
|
278
|
+
}
|
|
279
|
+
};
|
|
280
|
+
},
|
|
281
|
+
|
|
282
|
+
deletePlaylist(id, success, error) {
|
|
283
|
+
return {
|
|
284
|
+
key: 'delete:playlist',
|
|
285
|
+
url: `/api/domain/v2/objects/${id}`,
|
|
286
|
+
type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].DELETE,
|
|
287
|
+
success,
|
|
288
|
+
error,
|
|
289
|
+
invalidationKeys: 'user:playlists',
|
|
290
|
+
updateState: {
|
|
291
|
+
keys: `playlist:${id}`,
|
|
292
|
+
updateData: _apps_playlists_utils_PlaylistStateUpdateHelper__WEBPACK_IMPORTED_MODULE_5__["PlaylistStateUpdateHelper"].deletePlaylist(`playlist:${id}`)
|
|
293
|
+
}
|
|
294
|
+
};
|
|
295
|
+
},
|
|
296
|
+
|
|
297
|
+
addToPlaylist(playlistId, videoIds, success, error) {
|
|
298
|
+
/**
|
|
299
|
+
* Invalidate:
|
|
300
|
+
* - Playlists as they are fetched with first video.
|
|
301
|
+
* - Playlist video collection.
|
|
302
|
+
* - Playlists for each video.
|
|
303
|
+
*/
|
|
304
|
+
const invalidationKeys = ['user:playlists', new _apps_playlists_interfaces__WEBPACK_IMPORTED_MODULE_3__["PlaylistVideoCollectionIdentifier"](playlistId).toString()];
|
|
305
|
+
videoIds.forEach(id => {
|
|
306
|
+
invalidationKeys.push(`video:playlists:${id}`);
|
|
307
|
+
});
|
|
308
|
+
return {
|
|
309
|
+
key: 'add:to:playlist',
|
|
310
|
+
url: `/api/domain/v2/objects/${playlistId}/associate`,
|
|
311
|
+
data: videoIds,
|
|
312
|
+
type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].POST,
|
|
313
|
+
success,
|
|
314
|
+
error,
|
|
315
|
+
invalidationKeys,
|
|
316
|
+
updateState: {
|
|
317
|
+
keys: `playlist:${playlistId}`,
|
|
318
|
+
updateData: _apps_playlists_utils_PlaylistStateUpdateHelper__WEBPACK_IMPORTED_MODULE_5__["PlaylistStateUpdateHelper"].incrementVideoCount(`playlist:${playlistId}`, videoIds.length)
|
|
319
|
+
}
|
|
320
|
+
};
|
|
321
|
+
},
|
|
322
|
+
|
|
323
|
+
reorderVideos(id, reorderRequest, success, error) {
|
|
324
|
+
return {
|
|
325
|
+
key: `reorder:playlist`,
|
|
326
|
+
url: `/api/domain/v2/objects/${id}/videos/reorder`,
|
|
327
|
+
data: reorderRequest,
|
|
328
|
+
type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].PUT,
|
|
329
|
+
success,
|
|
330
|
+
error,
|
|
331
|
+
// Invalidate playlists as they are fetched with the first video.
|
|
332
|
+
invalidationKeys: 'user:playlists',
|
|
333
|
+
updateState: {
|
|
334
|
+
keys: `playlist:${id}:videos`,
|
|
335
|
+
updateData: data => _utils_ReorderHelper__WEBPACK_IMPORTED_MODULE_2__["ReorderHelper"].updateState(`playlist:${id}:videos`, reorderRequest, data)
|
|
336
|
+
}
|
|
337
|
+
};
|
|
338
|
+
},
|
|
339
|
+
|
|
340
|
+
removePlaylistVideo(playlistId, videoId, success, error) {
|
|
341
|
+
return {
|
|
342
|
+
key: 'remove:playlist:video',
|
|
343
|
+
url: `/api/domain/v2/objects/${playlistId}/dissociate?memberId=${videoId}`,
|
|
344
|
+
type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].DELETE,
|
|
345
|
+
success,
|
|
346
|
+
error,
|
|
347
|
+
// Invalidate playlists as they are fetched with the first video.
|
|
348
|
+
invalidationKeys: ['user:playlists', `playlist:${playlistId}:videos`]
|
|
349
|
+
};
|
|
350
|
+
},
|
|
351
|
+
|
|
352
|
+
followPlaylist(playlistId, userId) {
|
|
353
|
+
return {
|
|
354
|
+
url: `/api/domain/v2/objects/${userId}`,
|
|
355
|
+
key: `follow:playlist:${playlistId}`,
|
|
356
|
+
data: {
|
|
357
|
+
followedPlaylists: playlistId
|
|
358
|
+
},
|
|
359
|
+
type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].PUT
|
|
360
|
+
};
|
|
361
|
+
},
|
|
362
|
+
|
|
363
|
+
unfollowPlaylist(playlistId, userId) {
|
|
364
|
+
return {
|
|
365
|
+
url: `/api/domain/v2/objects/${userId}/followedplaylists/${playlistId}`,
|
|
366
|
+
key: `unfollow:playlist:${playlistId}`,
|
|
367
|
+
type: _common_src_backbone_enums_HttpVerbs__WEBPACK_IMPORTED_MODULE_0__["HttpVerbs"].DELETE
|
|
368
|
+
};
|
|
369
|
+
},
|
|
370
|
+
|
|
371
|
+
getMigrationTask(success, error) {
|
|
372
|
+
return {
|
|
373
|
+
url: '/api/playlist-app/migration-task',
|
|
374
|
+
key: 'migration:task',
|
|
375
|
+
formatData: data => data || {
|
|
376
|
+
status: _apps_playlists_enums_MigrationTaskStatus__WEBPACK_IMPORTED_MODULE_4__["MigrationTaskStatus"].Processed
|
|
377
|
+
},
|
|
378
|
+
success,
|
|
379
|
+
error
|
|
380
|
+
};
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
};
|
|
384
|
+
|
|
385
|
+
/***/ }),
|
|
386
|
+
|
|
387
|
+
/***/ "../../libs/shared/src/utils/ReorderHelper.ts":
|
|
388
|
+
/*!****************************************************************************************!*\
|
|
389
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/utils/ReorderHelper.ts ***!
|
|
390
|
+
\****************************************************************************************/
|
|
391
|
+
/*! exports provided: ReorderHelper */
|
|
392
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
393
|
+
|
|
394
|
+
"use strict";
|
|
395
|
+
__webpack_require__.r(__webpack_exports__);
|
|
396
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ReorderHelper", function() { return ReorderHelper; });
|
|
397
|
+
/* harmony import */ var _common_src_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/src/react/utils/ArrayHelper */ "../../libs/common/src/react/utils/ArrayHelper.ts");
|
|
398
|
+
/* harmony import */ var _common_src_react_utils_ObjectHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/src/react/utils/ObjectHelper */ "../../libs/common/src/react/utils/ObjectHelper.ts");
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
const ReorderHelper = {
|
|
402
|
+
reorder(items, oldIdx, newIdx) {
|
|
403
|
+
if (oldIdx === newIdx) return {
|
|
404
|
+
reorderedItems: items,
|
|
405
|
+
reorderRequest: null
|
|
406
|
+
};
|
|
407
|
+
const reorderedItems = _common_src_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_0__["ArrayHelper"].moveItem(items, oldIdx, newIdx);
|
|
408
|
+
/**
|
|
409
|
+
* If newIdx is the last idx then we set
|
|
410
|
+
* destinationMemberId to null.
|
|
411
|
+
*/
|
|
412
|
+
|
|
413
|
+
const destinationMemberId = newIdx < items.length - 1 ? reorderedItems[newIdx + 1].id : null;
|
|
414
|
+
const reorderRequest = {
|
|
415
|
+
sourceMemberId: reorderedItems[newIdx].id,
|
|
416
|
+
destinationMemberId
|
|
417
|
+
};
|
|
418
|
+
return {
|
|
419
|
+
reorderedItems,
|
|
420
|
+
reorderRequest
|
|
421
|
+
};
|
|
422
|
+
},
|
|
423
|
+
|
|
424
|
+
updateState(dataPrefix, reorderRequest, data) {
|
|
425
|
+
const items = [];
|
|
426
|
+
const updatedData = _common_src_react_utils_ObjectHelper__WEBPACK_IMPORTED_MODULE_1__["ObjectHelper"].deepClone(data);
|
|
427
|
+
const keys = [dataPrefix]; // Maintain an ordered list of keys.
|
|
428
|
+
|
|
429
|
+
let page = data[dataPrefix];
|
|
430
|
+
const pageSize = !!page && !!page.data && page.data.length;
|
|
431
|
+
/**
|
|
432
|
+
* Flatten items
|
|
433
|
+
*/
|
|
434
|
+
|
|
435
|
+
while (page) {
|
|
436
|
+
if (!Array.isArray(page.data)) break;
|
|
437
|
+
items.push(...page.data);
|
|
438
|
+
const nextCursor = page.pagination && page.pagination.cursors && page.pagination.cursors.next;
|
|
439
|
+
const nextKey = !!nextCursor && `${dataPrefix}:${nextCursor}`;
|
|
440
|
+
page = nextCursor && data[nextKey];
|
|
441
|
+
if (page) keys.push(nextKey);
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
if (!items.length) return data;
|
|
445
|
+
/**
|
|
446
|
+
* Reorder items
|
|
447
|
+
*/
|
|
448
|
+
|
|
449
|
+
const removeIdx = _common_src_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_0__["ArrayHelper"].findIndex(items, i => i.id === reorderRequest.sourceMemberId);
|
|
450
|
+
const reorderedItems = [...items];
|
|
451
|
+
const itemToMove = reorderedItems.splice(removeIdx, 1);
|
|
452
|
+
const insertIdx = reorderRequest.destinationMemberId ? _common_src_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_0__["ArrayHelper"].findIndex(reorderedItems, r => r.id === reorderRequest.destinationMemberId) : reorderedItems.length;
|
|
453
|
+
reorderedItems.splice(insertIdx, 0, itemToMove[0]);
|
|
454
|
+
/**
|
|
455
|
+
* Paginate reordered items
|
|
456
|
+
*/
|
|
457
|
+
|
|
458
|
+
keys.forEach(key => {
|
|
459
|
+
const itemsToInsert = reorderedItems.splice(0, pageSize);
|
|
460
|
+
updatedData[key].data = itemsToInsert;
|
|
461
|
+
});
|
|
462
|
+
return updatedData;
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
};
|
|
466
|
+
|
|
467
|
+
/***/ })
|
|
468
|
+
|
|
469
|
+
}]);
|
|
470
|
+
//# sourceMappingURL=8.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/enums/MigrationTaskStatus.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/interfaces/identifiers/PlaylistCollectionIdentifier.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/interfaces/identifiers/PlaylistVideoCollectionIdentifier.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/interfaces/identifiers/index.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/interfaces/index.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/utils/PlaylistStateUpdateHelper.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/flight-requests/PlaylistRequests.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/utils/ReorderHelper.ts"],"names":[],"mappings":"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","file":"scripts/8.chunk.js","sourcesContent":["export enum MigrationTaskStatus {\r\n Queued = 1,\r\n Processing = 2,\r\n Processed = 3,\r\n Errored = 4\r\n}","import { BaseCollectionIdentifier } from 'libs/common/backbone/interfaces';\r\nimport { PlaylistSortType } from 'libs/shared/apps/playlists/enums/PlaylistSortType';\r\n\r\nexport class PlaylistCollectionIdentifier extends BaseCollectionIdentifier<PlaylistSortType> {\r\n constructor(sort: PlaylistSortType = PlaylistSortType.Newest, cursor: string = '') {\r\n super({ collectionPrefix: 'user:playlists', cursor, sort });\r\n }\r\n}","import { BaseCollectionIdentifier } from 'libs/common/backbone/interfaces';\r\n\r\nexport class PlaylistVideoCollectionIdentifier extends BaseCollectionIdentifier {\r\n constructor(id: string, cursor: string = '') {\r\n super({ collectionPrefix: 'playlist:videos', id, cursor });\r\n }\r\n}","export * from './PlaylistCollectionIdentifier';\r\nexport * from './PlaylistVideoCollectionIdentifier';","export * from './data-requests';\r\nexport * from './identifiers';","import { HashObject } from 'libs/common/react/interfaces/HashObject';\r\n\r\nimport { CreateOrUpdatePlaylistRequest } from 'libs/shared/apps/playlists/interfaces';\r\n\r\ntype StateMap = { [key: string]: HashObject };\r\n\r\nexport const PlaylistStateUpdateHelper = {\r\n updatePlaylist(key: string, newPlaylist: CreateOrUpdatePlaylistRequest): (state: StateMap) => StateMap {\r\n return (state: StateMap) => {\r\n const updatedState = { ...state };\r\n\r\n if (updatedState.hasOwnProperty(key))\r\n updatedState[key] = { ...updatedState[key], ...newPlaylist };\r\n\r\n return updatedState;\r\n };\r\n },\r\n\r\n deletePlaylist(key: string): (state: StateMap) => StateMap {\r\n return (state: StateMap) => {\r\n const updatedState = { ...state };\r\n\r\n if (updatedState.hasOwnProperty(key))\r\n delete updatedState[key];\r\n\r\n return updatedState;\r\n };\r\n },\r\n\r\n incrementVideoCount(key: string, count: number): (state: StateMap) => StateMap {\r\n return (state: StateMap) => {\r\n const updatedState = { ...state };\r\n\r\n if (!updatedState.hasOwnProperty(key))\r\n return state;\r\n\r\n if (!updatedState[key].videos)\r\n updatedState[key].videos = {};\r\n\r\n updatedState[key].videos.count = updatedState[key].videos.count\r\n ? updatedState[key].videos.count + count\r\n : count;\r\n\r\n return updatedState;\r\n };\r\n }\r\n};","import { Flight } from 'libs/common/flight';\r\nimport { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\r\nimport { Xhr } from 'libs/common/backbone/interfaces';\r\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\r\n\r\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\r\n\r\nimport { UserCollection, ReorderRequest, Following } from 'libs/shared/interfaces';\r\nimport { ReorderHelper } from 'libs/shared/utils/ReorderHelper';\r\n\r\nimport { CreateOrUpdatePlaylistRequest, PlaylistCollectionIdentifier, PlaylistVideoCollectionIdentifier } from 'libs/shared/apps/playlists/interfaces';\r\nimport { MigrationTaskStatus } from 'libs/shared/apps/playlists/enums/MigrationTaskStatus';\r\nimport { PlaylistStateUpdateHelper } from 'libs/shared/apps/playlists/utils/PlaylistStateUpdateHelper';\r\nimport { PlaylistSortHelper } from 'libs/shared/apps/playlists/utils/PlaylistSortHelper';\r\n\r\nconst addCursor = (cursor?: string) => cursor ? `&cursor=${cursor}` : '';\r\n\r\nconst addMaxRatingValue = (maxRatingValue?: number) => Number.isInteger(maxRatingValue) ? `&maxRatingValue=${maxRatingValue}` : '';\r\n\r\nconst getDataPrefixWithCursor = (key: string, cursor?: string) => `${key}${cursor ? `:${cursor}` : ''}`;\r\n\r\nexport const PlaylistRequests = {\r\n getPlaylist(id: string, success?: (data: any) => void, error?: (data: any) => void): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/objects/${id}?query=${SharedWithStatements.PLAYLIST}`,\r\n key: `playlist:${id}`,\r\n success,\r\n error\r\n };\r\n },\r\n\r\n getSharedPlaylist(\r\n shareCode: string,\r\n maxAllowedRating?: number,\r\n success?: (data: any) => void,\r\n error?: (data: any) => void\r\n ): Flight.Request {\r\n const baseUrl = `/api/domain/v2/share/${shareCode}`;\r\n return {\r\n url: `${baseUrl}?query=${SharedWithStatements.PLAYLIST}${addMaxRatingValue(maxAllowedRating)}`,\r\n key: `shared:playlist:${shareCode}`,\r\n success,\r\n error\r\n };\r\n },\r\n\r\n getUserPlaylists(collectionIdentifier: PlaylistCollectionIdentifier): Flight.Request {\r\n const filter = PlaylistSortHelper.getFilterFromSort(collectionIdentifier.sort);\r\n return {\r\n url: `/api/domain/v2/me/playlists?query={${filter},limit:100}`\r\n + `${SharedWithStatements.PLAYLIST_COLLECTION}${addCursor(collectionIdentifier.cursor)}`,\r\n key: collectionIdentifier.toString()\r\n };\r\n },\r\n\r\n getPlaylistVideos(id: string, maxAllowedRating?: number, cursor?: string): Flight.Request {\r\n let filter = 'orderBy:orderindex,limit:100';\r\n\r\n if (Number.isInteger(maxAllowedRating))\r\n filter += `,rating.value:0...${maxAllowedRating}`;\r\n\r\n return {\r\n url: `/api/domain/v2/objects/${id}/videos?query={${filter}}`\r\n + `${SharedWithStatements.VIDEO_COLLECTION}${addCursor(cursor)}`,\r\n key: getDataPrefixWithCursor(`playlist:${id}:videos`, cursor)\r\n };\r\n },\r\n\r\n getSharedPlaylistVideos(shareCode: string, maxAllowedRating?: number, cursor?: string): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/share/${shareCode}/videos?query={orderBy:orderindex,limit:100}`\r\n + `${SharedWithStatements.VIDEO_COLLECTION}${addCursor(cursor)}${addMaxRatingValue(maxAllowedRating)}`,\r\n key: getDataPrefixWithCursor(`shared:playlist:${shareCode}:videos`, cursor)\r\n };\r\n },\r\n\r\n getVideoPlaylists(videoId: string, userId: string, cursor?: string): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/objects/${videoId}/playlists?query={limit:100,owner.id:[${userId}]}`,\r\n key: getDataPrefixWithCursor(`video:playlists:${videoId}`, cursor),\r\n };\r\n },\r\n\r\n getIsFollowingPlaylist(playlistId: string, userId: string): Flight.Request {\r\n const formatData: ((data: UserCollection) => Following) = (data: UserCollection) => (\r\n { objectId: playlistId, isFollowing: !!data?.data?.length }\r\n );\r\n\r\n return {\r\n url: `/api/domain/v2/objects/${playlistId}/followers?query={id:${userId}}`,\r\n key: `playlist:${playlistId}:following:${userId}`,\r\n formatData,\r\n normalize: false\r\n };\r\n },\r\n\r\n createPlaylist(\r\n userId: string,\r\n data: CreateOrUpdatePlaylistRequest,\r\n success?: (data: any) => void,\r\n error?: (data: any) => void\r\n ): Flight.Request {\r\n return {\r\n key: 'create:playlist',\r\n url: `/api/domain/v2/objects/${userId}/playlists`,\r\n data,\r\n type: HttpVerbs.POST,\r\n success,\r\n error,\r\n invalidationKeys: 'user:playlists'\r\n };\r\n },\r\n\r\n updatePlaylist(\r\n id: string,\r\n data: CreateOrUpdatePlaylistRequest,\r\n success?: (data: any) => void,\r\n error?: (data: any) => void\r\n ): Flight.Request {\r\n return {\r\n key: 'update:playlist',\r\n url: `/api/domain/v2/objects/${id}`,\r\n data,\r\n type: HttpVerbs.PUT,\r\n success,\r\n error,\r\n updateState: {\r\n keys: `playlist:${id}`,\r\n updateData: PlaylistStateUpdateHelper.updatePlaylist(`playlist:${id}`, data)\r\n }\r\n };\r\n },\r\n\r\n deletePlaylist(id: string, success?: (data: any) => void, error?: (data: any) => void): Flight.Request {\r\n return{\r\n key: 'delete:playlist',\r\n url: `/api/domain/v2/objects/${id}`,\r\n type: HttpVerbs.DELETE,\r\n success,\r\n error,\r\n invalidationKeys: 'user:playlists',\r\n updateState: {\r\n keys: `playlist:${id}`,\r\n updateData: PlaylistStateUpdateHelper.deletePlaylist(`playlist:${id}`)\r\n }\r\n };\r\n },\r\n\r\n addToPlaylist(\r\n playlistId: string,\r\n videoIds: string[],\r\n success?: (data: any) => void,\r\n error?: (data: any) => void\r\n ): Flight.Request {\r\n /**\r\n * Invalidate:\r\n * - Playlists as they are fetched with first video.\r\n * - Playlist video collection.\r\n * - Playlists for each video.\r\n */\r\n const invalidationKeys = [\r\n 'user:playlists',\r\n (new PlaylistVideoCollectionIdentifier(playlistId)).toString()\r\n ];\r\n\r\n videoIds.forEach(id => {\r\n invalidationKeys.push(`video:playlists:${id}`);\r\n });\r\n\r\n return {\r\n key: 'add:to:playlist',\r\n url: `/api/domain/v2/objects/${playlistId}/associate`,\r\n data: videoIds,\r\n type: HttpVerbs.POST,\r\n success,\r\n error,\r\n invalidationKeys,\r\n updateState: {\r\n keys: `playlist:${playlistId}`,\r\n updateData: PlaylistStateUpdateHelper.incrementVideoCount(\r\n `playlist:${playlistId}`, videoIds.length)\r\n }\r\n };\r\n },\r\n\r\n reorderVideos(\r\n id: string,\r\n reorderRequest: ReorderRequest,\r\n success?: (data: any) => void,\r\n error?: (data: any) => void\r\n ): Flight.Request {\r\n return {\r\n key: `reorder:playlist`,\r\n url: `/api/domain/v2/objects/${id}/videos/reorder`,\r\n data: reorderRequest,\r\n type: HttpVerbs.PUT,\r\n success,\r\n error,\r\n // Invalidate playlists as they are fetched with the first video.\r\n invalidationKeys: 'user:playlists',\r\n updateState: {\r\n keys: `playlist:${id}:videos`,\r\n updateData: (data: { [key: string]: HashObject }) =>\r\n ReorderHelper.updateState(`playlist:${id}:videos`, reorderRequest, data)\r\n }\r\n };\r\n },\r\n\r\n removePlaylistVideo(\r\n playlistId: string,\r\n videoId: string,\r\n success?: (data: any) => void,\r\n error?: (data: any) => void\r\n ): Flight.Request {\r\n return {\r\n key: 'remove:playlist:video',\r\n url: `/api/domain/v2/objects/${playlistId}/dissociate?memberId=${videoId}`,\r\n type: HttpVerbs.DELETE,\r\n success,\r\n error,\r\n // Invalidate playlists as they are fetched with the first video.\r\n invalidationKeys: [ 'user:playlists', `playlist:${playlistId}:videos` ]\r\n };\r\n },\r\n\r\n followPlaylist(playlistId: string, userId: string): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/objects/${userId}`,\r\n key: `follow:playlist:${playlistId}`,\r\n data: { followedPlaylists: playlistId },\r\n type: HttpVerbs.PUT,\r\n // TODO updateState\r\n };\r\n },\r\n\r\n unfollowPlaylist(playlistId: string, userId: string): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/objects/${userId}/followedplaylists/${playlistId}`,\r\n key: `unfollow:playlist:${playlistId}`,\r\n type: HttpVerbs.DELETE,\r\n // TODO updateState\r\n };\r\n },\r\n\r\n getMigrationTask(success?: (data: any) => void, error?: (xhr: Xhr) => void): Flight.Request {\r\n return {\r\n url: '/api/playlist-app/migration-task',\r\n key: 'migration:task',\r\n formatData: (data: any) => data || { status: MigrationTaskStatus.Processed },\r\n success,\r\n error\r\n };\r\n }\r\n};","import { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\r\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\r\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\r\nimport { BaseObject, ReorderRequest } from 'libs/shared/interfaces';\r\n\r\ninterface ReorderResult<T extends BaseObject> {\r\n reorderRequest: ReorderRequest;\r\n reorderedItems: T[];\r\n}\r\n\r\nexport const ReorderHelper = {\r\n reorder<T extends BaseObject>(items: T[], oldIdx: number, newIdx: number): ReorderResult<T> {\r\n if (oldIdx === newIdx)\r\n return { reorderedItems: items, reorderRequest: null };\r\n\r\n const reorderedItems: T[] = ArrayHelper.moveItem(items, oldIdx, newIdx);\r\n\r\n /**\r\n * If newIdx is the last idx then we set\r\n * destinationMemberId to null.\r\n */\r\n const destinationMemberId = newIdx < items.length - 1\r\n ? reorderedItems[newIdx + 1].id\r\n : null;\r\n\r\n const reorderRequest: ReorderRequest = {\r\n sourceMemberId: reorderedItems[newIdx].id,\r\n destinationMemberId\r\n };\r\n\r\n return { reorderedItems, reorderRequest };\r\n },\r\n\r\n updateState(\r\n dataPrefix: string,\r\n reorderRequest: ReorderRequest,\r\n data: { [key: string]: HashObject\r\n }): { [key: string]: HashObject } {\r\n const items: BaseObject[] = [];\r\n const updatedData = ObjectHelper.deepClone(data);\r\n\r\n const keys = [dataPrefix]; // Maintain an ordered list of keys.\r\n let page = data[dataPrefix];\r\n const pageSize = !!page && !!page.data && page.data.length;\r\n\r\n /**\r\n * Flatten items\r\n */\r\n while (page) {\r\n if (!Array.isArray(page.data))\r\n break;\r\n\r\n items.push(...page.data as BaseObject[]);\r\n\r\n const nextCursor = page.pagination\r\n && page.pagination.cursors\r\n && page.pagination.cursors.next;\r\n\r\n const nextKey = !!nextCursor && `${dataPrefix}:${nextCursor}`;\r\n\r\n page = nextCursor && data[nextKey];\r\n\r\n if (page)\r\n keys.push(nextKey);\r\n }\r\n\r\n if (!items.length)\r\n return data;\r\n\r\n /**\r\n * Reorder items\r\n */\r\n const removeIdx = ArrayHelper.findIndex(items, i => i.id === reorderRequest.sourceMemberId);\r\n\r\n const reorderedItems = [...items];\r\n\r\n const itemToMove = reorderedItems.splice(removeIdx, 1);\r\n\r\n const insertIdx = reorderRequest.destinationMemberId\r\n ? ArrayHelper.findIndex(reorderedItems, r => r.id === reorderRequest.destinationMemberId)\r\n : reorderedItems.length;\r\n\r\n reorderedItems.splice(insertIdx, 0, itemToMove[0]);\r\n\r\n /**\r\n * Paginate reordered items\r\n */\r\n keys.forEach(key => {\r\n const itemsToInsert = reorderedItems.splice(0, pageSize);\r\n updatedData[key].data = itemsToInsert;\r\n });\r\n\r\n return updatedData;\r\n }\r\n};"],"sourceRoot":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(window.webpackJsonp_clickview_lite=window.webpackJsonp_clickview_lite||[]).push([[9],{427:function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(0),i=a(7),r=a(33),s=a(34),l=a(10);function c({backToName:e,appLink:t,color:a}){const c=e?i.a.getPhrase("shared.backButton","backTo",{backToName:e}):i.a.getPhrase("shared.backButton","back"),o="black"===a?"":"text-light";return n.createElement(s.a,{appLink:t,className:"d-inline-flex align-items-center h5 mb-0 "+o},n.createElement(r.a,{svgName:l.b.ChevronLeft,size:r.b.Medium}),n.createElement("span",{className:"ml-1"},c))}c.defaultProps={color:"black"}},430:function(e,t,a){"use strict";var n=a(0),i=a(28),r=a(131),s=a(33),l=a(34),c=a(10),o=a(435),d=a.n(o);function u(e){let t="dropdown-item";return e&&(t+=" "+e),t}function m(e){if(!e.actions||!e.actions.length)return n.createElement(n.Fragment,null);const t="actions-dropdown-"+r.a.getRandomInt();let a="px-0 "+d.a.dropdownToggle;return e.dropdownToggleClassName&&(a+=" "+e.dropdownToggleClassName),n.createElement(i.Dropdown,{className:e.className?e.className:"",alignRight:!0},n.createElement(i.Dropdown.Toggle,{as:"button",type:"button",id:t,className:a},n.createElement(s.a,{svgName:c.b.More,size:s.b.Small})),n.createElement(i.Dropdown.Menu,null,e.actions.map((e,t)=>n.createElement(l.a,{key:t,appLink:e.appLink,className:u(e.className)},e.label))))}m.defaultProps={dropdownToggleClassName:"btn btn-light"};var p=a(119),f=a(83);function g(e){const{onClick:t,appLink:a,svgName:i,tooltip:r}=e.actionOptions;let s="ml-2";return e.actionOptions.className&&(s+=" "+e.actionOptions.className),r?n.createElement(f.a,{title:r},n.createElement(p.a,{appLink:a,svgName:i,onClick:t,className:s},e.children)):i?n.createElement(p.a,{onClick:t,appLink:a,svgName:i,className:s},e.children):a?n.createElement(l.a,{onClick:t,appLink:a,className:s},e.children):n.createElement("button",{onClick:t,className:s},e.children)}function b(e){const t=[],a=[];e.actions.forEach(e=>{e.button?t.push(e):a.push(e)});let i="d-flex";return e.className&&(i+=" "+e.className),n.createElement("div",{className:i},n.createElement(n.Fragment,null,!!t.length&&n.createElement("span",{className:d.a.buttonList},t.map((e,t)=>n.createElement(g,{key:t,actionOptions:e},e.label))),e.sortComponent?e.sortComponent:"",!!a.length&&n.createElement(m,{actions:a,className:!!t.length&&"ml-2",dropdownToggleClassName:e.actionsDropdownClassName})))}a.d(t,"a",(function(){return b}))},432:function(e,t,a){"use strict";a.d(t,"a",(function(){return d})),a.d(t,"b",(function(){return u}));var n=a(0),i=a(427),r=a(122),s=a(80),l=a(430),c=a(433),o=a.n(c);const d=n.memo((function(e){const{heading:t,banner:a,imageCdnUrl:c,actions:d,sortComponent:u}=e,m=r.a.createBannerUrl(a,{fallbackBaseUrl:c,fallbackCategoryName:t,type:s.b.Banners},{size:s.a.Large,resizeType:s.c.Cover});return n.createElement("div",{className:"banner",style:{backgroundImage:`url('${m}')`}},e.backButtonAppLink&&n.createElement("div",{className:"pt-3"},n.createElement(i.a,{appLink:e.backButtonAppLink,backToName:e.backButtonText,color:"white"})),n.createElement("h1",{className:"text-white text-shadow position-absolute m-0 pb-3"},t),!!d&&n.createElement("div",{className:o.a.actionsContainer},n.createElement(l.a,{actions:d,sortComponent:u})))}),(e,t)=>e.actions===t.actions),u=()=>n.createElement("div",{className:"partial-banner partial-loading-background"})},433:function(e,t,a){e.exports={actionsContainer:"_286KF"}},435:function(e,t,a){e.exports={buttonList:"_2v9CT",dropdownToggle:"AYBvQ"}},439:function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var n=a(67);const i=/([0-9]+)/gi,r=/(^\w+)/gi;const s={getSortedPresentationAudiences(e,t){const a=e.map(e=>e.id.toString());return t.filter(e=>a.includes(e.masterId.toString()))},getMergedPresentationAudienceString(e){if(1===e.length)return e[0];const t=e.map(e=>e.name).join(","),a=t.match(i),n=t.match(r);if(!a||!n)return e[0];const s=function(e){let t,a,n=!1;const i=[];let r,s;for(e=e.sort((e,t)=>e-t),r=0;r<e.length;r++)s=r+1,n||(t=e[r]),a=e[s],e[r]+1===a?n=!0:n?(i.push(`${t} - ${e[r]}`),n=!1):(i.push(""+e[r]),n=!1);return i}(a.map(e=>+e)||[]);return{name:`${n[0]} ${s.join(" , ")}`}},sortMembersWithDuplicateNamesByAudience(e){const t=e=>{let t,a;return e.forEach(e=>{const r=+n.a.first(e.name.match(i));if(!t)return t=e,void(a=r);r>a&&(t=e)}),t},a={};let r=[];return e.forEach(e=>{if(!a[e.name])return a[e.name]=1,void r.push(e);r.push(e),a[e.name]++;const n=r.splice(r.length-a[e.name]).sort((e,a)=>{const n=t(e.subjectPresentationAudiences.data),i=t(a.subjectPresentationAudiences.data);return n.name.localeCompare(i.name)});r=r.concat(n)}),r}}},440:function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(0);a(463);function i(e){return e.audience?n.createElement("div",{className:"border rounded-pill d-inline-block px-2 mt-1 "+("border-"+e.border)},e.audience.name):n.createElement(n.Fragment,null)}},441:function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));const n=5,i=50,r=100,s={getPartialLoadingItems(e={}){const{numItems:t=n,minWidth:a=i,maxWidth:s=r}=e;return[...Array(t)].map(()=>({width:Math.max(Math.floor(Math.random()*s),a)+"px"}))}}},453:function(e,t,a){e.exports={basePlaylistItem:"_2nvrp",playlistItem:"_6o0Z2",playlistMetadata:"_3MCKL",partialHeading:"_13tO6"}},454:function(e,t,a){e.exports={partialLoadingHeading:"_1RLPq",partialLoading:"oArG4",labelContainer:"QLCgm",hoverActive:"_3Aleb",mask:"_2M2Zz",width:"TQg2K"}},462:function(e,t,a){"use strict";a.d(t,"a",(function(){return f}));var n=a(0),i=a(122),r=a(439),s=a(80),l=a(48),c=a(34),o=a(429),d=a(416),u=a(440),m=a(453),p=a.n(m);function f(e){const t=i.a.createUrl(e.data.cover&&e.data.cover.url,{size:s.a.Medium,resizeType:s.c.Cover}),a=e.data.subjectPresentationAudiences&&e.data.subjectPresentationAudiences.data,m=r.a.getSortedPresentationAudiences(a,e.presentationAudiences),f=r.a.getMergedPresentationAudienceString(m),g=!!e.showCount&&!!e.data.videos&&e.data.videos.count;return n.createElement(c.a,{appLink:e.appLink},n.createElement(o.b,{data:t,className:p.a.playlistItem},n.createElement(d.a,{type:d.b.Playlist}),n.createElement("div",{className:"text-white "+p.a.playlistMetadata},Number.isInteger(g)&&n.createElement(l.b,{namespace:"shared.playlistItem",phrase:"videos",options:{smartCount:g}}),n.createElement("h5",{className:"text-shadow mb-0"},e.data.name),!!a&&!!a.length&&n.createElement(u.a,{audience:f,border:"white"}))))}},463:function(e,t,a){e.exports={audienceLabelListItem:"_2YGVO"}},464:function(e,t,a){"use strict";a.d(t,"a",(function(){return g}));var n=a(0),i=a(35),r=a(452),s=a(439),l=a(34),c=a(429),o=a(416),d=a(426),u=a(440),m=a(434),p=a(454),f=a.n(p);function g(e){const{data:t,appLink:a,preloadImage:p}=e,g=Object.assign(Object.assign({},a),{args:[t.id,i.a.slugify(t.name)]});let b=t&&t.subjectPresentationAudiences&&t.subjectPresentationAudiences.data||[];const E=s.a.getSortedPresentationAudiences(b,e.audiences),v=s.a.getMergedPresentationAudienceString(E),[h,y]=Object(r.b)(f.a.hoverActive);return n.createElement(l.a,{key:t.id,appLink:g,className:"position-relative p-1 flex-shrink-0 "+f.a.width},n.createElement("div",{ref:h},y&&n.createElement("div",{className:"p-3 text-white text-center "+f.a.mask},n.createElement("h3",{className:"h4"},t.name),n.createElement("p",null,t.description)),n.createElement(c.b,{data:t.tallPoster,aspectRatio:c.a.NineBySixteen,preload:p,size:d.a.Large},n.createElement(o.a,{type:o.b.Series}),n.createElement("div",{className:"position-absolute text-white "+f.a.labelContainer},b&&b.length?n.createElement(u.a,{audience:v,border:"white"}):n.createElement(m.a,{type:m.b.Rating,data:t.rating})))))}},465:function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));const n=()=>"/api/domain/v1/subjects/audiences",i={presentationAudiences:()=>({bootstrapName:"presentationAudiences",url:n(),key:"presentation:audiences",normalize:!1})}},466:function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(0),i=a(454),r=a.n(i);const s=[...Array(4)],l=()=>n.createElement("div",{className:"pb-3"},n.createElement("div",{className:"partial-loading-background "+r.a.partialLoadingHeading,dangerouslySetInnerHTML:{__html:" "}}),n.createElement("div",{className:"row"},s.map((e,t)=>n.createElement("div",{key:t,className:"col-6 col-sm-4 col-lg-3 "},n.createElement("div",{className:"py-2"},n.createElement("div",{className:r.a.partialLoading+" partial-loading-background"}))))))},467:function(e,t,a){"use strict";var n;function i(e,t){switch(t.type){case n.Init:return Object.assign(Object.assign({},e),t.payload.reduce((e,t)=>(e[t.masterId]=t,e),{}));case n.Toggle:return Object.assign({},function(e,t){const a=t.audience,n=t.isSelected;if(!a)return e;const i=a.masterId,r=Object.assign({},e);return n?r[i]||(r[i]=a):delete r[i],r}(e,t.payload));default:return e}}a.d(t,"a",(function(){return n})),a.d(t,"b",(function(){return i})),function(e){e.Init="init",e.Toggle="toggle"}(n||(n={}))},478:function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(0),i=a(28),r=a(453),s=a.n(r);function l(e){const t=[...Array(e.numItems)],a=e.itemClassName||"";return n.createElement(n.Fragment,null,e.showHeading&&n.createElement("div",{className:s.a.partialHeading+" partial-loading-background"}),n.createElement(i.Row,null,t.map((e,t)=>n.createElement(i.Col,{key:t,xs:6,sm:4,md:3,lg:2,className:a},n.createElement("div",{className:"py-2"},n.createElement("div",{className:s.a.basePlaylistItem+" partial-loading-background"}))))))}l.defaultProps={numItems:8}},479:function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var n=a(0),i=a(496),r=a.n(i);function s(e){const{audience:t,highlight:a,setAudience:i,isDisabled:s,extraClasses:l}=e,c=function(e,t){return e?"badge-info text-light":t?r.a.disabled+" text-muted":"badge-light"}(a,s),o=`badge-pill d-inline-block mr-1 ${s?"cursor-default":"cursor-pointer"} ${c} ${l}`;return n.createElement("span",{className:o,onClick:()=>{s||i(t,!a)},role:"checkbox","aria-checked":a},t.name.split(" ").map(e=>e.charAt(0).toUpperCase()+e.substring(1)).join(" "))}s.defaultProps={extraClasses:""}},495:function(e,t,a){e.exports={widgetItem:"_1oyw1",imagePanel:"_1UOVG",large:"_1EtWs",comingSoonPanel:"_3js2e",name:"_3csgE",clamped:"_1y2oG",editSubjectsItem:"_1yBMf"}},496:function(e,t,a){e.exports={disabled:"_1KxF9"}},498:function(e,t,a){"use strict";var n=a(0),i=a(26),r=a(36),s=a(67),l=a(441),c=a(34);const o=({breadcrumb:{label:e,appLink:t,active:a}})=>n.createElement("li",{className:"breadcrumb-item"+(a?" active":"")},a?n.createElement("strong",null,e):n.createElement(c.a,{appLink:t},e)),d=({breadcrumbs:e})=>n.createElement("ol",{className:"breadcrumb m-0 p-0"},e.map((e,t)=>n.createElement(o,{key:t,breadcrumb:e})));var u;function m(e,t,a){return{label:e.name,appLink:t(e),active:a}}function p(e){const{type:t}=e,a=function(e,t){let{currentItem:a,getItemAppLink:l,getParent:c,rootItem:o,data:d,subview:u}=e;const[p,f]=Object(n.useState)([]);n.useMemo(()=>{if(t||r.a.isEmpty(d))return;const e=d.map((e,t)=>m(e,l,t+1===d.length));o&&e.unshift(o),f(e)},[d]),n.useMemo(()=>{if(!t||!i.a.isFunction(c))return;const e=[m(a,l,!0)];for(a=c(a);a;)e.unshift(m(a,l)),a=c(a);return o&&e.unshift(o),f(e)},[a,c,l,o]);const{current:g}=n.useRef({label:u,appLink:null,active:!0});if(u){p.includes(g)||f([...p,g]);const e=p.filter(e=>e.active&&e!==g);e.length&&(s.a.first(e).active=!1)}return p}(e,t===u.Dynamic);return n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement(d,{breadcrumbs:a}))}a.d(t,"a",(function(){return u})),a.d(t,"b",(function(){return p})),a.d(t,"c",(function(){return g})),function(e){e[e.Static=0]="Static",e[e.Dynamic=1]="Dynamic"}(u||(u={}));const f=l.a.getPartialLoadingItems({numItems:3}),g=()=>n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},f.map(({width:e},t)=>n.createElement("li",{key:t,className:"breadcrumb-item"},n.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:e},dangerouslySetInnerHTML:{__html:" "}})))))},505:function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var n=a(0),i=a(28),r=a(462);function s(e){return n.createElement(i.Row,null,e.playlists.map(t=>n.createElement(i.Col,{key:t.id,xs:6,sm:4,lg:3,className:"mb-3 "+(e.itemClassName?e.itemClassName:"")},n.createElement(r.a,{key:t.id,data:t,appLink:e.getPlaylistAppLink(t),presentationAudiences:e.presentationAudiences,showCount:e.showCount}))))}},506:function(e,t,a){"use strict";a.d(t,"a",(function(){return f}));var n=a(0),i=a(35),r=a(122),s=a(80),l=a(34),c=a(416),o=a(48),d=a(495),u=a.n(d);const m=({name:e,multiline:t})=>{let a=u.a.comingSoonPanel+" px-3 text-center mt-3",i=u.a.name+" h6 mb-0 pb-1";return t?i+=` ${u.a.clamped} clamp-2`:(a+=" text-nowrap",i+=" text-truncate"),n.createElement("div",{className:a},n.createElement("small",{className:"text-muted"},n.createElement(o.b,{namespace:"shared.subjectWidgetItem",phrase:"comingSoon"})),n.createElement("p",{className:i},e))},p=({name:e,multiline:t})=>{let a="px-3 text-center d-flex align-items-center",i=u.a.name+" h6 mb-0 pb-1";return t?i+=` ${u.a.clamped} clamp-2 text-left`:(a+=" text-nowrap text-truncate",i+=" text-truncate"),n.createElement("div",{className:a},n.createElement("p",{className:i},e))};const f=n.memo((function(e){var t;const a=Object.assign(Object.assign({},e.appLink),{args:[e.data.id,i.a.slugify(e.data.name)]}),o=r.a.createUrl(null===(t=e.data.cover)||void 0===t?void 0:t.url,{size:s.a.Small});return n.createElement(l.a,{appLink:a},n.createElement("div",{className:"border d-flex position-relative "+u.a.widgetItem,id:e.data.id},n.createElement("div",{className:`${u.a.imagePanel} ${e.isLarge?u.a.large:""}`,style:{backgroundImage:`url('${o}')`}}),e.data.comingSoon?n.createElement(m,{name:e.data.name,multiline:e.isLarge}):n.createElement(p,{name:e.data.name,multiline:e.isLarge}),n.createElement(c.a,{type:c.b.Subject,extraClasses:e.isLarge?u.a.large:""})))}))},532:function(e,t,a){e.exports={itemSpacing:"_10Pgb"}},533:function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(0),i=a(2);function r(e,t=[]){n.useEffect(()=>{const{appLink:t,paramBuilder:a,isValid:n,appLinkOptions:r}=e;(function(e,t){return!!e&&(!(!e.application||!e.action)&&!!t())})(t,n)&&(t.params=a(),i.a.AppLinkHelper.trigger(t,r))},[...t])}},534:function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(0),i=a(36),r=a(467);const s=/\s|\+/gi;function l(e){return e?e.replace(s,"").toLowerCase():""}function c(e,t,a,s=[]){n.useEffect(()=>{if(!i.a.isObject(e)||i.a.isEmpty(e))return;if(!t||!t.length)return;let{a:n}=e;if(!n)return;"string"==typeof n&&(n=[n]);const s=n.reduce((e,t)=>(e[l(t)]=t,e),{}),c=t.filter(e=>s[l(e.name)]);a({type:r.a.Init,payload:c})},[...s])}},535:function(e,t,a){"use strict";a.d(t,"a",(function(){return l})),a.d(t,"b",(function(){return o}));var n=a(0),i=a(441),r=a(479),s=a(467);function l(e){const{audiences:t,activeAudiences:a,setAudience:i,disabled:l}=e;return t&&t.length?n.createElement("div",{className:"pt-3"},t.map(e=>n.createElement(r.a,{key:e.masterId,audience:e,highlight:!!a&&!!a[e.masterId],setAudience:(e,t)=>i({type:s.a.Toggle,payload:{audience:e,isSelected:t}}),isDisabled:l}))):n.createElement(n.Fragment,null)}const c=i.a.getPartialLoadingItems({numItems:6}),o=()=>n.createElement("div",{className:"pt-3"},c.map(({width:e},t)=>n.createElement("span",{key:t,className:"d-inline-block badge-pill partial-loading-background mr-1",dangerouslySetInnerHTML:{__html:" "},style:{width:e}})))},536:function(e,t,a){"use strict";var n=a(464);a.d(t,"b",(function(){return n.a}));var i=a(466);a.d(t,"a",(function(){return i.a}))},537:function(e,t,a){"use strict";a.d(t,"a",(function(){return s})),a.d(t,"d",(function(){return l})),a.d(t,"c",(function(){return c})),a.d(t,"b",(function(){return o}));var n=a(35),i=a(4),r=a(11),s=function(e){return function(t){return{application:i.a.SUBJECT,action:r.a.Subjects.CLASSIFICATION,args:t?[t.id,n.a.slugify(t.name)]:[],params:e||{}}}},l=function(e){return{application:i.a.SUBJECT,action:r.a.Subjects.CLASSIFICATION_SERIES,args:e?[e.id,n.a.slugify(e.name)]:[]}},c=function(e){return{application:i.a.PLAYLISTS,action:r.a.Playlists.PLAYLIST,args:[e.id,n.a.slugify(e.name)]}},o=function(){return{application:i.a.DASHBOARD,action:r.a.Dashboard.HOME}}},541:function(e,t,a){"use strict";var n=a(0),i=a(36),r=a(26),s=a(67);var l=a(484),c=a(461),o=a(483),d=a(131),u=a(416),m=a(495),p=a.n(m);const f=()=>{const[e]=n.useState(d.a.getRandomInt(5)+3+"rem");return n.createElement("div",{className:"border d-flex position-relative mr-2 "+p.a.widgetItem},n.createElement("div",{className:p.a.imagePanel}),n.createElement("div",{className:"px-2",style:{width:e}}," "),n.createElement(u.a,{type:u.b.Subject}))};var g=a(499),b=a(431),E=a(48),v=a(441);const h=(e,t,a,n,i)=>r=>{N(r.clientX,e,t,a,n,i)},y=(e,t,a,n,i)=>r=>{N(r.touches.item(0).clientX,e,t,a,n,i)};function N(e,t,a,n,i,r){let s=i;s||(s=Object.assign(Object.assign({},a),{initialMouseX:e}),r(s),t.current.style.transition=""),n({type:b.a.Drag,payload:{widgetSnapshot:s,currentMouseX:e}})}const k=(e,t)=>()=>{e.current.style.transition="transform 500ms ease-in-out 100ms",t(null)},L=k,w={offset:0,containerLeftPosition:null,containerRightPosition:null,firstElementPosition:null,lastElementPosition:null,hideLeftButton:!0,hideRightButton:!0,maxSlideDistance:500,leftOffsetLimit:null};function x(e,t){switch(t.type){case b.a.Init:case b.a.Resize:return Object.assign(Object.assign({},e),function(e){const{container:t={},lastElement:a={}}=e;if(!t.current||!a.current)return w;const n=e.container.current.getBoundingClientRect().left,i=e.container.current.getBoundingClientRect().right,r=n,s=e.lastElement.current.getBoundingClientRect().right,l=i-s;return Object.assign(Object.assign({},w),{containerLeftPosition:n,containerRightPosition:i,firstElementPosition:r,lastElementPosition:s,hideRightButton:s<i,leftOffsetLimit:l})}(t.payload));case b.a.Next:return Object.assign(Object.assign({},e),function(e){const{firstElementPosition:t,lastElementPosition:a,maxSlideDistance:n,offset:i,containerRightPosition:r}=e,s=a-r>=n?n:a-r;return{firstElementPosition:t-s,lastElementPosition:a-s,offset:i-s,hideRightButton:a-s===r,hideLeftButton:!1}}(e));case b.a.Previous:return Object.assign(Object.assign({},e),function(e){const{containerLeftPosition:t,firstElementPosition:a,lastElementPosition:n,maxSlideDistance:i,offset:r}=e,s=a+i<=t,l=s?i:Math.abs(r);return{firstElementPosition:a+l,lastElementPosition:n+l,offset:r+l,hideLeftButton:!s||a+l===t,hideRightButton:!1}}(e));case b.a.Drag:return Object.assign(Object.assign({},e),function(e,t){const{widgetSnapshot:a,currentMouseX:n}=t;if(a.hideLeftButton&&a.hideRightButton)return{};const i=a.initialMouseX-n;let r=a.offset-i,s=a.firstElementPosition-i,l=a.lastElementPosition-i,c=!1,o=!1;return s>e.containerLeftPosition&&(r=0,s=e.containerLeftPosition,l=e.lastElementPosition,c=!0),l<=e.containerRightPosition&&(r=e.leftOffsetLimit,s=e.containerLeftPosition-Math.abs(e.leftOffsetLimit),l=a.containerRightPosition,o=!0),{offset:r,firstElementPosition:s,lastElementPosition:l,hideLeftButton:c,hideRightButton:o}}(e,t.payload));default:return e}}var A=a(532),P=a.n(A);a.d(t,"a",(function(){return S})),a.d(t,"b",(function(){return I}));function S(e){const{childComponent:t,endComponent:a}=e,[d,u]=n.useReducer(x,w),[m,p]=n.useState(null),f={container:n.useRef(null),firstElement:n.useRef(null),lastElement:n.useRef(null)};var v;!function(e,t,a=[]){let i;const r=()=>{e(),window.clearTimeout(i),i=window.setTimeout(t,100)};n.useEffect(()=>(window.addEventListener("resize",t?r:e),()=>window.removeEventListener("resize",t?r:e)),[...a])}(((e,t)=>()=>{e.container.current&&(e.container.current.style.transition=""),t({type:b.a.Resize,payload:e})})(f,u),(v=f.container,()=>{v.current&&(v.current.style.transition="transform 500ms ease-in-out 100ms")}));const{ref:N,inView:A}=Object(l.a)(e.lazyLoad);let S=e.collection;!e.collection&&r.a.isFunction(e.fetch)&&(S=e.fetch(A)),n.useEffect(()=>{S&&!i.a.isEmpty(S)&&u({type:b.a.Init,payload:f})},[S]);const C=n.useMemo((function(){if(!S)return;const i=S.map(i=>{let r;return i===s.a.first(S)&&(r=f.firstElement),i!==s.a.last(S)||a||(r=f.lastElement),n.createElement("div",{key:i.id,ref:r,className:P.a.itemSpacing},n.createElement(t,{data:i,appLink:e.childAppLink}))});return a&&i.push(n.createElement("div",{key:"end-widget-component",ref:f.lastElement,className:P.a.itemSpacing},n.createElement(a,null))),n.createElement(n.Fragment,null,i)}),[S]);return S&&!S.length?n.createElement(n.Fragment,null):!S||i.a.isEmpty(S)?n.createElement("div",{ref:N},n.createElement(I,null)):n.createElement(n.Fragment,null,e.headingPhraseKey&&n.createElement("h4",{className:"d-inline-block mr-2 pl-1 mb-2"},n.createElement(E.b,{namespace:"shared.dynamicWidget",phrase:e.headingPhraseKey})),n.createElement("div",{className:"position-relative px-1"},n.createElement(o.a,{direction:o.b.Left,onClick:()=>u({type:b.a.Previous}),hide:d.hideLeftButton,useGradientBackdrop:!0}),n.createElement("div",{className:"overflow-hidden"},n.createElement(g.a,{position:d.offset,positionType:c.a.Pixels,onDrag:h(f.container,d,u,m,p),onDragEnd:k(f.container,p),onTouchMove:y(f.container,d,u,m,p),onTouchEnd:L(f.container,p),ref:f.container},C)),n.createElement(o.a,{direction:o.b.Right,onClick:()=>u({type:b.a.Next}),hide:d.hideRightButton,useGradientBackdrop:!0})))}const C=v.a.getPartialLoadingItems(),I=()=>n.createElement("div",{className:"pb-3 d-flex flex-nowrap"},C.map((e,t)=>n.createElement(f,{key:t})))},552:function(e,t,a){e.exports={tagList:"yvetE",tagItem:"_1InnN"}},605:function(e,t,a){e.exports={footerImageContainer:"_2lUo1",footerImage:"Q_m9i",wave:"_2WUUq"}},606:function(e,t,a){e.exports={classificationItem:"_2XXp2"}},607:function(e,t,a){e.exports={partialHeroThumbnail:"mBd7D",partialSeriesText:"_2MXtV",partialVideoTitleText:"_3AoSO",partialBadge:"_33OjS",partialDescription:"_2uRQA",partialSubject:"_3YJIE"}},653:function(e,t,a){"use strict";a.r(t);var n=a(0),i=a(39),r=a(7),s=a(2),l=a(12),c=a(36),o=a(86),d=a(82),u=a(432),m=a(498),p=a(10),f=a(126),g=a(120),b=a(133),E=a(59),v=a(16);const h=()=>"/api/domain/v1/subjects/classifications/following",y=e=>E.a.urlBuilder("/api/domain/v1/subjects/classifications/following",{id:e}),N={follow:(e,t,a)=>({url:h(),key:"follow:"+e.join(","),type:v.a.POST,data:e,success:t,error:a,invalidationKeys:e.map(e=>"classification:"+e)}),unfollow:(e,t,a)=>({url:y(e),key:"unfollow:"+e.join(","),type:v.a.DELETE,success:t,error:a,invalidationKeys:e.map(e=>"classification:"+e)})};var k=a(465),L=a(473),w=a(533),x=a(478),A=a(505),P=(a(462),a(534)),S=a(467),C=a(535),I=a(122),j=a(80),O=a(127),B=a(48),T=a(33),R=a(605),_=a.n(R);function D(e){var t,a;const[i,r]=n.useState(!1),[s,l]=n.useState(!1);n.useEffect(()=>{var t,a;r(!!(null===(a=null===(t=e.data.followers)||void 0===t?void 0:t.data)||void 0===a?void 0:a.length)),l(!1)},[null===(a=null===(t=e.data.followers)||void 0===t?void 0:t.data)||void 0===a?void 0:a.length]);const c=I.a.createBannerUrl(e.data.banner,{fallbackBaseUrl:e.imageCdnUrl,fallbackCategoryName:e.data.name,type:j.b.Banners},{size:j.a.Large}),o={variant:i?"outline-dark":"dark",showSpinner:s,onClick:function(){l(!0),e.onToggleFollow()}};return n.createElement(B.a.Provider,{value:"subjects.comingSoon"},n.createElement("div",{className:"d-flex flex-column align-items-center text-center py-3"},n.createElement("h2",{className:"display-4 font-weight-bold mb-3"},n.createElement(B.b,{phrase:"comingSoon"})),n.createElement("p",{className:"w-33"},n.createElement(B.b,{phrase:"info"})),n.createElement(O.a,Object.assign({},o),n.createElement(T.a,{svgName:i?p.b.Check:p.b.Bell,className:"align-middle d-inline-block svg-container"}),n.createElement("span",{className:"align-middle pl-1"},n.createElement(B.b,{phrase:"remindMe"})))),n.createElement("div",{className:_.a.footerImageContainer},n.createElement("div",{className:_.a.footerImage+" banner position-relative",style:{backgroundImage:`url('${c}')`}},n.createElement(T.a,{className:_.a.wave,size:T.b.ExtraLarge,svgName:p.b.WhiteWave}))))}var M=a(506),F=a(606),U=a.n(F);function H({classification:e,appLink:t}){return n.createElement("div",{className:"d-inline-flex position-relative px-2 mb-2 "+U.a.classificationItem},n.createElement(M.a,{data:e,appLink:t,isLarge:!0}))}function V(e){return n.createElement(n.Fragment,null,e.classifications.map(t=>n.createElement(H,{key:t.id,classification:t,appLink:e.getItemAppLink(t)})))}var z=a(28),$=a(508),G=a(130),K=a(459),W=a(434),X=a(440),Y=a(552),J=a.n(Y);function Q({tag:e}){const t=J.a.tagItem+" px-2 my-1 mr-1 cursor-pointer badge-light";return n.createElement("span",{className:t},e.name)}function q({tags:e}){return e&&e.data?n.createElement("div",{className:J.a.tagList},e.data.map(e=>n.createElement(Q,{key:e.id,tag:e}))):n.createElement(n.Fragment,null)}var Z=a(34),ee=a(426),te=a(475),ae=a(439),ne=a(607),ie=a.n(ne);const re=e=>!!(e&&e.data&&e.data.length);function se(e){const{video:t,presentationAudiences:a,videoAppLink:i,seriesAppLink:r}=e;if(!t)return n.createElement(n.Fragment,null);const s=ae.a.getSortedPresentationAudiences(t.subjectPresentationAudiences.data,a),l=ae.a.getMergedPresentationAudienceString(s),c=t.series&&!!t.series.id;return n.createElement(B.a.Provider,{value:"subjects.heroVideo"},n.createElement(z.Row,{className:"pb-3"},n.createElement(z.Col,{xs:6,className:"p-1"},n.createElement($.a,{video:t,appLink:i,seriesAppLink:c?r:null,size:ee.a.Medium,textPosition:te.a.Independent,type:"static"})),n.createElement(z.Col,{xs:6,className:"p-1"},c&&n.createElement(G.a,{video:t,appLink:r,className:"text-reset"}),n.createElement(Z.a,{appLink:i},n.createElement("h4",null,t.name)),n.createElement(K.a,{className:"pb-1"},n.createElement(W.a,{type:W.b.Interactive,data:t.interactives}),n.createElement(W.a,{type:W.b.Rating,data:t.rating}),n.createElement(W.a,{type:W.b.ProductionYear,data:t.productionYear})),n.createElement("p",{className:"mb-1"},t.description),n.createElement(X.a,{audience:l,border:"dark"}),e.showExtraMetadata&&n.createElement(z.Row,{className:"pt-2"},n.createElement(z.Col,{xs:2},re(t.resources)&&n.createElement("p",{className:"font-weight-bold"},n.createElement(B.b,{phrase:"resourcesHeading"})),re(t.links)&&n.createElement("p",{className:"font-weight-bold"},n.createElement(B.b,{phrase:"linksHeading"})),re(t.clips)&&n.createElement("p",{className:"font-weight-bold"},n.createElement(B.b,{phrase:"clipsHeading"})),re(t.tags)&&n.createElement("p",{className:"font-weight-bold"},n.createElement(B.b,{phrase:"tagsHeading"}))),n.createElement(z.Col,{xs:10},re(t.resources)&&n.createElement("p",null,n.createElement(B.b,{phrase:"resources",options:{smartCount:t.resources.data.length}})),re(t.links)&&n.createElement("p",null,n.createElement(B.b,{phrase:"links",options:{smartCount:t.links.data.length}})),re(t.clips)&&n.createElement("p",null,n.createElement(B.b,{phrase:"clips",options:{smartCount:t.clips.data.length}})),re(t.tags)&&n.createElement(q,{tags:t.tags}))))))}function le(){return n.createElement("div",{className:"row pb-3"},n.createElement("div",{className:"col-6 p1"},n.createElement("div",{className:ie.a.partialHeroThumbnail+" partial-loading-background"})),n.createElement("div",{className:"col-6 p1"},n.createElement("div",{className:"partial-loading-background mb-1 "+ie.a.partialSeriesText}),n.createElement("div",{className:"partial-loading-background my-1 "+ie.a.partialVideoTitleText}),n.createElement("div",{className:"d-flex"},n.createElement("div",{className:"partial-loading-background my-1 mr-1 "+ie.a.partialBadge}),n.createElement("div",{className:"partial-loading-background my-1 ml-1 "+ie.a.partialBadge})),n.createElement("div",{className:"partial-loading-background my-1 "+ie.a.partialDescription}),n.createElement("div",{className:"partial-loading-background mt-2 "+ie.a.partialSubject})))}var ce=a(482),oe=(a(488),a(485)),de=a(541),ue=a(550),me=a(536),pe=a(11),fe=a(4),ge=a(89),be=a(537),Ee=a(67);var ve=a(35);function he(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var a=[],n=!0,i=!1,r=void 0;try{for(var s,l=e[Symbol.iterator]();!(n=(s=l.next()).done)&&(a.push(s.value),!t||a.length!==t);n=!0);}catch(e){i=!0,r=e}finally{try{n||null==l.return||l.return()}finally{if(i)throw r}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return ye(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return ye(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ye(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}a.d(t,"getBannerActions",(function(){return ke})),a.d(t,"ClassificationView",(function(){return Le}));var Ne=r.a.encloseNamespace("subjects.classification");function ke(e,t){var a,n,i=!!(null===(n=null===(a=e.followers)||void 0===a?void 0:a.data)||void 0===n?void 0:n.length);return[{label:Ne(i?"unfollow":"follow"),onClick:t,svgName:p.b.Bell,className:"btn ".concat(i?"btn-dark":"btn-white"),button:!0,tooltip:i?void 0:Ne("followBtnTooltip")},{label:Ne("share"),appLink:{application:fe.a.DEFAULT,action:pe.a.Default.SHARE,args:[e.id],params:{entityType:"subject"}},svgName:p.b.Share,className:"btn btn-white",button:!0}]}function Le(e){var t,a,r,p,E,v,h,y,I,j,O,B,T,R,_,F=e.id,U=e.queryParams,H=he(n.useReducer(S.b,{}),2),z=H[0],$=H[1],G=he(n.useState(),2),K=(G[0],G[1]),W=he(n.useState(!1),2),X=W[0],Y=W[1],J=Object(i.useDispatch)(),Q=l.a.useBasicFetch(g.a.currentUser),q=l.a.useBasicFetch(f.a.config),Z=l.a.useBasicFetch(b.a.presentation()),ee=l.a.useBasicFetch(k.a.presentationAudiences()),te=l.a.useBasicFetch((null===(t=Q.data)||void 0===t?void 0:t.id)&&b.a.classification(F,null===(a=Q.data)||void 0===a?void 0:a.id,(function(e){e.status!==o.a.BadRequest&&e.status!==o.a.NotFound||s.a.ErrorHelper.throw(new ge.a)}))),ae=l.a.useBasicFetch(b.a.path(F)),ne=l.a.useBasicFetch(b.a.children(F)),ie=c.a.keys(z),re=c.a.values(z);ie&&ie.length||(ie=[]);var ye=null===(p=null===(r=Z)||void 0===r?void 0:r.data)||void 0===p?void 0:p.id,Le=b.a.series(F,ye,ie),we=b.a.playlists(F,ye,ie),xe=b.a.videos(F,ye,ie),Ae=l.a.useGetResponse(Le&&Le.key),Pe=l.a.useGetResponse(we&&we.key),Se=l.a.useGetResponse(xe&&xe.key),Ce=l.a.useGetFetch(Le),Ie=l.a.useGetFetch(we),je=l.a.useGetFetch(xe),Oe=ie.length?ie.join(":"):ye;function Be(){var e,t;K(!0);var a=(null===(t=null===(e=te.data.followers)||void 0===e?void 0:e.data)||void 0===t?void 0:t.length)?N.unfollow:N.follow;l.a.fetch(J,a([te.data.id]))}n.useEffect((function(){ye&&(Ce(),Ie(),je())}),[Oe]),n.useEffect((function(){X||(te.data?Y(!!te.data.series.count||!!te.data.playlists.count||!!te.data.videos.count):Y(!1))}),[te.data]),n.useEffect((function(){K(!1)}),[null===(h=null===(v=null===(E=te.data)||void 0===E?void 0:E.followers)||void 0===v?void 0:v.data)||void 0===h?void 0:h.length]),Object(w.a)({appLink:Object(be.a)()(te.data),paramBuilder:function(){return{a:re.map((function(e){return e.name}))}},isValid:function(){var e;return!!(null===(e=te.data)||void 0===e?void 0:e.id)},appLinkOptions:{replace:!0}},[re.length]);var Te=!(!ee.data||!ee.data.length);Object(P.a)(U,ee.data,$,[Te]);var Re=!!te.data&&!!q.data,_e=!!te.data&&!!ae.data,De=!!ne.data,Me=!!ee.data,Fe=!!te.data&&!!Pe.data,Ue=!!te.data&&!!Se.data,He=!!te.data&&!!Ae.data&&!!ee.data,Ve=function(e,t,a,n){if(!(e&&t&&a&&n))return{heroVideo:null,videoList:a&&a.data};if(!e.data.length&&!t.data.length&&1===a.data.length)return{heroVideo:Ee.a.first(a.data),videoList:[]};var i=a.data.findIndex((function(e){return e.id===n.pinnedVideoMasterId}));return-1===i?{heroVideo:null,videoList:a.data}:{heroVideo:a.data[i],videoList:a.data.filter((function(e){return e.id!==n.pinnedVideoMasterId}))}}(Ae.data,Pe.data,Se.data,te.data),ze=Ve.heroVideo,$e=Ve.videoList;return n.createElement("div",{className:"bg-white"},Re?n.createElement(u.a,{heading:te.data.name,banner:te.data.banner,imageCdnUrl:q.data.imageCdnUrl,actions:(null===(y=te.data)||void 0===y?void 0:y.comingSoon)?[]:ke(te.data,Be)}):n.createElement(u.b,null),n.createElement("div",{className:"px-3"},n.createElement("div",{className:"py-3 mb-3 ".concat((null===(I=te.data)||void 0===I?void 0:I.comingSoon)?"":"border-bottom")},_e?n.createElement(m.b,{currentItem:te.data,type:m.a.Static,getItemAppLink:Object(be.a)(),data:ae.data,rootItem:{label:Ne("dashboard"),appLink:Object(be.b)()}}):n.createElement(m.c,null),Me&&Fe&&He&&Ue?n.createElement(C.a,{audiences:ee.data,activeAudiences:z,setAudience:$,disabled:!X}):n.createElement(C.b,null))),q.data&&(null===(j=te.data)||void 0===j?void 0:j.comingSoon)?n.createElement(D,{data:te.data,imageCdnUrl:q.data.imageCdnUrl,onToggleFollow:Be}):n.createElement("div",{className:"px-3"},De&&Fe&&He&&Ue?function(e){if(e.data.length)return!0;for(var t=arguments.length,a=new Array(t>1?t-1:0),n=1;n<t;n++)a[n-1]=arguments[n];return a.some((function(e){return!!e.data.length}))}(Pe.data,Ae.data,Se.data)||ze?n.createElement("div",{className:"pb-3"},n.createElement(de.a,{collection:ne.data,childAppLink:Object(be.a)()(),childComponent:M.a,headingPhraseKey:"topics"})):n.createElement("div",{className:"mx-n2"},n.createElement(V,{classifications:ne.data,getItemAppLink:Object(be.a)()})):n.createElement(de.b,null),He&&Fe&&Ue&&Me?n.createElement(se,{video:ze,presentationAudiences:ee.data,videoAppLink:{application:fe.a.DEFAULT,action:pe.a.Default.PLAY_VIDEO,args:[null===(O=ze)||void 0===O?void 0:O.id,ve.a.slugify(null===(B=ze)||void 0===B?void 0:B.name)]},seriesAppLink:{application:fe.a.DEFAULT,action:pe.a.Default.SERIES,args:(null===(T=ze)||void 0===T?void 0:T.series)?[ze.series.id,ve.a.slugify(ze.series.name)]:[]}}):n.createElement(le,null),n.createElement("div",null,Fe&&Me?!!(null===(_=null===(R=Pe.data)||void 0===R?void 0:R.data)||void 0===_?void 0:_.length)&&n.createElement("div",{className:"pb-2"},n.createElement("h4",null,Ne("playlists")),n.createElement(A.a,{playlists:Pe.data.data,getPlaylistAppLink:be.c,presentationAudiences:ee.data,itemClassName:"columns-of-five"})):n.createElement("div",{className:"pb-3"},n.createElement(x.a,{showHeading:!0,itemClassName:"columns-of-five"})),He?n.createElement(ce.a,{name:Ne("series"),type:d.c.Row,contents:L.a.Series,collection:Ae.data,setData:function(e){return e.data},appLink:Object(be.d)(te.data),childComponent:function(e){return n.createElement(me.b,Object.assign({audiences:ee.data},e))},childAppLink:{application:fe.a.DEFAULT,action:pe.a.Default.SERIES},prefetched:!0}):n.createElement(me.a,null),Ue?n.createElement(ce.a,{name:Ne("popular"),type:d.c.Row,contents:L.a.Videos,collection:$e,childComponent:ue.a,childAppLink:{application:fe.a.DEFAULT,action:pe.a.Default.PLAY_VIDEO},prefetched:!0}):n.createElement(oe.a,{type:d.c.Row}))))}}}]);
|