@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 @@
|
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/widgets/fixed-widget/FixedWidget.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/widgets/fixed-widget/FixedWidgetReducer.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/widgets/fixed-widget/FixedWidgetUtils.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/widgets/fixed-widget/PartialFixedWidget.tsx","webpack://@clickview/lite/C:/ClickView Projects/@clickview/packages/libs/shared/src/components/widgets/fixed-widget/fixed-widget.scss?5b34","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/widgets/sliding-list/SlidingListContainer.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/widgets/widget-button/WidgetButton.tsx","webpack://@clickview/lite/C:/ClickView Projects/@clickview/packages/libs/shared/src/components/widgets/widget-button/widget-button.scss?ef43","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/enums/CssMeasurement.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/enums/WidgetContents.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/enums/WidgetInteraction.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/hooks/UseGetMediaQueryString.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/hooks/UseHover.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/hooks/UseLazyLoad.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/utils/DragHelper.ts"],"names":[],"mappings":"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","file":"scripts/4.chunk.js","sourcesContent":["import * as React from 'react';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { Flight } from 'libs/common/flight';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\r\n\r\nimport { CssMeasurement } from 'libs/shared/enums/CssMeasurement';\r\nimport { WidgetButton, WidgetButtonDirection } from 'libs/shared/components/widgets/widget-button/WidgetButton';\r\nimport { SlidingListContainer } from 'libs/shared/components/widgets/sliding-list/SlidingListContainer';\r\nimport { useGetMediaQueryString } from 'libs/shared/hooks/UseGetMediaQueryString';\r\nimport { useHover } from 'libs/shared/hooks/UseHover';\r\nimport { WidgetType, WidgetContext } from 'libs/shared/interfaces';\r\nimport { WidgetInteraction } from 'libs/shared/enums/WidgetInteraction';\r\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\r\nimport { useLazyLoad } from 'libs/shared/hooks/UseLazyLoad';\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { ThumbnailSize } from 'libs/shared/enums/ThumbnailSize';\r\n\r\nimport { PartialFixedWidget } from './PartialFixedWidget';\r\nimport { useFetchData, formatData, getCollectionAppLink, getShouldPreload, getOnTouchStart, getOnTouchEnd } from './FixedWidgetUtils';\r\nimport { FixedWidgetReducer, initialWidgetState, lazyWidgetInit } from './FixedWidgetReducer';\r\n\r\nimport styles from './fixed-widget.scss';\r\n\r\nconst namespace = 'shared.fixedWidget';\r\n\r\nexport interface FixedWidgetProps {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n\r\n type: WidgetType;\r\n contents: WidgetContents;\r\n\r\n collection?: any;\r\n lazyLoad?: boolean;\r\n fetch?: (...args: any) => Flight.Response<any>;\r\n prefetched?: boolean;\r\n setData?: (data: any) => any;\r\n\r\n childComponent: React.ElementType;\r\n childAppLink: Core.AppLink;\r\n appLink?: Core.AppLink;\r\n settingsAppLink?: Core.AppLink;\r\n}\r\n\r\nFixedWidget.defaultProps = {\r\n type: WidgetType.Row\r\n};\r\n\r\nfunction FixedWidget(props: FixedWidgetProps): JSX.Element {\r\n const [ initialTouchX, setInitialTouchX ] = React.useState(null);\r\n const [ containerWidth, setContainerWidth ] = React.useState(null);\r\n const [ percentageDragged, setPercentageDragged ] = React.useState(0);\r\n\r\n const [ state, dispatch ] = React.useReducer(FixedWidgetReducer, initialWidgetState, lazyWidgetInit);\r\n\r\n const containerRef = React.useRef(null);\r\n const [ buttonsRef, isHovering ] = useHover<HTMLDivElement>();\r\n\r\n const [ isHoveringOnFarLeft, setIsHoveringOnFarLeft ] = React.useState(false);\r\n const [ isHoveringOnFarRight, setIsHoveringOnFarRight ] = React.useState(false);\r\n\r\n const { ref, inView } = useLazyLoad(props.lazyLoad);\r\n const mediaQuery = useGetMediaQueryString();\r\n\r\n React.useEffect(() => {\r\n dispatch({\r\n type: WidgetInteraction.Resize,\r\n payload: {\r\n mediaQuery,\r\n type: props.type,\r\n contents: props.contents,\r\n collection: state.collection\r\n }\r\n });\r\n }, [mediaQuery]);\r\n\r\n const response = useFetchData(props, dispatch, state, mediaQuery, !props.lazyLoad || inView);\r\n\r\n function onSetIsHovering(hovering: boolean, index: number): void {\r\n // This callback will hide the far left button if the user is hovering on the far left widget item.\r\n // Same goes for the far right button & widget item.\r\n if ((index + 1) / state.viewableItems % 1 === 0) {\r\n setIsHoveringOnFarRight(hovering);\r\n } else if (index / state.viewableItems % 1 === 0) {\r\n setIsHoveringOnFarLeft(hovering);\r\n }\r\n }\r\n\r\n const widgetContext: WidgetContext = {\r\n type: state.type,\r\n size: state.currentSize,\r\n collectionSize: state.collection.length,\r\n contents: props.contents\r\n };\r\n\r\n const data = formatData(props, response?.data || props.collection);\r\n\r\n if (response?.hasError)\r\n return <></>;\r\n\r\n if (!data || ObjectHelper.isEmpty(data) && !props.prefetched) {\r\n return (\r\n <div ref={ref}>\r\n <PartialFixedWidget type={props.type} />\r\n </div>\r\n );\r\n }\r\n\r\n if (!state.collection.length)\r\n return <></>;\r\n\r\n const WidgetItemComponent = props.childComponent;\r\n\r\n return (\r\n <div className='pb-3'>\r\n\r\n <div className='mb-1'>\r\n <AppLink appLink={getCollectionAppLink(props.appLink, data)}>\r\n <h2 className='h4 mb-0 d-inline-block align-top pl-1 text-dark'>\r\n {data.name}\r\n {!!props.appLink && (\r\n <SvgContainer svgName={cvSvgLibrary.ChevronRight} size={SvgContainerSize.Small} />\r\n )}\r\n </h2>\r\n {props.settingsAppLink &&\r\n <AppLink appLink={props.settingsAppLink}>\r\n <SvgContainer\r\n svgName={cvSvgLibrary.Cog}\r\n className='d-inline-block svg-container cursor-pointer'\r\n title={LanguageService.getPhrase(namespace, 'preferencesTooltip')}\r\n tooltipPlacement='right'\r\n />\r\n </AppLink>\r\n }\r\n </AppLink>\r\n\r\n {data.description &&\r\n <p className='text-truncate pl-1 mb-0 description'>{data.description}</p>\r\n }\r\n </div>\r\n\r\n <div ref={buttonsRef} className='position-relative'>\r\n {!isHoveringOnFarLeft && <div className={styles.leftOverflowGradient} />}\r\n <WidgetButton\r\n direction={WidgetButtonDirection.Left}\r\n onClick={() => dispatch({ type: WidgetInteraction.Previous })}\r\n hide={isHoveringOnFarLeft || (\r\n state.offset <= state.collection.length && !(isHovering && state.offset !== state.viewableItems)\r\n )}\r\n contents={props.contents}\r\n />\r\n\r\n <SlidingListContainer\r\n position={state.position}\r\n positionType={CssMeasurement.Percentage}\r\n onTouchMove={getOnTouchStart(\r\n state,\r\n containerRef,\r\n containerWidth,\r\n setContainerWidth,\r\n initialTouchX,\r\n setInitialTouchX,\r\n setPercentageDragged\r\n )}\r\n onTouchEnd={getOnTouchEnd(\r\n containerRef,\r\n setInitialTouchX,\r\n percentageDragged,\r\n setPercentageDragged,\r\n dispatch\r\n )}\r\n ref={containerRef}\r\n percentageDragged={percentageDragged}\r\n >\r\n {state.collection.map((widgetItem, index) => {\r\n return (\r\n <WidgetItemComponent\r\n key={widgetItem.id}\r\n data={widgetItem}\r\n appLink={props.childAppLink}\r\n context={widgetContext}\r\n preloadImage={getShouldPreload(state)(widgetItem)}\r\n thumbnailSize={ThumbnailSize.Medium}\r\n onHover={(hovering: boolean) => {\r\n /**\r\n * For some reason this needs to be called after a set timeout, otherwise\r\n * the `useHover` listener on the `buttonsRef` element will not detect it's hover\r\n * event. - Josh\r\n */\r\n window.setTimeout(() => {\r\n onSetIsHovering(hovering, index);\r\n }, 0);\r\n }}\r\n />\r\n );\r\n })}\r\n </SlidingListContainer>\r\n\r\n <WidgetButton\r\n direction={WidgetButtonDirection.Right}\r\n onClick={() => dispatch({ type: WidgetInteraction.Next })}\r\n hide={\r\n isHoveringOnFarRight || (\r\n (state.offset > state.viewableItems || state.offset === state.collection.length) &&\r\n !(isHovering && state.offset < state.collection.length)\r\n )\r\n }\r\n contents={props.contents}\r\n />\r\n {!isHoveringOnFarRight && <div className={styles.rightOverflowGradient} />}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nconst Memoized = React.memo(FixedWidget);\r\n\r\nexport { Memoized as FixedWidget };","import { ReducerActions } from 'libs/common/react/interfaces';\r\n\r\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\r\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\r\nimport { WidgetInteraction } from 'libs/shared/enums/WidgetInteraction';\r\nimport { WidgetType } from 'libs/shared/interfaces';\r\n\r\nimport { getComputeFunction } from './FixedWidgetUtils';\r\n\r\nexport interface FixedWidgetPayload {\r\n mediaQuery?: MediaQueryStrings;\r\n contents?: WidgetContents;\r\n type?: WidgetType;\r\n collection?: any[];\r\n}\r\n\r\nexport interface FixedWidgetState {\r\n // Current position within the widget collection\r\n offset: number;\r\n // Number of items viewable in slider for the current breakpoint/viewport size\r\n viewableItems: number;\r\n // Relative position of slider in the window. Used for an inline translate3d().\r\n position: number;\r\n // Collection of widget items\r\n collection: any[];\r\n // String representation of the current media query\r\n currentSize: MediaQueryStrings;\r\n // Type of widget being managed. May change on `Resize`.\r\n type: WidgetType;\r\n}\r\n\r\nexport const initialWidgetState: FixedWidgetState = {\r\n offset: 0,\r\n viewableItems: 4,\r\n position: 0,\r\n collection: [],\r\n currentSize: MediaQueryStrings.LG,\r\n type: WidgetType.Row\r\n};\r\n\r\nconst computeNextPosition = (prevState: FixedWidgetState): object => {\r\n const { collection, viewableItems, offset, position } = prevState;\r\n\r\n const remainingCount = collection.length - offset;\r\n\r\n /**\r\n * If the remaining items are evening divisible by the items in view, or,\r\n * we have more items that can be displayed in the view, move the slider a full 100%.\r\n */\r\n if (remainingCount % viewableItems === 0 || remainingCount > viewableItems)\r\n return {\r\n position: position - 100,\r\n offset: offset + viewableItems\r\n };\r\n\r\n /**\r\n * Where there are less items than we can show in a full slide, \r\n * calculate the % movement required to only show those items.\r\n */\r\n if (remainingCount < viewableItems)\r\n return {\r\n position: position - (remainingCount / viewableItems * 100),\r\n offset: offset + remainingCount\r\n };\r\n\r\n /**\r\n * Default back to the current state as a fallback\r\n */\r\n return {\r\n position: position,\r\n offset: offset\r\n };\r\n};\r\n\r\nconst computePreviousPosition = (prevState: FixedWidgetState): object => {\r\n const { viewableItems, offset, position } = prevState;\r\n\r\n const remainingCount = offset - viewableItems;\r\n\r\n if (remainingCount % viewableItems === 0 || remainingCount > viewableItems)\r\n return {\r\n position: position + 100,\r\n offset: offset - viewableItems\r\n };\r\n\r\n if (remainingCount < viewableItems)\r\n return {\r\n position: position + (remainingCount / viewableItems * 100),\r\n offset: offset - remainingCount\r\n };\r\n\r\n return {\r\n position: position,\r\n offset: offset\r\n };\r\n};\r\n\r\nexport function FixedWidgetReducer(\r\n prevState: FixedWidgetState,\r\n action: ReducerActions<WidgetInteraction, FixedWidgetPayload>\r\n): FixedWidgetState {\r\n const { type, payload = {} } = action;\r\n\r\n switch (type) {\r\n case WidgetInteraction.Next: {\r\n return {\r\n ...prevState,\r\n ...computeNextPosition(prevState)\r\n };\r\n }\r\n\r\n case WidgetInteraction.Previous: {\r\n return {\r\n ...prevState,\r\n ...computePreviousPosition(prevState)\r\n };\r\n }\r\n\r\n case WidgetInteraction.Resize: {\r\n const computeViewableItems = getComputeFunction(payload.contents);\r\n const initialSeen = computeViewableItems(payload.mediaQuery, payload.type, payload.collection?.length);\r\n\r\n return {\r\n ...prevState,\r\n currentSize: payload.mediaQuery,\r\n position: 0,\r\n offset: initialSeen,\r\n viewableItems: initialSeen,\r\n type: payload.type\r\n };\r\n }\r\n\r\n case WidgetInteraction.Init: {\r\n const computeViewableItems = getComputeFunction(payload.contents);\r\n const initialSeen = computeViewableItems(payload.mediaQuery, payload.type, payload.collection?.length);\r\n\r\n return lazyWidgetInit({\r\n ...prevState,\r\n collection: payload.collection,\r\n currentSize: payload.mediaQuery,\r\n offset: initialSeen,\r\n viewableItems: initialSeen,\r\n type: payload.type\r\n });\r\n }\r\n\r\n default:\r\n return prevState;\r\n }\r\n}\r\n\r\nexport function lazyWidgetInit(newState: FixedWidgetState): FixedWidgetState {\r\n return { ...initialWidgetState, ...newState };\r\n}","import * as React from 'react';\r\n\r\nimport { Flight } from 'libs/common/flight';\r\nimport { Core } from 'libs/common/core';\r\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\r\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\r\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\r\nimport { ReducerActions } from 'libs/common/react/interfaces';\r\n\r\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\r\nimport { WidgetInteraction } from 'libs/shared/enums/WidgetInteraction';\r\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\r\nimport { BaseObject, WidgetType } from 'libs/shared/interfaces';\r\n\r\nimport { FixedWidgetProps } from './FixedWidget';\r\nimport { FixedWidgetState, FixedWidgetPayload } from './FixedWidgetReducer';\r\n\r\nexport interface WidgetData {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n}\r\n\r\nexport function useFetchData(\r\n props: FixedWidgetProps,\r\n dispatch: Function,\r\n state: FixedWidgetState,\r\n mediaQueryType: MediaQueryStrings,\r\n shouldFetch: boolean\r\n): Flight.Response<any> {\r\n const { fetch, setData, type, collection: items, prefetched, contents } = props;\r\n\r\n let data = items;\r\n let res: Flight.Response<any>;\r\n\r\n if (!data || ObjectHelper.isEmpty(data) && !prefetched) {\r\n res = fetch(shouldFetch);\r\n data = res.data;\r\n }\r\n\r\n /**\r\n * Once we have the widget data, lazily update our state with the new collection\r\n */\r\n React.useEffect(() => {\r\n if (!data || ObjectHelper.isEmpty(data))\r\n return;\r\n\r\n dispatch({\r\n type: WidgetInteraction.Init,\r\n payload: {\r\n collection: FunctionHelper.isFunction(setData) ? setData(data) : data,\r\n mediaQuery: mediaQueryType,\r\n type,\r\n contents\r\n }\r\n });\r\n\r\n }, [data]);\r\n\r\n return res;\r\n}\r\n\r\n/**\r\n * This function wrapper determines which widget item images should be pre-fetched by the LazyImage component.\r\n * It does this by looking at which images are going to be shown after the users clicks on the \"Next\"\r\n * widget button.\r\n */\r\nexport function getShouldPreload(state: FixedWidgetState): (widgetItem: any) => boolean {\r\n const { offset, viewableItems, collection } = state;\r\n\r\n // The index of the latest item that has been fetched\r\n const maxLoadedIndex = offset;\r\n\r\n /**\r\n * The indicesToPreload is an array of indices of widget items that should be prefetched by the\r\n * LazyImage component\r\n */\r\n const indicesToPreload: number[] = [];\r\n for (let i = 0; i < maxLoadedIndex + viewableItems; i++) {\r\n indicesToPreload.push(i);\r\n }\r\n\r\n /**\r\n * A widget item calls this function to determine whether or not its image can be pre-fetched.\r\n * This is determined by whether or not its index has been deemed valid to be pre-fetched\r\n * by the scope above\r\n */\r\n return function shouldPreload(widgetItem: any): boolean {\r\n const index = collection.indexOf(widgetItem);\r\n\r\n return indicesToPreload.includes(index);\r\n };\r\n}\r\n\r\nexport function getCollectionAppLink(appLink: Core.AppLink, data: WidgetData): Core.AppLink {\r\n if (!appLink)\r\n return;\r\n\r\n return {\r\n ...appLink,\r\n args: appLink.args || [ data.id, TextHelper.slugify(data.name) ]\r\n };\r\n}\r\n\r\n/**\r\n * Allow explicit name and description props to override the fetched\r\n * data properties.\r\n * \r\n * @param props \r\n * @param data \r\n */\r\nexport function formatData(props: FixedWidgetProps, data: BaseObject): WidgetData {\r\n const { name, description } = props;\r\n\r\n const overrideProps: WidgetData = {};\r\n\r\n if (Array.isArray(data))\r\n return { name, description };\r\n\r\n if (props.name) overrideProps.name = name;\r\n if (props.description) overrideProps.description = description;\r\n\r\n return { ...data, ...overrideProps };\r\n}\r\n\r\n/**\r\n * The functions below are used by the reducer to compute the number of widget items\r\n * displayed on the screen based on the media query, widget type, and total number of items.\r\n */\r\ntype ComputeFunction = (mediaQuery: MediaQueryStrings, type: WidgetType, itemCount: number) => number;\r\n\r\nexport function getComputeFunction(contents: WidgetContents): ComputeFunction {\r\n switch (contents) {\r\n case WidgetContents.Playlists:\r\n return computeViewablePlaylists;\r\n\r\n case WidgetContents.Videos:\r\n return computeViewableVideos;\r\n\r\n case WidgetContents.Subjects:\r\n return computeViewableSubjects;\r\n\r\n case WidgetContents.UserChannels:\r\n return computeViewableUserChannels;\r\n\r\n case WidgetContents.Series:\r\n default:\r\n return computeViewableSeries;\r\n }\r\n}\r\n\r\nfunction computeViewablePlaylists(mediaQuery: MediaQueryStrings, type: WidgetType, itemCount: number): number {\r\n let maxItems: number = 5;\r\n\r\n if (mediaQuery === MediaQueryStrings.XS)\r\n maxItems = 2;\r\n else if (mediaQuery === MediaQueryStrings.SM)\r\n maxItems = 3;\r\n else if (mediaQuery === MediaQueryStrings.MD)\r\n maxItems = 4;\r\n\r\n if (itemCount < maxItems)\r\n maxItems = itemCount;\r\n\r\n return maxItems;\r\n}\r\n\r\nfunction computeViewableVideos(mediaQuery: MediaQueryStrings, type: WidgetType, itemCount: number): number {\r\n let maxItems: number = 4;\r\n\r\n if (mediaQuery === MediaQueryStrings.XS)\r\n maxItems = 2;\r\n else if (mediaQuery === MediaQueryStrings.SM)\r\n maxItems = 3;\r\n else if (mediaQuery === MediaQueryStrings.MD)\r\n maxItems = 4;\r\n else if (\r\n mediaQuery === MediaQueryStrings.LG\r\n || mediaQuery === MediaQueryStrings.XL\r\n || mediaQuery === MediaQueryStrings.XXL\r\n ) {\r\n if (type === WidgetType.LargeRow)\r\n maxItems = 3;\r\n\r\n else if (itemCount < 4)\r\n maxItems = 3;\r\n\r\n else\r\n maxItems = 4;\r\n }\r\n\r\n if (itemCount < maxItems)\r\n maxItems = itemCount;\r\n\r\n return maxItems;\r\n}\r\n\r\nfunction computeViewableSubjects(mediaQuery: MediaQueryStrings, type: WidgetType, itemCount: number): number {\r\n let maxItems: number = 6;\r\n\r\n if (mediaQuery === MediaQueryStrings.SM || mediaQuery === MediaQueryStrings.XS)\r\n maxItems = 3;\r\n else if (mediaQuery === MediaQueryStrings.MD)\r\n maxItems = 4;\r\n else if (mediaQuery === MediaQueryStrings.LG)\r\n maxItems = 5;\r\n else if (mediaQuery === MediaQueryStrings.XL || mediaQuery === MediaQueryStrings.XXL)\r\n maxItems = 6;\r\n\r\n if (itemCount < maxItems)\r\n maxItems = itemCount;\r\n\r\n return maxItems;\r\n}\r\n\r\nfunction computeViewableUserChannels(mediaQuery: MediaQueryStrings, type: WidgetType, itemCount: number): number {\r\n let maxItems: number = 6;\r\n\r\n if (mediaQuery === MediaQueryStrings.SM || mediaQuery === MediaQueryStrings.XS)\r\n maxItems = 3;\r\n else if (mediaQuery === MediaQueryStrings.MD)\r\n maxItems = 4;\r\n else if (mediaQuery === MediaQueryStrings.LG)\r\n maxItems = 5;\r\n else if (mediaQuery === MediaQueryStrings.XL || mediaQuery === MediaQueryStrings.XXL)\r\n maxItems = 6;\r\n\r\n if (itemCount < maxItems)\r\n maxItems = itemCount;\r\n\r\n return maxItems;\r\n}\r\n\r\nfunction computeViewableSeries(mediaQuery: MediaQueryStrings, type: WidgetType, itemCount: number): number {\r\n let maxItems: number = 4;\r\n\r\n if (mediaQuery === MediaQueryStrings.XS)\r\n maxItems = 2;\r\n else if (mediaQuery === MediaQueryStrings.SM)\r\n maxItems = 3;\r\n\r\n if (itemCount < maxItems)\r\n maxItems = itemCount;\r\n\r\n return maxItems;\r\n}\r\n\r\n/**\r\n * Touch event handlers\r\n */\r\nexport function getOnTouchStart(\r\n widgetState: FixedWidgetState,\r\n containerRef: React.MutableRefObject<HTMLDivElement>,\r\n containerWidth: number,\r\n setContainerWidth: React.Dispatch<number>,\r\n initialTouchX: number,\r\n setInitialTouchX: React.Dispatch<number>,\r\n setPercentageDragged: React.Dispatch<number>\r\n): (event: React.TouchEvent<HTMLDivElement>) => void {\r\n return function(event: React.TouchEvent<HTMLDivElement>): void {\r\n const firstTouch = event.touches.item(0);\r\n const touchX = firstTouch.clientX;\r\n\r\n /**\r\n * Runs only on the very first touch event.\r\n * \r\n * Sets the initial x-coordinate as a reference point to calculate how far the user has dragged before\r\n * they release their finder\r\n */\r\n if (!initialTouchX) {\r\n containerRef.current.style.transition = '';\r\n\r\n setContainerWidth(containerRef.current.getBoundingClientRect().width);\r\n setInitialTouchX(touchX);\r\n }\r\n\r\n const pixelsDragged = initialTouchX - touchX;\r\n\r\n // Calculate how far the user has moved their finger as a percentage of the widget's container element\r\n let currentPercentageDragged = ((pixelsDragged / containerWidth) * 100);\r\n\r\n /**\r\n * These 2 if statements prevent the user from dragging the widget beyond its limits.\r\n * One if statement handles if they have dragged to the left, and the other is for dragging to the right.\r\n * \r\n * The same logic is used to hide the widget buttons (see the `hide` prop passed to `<WidgetButton />`)\r\n */\r\n if (currentPercentageDragged < 0 && (widgetState.offset === widgetState.viewableItems))\r\n currentPercentageDragged = 0;\r\n\r\n else if (currentPercentageDragged > 0 && (widgetState.offset === widgetState.collection.length))\r\n currentPercentageDragged = 0;\r\n\r\n setPercentageDragged(currentPercentageDragged);\r\n };\r\n}\r\n\r\nconst DRAG_TOLERANCE = 7.5; // % of container width using to trigger a transition.\r\n\r\nexport function getOnTouchEnd(\r\n containerRef: React.MutableRefObject<HTMLDivElement>,\r\n setInitialTouchX: React.Dispatch<number>,\r\n percentageDragged: number,\r\n setPercentageDragged: React.Dispatch<number>,\r\n dispatch: React.Dispatch<ReducerActions<WidgetInteraction, FixedWidgetPayload>>\r\n): () => void {\r\n return function(): void {\r\n containerRef.current.style.transition = 'transform 500ms ease-in-out 100ms';\r\n setInitialTouchX(null);\r\n\r\n /**\r\n * Only trigger a Next/Previous widget event if the user has dragged beyond DRAG_TOLERANCE% either way of the\r\n * container's width. This means if the user only drags left/right a tiny little bit, the widget\r\n * will simply slide back into its original place.\r\n */\r\n if (Math.abs(percentageDragged) >= DRAG_TOLERANCE) {\r\n const reducerAction = percentageDragged > 0 ? WidgetInteraction.Next : WidgetInteraction.Previous;\r\n\r\n dispatch({\r\n type: reducerAction\r\n });\r\n }\r\n\r\n setPercentageDragged(0);\r\n };\r\n}","import * as React from 'react';\r\n\r\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\r\n\r\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\r\nimport { WidgetType } from 'libs/shared/interfaces';\r\nimport { useGetMediaQueryString } from 'libs/shared/hooks/UseGetMediaQueryString';\r\n\r\nimport styles from './fixed-widget.scss';\r\n\r\nfunction useMediaQueryListeners(): HashObject {\r\n const mediaQuery = useGetMediaQueryString();\r\n\r\n if (mediaQuery === MediaQueryStrings.XS)\r\n return {\r\n itemCount: 1,\r\n colSize: 12\r\n };\r\n\r\n if (mediaQuery === MediaQueryStrings.SM)\r\n return {\r\n itemCount: 2,\r\n colSize: 6\r\n };\r\n\r\n if (mediaQuery === MediaQueryStrings.MD)\r\n return {\r\n itemCount: 3,\r\n colSize: 4\r\n };\r\n\r\n return {\r\n itemCount: 4,\r\n colSize: 3\r\n };\r\n}\r\n\r\nconst PartialLoadingItem = ({ colSize }: HashObject) => (\r\n <div className={`col-${colSize}`}>\r\n <div className={`${styles.partialItem} mx-1 partial-loading-background`} />\r\n </div>\r\n);\r\n\r\ninterface PartialFixedWidgetProps {\r\n type: WidgetType;\r\n}\r\n\r\nexport function PartialFixedWidget(props: PartialFixedWidgetProps): JSX.Element {\r\n const { itemCount, colSize } = useMediaQueryListeners();\r\n\r\n let items = [];\r\n for (let i = 0; i < itemCount; i++) {\r\n items.push(<PartialLoadingItem key={i} colSize={colSize} />);\r\n }\r\n\r\n return (\r\n <div className='widget pb-3'>\r\n <div className={`${styles.partialHeading} mx-1 mb-1 partial-loading-background`}></div>\r\n <div className={`${styles.partialDescription} mx-1 my-1 partial-loading-background`}></div>\r\n <div className={`${styles.slidingContainer} row`}>\r\n {items}\r\n </div>\r\n </div>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"leftOverflowGradient\":\"cv--leftOverflowGradient--u_MPi\",\"rightOverflowGradient\":\"cv--rightOverflowGradient--38ooL\",\"partialHeading\":\"cv--partialHeading--OVsdA\",\"partialDescription\":\"cv--partialDescription--1HtA2\",\"partialItem\":\"cv--partialItem--3G2hG\",\"largePartialItem\":\"cv--largePartialItem--NnK8O\"};","import * as React from 'react';\r\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\r\nimport { UserAgentHelper } from 'libs/common/backbone/utils/UserAgentHelper';\r\n\r\nimport { CssMeasurement } from 'libs/shared/enums/CssMeasurement';\r\nimport { DragHelper } from 'libs/shared/utils/DragHelper';\r\n\r\nconst isTouchScreen = UserAgentHelper.isTouchScreen();\r\n\r\nfunction getPositionStyling(xPosition: number, measurement: CssMeasurement, dragPercentage?: number): object {\r\n // Used in situations where a touch screen user is dragging the `<FixedWidget />`\r\n if (measurement === CssMeasurement.Percentage && dragPercentage)\r\n xPosition = xPosition - dragPercentage;\r\n\r\n return {\r\n transform: `translate3d(${xPosition}${measurement}, 0px, 0px)`,\r\n transition: 'transform 500ms ease-in-out 100ms'\r\n };\r\n}\r\n\r\ninterface SlidingListContainerProps extends React.PropsWithChildren<{}> {\r\n position: number;\r\n positionType: CssMeasurement;\r\n\r\n onDrag?: (event: React.DragEvent<HTMLDivElement>) => void;\r\n onDragEnd?: () => void;\r\n\r\n onTouchMove?: (event: React.TouchEvent<HTMLDivElement>) => void;\r\n onTouchEnd?: () => void;\r\n\r\n percentageDragged?: number;\r\n}\r\n\r\nexport const SlidingListContainer = React.forwardRef((\r\n props: SlidingListContainerProps,\r\n ref: React.MutableRefObject<HTMLDivElement>\r\n): JSX.Element => {\r\n const { children, positionType, onDrag, onDragEnd, onTouchMove, onTouchEnd, percentageDragged, position = 0 } = props;\r\n\r\n function getEventListeners(): HashObject {\r\n const listenerProps: HashObject = {};\r\n\r\n if (onDrag && onDragEnd) {\r\n listenerProps.draggable = true;\r\n listenerProps.onDrag = onDrag;\r\n listenerProps.onDragEnd = onDragEnd;\r\n listenerProps.onDragStart = DragHelper.hideDragImage;\r\n listenerProps.onDragOver = (e: React.DragEvent<HTMLDivElement>) => e.preventDefault();\r\n }\r\n\r\n if (onTouchMove && onTouchEnd && isTouchScreen) {\r\n listenerProps.onTouchMoveCapture = onTouchMove;\r\n listenerProps.onTouchEndCapture = onTouchEnd;\r\n }\r\n\r\n return listenerProps;\r\n }\r\n\r\n return (\r\n <div\r\n className='d-flex flex-nowrap position-relative w-100'\r\n style={getPositionStyling(position, positionType, percentageDragged)}\r\n ref={ref}\r\n {...getEventListeners()}\r\n >\r\n {children}\r\n </div>\r\n );\r\n});","import * as React from 'react';\r\n\r\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\r\n\r\nimport styles from './widget-button.scss';\r\n\r\nexport enum WidgetButtonDirection {\r\n Left,\r\n Right\r\n}\r\n\r\nfunction getPositionClass(contents: WidgetContents, isLeftDirection: boolean): string {\r\n let className = styles.topPos;\r\n\r\n // Left / Right\r\n if (isLeftDirection)\r\n className += ' ' + styles.left;\r\n else\r\n className += ' ' + styles.right;\r\n\r\n return className;\r\n}\r\n\r\ninterface WidgetButtonProps {\r\n onClick: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\r\n direction: WidgetButtonDirection;\r\n hide: boolean;\r\n contents?: WidgetContents;\r\n useGradientBackdrop?: boolean;\r\n}\r\n\r\nexport const WidgetButton = React.memo(function(props: WidgetButtonProps): JSX.Element {\r\n const isLeft = props.direction === WidgetButtonDirection.Left;\r\n\r\n const arrowSvg = isLeft ? cvSvgLibrary.ChevronLeft : cvSvgLibrary.ChevronRight;\r\n\r\n const positionClass = getPositionClass(props.contents, isLeft);\r\n\r\n if (props.hide)\r\n return <></>;\r\n\r\n return (\r\n <>\r\n <div role='button' className={`${positionClass} ${styles.button}`} onClick={props.onClick}>\r\n <SvgContainer\r\n svgName={arrowSvg}\r\n size={SvgContainerSize.Medium}\r\n className='svg-container d-inline-block'\r\n />\r\n </div>\r\n\r\n {props.useGradientBackdrop && <div className={isLeft ? styles.gradientLeft : styles.gradientRight} />}\r\n <div role='button' onClick={props.onClick} className={\r\n isLeft ? styles.extendedClickableAreaLeft : styles.extendedClickableAreaRight\r\n } />\r\n </>\r\n );\r\n}, (prevProps, nextProps) => prevProps.hide === nextProps.hide);","// extracted by mini-css-extract-plugin\nmodule.exports = {\"left\":\"cv--left--789pr\",\"right\":\"cv--right--1P8qt\",\"button\":\"cv--button--24q_F\",\"gradientLeft\":\"cv--gradientLeft--3fkiw\",\"gradientRight\":\"cv--gradientRight--2RDDy\",\"extendedClickableAreaRight\":\"cv--extendedClickableAreaRight--13dgy\",\"extendedClickableAreaLeft\":\"cv--extendedClickableAreaLeft--37LtK\",\"videoTopPos\":\"cv--videoTopPos--1XTRO\",\"topPos\":\"cv--topPos--3_p_J\"};","export enum CssMeasurement {\r\n Percentage = '%',\r\n Pixels = 'px'\r\n}","export enum WidgetContents {\r\n Videos = 'videos',\r\n Series = 'series',\r\n Subjects = 'subjects',\r\n Playlists = 'playlists',\r\n UserChannels = 'user channels'\r\n}","export enum WidgetInteraction {\r\n Init = 'init',\r\n Next = 'next',\r\n Previous = 'previous',\r\n Resize = 'resize',\r\n Drag = 'drag'\r\n}","import { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\r\nimport { useMediaQuery } from './UseMediaQuery';\r\n\r\nexport function useGetMediaQueryString(): MediaQueryStrings {\r\n /**\r\n * I tried to do this by looping through `MediaQueryStrings`'s keys, but you can't run\r\n * hooks in a loop :(\r\n */\r\n const isXS = useMediaQuery(MediaQueryStrings.XS);\r\n const isSM = useMediaQuery(MediaQueryStrings.SM);\r\n const isMD = useMediaQuery(MediaQueryStrings.MD);\r\n const isLG = useMediaQuery(MediaQueryStrings.LG);\r\n const isXL = useMediaQuery(MediaQueryStrings.XL);\r\n const isXXL = useMediaQuery(MediaQueryStrings.XXL);\r\n\r\n let currentString = MediaQueryStrings.LG; // default\r\n if (isXS) currentString = MediaQueryStrings.XS;\r\n if (isSM) currentString = MediaQueryStrings.SM;\r\n if (isMD) currentString = MediaQueryStrings.MD;\r\n if (isLG) currentString = MediaQueryStrings.LG;\r\n if (isXL) currentString = MediaQueryStrings.XL;\r\n if (isXXL) currentString = MediaQueryStrings.XXL;\r\n\r\n return currentString;\r\n}","import * as React from 'react';\r\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\r\n\r\ninterface HoverOptions {\r\n /**\r\n * Classes to be applied to the target element on hover. Useful if you want to style the element on hover\r\n * after a delay (controlled by the `timeout` option below)\r\n */\r\n className?: string;\r\n\r\n /**\r\n * A delay between when the user actually hovers on the element, and when the hook returns `true` for `isHovering`.\r\n * This can be used to determine whether a user has actually intended for a hover event on an element to be\r\n * triggered or not. Defaults to 0.\r\n */\r\n delay?: number;\r\n}\r\n\r\nconst defaultOptions: HoverOptions = {\r\n className: '',\r\n delay: 0\r\n};\r\n\r\n/**\r\n * This hook detects hover events on an element.\r\n * This should only be used where CSS hover events won't suffice for what you are trying to achieve.\r\n */\r\nexport function useHover<T extends HTMLElement>(\r\n options: HoverOptions = defaultOptions\r\n): [ React.MutableRefObject<T>, boolean ] {\r\n const [ isHovering, setHovering ] = React.useState(false);\r\n\r\n const ref = React.useRef<T>(null);\r\n\r\n const triggerHover = FunctionHelper.throttle(() => {\r\n if (options.className)\r\n ref.current?.classList?.add(options.className);\r\n\r\n setHovering(true);\r\n }, options.delay, { leading: false });\r\n\r\n const handleMouseOut = () => {\r\n if (FunctionHelper.isFunction(triggerHover.cancel))\r\n triggerHover.cancel();\r\n\r\n if (options.className)\r\n ref.current?.classList?.remove(options.className);\r\n\r\n setHovering(false);\r\n };\r\n\r\n React.useLayoutEffect(() => {\r\n const node = ref.current;\r\n\r\n if (node) {\r\n node.addEventListener('mouseenter', triggerHover);\r\n node.addEventListener('mouseleave', handleMouseOut);\r\n\r\n return () => {\r\n node.removeEventListener('mouseenter', triggerHover);\r\n node.removeEventListener('mouseleave', handleMouseOut);\r\n };\r\n }\r\n }, [ref.current]);\r\n\r\n return [ ref, isHovering ];\r\n}\r\n\r\nexport function useHoverIntent<T extends HTMLElement>(className: string): [ React.MutableRefObject<T>, boolean ] {\r\n return useHover({\r\n className,\r\n delay: 275\r\n });\r\n}","import * as ReactIntersectionObserver from 'react-intersection-observer';\r\n\r\ninterface LazyUtils {\r\n ref: (node?: Element) => void | null;\r\n inView: boolean;\r\n}\r\n\r\nexport function useLazyLoad(lazyLoadProp: boolean): LazyUtils {\r\n const lazyLoad = lazyLoadProp && !(typeof (window as any).IntersectionObserver === 'undefined');\r\n let [ ref, inView ] = ReactIntersectionObserver.useInView({ triggerOnce: true });\r\n\r\n if (!lazyLoad)\r\n inView = true;\r\n\r\n return { ref, inView };\r\n}","const blankImage = new Image();\r\nblankImage.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=';\r\n\r\nexport const DragHelper = {\r\n // This removes the image that appears when you drag a draggable HTML element\r\n hideDragImage(event: React.DragEvent<HTMLElement>): void {\r\n event.dataTransfer.setDragImage(blankImage, 0, 0);\r\n }\r\n};"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp_clickview_lite=window.webpackJsonp_clickview_lite||[]).push([[
|
|
1
|
+
(window.webpackJsonp_clickview_lite=window.webpackJsonp_clickview_lite||[]).push([[40],{415:function(e,r,n){"use strict";n.d(r,"a",(function(){return l}));var t=n(12),a=n(59),o=n(16),s=n(425),c=n(417),i=n(418),u=n(419),l={getSchoolStudents:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.filter,n=void 0===r?"":r,o=e.q,i=void 0===o?"":o,u=e.query,l=void 0===u?"":u,m=e.cursor,d=void 0===m?"1":m;return{url:a.a.urlBuilder("api/domain/v1/school/:id/students",e),key:"school:students:".concat(i,":").concat(l,":").concat(n,":").concat(d),successResponse:function(){var e=s.a.revertFilterString(n),r=t.a.Simulator.getAll("school:students",c).filter((function(r){var t,a;return!(i&&!r.name.toLowerCase().includes(i.toLowerCase()))&&(!n||(!e.yearLevel||e.yearLevel===r.yearLevel.id)&&!((null===(t=e.classroom)||void 0===t?void 0:t.length)&&!e.classroom.includes(null===(a=r.classroom)||void 0===a?void 0:a.id)))})),a=s.a.convertWithStatementToObject(l),o=a.sortValue||"name",u=r.sort((function(e,r){return e[o].toLowerCase()<r[o].toLowerCase()?-1:e[o].toLowerCase()>r[o].toLowerCase()?1:0}));a.sortKey&&"orderbydesc"===a.sortKey&&(u=u.reverse());var m=u.slice(25*(+d-1),25*+d),h=u.slice(25*+d).length?+d+1:void 0,p="1"===d?void 0:+d-1;return m.length||(m=u.slice(0,25),h=u.slice(25).length?2:void 0,p=void 0),{data:m,pagination:{cursors:{next:h,previous:p}},count:u.length}},timeout:500}},tempGetAllStudents:function(){return{url:"",key:"get:all:dem:students",successResponse:function(){return t.a.Simulator.getAll("school:students")}}},removeStudentsFromSchool:function(e,r){return{url:"",key:"remove:school:students",invalidationKeys:["school:students"],successResponse:function(){return t.a.Simulator.delete("school:students",e),{}},always:r}},getStudent:function(e){return{url:"/api/domain/v1/users/".concat(e),key:"students:".concat(e),successResponse:function(){return t.a.Simulator.get("school:students",e)}}},createStudent:function(e,r,n){return{url:"/api/domain/v1/users",key:"create:student",type:o.a.POST,invalidationKeys:["school:students"],successResponse:function(){return t.a.Simulator.create("school:students",e)},success:r,error:n}},bulkCreateStudents:function(e,r,n,a){return{url:"/api/domain/v1/users",key:"create:students",type:o.a.POST,invalidationKeys:["school:students"],successResponse:function(){return e.forEach((function(e){return t.a.Simulator.create("school:students",e)})),e},success:r,error:n,always:a}},updateStudent:function(e,r,n){return{url:"/api/domain/v1/users",key:"edit:student",type:o.a.PUT,invalidationKeys:["school:students"],successResponse:function(){return t.a.Simulator.update("school:students",e)},success:r,error:n}},getSchoolTeachers:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.filter,n=void 0===r?"":r,o=e.q,s=void 0===o?"":o,c=e.query,u=void 0===c?"":c,l=e.cursor,m=void 0===l?"":l;return{url:a.a.urlBuilder("api/domain/v1/school/:id/teachers",e),key:"school:teachers:".concat(s,":").concat(u,":").concat(n,":").concat(m),successResponse:function(){var e=t.a.Simulator.getAll("school:teachers",i);return{data:e,pagination:{cursors:{}},count:e.length}},timeout:2e3}},removeTeachersFromSchool:function(e,r){return{url:"",key:"remove:school:teachers",invalidationKeys:["school:teachers"],successResponse:function(){return t.a.Simulator.delete("school:teachers",e),{}},always:r}},getTeacher:function(e){return{url:"/api/domain/v1/users/".concat(e),key:"teachers:".concat(e),successResponse:function(){return t.a.Simulator.get("school:teachers",e)}}},createTeacher:function(e,r,n){return{url:"/api/domain/v1/users",key:"create:teacher",type:o.a.POST,invalidationKeys:["school:teachers"],successResponse:function(){return t.a.Simulator.create("school:teachers",e)},success:r,error:n}},bulkCreateTeachers:function(e,r,n,a){return{url:"/api/domain/v1/users",key:"create:teachers",type:o.a.POST,invalidationKeys:["school:teachers"],successResponse:function(){return e.forEach((function(e){return t.a.Simulator.create("school:teachers",e)})),e},success:r,error:n,always:a}},updateTeacher:function(e,r,n){return{url:"/api/domain/v1/users",key:"edit:teacher",type:o.a.PUT,invalidationKeys:["school:teachers"],successResponse:function(){return t.a.Simulator.update("school:teachers",e)},success:r,error:n}},getUserRoles:function(){return{url:"/api/domain/v1/users/roles",key:"user:roles",successResponse:function(){return t.a.Simulator.getAll("user:roles",u)}}},getStudentsGroups:function(e){return{url:"/api/domain/v1/users/".concat(e,"/groups"),key:"user:".concat(e,":groups"),successResponse:function(){return t.a.Simulator.getAll("groups").filter((function(r){return!!r.students.find((function(r){return r.id===e}))}))}}}}},417:function(e){e.exports=JSON.parse('[{"username":"Joosh","name":"Joshua","surname":"Taylor","email":"joshua.taylor@clickview.com.au","yearLevel":{"id":"year-2","name":"Year 2"},"classroom":{"id":"classroom-2-c","name":"Classroom 2-C"}},{"username":"Shale","name":"Shale","surname":"Kuzmanovski","email":"shale.kuzmanovski@clickview.com.au","yearLevel":{"id":"year-2","name":"Year 2"},"classroom":{"id":"classroom-2-a","name":"Classroom 2-A"}},{"username":"Mike","name":"Michael","surname":"O\'McDonald","email":"michael.mcdonnell@clickview.com.au","yearLevel":{"id":"year-2","name":"Year 2"},"classroom":{"id":"classroom-2-a","name":"Classroom 2-A"}},{"username":"Met","name":"Matt","surname":"Trengrove","email":"matt@clickview.com.au","yearLevel":{"id":"year-2","name":"Year 2"},"classroom":{"id":"classroom-2-b","name":"Classroom 2-B"}},{"username":"Big Kev","name":"Don Kevin","surname":"Wellalagodage","email":"kevin.wellalagoladegelagodage@clickview.com.au","yearLevel":{"id":"year-2","name":"Year 1"},"classroom":{"id":"classroom-1-a","name":"Classroom 1-A"}}]')},418:function(e){e.exports=JSON.parse('[{"username":"beb","name":"Beverly","surname":"Li","email":"beverly.li@clickview.com.au","userRole":{"id":"assistant-principal","name":"Assistant Principal"}},{"username":"Bort","name":"Cameron","surname":"Hill","email":"cameron.hill@clickview.com.au","userRole":{"id":"principal","name":"Principal"}},{"username":"jaynice","name":"Janice","surname":"Quach","email":"janice.quach@clickview.com.au","userRole":{"id":"head-of-science","name":"Head of Science"}},{"username":"bread","name":"Prad","surname":"Nepal","email":"prad.nepal@clickview.com.au","userRole":{"id":"head-of-conpiracy-theories","name":"Head of Conspiracy Theories"}}]')},419:function(e){e.exports=JSON.parse('[{"id":"teacher","name":"Teacher"},{"id":"assistant-principal","name":"Assistant Principal"},{"id":"principal","name":"Principal"},{"id":"head-of-science","name":"Head of Science"},{"id":"head-of-conpiracy-theories","name":"Head of Conspiracy Theories"}]')},649:function(e,r,n){"use strict";n.r(r),n.d(r,"RemoveUserView",(function(){return y}));var t=n(0),a=n.n(t),o=n(39),s=n(7),c=n(12),i=n(412),u=n(48),l=n(125),m=n(118),d=n(415),h=n(31);function p(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],t=!0,a=!1,o=void 0;try{for(var s,c=e[Symbol.iterator]();!(t=(s=c.next()).done)&&(n.push(s.value),!r||n.length!==r);t=!0);}catch(e){a=!0,o=e}finally{try{t||null==c.return||c.return()}finally{if(a)throw o}}return n}(e,r)||function(e,r){if(!e)return;if("string"==typeof e)return v(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return v(e,r)}(e,r)||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 v(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}var f=s.a.encloseNamespace("userManager.removeUser");function y(e){var r=p(a.a.useState(!1),2),n=r[0],t=r[1],s=Object(o.useDispatch)(),v=Object(i.a)(),y="student"===e.userType;var S=y?"titleStudents":"titleTeachers",g=y?"confirmStudents":"confirmTeachers";return a.a.createElement(m.a,{title:f(S),closePopup:e.closePopup,showLoadingSpinner:n},a.a.createElement("p",null,a.a.createElement(u.b,{namespace:"userManager.removeUser",phrase:g,options:{smartCount:e.userIds.length}})),a.a.createElement(l.a,{buttons:[{variant:"link",onClick:e.closePopup,buttonText:f("cancel")},{variant:"danger",onClick:function(){t(!0);var r=y?d.a.removeStudentsFromSchool:d.a.removeTeachersFromSchool;c.a.fetch(s,r(e.userIds,(function(){t(!1),h.a.logUserAction({count:e.userIds.length},e.analyticsOptions),v.success(f("success",{smartCount:e.userIds.length})),e.closePopup()})))},buttonText:f("remove"),isSpinnerButton:!0,showSpinner:n}]}))}}}]);
|
package/dist/scripts/40.chunk.js
CHANGED
|
@@ -1 +1,236 @@
|
|
|
1
|
-
(window
|
|
1
|
+
(window["webpackJsonp_clickview_lite"] = window["webpackJsonp_clickview_lite"] || []).push([[40],{
|
|
2
|
+
|
|
3
|
+
/***/ "../../libs/shared/src/context/PageTitleContext.tsx":
|
|
4
|
+
/*!**********************************************************************************************!*\
|
|
5
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/context/PageTitleContext.tsx ***!
|
|
6
|
+
\**********************************************************************************************/
|
|
7
|
+
/*! exports provided: PageTitleContext, PageTitleContextProvider */
|
|
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__, "PageTitleContext", function() { return PageTitleContext; });
|
|
13
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PageTitleContextProvider", function() { return PageTitleContextProvider; });
|
|
14
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
15
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
16
|
+
/* harmony import */ var _common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
|
|
17
|
+
/* harmony import */ var _utils_PageTitleHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/PageTitleHelper */ "../../libs/shared/src/utils/PageTitleHelper.ts");
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
const PageTitleContext = react__WEBPACK_IMPORTED_MODULE_0__["createContext"]({});
|
|
22
|
+
const namespace = 'shared.context';
|
|
23
|
+
|
|
24
|
+
const DEFAULT_TITLE = () => _common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_1__["LanguageService"].getPhrase(namespace, 'defaultTitle');
|
|
25
|
+
|
|
26
|
+
const PageTitleContextProvider = ({
|
|
27
|
+
children
|
|
28
|
+
}) => {
|
|
29
|
+
const [currentPageTitle, setCurrentPageTitle] = react__WEBPACK_IMPORTED_MODULE_0__["useState"](DEFAULT_TITLE);
|
|
30
|
+
const [previousPageTitle, setPreviousPageTitle] = react__WEBPACK_IMPORTED_MODULE_0__["useState"](DEFAULT_TITLE);
|
|
31
|
+
|
|
32
|
+
const setPageTitle = title => {
|
|
33
|
+
if (title === currentPageTitle) return;
|
|
34
|
+
if (currentPageTitle !== previousPageTitle) setPreviousPageTitle(currentPageTitle);
|
|
35
|
+
setCurrentPageTitle(title);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const revertPageTitle = () => {
|
|
39
|
+
setCurrentPageTitle(previousPageTitle);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](() => _utils_PageTitleHelper__WEBPACK_IMPORTED_MODULE_2__["PageTitleHelper"].setPageTitle(currentPageTitle), [currentPageTitle]);
|
|
43
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](PageTitleContext.Provider, {
|
|
44
|
+
value: {
|
|
45
|
+
setPageTitle,
|
|
46
|
+
revertPageTitle
|
|
47
|
+
}
|
|
48
|
+
}, children);
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/***/ }),
|
|
52
|
+
|
|
53
|
+
/***/ "../../libs/shared/src/hooks/useSetPageTitle.ts":
|
|
54
|
+
/*!******************************************************************************************!*\
|
|
55
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/hooks/useSetPageTitle.ts ***!
|
|
56
|
+
\******************************************************************************************/
|
|
57
|
+
/*! exports provided: useSetPageTitle */
|
|
58
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
59
|
+
|
|
60
|
+
"use strict";
|
|
61
|
+
__webpack_require__.r(__webpack_exports__);
|
|
62
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useSetPageTitle", function() { return useSetPageTitle; });
|
|
63
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
64
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
65
|
+
/* harmony import */ var _common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/src/backbone/utils/FunctionHelper */ "../../libs/common/src/backbone/utils/FunctionHelper.ts");
|
|
66
|
+
/* harmony import */ var _context_PageTitleContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../context/PageTitleContext */ "../../libs/shared/src/context/PageTitleContext.tsx");
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Hook function to set the page title using the useEffect hook.
|
|
72
|
+
* @param title - value to set the page title to.
|
|
73
|
+
* @param dependencies - values from the component (e.g. state, props and functions) that are used
|
|
74
|
+
* inside the effect hook.
|
|
75
|
+
*/
|
|
76
|
+
|
|
77
|
+
function useSetPageTitle(title, dependencies = []) {
|
|
78
|
+
const {
|
|
79
|
+
setPageTitle
|
|
80
|
+
} = react__WEBPACK_IMPORTED_MODULE_0__["useContext"](_context_PageTitleContext__WEBPACK_IMPORTED_MODULE_2__["PageTitleContext"]);
|
|
81
|
+
react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](() => {
|
|
82
|
+
if (!title || !_common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_1__["FunctionHelper"].isFunction(setPageTitle)) return;
|
|
83
|
+
setPageTitle(title);
|
|
84
|
+
}, [title, ...dependencies]);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/***/ }),
|
|
88
|
+
|
|
89
|
+
/***/ "../../libs/shared/src/utils/PageTitleHelper.ts":
|
|
90
|
+
/*!******************************************************************************************!*\
|
|
91
|
+
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/utils/PageTitleHelper.ts ***!
|
|
92
|
+
\******************************************************************************************/
|
|
93
|
+
/*! exports provided: PageTitleHelper */
|
|
94
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
95
|
+
|
|
96
|
+
"use strict";
|
|
97
|
+
__webpack_require__.r(__webpack_exports__);
|
|
98
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PageTitleHelper", function() { return PageTitleHelper; });
|
|
99
|
+
/* harmony import */ var _common_src_backbone__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/src/backbone */ "../../libs/common/src/backbone/index.ts");
|
|
100
|
+
|
|
101
|
+
const TITLE_LENGTH = 60;
|
|
102
|
+
const SUFFIX = ' - ClickView';
|
|
103
|
+
|
|
104
|
+
const trimTitle = title => {
|
|
105
|
+
if (title.length + SUFFIX.length <= TITLE_LENGTH) return title + SUFFIX;
|
|
106
|
+
return title.substring(0, TITLE_LENGTH - 3) + '...' + SUFFIX;
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
const PageTitleHelper = {
|
|
110
|
+
setPageTitle(title) {
|
|
111
|
+
if (!title) return;
|
|
112
|
+
_common_src_backbone__WEBPACK_IMPORTED_MODULE_0__["Core"].LocationUtils.SetPageTitle(trimTitle(title));
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
/***/ }),
|
|
118
|
+
|
|
119
|
+
/***/ "./src/apps/playlists/views/delete-playlist/DeletePlaylistView.tsx":
|
|
120
|
+
/*!*************************************************************************!*\
|
|
121
|
+
!*** ./src/apps/playlists/views/delete-playlist/DeletePlaylistView.tsx ***!
|
|
122
|
+
\*************************************************************************/
|
|
123
|
+
/*! exports provided: DeletePlaylistView */
|
|
124
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
125
|
+
|
|
126
|
+
"use strict";
|
|
127
|
+
__webpack_require__.r(__webpack_exports__);
|
|
128
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DeletePlaylistView", function() { return DeletePlaylistView; });
|
|
129
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
130
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
131
|
+
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "react-redux");
|
|
132
|
+
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
|
|
133
|
+
/* harmony import */ var _libs_common_src_backbone__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../libs/common/src/backbone */ "../../libs/common/src/backbone/index.ts");
|
|
134
|
+
/* harmony import */ var _libs_common_src_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../libs/common/src/react */ "../../libs/common/src/react/index.ts");
|
|
135
|
+
/* harmony import */ var _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../../libs/common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
|
|
136
|
+
/* harmony import */ var _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../../libs/analytics/src/interfaces */ "../../libs/analytics/src/interfaces/index.ts");
|
|
137
|
+
/* harmony import */ var _libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../../../../libs/analytics/src/AnalyticsHelper */ "../../libs/analytics/src/AnalyticsHelper.ts");
|
|
138
|
+
/* harmony import */ var _libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/text/Text */ "../../libs/shared/src/components/text/Text.tsx");
|
|
139
|
+
/* harmony import */ var _libs_shared_src_components_popup_PopupButtons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/popup/PopupButtons */ "../../libs/shared/src/components/popup/PopupButtons.tsx");
|
|
140
|
+
/* harmony import */ var _libs_shared_src_components_popup_Popup__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/popup/Popup */ "../../libs/shared/src/components/popup/Popup.tsx");
|
|
141
|
+
/* harmony import */ var _libs_shared_src_hooks_useSetPageTitle__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/hooks/useSetPageTitle */ "../../libs/shared/src/hooks/useSetPageTitle.ts");
|
|
142
|
+
/* harmony import */ var _libs_shared_src_flight_requests_PlaylistRequests__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/flight-requests/PlaylistRequests */ "../../libs/shared/src/flight-requests/PlaylistRequests.ts");
|
|
143
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
144
|
+
|
|
145
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
146
|
+
|
|
147
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
148
|
+
|
|
149
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
150
|
+
|
|
151
|
+
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
152
|
+
|
|
153
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
var namespace = 'playlists.deletePlaylist';
|
|
168
|
+
var getPhrase = _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_4__["LanguageService"].encloseNamespace(namespace);
|
|
169
|
+
function DeletePlaylistView(props) {
|
|
170
|
+
var dispatch = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useDispatch"])();
|
|
171
|
+
|
|
172
|
+
var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__["useState"](false),
|
|
173
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
174
|
+
showButtonSpinner = _React$useState2[0],
|
|
175
|
+
setShowButtonSpinner = _React$useState2[1];
|
|
176
|
+
|
|
177
|
+
var playlist = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_3__["Flight"].useBasicFetch(_libs_shared_src_flight_requests_PlaylistRequests__WEBPACK_IMPORTED_MODULE_11__["PlaylistRequests"].getPlaylist(props.playlistId));
|
|
178
|
+
Object(_libs_shared_src_hooks_useSetPageTitle__WEBPACK_IMPORTED_MODULE_10__["useSetPageTitle"])(playlist.data && "".concat(getPhrase('title', {
|
|
179
|
+
name: playlist.data.name
|
|
180
|
+
})), [playlist.data]);
|
|
181
|
+
|
|
182
|
+
var deletePlaylist = function deletePlaylist() {
|
|
183
|
+
setShowButtonSpinner(true);
|
|
184
|
+
|
|
185
|
+
var onSuccess = function onSuccess() {
|
|
186
|
+
props.closePopup();
|
|
187
|
+
if (props.routeToOnDelete) _libs_common_src_backbone__WEBPACK_IMPORTED_MODULE_2__["Core"].AppLinkHelper.trigger(props.routeToOnDelete);
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
_libs_common_src_react__WEBPACK_IMPORTED_MODULE_3__["Flight"].fetch(dispatch, _libs_shared_src_flight_requests_PlaylistRequests__WEBPACK_IMPORTED_MODULE_11__["PlaylistRequests"].deletePlaylist(props.playlistId, onSuccess, props.closePopup));
|
|
191
|
+
_libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_6__["AnalyticsHelper"].logUserAction({
|
|
192
|
+
id: props.playlistId
|
|
193
|
+
}, _libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_6__["AnalyticsHelper"].mergeOptions(props.analyticsOptions, {
|
|
194
|
+
actionType: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_5__["UserAction"].Delete,
|
|
195
|
+
entity: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_5__["EntityType"].Playlist,
|
|
196
|
+
workflowPhase: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_5__["WorkflowPhase"].Complete
|
|
197
|
+
}));
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
var buttons = [{
|
|
201
|
+
variant: 'link',
|
|
202
|
+
onClick: props.closePopup,
|
|
203
|
+
buttonText: getPhrase('keep')
|
|
204
|
+
}, {
|
|
205
|
+
variant: 'danger',
|
|
206
|
+
onClick: deletePlaylist,
|
|
207
|
+
buttonText: getPhrase('confirm'),
|
|
208
|
+
isSpinnerButton: true,
|
|
209
|
+
showSpinner: showButtonSpinner
|
|
210
|
+
}];
|
|
211
|
+
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_7__["LanguageNamespaceContext"].Provider, {
|
|
212
|
+
value: namespace
|
|
213
|
+
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_popup_Popup__WEBPACK_IMPORTED_MODULE_9__["Popup"], {
|
|
214
|
+
title: getPhrase('check'),
|
|
215
|
+
closePopup: props.closePopup,
|
|
216
|
+
showLoadingSpinner: !playlist.data
|
|
217
|
+
}, !!playlist.data && react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
218
|
+
className: 'delete-playlist-container'
|
|
219
|
+
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
220
|
+
className: 'delete-playlist-body'
|
|
221
|
+
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("p", null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_7__["Text"], {
|
|
222
|
+
phrase: 'warning',
|
|
223
|
+
options: {
|
|
224
|
+
name: playlist.data.name
|
|
225
|
+
}
|
|
226
|
+
})), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("p", null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_7__["Text"], {
|
|
227
|
+
phrase: 'videoNote'
|
|
228
|
+
}))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_popup_PopupButtons__WEBPACK_IMPORTED_MODULE_8__["PopupButtons"], {
|
|
229
|
+
buttons: buttons
|
|
230
|
+
}))));
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
/***/ })
|
|
234
|
+
|
|
235
|
+
}]);
|
|
236
|
+
//# sourceMappingURL=40.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/libs/shared/src/context/PageTitleContext.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/hooks/useSetPageTitle.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/utils/PageTitleHelper.ts","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/apps/playlists/views/delete-playlist/DeletePlaylistView.tsx"],"names":[],"mappings":"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","file":"scripts/40.chunk.js","sourcesContent":["import * as React from 'react';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { PageTitleHelper } from 'libs/shared/utils/PageTitleHelper';\r\n\r\ninterface IPageTitleContext {\r\n setPageTitle?: (title: string) => void;\r\n revertPageTitle?: () => void;\r\n}\r\n\r\nexport const PageTitleContext = React.createContext<IPageTitleContext>({});\r\n\r\nconst namespace = 'shared.context';\r\n\r\nconst DEFAULT_TITLE = () => LanguageService.getPhrase(namespace, 'defaultTitle');\r\n\r\nexport const PageTitleContextProvider = ({ children }: React.PropsWithChildren<{}>): React.ReactElement => {\r\n const [ currentPageTitle, setCurrentPageTitle ] = React.useState(DEFAULT_TITLE);\r\n const [ previousPageTitle, setPreviousPageTitle ] = React.useState(DEFAULT_TITLE);\r\n\r\n const setPageTitle = (title: string) => {\r\n if (title === currentPageTitle)\r\n return;\r\n\r\n if (currentPageTitle !== previousPageTitle)\r\n setPreviousPageTitle(currentPageTitle);\r\n\r\n setCurrentPageTitle(title);\r\n };\r\n\r\n const revertPageTitle = () => {\r\n setCurrentPageTitle(previousPageTitle);\r\n };\r\n\r\n React.useEffect(() => PageTitleHelper.setPageTitle(currentPageTitle), [currentPageTitle]);\r\n\r\n return (\r\n <PageTitleContext.Provider value={{ setPageTitle, revertPageTitle }}>\r\n {children}\r\n </PageTitleContext.Provider>\r\n );\r\n};","import * as React from 'react';\r\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\r\n\r\nimport { PageTitleContext } from 'libs/shared/context/PageTitleContext';\r\n\r\n/**\r\n * Hook function to set the page title using the useEffect hook.\r\n * @param title - value to set the page title to.\r\n * @param dependencies - values from the component (e.g. state, props and functions) that are used \r\n * inside the effect hook.\r\n */\r\nexport function useSetPageTitle(title: string, dependencies: any[] = []): void {\r\n const { setPageTitle } = React.useContext(PageTitleContext);\r\n\r\n React.useEffect(() => {\r\n if (!title || !FunctionHelper.isFunction(setPageTitle))\r\n return;\r\n\r\n setPageTitle(title);\r\n }, [ title, ...dependencies ]);\r\n}","import { Core } from 'libs/common/core';\r\n\r\nconst TITLE_LENGTH = 60;\r\nconst SUFFIX = ' - ClickView';\r\n\r\nconst trimTitle = (title: string): string => {\r\n if (title.length + SUFFIX.length <= TITLE_LENGTH)\r\n return title + SUFFIX;\r\n\r\n return title.substring(0, TITLE_LENGTH - 3) + '...' + SUFFIX;\r\n};\r\n\r\nexport const PageTitleHelper = {\r\n setPageTitle(title: string): void {\r\n if (!title)\r\n return;\r\n\r\n Core.LocationUtils.SetPageTitle(trimTitle(title));\r\n }\r\n};","import * as React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { Flight } from 'libs/common/flight';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { UserAction, EntityType, WorkflowPhase } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { PropsWithPopupViewProps, PropsWithAnalyticsOptions, Playlist } from 'libs/shared/interfaces';\r\n\r\nimport { Text, LanguageNamespaceContext } from 'libs/shared/components/text/Text';\r\nimport { PopupButton, PopupButtons } from 'libs/shared/components/popup/PopupButtons';\r\nimport { Popup } from 'libs/shared/components/popup/Popup';\r\nimport { useSetPageTitle } from 'libs/shared/hooks/useSetPageTitle';\r\n\r\nimport { PlaylistRequests } from 'libs/shared/flight-requests/PlaylistRequests';\r\n\r\nconst namespace = 'playlists.deletePlaylist';\r\nconst getPhrase = LanguageService.encloseNamespace(namespace);\r\n\r\ninterface DeletePlaylistViewProps {\r\n playlistId: string;\r\n routeToOnDelete?: Core.AppLink;\r\n}\r\n\r\ntype PropTypes = PropsWithAnalyticsOptions<PropsWithPopupViewProps<DeletePlaylistViewProps>>;\r\n\r\nexport function DeletePlaylistView(props: PropTypes): React.ReactElement {\r\n const dispatch = useDispatch();\r\n\r\n const [ showButtonSpinner, setShowButtonSpinner ] = React.useState(false);\r\n\r\n const playlist = Flight.useBasicFetch<Playlist>(PlaylistRequests.getPlaylist(props.playlistId));\r\n\r\n useSetPageTitle(playlist.data && `${getPhrase('title', { name: playlist.data.name })}`, [playlist.data]);\r\n\r\n const deletePlaylist = (): void => {\r\n setShowButtonSpinner(true);\r\n\r\n const onSuccess = () => {\r\n props.closePopup();\r\n\r\n if (props.routeToOnDelete)\r\n Core.AppLinkHelper.trigger(props.routeToOnDelete);\r\n };\r\n\r\n Flight.fetch(dispatch, PlaylistRequests.deletePlaylist(props.playlistId, onSuccess, props.closePopup));\r\n\r\n AnalyticsHelper.logUserAction({ id: props.playlistId }, AnalyticsHelper.mergeOptions(props.analyticsOptions, {\r\n actionType: UserAction.Delete,\r\n entity: EntityType.Playlist,\r\n workflowPhase: WorkflowPhase.Complete\r\n }));\r\n };\r\n\r\n const buttons: PopupButton[] = [\r\n {\r\n variant: 'link',\r\n onClick: props.closePopup,\r\n buttonText: getPhrase('keep')\r\n },\r\n {\r\n variant: 'danger',\r\n onClick: deletePlaylist,\r\n buttonText: getPhrase('confirm'),\r\n isSpinnerButton: true,\r\n showSpinner: showButtonSpinner\r\n }\r\n ];\r\n\r\n return (\r\n <LanguageNamespaceContext.Provider value={namespace}>\r\n <Popup title={getPhrase('check')} closePopup={props.closePopup} showLoadingSpinner={!playlist.data}>\r\n {!!playlist.data &&\r\n <div className='delete-playlist-container'>\r\n <div className='delete-playlist-body'>\r\n <p>\r\n <Text phrase='warning' options={{ name: playlist.data.name }} />\r\n </p>\r\n <p><Text phrase='videoNote' /></p>\r\n </div>\r\n <PopupButtons buttons={buttons} />\r\n </div>\r\n }\r\n </Popup>\r\n </LanguageNamespaceContext.Provider>\r\n );\r\n}"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp_clickview_lite=window.webpackJsonp_clickview_lite||[]).push([[
|
|
1
|
+
(window.webpackJsonp_clickview_lite=window.webpackJsonp_clickview_lite||[]).push([[41],{424:function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var r=a(67),i=a(36);const s={reorder(e,t,a){if(t===a)return{reorderedItems:e,reorderRequest:null};const i=r.a.moveItem(e,t,a),s=a<e.length-1?i[a+1].id:null;return{reorderedItems:i,reorderRequest:{sourceMemberId:i[a].id,destinationMemberId:s}}},updateState(e,t,a){const s=[],l=i.a.deepClone(a),o=[e];let n=a[e];const d=!!n&&!!n.data&&n.data.length;for(;n&&Array.isArray(n.data);){s.push(...n.data);const t=n.pagination&&n.pagination.cursors&&n.pagination.cursors.next,r=!!t&&`${e}:${t}`;n=t&&a[r],n&&o.push(r)}if(!s.length)return a;const u=r.a.findIndex(s,e=>e.id===t.sourceMemberId),c=[...s],p=c.splice(u,1),y=t.destinationMemberId?r.a.findIndex(c,e=>e.id===t.destinationMemberId):c.length;return c.splice(y,0,p[0]),o.forEach(e=>{const t=c.splice(0,d);l[e].data=t}),l}}},428:function(e,t,a){"use strict";var r,i=a(16),s=a(27),l=a(424),o=a(121);a(45);o.a;class n extends o.a{constructor(e,t=""){super({collectionPrefix:"playlist:videos",id:e,cursor:t})}}!function(e){e[e.Queued=1]="Queued",e[e.Processing=2]="Processing",e[e.Processed=3]="Processed",e[e.Errored=4]="Errored"}(r||(r={}));const d={updatePlaylist:(e,t)=>a=>{const r=Object.assign({},a);return r.hasOwnProperty(e)&&(r[e]=Object.assign(Object.assign({},r[e]),t)),r},deletePlaylist:e=>t=>{const a=Object.assign({},t);return a.hasOwnProperty(e)&&delete a[e],a},incrementVideoCount:(e,t)=>a=>{const r=Object.assign({},a);return r.hasOwnProperty(e)?(r[e].videos||(r[e].videos={}),r[e].videos.count=r[e].videos.count?r[e].videos.count+t:t,r):a}};var u=a(128);a.d(t,"a",(function(){return m}));const c=e=>e?"&cursor="+e:"",p=e=>Number.isInteger(e)?"&maxRatingValue="+e:"",y=(e,t)=>`${e}${t?":"+t:""}`,m={getPlaylist:(e,t,a)=>({url:`/api/domain/v2/objects/${e}?query=${s.a.PLAYLIST}`,key:"playlist:"+e,success:t,error:a}),getSharedPlaylist:(e,t,a,r)=>({url:`${"/api/domain/v2/share/"+e}?query=${s.a.PLAYLIST}${p(t)}`,key:"shared:playlist:"+e,success:a,error:r}),getUserPlaylists:e=>({url:`/api/domain/v2/me/playlists?query={${u.a.getFilterFromSort(e.sort)},limit:100}${s.a.PLAYLIST_COLLECTION}${c(e.cursor)}`,key:e.toString()}),getPlaylistVideos(e,t,a){let r="orderBy:orderindex,limit:100";return Number.isInteger(t)&&(r+=",rating.value:0..."+t),{url:`/api/domain/v2/objects/${e}/videos?query={${r}}${s.a.VIDEO_COLLECTION}${c(a)}`,key:y(`playlist:${e}:videos`,a)}},getSharedPlaylistVideos:(e,t,a)=>({url:`/api/domain/v2/share/${e}/videos?query={orderBy:orderindex,limit:100}${s.a.VIDEO_COLLECTION}${c(a)}${p(t)}`,key:y(`shared:playlist:${e}:videos`,a)}),getVideoPlaylists:(e,t,a)=>({url:`/api/domain/v2/objects/${e}/playlists?query={limit:100,owner.id:[${t}]}`,key:y("video:playlists:"+e,a)}),getIsFollowingPlaylist:(e,t)=>({url:`/api/domain/v2/objects/${e}/followers?query={id:${t}}`,key:`playlist:${e}:following:${t}`,formatData:t=>{var a,r;return{objectId:e,isFollowing:!!(null===(r=null===(a=t)||void 0===a?void 0:a.data)||void 0===r?void 0:r.length)}},normalize:!1}),createPlaylist:(e,t,a,r)=>({key:"create:playlist",url:`/api/domain/v2/objects/${e}/playlists`,data:t,type:i.a.POST,success:a,error:r,invalidationKeys:"user:playlists"}),updatePlaylist:(e,t,a,r)=>({key:"update:playlist",url:"/api/domain/v2/objects/"+e,data:t,type:i.a.PUT,success:a,error:r,updateState:{keys:"playlist:"+e,updateData:d.updatePlaylist("playlist:"+e,t)}}),deletePlaylist:(e,t,a)=>({key:"delete:playlist",url:"/api/domain/v2/objects/"+e,type:i.a.DELETE,success:t,error:a,invalidationKeys:"user:playlists",updateState:{keys:"playlist:"+e,updateData:d.deletePlaylist("playlist:"+e)}}),addToPlaylist(e,t,a,r){const s=["user:playlists",new n(e).toString()];return t.forEach(e=>{s.push("video:playlists:"+e)}),{key:"add:to:playlist",url:`/api/domain/v2/objects/${e}/associate`,data:t,type:i.a.POST,success:a,error:r,invalidationKeys:s,updateState:{keys:"playlist:"+e,updateData:d.incrementVideoCount("playlist:"+e,t.length)}}},reorderVideos:(e,t,a,r)=>({key:"reorder:playlist",url:`/api/domain/v2/objects/${e}/videos/reorder`,data:t,type:i.a.PUT,success:a,error:r,invalidationKeys:"user:playlists",updateState:{keys:`playlist:${e}:videos`,updateData:a=>l.a.updateState(`playlist:${e}:videos`,t,a)}}),removePlaylistVideo:(e,t,a,r)=>({key:"remove:playlist:video",url:`/api/domain/v2/objects/${e}/dissociate?memberId=${t}`,type:i.a.DELETE,success:a,error:r,invalidationKeys:["user:playlists",`playlist:${e}:videos`]}),followPlaylist:(e,t)=>({url:"/api/domain/v2/objects/"+t,key:"follow:playlist:"+e,data:{followedPlaylists:e},type:i.a.PUT}),unfollowPlaylist:(e,t)=>({url:`/api/domain/v2/objects/${t}/followedplaylists/${e}`,key:"unfollow:playlist:"+e,type:i.a.DELETE}),getMigrationTask:(e,t)=>({url:"/api/playlist-app/migration-task",key:"migration:task",formatData:e=>e||{status:r.Processed},success:e,error:t})}},436:function(e,t,a){"use strict";var r=a(0),i=a(26);a(7),a(2);const s=r.createContext({});function l(e,t=[]){const{setPageTitle:a}=r.useContext(s);r.useEffect(()=>{e&&i.a.isFunction(a)&&a(e)},[e,...t])}a.d(t,"a",(function(){return l}))},641:function(e,t,a){"use strict";a.r(t),a.d(t,"DeletePlaylistView",(function(){return P}));var r=a(0),i=a(39),s=a(2),l=a(12),o=a(7),n=a(3),d=a(31),u=a(48),c=a(125),p=a(118),y=a(436),m=a(428);function v(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=[],r=!0,i=!1,s=void 0;try{for(var l,o=e[Symbol.iterator]();!(r=(l=o.next()).done)&&(a.push(l.value),!t||a.length!==t);r=!0);}catch(e){i=!0,s=e}finally{try{r||null==o.return||o.return()}finally{if(i)throw s}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return f(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 f(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 f(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,r=new Array(t);a<t;a++)r[a]=e[a];return r}var g=o.a.encloseNamespace("playlists.deletePlaylist");function P(e){var t=Object(i.useDispatch)(),a=v(r.useState(!1),2),o=a[0],f=a[1],P=l.a.useBasicFetch(m.a.getPlaylist(e.playlistId));Object(y.a)(P.data&&"".concat(g("title",{name:P.data.name})),[P.data]);var b=[{variant:"link",onClick:e.closePopup,buttonText:g("keep")},{variant:"danger",onClick:function(){f(!0);l.a.fetch(t,m.a.deletePlaylist(e.playlistId,(function(){e.closePopup(),e.routeToOnDelete&&s.a.AppLinkHelper.trigger(e.routeToOnDelete)}),e.closePopup)),d.a.logUserAction({id:e.playlistId},d.a.mergeOptions(e.analyticsOptions,{actionType:n.n.Delete,entity:n.d.Playlist,workflowPhase:n.o.Complete}))},buttonText:g("confirm"),isSpinnerButton:!0,showSpinner:o}];return r.createElement(u.a.Provider,{value:"playlists.deletePlaylist"},r.createElement(p.a,{title:g("check"),closePopup:e.closePopup,showLoadingSpinner:!P.data},!!P.data&&r.createElement("div",{className:"delete-playlist-container"},r.createElement("div",{className:"delete-playlist-body"},r.createElement("p",null,r.createElement(u.b,{phrase:"warning",options:{name:P.data.name}})),r.createElement("p",null,r.createElement(u.b,{phrase:"videoNote"}))),r.createElement(c.a,{buttons:b}))))}}}]);
|