@clickview/lite 0.0.18-dev.1 → 0.0.18-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 -10
- package/dist/css/10.chunk.css.map +1 -0
- package/dist/css/11.chunk.css +6 -8
- package/dist/css/11.chunk.css.map +1 -0
- package/dist/css/12.chunk.css +5 -13
- package/dist/css/12.chunk.css.map +1 -0
- package/dist/css/13.chunk.css +9 -9
- package/dist/css/13.chunk.css.map +1 -0
- package/dist/css/14.chunk.css +6 -10
- package/dist/css/14.chunk.css.map +1 -0
- package/dist/css/15.chunk.css +3 -11
- package/dist/css/16.chunk.css +3 -11
- package/dist/css/16.chunk.css.map +1 -0
- package/dist/css/17.chunk.css +2 -12
- package/dist/css/18.chunk.css +2 -12
- package/dist/css/18.chunk.css.map +1 -0
- package/dist/css/19.chunk.css +4 -10
- package/dist/css/19.chunk.css.map +1 -0
- package/dist/css/2.chunk.css +14 -0
- package/dist/css/20.chunk.css +2 -12
- package/dist/css/21.chunk.css +1 -15
- package/dist/css/21.chunk.css.map +1 -0
- package/dist/css/22.chunk.css +2 -20
- package/dist/css/22.chunk.css.map +1 -0
- package/dist/css/23.chunk.css +2 -18
- package/dist/css/23.chunk.css.map +1 -0
- package/dist/css/24.chunk.css +1 -9
- package/dist/css/24.chunk.css.map +1 -0
- package/dist/css/25.chunk.css +2 -16
- package/dist/css/25.chunk.css.map +1 -0
- package/dist/css/26.chunk.css +2 -4
- 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 +12 -14
- package/dist/css/lite-app.css.map +1 -0
- package/dist/en.json +1 -1
- 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 -2
- package/dist/libs/shared/src/apps/content-updates/interfaces/VideoClassificationMapping.d.ts +2 -1
- package/dist/libs/shared/src/apps/notifications/utils/NotificationsHelper.d.ts +1 -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/UserChannel.d.ts +7 -0
- package/dist/libs/shared/src/interfaces/models/index.d.ts +1 -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/libs/shared/src/utils/ImageHelper.d.ts +1 -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/33-4579af9cf9.chunk.js +1 -0
- package/dist/scripts/33.chunk.js +938 -1
- package/dist/scripts/33.chunk.js.map +1 -0
- package/dist/scripts/34-d8b96d9f9f.chunk.js +1 -0
- 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/38-6ad53aa15b.chunk.js +1 -0
- package/dist/scripts/38.chunk.js +343 -1
- package/dist/scripts/38.chunk.js.map +1 -0
- package/dist/scripts/39-46c747b1d9.chunk.js +1 -0
- 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/40-c1b8806b1c.chunk.js +1 -0
- package/dist/scripts/40.chunk.js +236 -1
- package/dist/scripts/40.chunk.js.map +1 -0
- package/dist/scripts/41-f4c23477e3.chunk.js +1 -0
- 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/44-7f92272274.chunk.js +1 -0
- 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/49-5e718594e5.chunk.js +1 -0
- 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/51-211b643ca5.chunk.js +1 -0
- package/dist/scripts/51.chunk.js +176 -1
- package/dist/scripts/51.chunk.js.map +1 -0
- package/dist/scripts/52-bfb2683b5d.chunk.js +1 -0
- package/dist/scripts/52.chunk.js +160 -1
- package/dist/scripts/52.chunk.js.map +1 -0
- package/dist/scripts/53-3cf5cd5f69.chunk.js +1 -0
- package/dist/scripts/53.chunk.js +98 -1
- package/dist/scripts/53.chunk.js.map +1 -0
- package/dist/scripts/54-26807e3e49.chunk.js +1 -0
- 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.js +34769 -1
- package/dist/scripts/bundle.js.map +1 -0
- package/dist/scripts/bundles.json +3 -0
- package/package.json +5 -4
- 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/css/9.chunk.css
CHANGED
|
@@ -1,26 +1,24 @@
|
|
|
1
|
-
.
|
|
1
|
+
._2v9CT :first-child{margin-left:0 !important}.AYBvQ:after{content:none}
|
|
2
2
|
|
|
3
|
-
.
|
|
3
|
+
._286KF{position:absolute;bottom:1.25rem;right:1.25rem}
|
|
4
4
|
|
|
5
|
-
.
|
|
6
|
-
|
|
7
|
-
._2LJ1G{font-weight:500}._2OStB::after{display:none}._13K5j{min-width:10rem}
|
|
8
|
-
|
|
9
|
-
._3srm_{margin:.3125rem 0}._3srm_ label::after{cursor:pointer}
|
|
5
|
+
._2nvrp,._6o0Z2{padding-bottom:100%}._6o0Z2::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to top, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.5) 5%, rgba(0,0,0,0.4) 10%, rgba(0,0,0,0.2) 25%, rgba(0,0,0,0.05) 50%, rgba(0,0,0,0.02) 60%, rgba(0,0,0,0) 80%)}._3MCKL{position:absolute;left:.625rem;right:.625rem;bottom:.625rem;z-index:1}._13tO6{height:2rem;width:17rem}
|
|
10
6
|
|
|
11
7
|
._2YGVO:not(:last-child){margin-right:.3125rem}
|
|
12
8
|
|
|
13
|
-
.
|
|
9
|
+
._1KxF9{background-color:#f8f8f8}
|
|
14
10
|
|
|
15
|
-
.
|
|
11
|
+
._2lUo1{width:100%;height:100%}._2lUo1 .Q_m9i{opacity:0.5;width:100%;height:100%;background-position:right;background-size:200%;background-repeat:no-repeat;padding-bottom:26.22951%}._2WUUq{fill:#fff;color:#fff;position:absolute;top:0;left:0;width:100%;display:block}
|
|
16
12
|
|
|
17
|
-
.
|
|
13
|
+
._1oyw1{border-radius:.5rem}._1oyw1 ._1UOVG{background-position:top;background-size:cover;width:5rem;height:5rem;flex-shrink:0;border-top-left-radius:.5rem;border-bottom-left-radius:.5rem;z-index:2}._1oyw1 ._1EtWs{width:8rem;height:8rem}._1oyw1 ._3js2e{line-height:1}._1oyw1 ._3csgE{color:#313543}._1oyw1 ._3csgE._1y2oG{max-height:2.4rem}._1yBMf{height:5rem;border-radius:.5rem;color:#B5B5B5;border:1px dashed #D7D7D7}
|
|
14
|
+
|
|
15
|
+
._2XXp2{width:33.33333%}._2XXp2>a{width:100%}
|
|
18
16
|
|
|
19
|
-
.
|
|
17
|
+
.yvetE{display:flex;flex-wrap:wrap}._1InnN{border-radius:.25rem}
|
|
20
18
|
|
|
21
|
-
.
|
|
19
|
+
.mBd7D{position:relative;padding:.3125rem;width:100%;height:22rem}._2MXtV{width:6.25rem;height:1rem}._3AoSO{width:16rem;height:2rem}._33OjS{width:4rem;height:1rem}._2uRQA{width:80%;height:4rem}._3YJIE{width:6.25rem;height:1.5rem}
|
|
22
20
|
|
|
23
|
-
.
|
|
21
|
+
._10Pgb:not(:last-child){margin-right:.625rem}
|
|
24
22
|
|
|
25
|
-
.
|
|
23
|
+
._1RLPq{width:12rem;height:2rem}.oArG4{width:100%;padding-bottom:200%;position:relative}.QLCgm{z-index:1;bottom:.625rem;left:50%;transform:translate(-50%, 0%)}._3Aleb{transform:translate3D(0, -1px, 0) scale(1.01);transition:all .1s ease;cursor:pointer}._3Aleb:after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;margin:0 .3125rem;background:linear-gradient(to top, #000 0%, rgba(0,0,0,0.75) 25%, rgba(0,0,0,0.5) 50%, rgba(0,0,0,0.25) 75%, rgba(0,0,0,0) 100%)}._2M2Zz{z-index:2;position:absolute;bottom:.625rem;right:0;left:0}.TQg2K{width:25%}@media (max-width: 767px){.TQg2K{width:33.33333%}}@media (max-width: 575px){.TQg2K{width:50%}}@media (max-width: 0){.TQg2K{width:100%}}
|
|
26
24
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/lite/src/styles/theme-overrides.scss","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/alert/alert.scss","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/notifications/components/notification-status/notification-status.scss","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/legacy/constants/empty-state-components/empty-state.scss","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/notifications/components/notification-items/notification-item/notification-item.scss","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/notifications/components/notification-items/partial-loading/notification-partial.scss","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/notifications/views/header/notification-header.scss","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/search/components/confirm-selection/confirm-selection.scss","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/search/components/search-tips/search-tips.scss","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/search/components/search-context/search-context.scss","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/search/components/instant-search/recent-search/recent-search.scss","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/legacy/components/thumbnail/thumbnail.scss","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/search/components/instant-search/classification/classification-search-result.scss","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/search/views/search-bar/search.scss","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/search/views/search-bar/partial/search-bar-partial.scss","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/components/avatar/avatar.scss","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/components/user-options/user-options.scss","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/icon-button/icon-button.scss","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/views/header/header.scss","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/views/left-nav/left-nav.scss","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/series-link/series-link.scss","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/components/floating-player/floating-player.scss","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/layouts/teacher-layout/drag-mask/drag-mask.scss","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/layouts/teacher-layout/teacher-layout.scss"],"names":[],"mappings":"AAAA;AACA,yBAAyB;;ACDzB;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,gBAAgB;AAChB;AACA,eAAe;AACf;AACA;AACA,sCAAsC;AACtC;AACA,eAAe;AACf;AACA;AACA,sCAAsC;;AAEtC;AACA;AACA,qBAAqB;;AAErB;AACA,mBAAmB;AACnB;AACA;AACA,qBAAqB;;AC9BrB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,oBAAoB;AACpB;AACA,eAAe;AACf;AACA,mBAAmB;AACnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,eAAe;;ACnBf;AACA,kBAAkB;;AAElB;AACA,iBAAiB;;AAEjB;AACA,eAAe;;ACPf;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA,iBAAiB;;AAEjB;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,wBAAwB;;AAExB;AACA;AACA,mBAAmB;;AAEnB;AACA,sBAAsB;;AAEtB;AACA,eAAe;AACf;AACA;AACA,oBAAoB;;ACzCpB;AACA;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA,mBAAmB;;AAEnB;AACA,sCAAsC;;AAEtC;AACA,sBAAsB;;AAEtB;AACA,aAAa;;ACvBb;AACA,yDAAyD;;ACDzD;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,uCAAuC;;ACXvC;AACA,iBAAiB;;AAEjB;AACA,sBAAsB;;AAEtB;AACA,eAAe;;AAEf;AACA,sBAAsB;;ACVtB;AACA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;;AAE9C;AACA;AACA,cAAc;;AAEd;AACA,yBAAyB;;ACpBzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,wBAAwB;AACxB;AACA,mBAAmB;;ACXnB;AACA,4BAA4B;;AAE5B;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA,iBAAiB;;AAEjB;AACA;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AC1Bb;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA,aAAa;;AAEb;AACA,aAAa;;ACXb;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,0BAA0B;AAC1B;AACA,gBAAgB;AAChB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oCAAoC;AACpC;AACA,+BAA+B;AAC/B;AACA,wBAAwB;;AC9CxB;AACA;AACA;AACA;AACA,4BAA4B;;ACJ5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;;ACTlC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;ACRpB;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA,qBAAqB;AACrB;AACA,uBAAuB;AACvB;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,0BAA0B;AAC1B;AACA,kBAAkB;AAClB;AACA;AACA;AACA,4CAA4C;;ACrB5C;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA,qBAAqB;;AAErB;AACA,0BAA0B;;AAE1B;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,qBAAqB,EAAE;AACvB;AACA;AACA;AACA,qBAAqB,EAAE;AACvB;AACA;AACA,yCAAyC,EAAE;;AC3C3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA,cAAc;;AAEd;AACA,gBAAgB;AAChB;AACA,wBAAwB;AACxB;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA,iBAAiB;;AAEjB;AACA,8BAA8B;;AAE9B;AACA,4BAA4B;;AAE5B;AACA,iBAAiB;;AAEjB;AACA,4BAA4B;;AAE5B;AACA,iBAAiB;;AAEjB;AACA,4BAA4B;;AAE5B;AACA,iBAAiB;;AAEjB;AACA,wBAAwB;;AAExB;AACA,4BAA4B;;AAE5B;AACA,iBAAiB;;AAEjB;AACA,4BAA4B;;AAE5B;AACA;AACA,iBAAiB;;AAEjB;AACA,yBAAyB;;AAEzB;AACA,4BAA4B;;AAE5B;AACA,iBAAiB;;AAEjB;AACA,wBAAwB;;AAExB;AACA,4BAA4B;;AC3G5B;AACA;AACA;AACA,uBAAuB;AACvB;AACA,+BAA+B;;ACL/B;AACA,eAAe;;AAEf;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA,wBAAwB;;ACnBxB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,eAAe;;AAEf;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AClCzB;AACA,uBAAuB;;AAEvB;AACA,uBAAuB;;AAEvB;AACA,sBAAsB;;AAEtB;AACA,kBAAkB;;AAElB;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA,YAAY","file":"css/lite-app.css","sourcesContent":["body {\n background-color: #fff; }\n",".cv--alertItem--3ppPT {\n border-radius: 0.25rem;\n border: 1px solid #D7D7D7;\n box-shadow: 2px 3px 6px 1px rgba(0, 0, 0, 0.1); }\n .cv--alertItem--3ppPT .close {\n float: none;\n line-height: 0.8;\n vertical-align: top; }\n\n.cv--alertBox--2gPqV .cv--alertList--1_wrK {\n z-index: 1071; }\n .cv--alertBox--2gPqV .cv--alertList--1_wrK .alert-enter {\n opacity: 0; }\n .cv--alertBox--2gPqV .cv--alertList--1_wrK .alert-enter-active {\n opacity: 1;\n transition: opacity 200ms ease-in; }\n .cv--alertBox--2gPqV .cv--alertList--1_wrK .alert-exit {\n opacity: 1; }\n .cv--alertBox--2gPqV .cv--alertList--1_wrK .alert-exit-active {\n opacity: 0;\n transition: opacity 200ms ease-in; }\n\n.cv--icon--2gpnl {\n vertical-align: top;\n text-align: center; }\n\n.cv--alertContent--1akpi {\n width: 15.625rem; }\n .cv--alertContent--1akpi .cv--heading--3jnJY {\n line-height: 1.5;\n font-weight: 500; }\n",".cv--notificationIcon--3SkbQ {\n width: 2rem;\n height: 2rem;\n color: #FFFFFF;\n position: relative;\n display: inline-block;\n vertical-align: middle; }\n .cv--notificationIcon--3SkbQ:hover {\n cursor: pointer; }\n .cv--notificationIcon--3SkbQ svg {\n fill: #fff; }\n .cv--notificationIcon--3SkbQ.cv--light--2TvQg {\n color: #FFFFFF; }\n .cv--notificationIcon--3SkbQ.cv--dark--3taGb {\n color: #333333; }\n\n.cv--unreadCount--1u6ig {\n position: absolute;\n left: 1.1rem;\n bottom: -2px; }\n",".cv--paddedContainer--1cCVc {\n padding: 7.5rem; }\n\n.cv--imageLarge--3Wy1u {\n height: 7.5rem; }\n\n.cv--imageSmall--3t8Qq {\n height: 5rem; }\n",".cv--item--3CmnQ {\n display: block; }\n\n.cv--icon--YYvWW {\n width: 1.5rem;\n height: 1.5rem;\n display: inline-block;\n vertical-align: top;\n margin-right: 0.3125rem; }\n\n.cv--contentContainer--1w1Jg {\n width: calc(100% - 1.5rem - 0.625rem);\n display: inline-block;\n vertical-align: top; }\n\n.cv--notificationTime--11n-Y {\n color: #979797; }\n\n.cv--item--3CmnQ.unread {\n background-color: #eef5fa; }\n\n.cv--item--3CmnQ.unread:hover {\n background-color: #daeaf5; }\n\n.cv--item--3CmnQ.read:hover {\n background-color: #f1f1f1; }\n\n.cv--item--3CmnQ:hover {\n text-decoration: none; }\n\n.cv--content--3JkbY {\n max-height: 2.4rem;\n overflow: hidden; }\n\n.cv--icon--YYvWW svg {\n vertical-align: top; }\n\n.cv--contentContainer--1w1Jg .cv--actionText--3D1fr {\n float: right; }\n .cv--contentContainer--1w1Jg .cv--actionText--3D1fr:hover {\n text-decoration: underline;\n cursor: pointer; }\n",".cv--icon--1FlbK {\n width: 1.5rem;\n height: 1.5rem;\n display: inline-block;\n vertical-align: top;\n margin-right: 0.3125rem; }\n\n.cv--contentContainer--1RJPc {\n width: calc(100% - 1.5rem - 0.625rem);\n display: inline-block;\n vertical-align: top; }\n\n.cv--content--4fHKQ {\n max-height: 3rem;\n overflow: hidden; }\n\n.cv--content--4fHKQ, .cv--notificationTime--3hBwJ {\n height: calc(1.3125rem - 0.3125rem); }\n\n.cv--icon--1FlbK {\n border-radius: 100%; }\n\n.cv--notificationTime--3hBwJ {\n width: 15%; }\n",".cv--notificationsContainer--3BMCf {\n width: calc(25rem - (0.75rem * 2) - (2px) - 0.3125rem); }\n",".cv--selectionContainer--3m62c {\n background-color: #f8f8f8;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem; }\n\n.cv--svgContainer--1XxEl {\n width: 1.2rem;\n height: 1.2rem;\n display: inline-block; }\n\nkbd {\n padding: 0.2rem 0.4rem 0.2rem 0.2rem; }\n",".cv--svgContainer--ecsrN {\n color: #B5B5B5; }\n\n.cv--tip--IwYkF {\n white-space: nowrap; }\n\n.cv--termContainer--1BqAi {\n width: 12rem; }\n\n.cv--term--1NEsr {\n padding: 0.15625rem; }\n",".cv--svgContainer--1ZcbC {\n display: inline-block;\n height: 1.25rem;\n width: 1.25rem;\n cursor: pointer; }\n\n.cv--searchContextTag--1RLqh {\n color: #333333;\n background-color: #f1f1f1;\n border-radius: 0.25rem;\n padding: 0.25rem 0.5rem;\n box-sizing: border-box;\n margin-left: 0.25rem;\n transition: background-color .1s, color .1s; }\n\n.cv--tagFocus--179a5 {\n background-color: #F8981D;\n color: #fff; }\n\n.cv--searchContextContainer--3nPVB {\n vertical-align: middle; }\n",".cv--removeRecent--d1QVW {\n width: 1.5rem;\n height: 1.5rem;\n float: right;\n font-size: 1.5rem;\n font-weight: 400;\n opacity: .5;\n cursor: pointer; }\n .cv--removeRecent--d1QVW svg {\n vertical-align: top; }\n .cv--removeRecent--d1QVW:hover {\n color: #D9584F; }\n",".cv--thumbnailContainer--1u9bn {\n background-color: #f1f1f1; }\n\n.cv--thumbnail--1CQyt {\n z-index: 1; }\n\n.cv--svgContainer--2L1Hd svg, .cv--playSvgContainer--17LPb svg {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 20%; }\n\n.cv--svgContainer--2L1Hd svg {\n color: #D7D7D7; }\n\n.cv--playSvgContainer--17LPb svg {\n z-index: 9;\n color: #fff; }\n\n.cv--durationOverlay--15X7K {\n position: absolute;\n bottom: 0.25rem;\n right: 0.25rem;\n color: #fff;\n background-color: rgba(51, 51, 51, 0.8);\n z-index: 2; }\n",".cv--coverImage--1_Tx- {\n background-color: #f1f1f1;\n display: block;\n position: relative;\n width: 100%;\n padding-bottom: 100%; }\n\n.cv--coverContainer--3Qf-6 {\n width: 12%; }\n\n.cv--textContainer--34VXV {\n width: 88%; }\n",".cv--searchSvgContainer--1-crd {\n width: 1.5rem;\n height: 1.5rem;\n position: absolute;\n right: 1.875rem;\n top: 0.375rem;\n color: #979797; }\n .cv--searchSvgContainer--1-crd:hover {\n cursor: pointer;\n color: #5B5E68; }\n\n.cv--tipsContainer--15HAy {\n position: absolute;\n right: 0.375rem;\n top: 0.375rem; }\n\n.cv--searchInput--1qca6 {\n width: 100%;\n border: none;\n padding: 0.75rem;\n height: 100%;\n font-size: 0.875rem;\n outline: none;\n border-radius: 0.25rem; }\n\n.cv--searchBar--3XQHi {\n z-index: 50;\n border: none; }\n .cv--searchBar--3XQHi .twitter-typeahead {\n height: 100%;\n width: 75%;\n vertical-align: middle; }\n .cv--searchBar--3XQHi .tt-suggestion a:hover {\n text-decoration: none; }\n .cv--searchBar--3XQHi .tt-hint, .cv--searchBar--3XQHi .tt-menu {\n width: 100%; }\n .cv--searchBar--3XQHi .tt-cursor {\n background-color: #f8f8f8;\n cursor: pointer; }\n .cv--searchBar--3XQHi .tt-menu {\n background-color: #fff;\n right: 0px;\n transform: translateY(0.125rem); }\n .cv--searchBar--3XQHi .tt-menu.hide-results {\n display: none !important; }\n .cv--searchBar--3XQHi .ignore-highlighting strong {\n font-weight: normal; }\n",".cv--searchBar--2oChq {\n width: 53.4375rem;\n height: 2.1875rem;\n border-radius: 0.25rem;\n border: 1px solid #D7D7D7; }\n",".cv--avatar--3RyZE {\n border-radius: 50%;\n background-color: #51ADA3;\n display: inline-block;\n width: 2.1875rem;\n height: 2.1875rem;\n text-align: center;\n line-height: 2.1875rem;\n background-size: cover;\n background-position: top center; }\n",".cv--iconPlaceholder--2hr_4 {\n border-radius: 50%;\n background-color: #eaeaea;\n /**\r\n * TODO: This is an arbitrary size just to get the nav set up.\r\n * This either needs to be calculated or turned into a variable\r\n */\n width: 2.1875rem;\n height: 2.1875rem; }\n",".cv--svg--3OUhC {\n width: 1.5rem;\n height: 1.5rem;\n position: absolute; }\n\n.cv--iconButton--3t3VL {\n vertical-align: top;\n position: relative; }\n .cv--iconButton--3t3VL.cv--iconWithText--2KLHo {\n padding-left: 36px; }\n .cv--iconButton--3t3VL.cv--iconWithText--2KLHo .cv--svg--3OUhC {\n left: 0.375rem;\n top: 50%;\n margin-top: -0.75rem; }\n .cv--iconButton--3t3VL.cv--iconWithText--2KLHo svg {\n vertical-align: top; }\n .cv--iconButton--3t3VL.cv--iconOnly--2rQWb {\n padding: 1rem; }\n .cv--iconButton--3t3VL.cv--iconOnly--2rQWb .cv--svg--3OUhC {\n top: 50%;\n left: 50%;\n transform: translate3D(-50%, -50%, 0); }\n",".cv--nav--3RLQ9 {\n background-color: #fff;\n border-bottom: 1px solid #eaeaea;\n z-index: 1002; }\n\n.cv--logoContainer--UIlc9 {\n min-width: 12rem;\n width: 13.75rem;\n height: 2.92062rem; }\n\n.cv--searchBar--2E7RQ {\n padding-right: 18.75rem; }\n\n.cv--actionButtons--2HygL {\n right: 0; }\n\n.cv--hamburger--2BRko {\n color: #eaeaea;\n height: 1.25rem;\n width: 1.25rem;\n cursor: pointer;\n display: inline-block;\n margin-top: 0.75rem; }\n .cv--hamburger--2BRko svg {\n width: 100% !important;\n height: 100% !important; }\n\n.cv--searchBarNavContainer--2bUnK {\n border: 2px solid #eaeaea;\n min-width: calc(1140px - 31.625rem);\n max-width: 40rem;\n border-radius: 3px;\n padding: 0; }\n @media (max-width: 1199px) {\n .cv--searchBarNavContainer--2bUnK {\n min-width: calc(960px - 31.625rem);\n margin-left: 0; } }\n @media (max-width: 991px) {\n .cv--searchBarNavContainer--2bUnK {\n min-width: calc(720px - 31.625rem);\n margin-left: 0; } }\n @media (max-width: 767px) {\n .cv--searchBarNavContainer--2bUnK {\n min-width: calc(540px - 31.625rem); } }\n",".cv--leftNav--3jVyN {\n top: 4.25rem;\n bottom: 0;\n position: fixed;\n width: 15rem;\n background-color: #fff;\n border-right: 1px solid #eaeaea;\n z-index: 1001; }\n\n.cv--leftNavExpanded--Q3CCb .cv--leftNavAnchor--3A_-8, .cv--leftNavCollapsed--2idO9 .cv--leftNavAnchor--3A_-8 {\n position: relative;\n min-height: 3rem;\n display: flex;\n flex-direction: column; }\n\n.cv--leftNavExpanded--Q3CCb .cv--leftNavAnchor--3A_-8 {\n align-items: flex-start;\n padding-left: 1.25rem; }\n\n.cv--leftNavExpanded--Q3CCb .cv--leftNavText--3qbRh {\n padding-left: 4.25rem;\n position: absolute;\n top: 50%;\n transform: translateY(-50%); }\n\n.cv--leftNavExpanded--Q3CCb .cv--leftNavBottom--1OHHF {\n position: absolute;\n bottom: 0;\n padding-bottom: 1.25rem;\n width: 100%; }\n\n.cv--leftNavCollapsed--2idO9 {\n width: 5.5rem; }\n .cv--leftNavCollapsed--2idO9 .cv--leftNavAnchor--3A_-8 {\n align-items: center; }\n .cv--leftNavCollapsed--2idO9 .cv--leftNavText--3qbRh {\n text-align: center;\n margin: 0.3125rem 0.3125rem 0; }\n\n.cv--partialLeftNavItem--131rM {\n left: 5.5rem;\n width: 5rem;\n height: 1rem; }\n\n.cv--iconGrey--2C2dq .cv--leftNavIcon--13OIc, .cv--discover--2dE5b.cv--active--3209B .cv--leftNavIcon--13OIc, .cv--playlists--2l2O2.cv--active--3209B .cv--leftNavIcon--13OIc, .cv--myUploads--_qXck.cv--active--3209B .cv--leftNavIcon--13OIc, .cv--favouritedVideos--mqsI_.cv--active--3209B .cv--leftNavIcon--13OIc, .cv--classrooms--Zgkg3.cv--active--3209B .cv--leftNavIcon--13OIc, .cv--classroom--2K3g7.cv--active--3209B .cv--leftNavIcon--13OIc, .cv--watchHistory--ZMi6H.cv--active--3209B .cv--leftNavIcon--13OIc, .cv--settings--YTaso.cv--active--3209B .cv--leftNavIcon--13OIc {\n color: #fff;\n border-radius: 50%;\n width: 3rem;\n height: 3rem;\n display: flex;\n justify-content: center;\n align-items: center; }\n\n.cv--iconGrey--2C2dq .cv--leftNavIcon--13OIc {\n background-color: #eaeaea;\n color: #333333; }\n\n.cv--discover--2dE5b svg {\n transform: translateY(-1px); }\n\n.cv--discover--2dE5b.cv--active--3209B .cv--leftNavIcon--13OIc {\n background-color: #38A2E8; }\n\n.cv--discover--2dE5b.cv--active--3209B .cv--highlightText--3uRuV {\n color: #38A2E8; }\n\n.cv--playlists--2l2O2.cv--active--3209B .cv--leftNavIcon--13OIc {\n background-color: #5DC786; }\n\n.cv--playlists--2l2O2.cv--active--3209B .cv--highlightText--3uRuV {\n color: #5DC786; }\n\n.cv--myUploads--_qXck.cv--active--3209B .cv--leftNavIcon--13OIc {\n background-color: #F8981D; }\n\n.cv--myUploads--_qXck.cv--active--3209B .cv--highlightText--3uRuV {\n color: #F8981D; }\n\n.cv--favouritedVideos--mqsI_ svg {\n transform: scale(0.9); }\n\n.cv--favouritedVideos--mqsI_.cv--active--3209B .cv--leftNavIcon--13OIc {\n background-color: #F7847B; }\n\n.cv--favouritedVideos--mqsI_.cv--active--3209B .cv--highlightText--3uRuV {\n color: #F7847B; }\n\n.cv--classrooms--Zgkg3.cv--active--3209B .cv--leftNavIcon--13OIc {\n background-color: #B679C7; }\n\n.cv--classroom--2K3g7.cv--active--3209B .cv--leftNavIcon--13OIc {\n background-color: #fff;\n color: #FFCD52; }\n\n.cv--watchHistory--ZMi6H svg {\n transform: scale(0.95); }\n\n.cv--watchHistory--ZMi6H.cv--active--3209B .cv--leftNavIcon--13OIc {\n background-color: #7A76E8; }\n\n.cv--watchHistory--ZMi6H.cv--active--3209B .cv--highlightText--3uRuV {\n color: #7A76E8; }\n\n.cv--settings--YTaso svg {\n transform: scale(1.2); }\n\n.cv--settings--YTaso.cv--active--3209B .cv--leftNavIcon--13OIc {\n background-color: #40C2BB; }\n",".cv--appLink--1SFgo {\n color: inherit;\n display: block;\n font-size: 0.78571em; }\n .cv--appLink--1SFgo:hover .cv--seasonEpisodeContainer--1YAi8 {\n text-decoration: underline; }\n",".cv--fixed--3C4_W {\n width: 25rem; }\n\n.cv--inline--2voRI {\n position: absolute; }\n\n.cv--closeSvg--2RiDj {\n width: 2.1875rem;\n height: 2.1875rem;\n display: inline-block; }\n\n.cv--buttons--ZbN3s {\n /**\r\n * Prevents the child buttons cascading vertically because \r\n * of the flex-shrink-1 class\r\n */\n min-width: 3.4rem; }\n\n.cv--flippedIcon--3nkTw {\n transform: scaleX(-1); }\n",".cv--dropMask--3bFev, .cv--dropContent--2_7SU, .cv--dropArea--3oOzB {\n display: block;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0; }\n\n.cv--dropMask--3bFev {\n z-index: 1040;\n background-color: #313543;\n opacity: 0.5; }\n\n.cv--dropContent--2_7SU {\n z-index: 1041; }\n .cv--dropContent--2_7SU h1 {\n position: absolute;\n top: 50%;\n width: 100%;\n text-align: center;\n color: #fff;\n margin-top: -1rem; }\n\n.cv--dropArea--3oOzB {\n z-index: 1042; }\n\n.cv--border--1IoKS {\n display: block;\n position: fixed;\n top: 6rem;\n left: 6rem;\n right: 6rem;\n bottom: 6rem;\n border: 3px dashed #fff;\n border-radius: 0.25rem; }\n",".cv--content--1SX2l {\n padding-top: 1.25rem; }\n\n.cv--collapsedNavContent--3LJFz {\n padding-left: 5.5rem; }\n\n.cv--openNavContent--34Pt4 {\n padding-left: 15rem; }\n\n.cv--hiddenNavContent--1gZ0J {\n padding-left: 0; }\n\n.cv--mask--mE2Dq {\n z-index: 1000; }\n\n.cv--fixedBottomRightContainer--Sgmex {\n position: fixed;\n right: 1.25rem;\n bottom: 0; }\n"],"sourceRoot":""}
|
package/dist/en.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{}
|
|
1
|
+
{"classrooms":{"classroomActivitiesList":{"noActivities":"No activities started yet with this class.","howToStart":"How do I start activities?"},"classroomDetailsForm":{"nameLabel":"Classroom Name","namePlaceholder":"Enter your classroom's name","cancel":"Cancel"},"classroomGroupDetailsForm":{"groupNamePlaceholder":"Group name","save":"Save","cancel":"Cancel","nameLabel":"Group Name","colourLabel":"Colour"},"classroomGroupDropdown":{"groupAs":"Group as:","createNew":"Create new group"},"classroomItem":{"rename":"Rename classroom","delete":"Delete classroom"},"classroomStudentsList":{"avatarAlt":"%{name}'s avatar","editStudentDetails":"Edit student details","removeFromClassroom":"Remove from classroom"},"manageClassroomGroups":{"groupName":"Group Name","colour":"Colour","createNew":"Create new group"},"manageClassroomStudentItem":{"editStudent":"Edit student","removeStudent":"Remove from classroom","addSuccess":"Successfully added <strong>%{studentName}</strong> to the group <strong>%{groupName}</strong>","addError":"Could not add <strong>%{studentName}</strong> to the group <strong>%{groupName}</strong>","removeSuccess":"Successfully removed <strong>%{studentName}</strong> from the group <strong>%{groupName}</strong>","removeError":"Could not remove <strong>%{studentName}</strong> from the group <strong>%{groupName}</strong>"},"manageClassroomStudentsEmptyState":{"emptyStateHeading":"What's your classroom without students?","emptyStateInfo":"Add students into your classrooms so you can group your students, and keep track of class and individual activities!","videoButton":"How do I add students?","addStudents":"Add new students"},"manageClassroomStudents":{"addStudent":"Add new student","addSuccess":"Successfully added all students to <strong>%{groupName}</strong>","removeSuccess":"Successfully removed all students from <strong>%{groupName}</strong>","addError":"Could not add students to <strong>%{groupName}</strong>","removeError":"Could not remove students from <strong>%{groupName}</strong>"},"classroomValidation":{"nameExceeds":"Name is too long","nameRequired":"Must provide a name","colourRequired":"Must provide a colour"},"addStudentsToClassroom":{"cancel":"Cancel","add":"Add","success":"Successfully added %{smart_count} student to %{classroomName}. |||| Successfully added %{smart_count} students to %{classroomName}.","error":"Could not add student to %{classroomName}. |||| Could not add students to %{classroomName}.","title":"Add new students","placeholder":"Search for student name..","createNewStudent":"Create a new student profile through ","studentManager":"School Student Manager"},"classroom":{"manageClassroom":"Manage Classroom","learningPaths":"Learning Paths","students":"Students","seeAll":"See all","overview":"Overview","starSuccess":"Successfully pinned <strong>%{classroomName}</strong>.","starError":"Could not pin <strong>%{classroomName}</strong>.","unstarSuccess":"Successfully unpinned <strong>%{classroomName}</strong>.","unstarError":"Could not unpin <strong>%{classroomName}</strong>."},"classrooms":{"heading":"Classrooms","emptyStateHeading":"It's time to start class, but first...!","emptyStateInfo":"Make a new classroom to keep tabs on the videos you watch together and tasks handed to students.","createNew":"Create new classroom","newClassroom":"New Classroom","myClassrooms":"My Classrooms","otherClassrooms":"Other Classrooms In Your School","starSuccess":"Successfully pinned <strong>%{classroomName}</strong>.","starError":"Could not pin <strong>%{classroomName}</strong>.","unstarSuccess":"Successfully unpinned <strong>%{classroomName}</strong>.","unstarError":"Could not unpin <strong>%{classroomName}</strong>."},"createClassroomGroup":{"title":"Create new group","success":"Successfully created <strong>%{groupName}</strong> in <strong>%{classroomName}</strong>","error":"Could not create group."},"createClassroom":{"title":"Add new classroom","nameLabel":"Classroom Name","save":"Save","success":"Successfully created classroom <strong>%{name}</strong>","error":"Could not create classroom"},"deleteClassroomGroup":{"title":"Delete group","cancel":"Cancel","delete":"Delete","areYouSure":"Are you sure you want to remove the group <strong>%{name}</strong> from your classroom?","success":"Successfully deleted group <strong>%{name}</strong>.","error":"Could not delete group <strong>%{name}</strong>."},"deleteClassroom":{"title":"Remove Classroom","confirmation":"Are you sure you want to remove <strong>%{name}</strong> from your school?","remove":"Remove","cancel":"Cancel","success":"Successfully removed %{name}."},"editClassroomGroup":{"title":"Edit group","success":"Successfully updated group <strong>%{groupName}</strong>.","error":"Could not update group <strong>%{groupName}</strong>."},"editClassroom":{"title":"Edit %{name}","nameLabel":"Classroom Name","save":"Save","success":"Successfully updated classroom %{name}","error":"Could not update classroom %{name}"},"manageClassroom":{"heading":"Manage Classroom","goTo":"Go to ","students":"Students","groups":"Groups"},"removeStudentsFromClassroom":{"cancel":"Cancel","remove":"Remove","success":"Successfully removed %{smart_count} student from %{classroomName} |||| Successfully removed %{smart_count} students from %{classroomName}","title":"Remove %{smart_count} student from %{classroomName} |||| Remove %{smart_count} students from %{classroomName}","confirm":"Are you sure you want to remove <strong>%{smart_count}</strong> student from <strong>%{classroomName}</strong>? |||| Are you sure you want to remove <strong>%{smart_count}</strong> students from <strong>%{classroomName}</strong>?"}},"liteContentUpdates":{"classificationBanner":{"unfollow":"Unfollow","follow":"Follow"}},"playlists":{"liteClassificationUpdateBreadcrumbs":{"dashboard":"Dashboard","whatsNew":"Whats new at ClickView"},"liteWhatsNewBreadcrumbs":{"dashboard":"Dashboard","whatsNew":"Whats new at ClickView"},"playlistDetails":{"nameLabel":"Playlist Name","namePlaceholder":"Give your playlist a name...","descriptionLabel":"Description","descriptionPlaceholder":"Describe your playlist here","create":"Create","save":"Save","cancel":"Cancel"},"playlistHeader":{"description":"Description","follow":"Follow","following":"Following","edit":"Edit","share":"Share","delete":"Delete"},"playlistListHeader":{"header":"My Playlists","newPlaylist":"New Playlist"},"selectPlaylist":{"placeholder":"Search your playlists or create a new one...","recentPlaylistsHeading":"Recent playlists saved to:","suggestionsHeading":"My Playlists","createPlaylist":"Create new playlist: <strong>%{name}</strong>"},"playlistSortSelect":{"recentlyUpdated":"Recently updated","atoz":"A to Z","newest":"Newest"},"addToPlaylist":{"heading":"Add to Playlist","selectPlaylist":"Select a playlist to add <strong>%{video}</strong> to:"},"deletePlaylist":{"title":"Delete %{name}","keep":"No, keep my playlist","confirm":"Yes, delete this playlist","check":"Are you sure you want to delete this playlist?","warning":"This will permanently delete the playlist <strong>%{name}</strong>, along with any share links.","videoNote":"Videos in this playlist will not be deleted."},"editPlaylist":{"title":"Edit %{name}","heading":"Edit Playlist Details"},"newPlaylist":{"title":"New Playlist"},"playlists":{"title":"Playlists"},"removeVideoFromPlaylist":{"title":"Remove %{name}","keep":"No, keep this video","confirm":"Yes, remove this video","check":"Are you sure you want to remove this video?","warning":"This will remove <strong>%{video}</strong> from the playlist <strong>%{playlist}</strong>."},"emptyState":{"noPlaylistsHeading":"You have no playlists","noPlaylistsInfo":"Click <strong>Create a new playlist</strong> in the left nav to create one.","noVideosHeading":"There are no videos in this playlist","noVideosInfo":"Learn how to add videos to a playlist."},"hooks":{"somethingWentWrong":"Something went wrong"},"validation":{"nameExceeds":"Name is too long","nameRequired":"Name is required","descriptionExceeds":"Description is too long"}},"contentUpdates":{"contentUpdatesView":{"followed":"Successfully followed <strong>%{classification}</strong>","unfollowed":"Successfully unfollowed <strong>%{classification}</strong>","showMore":"Show more new %{classificationName} videos"}},"search":{"filterActions":{"apply":"Apply","reset":"Reset"},"resetButton":{"reset":"Reset Filters"},"searchFilters":{"heading":"Filters","reset":"Reset Filters"},"utils":{"yearLevel":"Year Level","objectTypes":"Type","ratings":"Ratings","interactives":"Interactives","clips":"Clips","classroom":"Classroom","moreFilters":"More Filters","interactivesDescription":"Only display videos with interactives","clipsDescription":"Only display videos with clips","allTypes":"All Types","topics":"Topics","playlists":"Playlist","series":"Series","videos":"Videos","firstNameAToZ":"First Name: A - Z","firstNameZToA":"First Name: Z - A","surnameAToZ":"Last Name: A - Z","surnameZToA":"Last Name: Z - A"},"searchResults":{"heading":"Search Results","playlists":"Playlists","series":"Series","relatedPlaylists":"Related Playlists","relatedSeries":"Related Series"},"searchTips":{"heading":"Search Tips","firstTerm":"\"atomic bonding\"","firstDescription":"Search for exact phrases using quotation marks","secondTerm":"\"romeo and juliet\" english","secondDescription":"Combine normal and exact phrases together","thirdTerm":"-pollution","thirdDescription":"Exclude a keyword from your search","fourthTerm1":"tag:literature","fourthTerm2":"folder:science","fourthDescription":"Search for results within a tag, folder or series","fifthTerm":"folder:-physics","fifthDescription":"Use a \"-\" to exclude a folder, title or series"},"services":{"folderTag":"This folder","seriesTag":"This series"},"searchBar":{"findingResults":"Finding results...","recentSearches":"Recent Searches","allResults":"Show all results for","noLibraries":"There are currently no libraries to search. Add a new library to get started.","placeholder":"Search within your library... |||| Search within your libraries...","classifications":"topics","videos":"videos","tags":"tags","series":"series"}},"settings":{"settings":{"heading":"Settings"}},"subjects":{"classificationSeriesList":{"dashboard":"Dashboard","subview":"Series","heading":"Series: %{classification}"},"classification":{"dashboard":"Dashboard","playlists":"Playlists","series":"Series","popular":"Popular videos","unfollow":"Unfollow","follow":"Follow","share":"Share","followBtnTooltip":"Follow to get notifications on new content added to this subject"},"levelPreferences":{"heading":"What <span class=\"%{highlightClass}\">year levels</span> do you currently teach?","back":"Back","next":"Next","allLevels":"I teach all year levels"},"subjectPreferencesView":{"heading":"What type of <span class=\"%{highlightClass}\">videos</span> will be helpful to you?","infoRow1":"This will help us tailor ClickView to you.","infoRow2":"You can select as many as you like!","back":"Back","followSubjects":"Follow %{smart_count} Subject |||| Follow %{smart_count} Subjects","allOfParent":"All of %{parent}","allSubjects":"I'm interested in all subjects","next":"Next"},"preferencesSummary":{"heading":"<span class=\"%{highlightClass}\">Summary</span> of your preferences","info":"You can change your preferences in your profile settings at any time","levels":"Year levels","subjects":"Subjects","getStarted":"Get Started","noLevelPreferences":"You haven't set any level preferences yet.","noSubjectPreferences":"You haven't set any subject preferences yet."},"comingSoon":{"comingSoon":"Coming Soon","info":"We are currently building this topic. In the meantime, we can remind you when it's available.","remindMe":"Remind Me"},"heroVideo":{"resourcesHeading":"Resources","linksHeading":"Links","clipsHeading":"Clips","tagsHeading":"Tags","links":"%{smart_count} link |||| %{smart_count} links","resources":"%{smart_count} resource |||| %{smart_count} resources","clips":"%{smart_count} clip |||| %{smart_count} clips"}},"shared":{"uploadFileSelect":{"uploadVideo":"Upload a video"},"clips":{"clips":"Clips","create":"Create a clip","empty":"Only want a part of the video? Create a clip by trimming it down to the sections you want."},"immersiveReader":{"titleFallback":"Immersive Reader"},"interactives":{"interactives":"Interactives","create":"Create interactive","preview":"Preview Questions","empty":"Create your own questions to put into this video!"},"playPage":{"classroomMode":"Classroom Mode","createInteractive":"Create interactive video","createClip":"Create clip","more":"More","share":"Share","addToPlaylist":"Add to Playlist","favourite":"Favourite","relatedVideos":"Related Videos"},"tokenizedTypeahead":{"recentSearchHeading":"Recently shared to"},"synopsis":{"showFullDescription":"Show full description","videoAtAGlance":"Video at a glance..."},"userOptions":{"myProfile":"My Profile","myPreferences":"My Preferences","signOut":"Sign Out"},"videoDetails":{"details":"Details","rating":"Rating: %{code}","productionYear":"Production Year: %{year}","productionCompanies":"Production Companies","distributors":"Distributors","tags":"Tags:","description":"Description","showGlance":"See video at a glance"},"silentNotFound":{"title":"Page not found"},"hooks":{"discard":"Discard","cancel":"Cancel","uploadLockTitle":"Are you sure you want to leave?","uploadLockBody":"By leaving the current page all uploads will be discarded"},"dragMask":{"message":"Drop files here to begin uploading"},"utils":{"cancel":"Cancel","confirm":"Confirm"},"favouriteVideos":{"header":"Favourited Videos"},"leftNav":{"discover":"Discover","playlists":"Playlists","myUploads":"My Uploads","following":"Following","favouritedVideos":"Favourited Videos","classrooms":"Classrooms","watchHistory":"Watch History","settings":"Settings"},"series":{"dashboard":"Dashboard","series":"Series: %{seriesName}","share":"Share","follow":"Follow"},"share":{"mainTitle":"Share %{name}","settingsTitle":"Link settings for %{name}","shareLinkInstead":"Share a link instead","publicLinkInfo":"Anyone with this link can view","createLink":"Create Link","copyLink":"Copy Link","copiedLink":"Copied","viewOnly":"View Only","searchPlaceholder":"Share to colleagues, students, or classes..","share":"Share","sharedTo":"Shared to","save":"Save","cancel":"Cancel","deleteLink":"Delete Link","linkExpirationHeading":"Link Expiration","linkExpirationInfo":"Disable this link after 30 days","passwordProtectHeading":"Password Protect","passwordProtectInfo":"Generate a password to access this link","embedLinkHeading":"Embed Link","videoSize":"Video Size","autoplay":"Autoplay","success":"\"%{name}\" has been shared successfully","passwordPlaceholder":"Create a password.."},"playlistItem":{"videos":"%{smart_count} video |||| %{smart_count} videos"},"backButton":{"back":"Back","backTo":"Back to %{backToName}"},"editVideoDetails":{"nameExceeds":"Name is too long","nameRequired":"Name is required","descriptionExceeds":"Description is too long","namePlaceholder":"Enter a name for your video","descriptionPlaceholder":"Enter a description for your video","cancel":"Cancel","nameLabel":"Title","descriptionLabel":"Description"},"favouriteButton":{"favouriteError":"Failed to favourite video.","unfavouriteError":"Failed to unfavourite video."},"formButtons":{"create":"Create","save":"Save","next":"Next"},"pagination":{"next":"Next","previous":"Previous"},"searchBar":{"placeholder":"Enter a search query","recentSearchHeading":"Recent Searches"},"videoItemDescription":{"showMore":"... Show more","showLess":"Show less"},"dynamicWidget":{"topics":"Topics","teach":"What would you like to teach?","preferencesTooltip":"Update your preferences"},"fixedWidget":{"preferencesTooltip":"Update your preferences"},"greeting":{"morning":"Good morning","afternoon":"Good afternoon","evening":"Good evening","fallback":"Hello","prompt":"What would you like to teach today?"},"subjectWidgetItem":{"comingSoon":"Coming Soon","edit":"Edit My Subjects"},"_pagination":{"next":"Next","previous":"Previous"},"shared-utils":{"responsive":"Responsive","small":"Small","medium":"Medium","large":"Large"},"videoActionsHelper":{"addToPlaylist":"Add to playlist","removeFromPlaylist":"Remove from playlist","share":"Share","edit":"Edit"}},"upload":{"uploadingItem":{"uploading":"UPLOADING","waitingToBeProcessed":"Waiting to be processed","processing":"PROCESSING","error":"ERROR PROCESSING"},"services":{"completeUploadAlertHeading":"%{videoName} is now ready to watch","completeUploadAlertMessage":"The video %{videoName} is now ready to watch. Higher resolutions are still being processed.","completeUploadAlertAppLinkText":"Go to %{videoName}","startUploadAlertHeading":"Uploading Video","startUploadSingleAlertBody":"Started uploading <strong>%{videoName}</strong>.","startUploadMultipleAlertBody":"Started uploading <strong>%{uploadCount} videos.</strong>","startUploadAlertAppLinkText":"See it in My Uploads |||| See them in My Uploads","errorAlertMessage":"Something went wrong while processing your video: <strong>%{videoName}</strong>. Please try again","errorAlertAppLinkText":"See it in My Uploads"},"cancelUpload":{"cancelProcessingTitle":"Cancel Processing","cancelUploadingTitle":"Cancel Upload","cancelProcessingMessage":"Are you sure you want to cancel processing <strong>%{videoName}</strong>?","cancelUploadingMessage":"Are you sure you want to cancel uploading <strong>%{videoName}</strong>?","cancelProcessingAlertHeading":"Cancelled Processing","cancelUploadingAlertHeading":"Cancelled Uploading","cancelProcessingAlertMessage":"Successfully cancelled processing <strong>%{videoName}</strong>","cancelUploadingAlertMessage":"Successfully cancelled uploading <strong>%{videoName}</strong>"},"editUpload":{"title":"Edit upload details","alertBody":"<strong>%{videoName}</strong> has been successfully updated."},"myUploads":{"header":"My Uploads","description":"Here we store all the videos that you upload on to ClickView!","share":"Share","edit":"Edit","alertMessage":"Drag a video onto this window <strong>at any time</strong> to begin uploading.","alertSecondaryMessage":"(You can select more than 1 video at a time)"},"fileType":{"heading":"Invalid file type","body":"Sorry but you cannot upload files of that type.","okay":"Okay","close":"Close"},"internetConnectivityError":{"title":"Internet connectivity issue","heading":"Connectivity issue.","body":"There seems to be an issue with your internet connection. Please try uploading your files again.","okay":"Okay"},"utils":{"videoProcessingError":"Something went wrong processing this video.","waiting":"Waiting to be processed","processing":"Processing %{progress}%","complete":"Complete","readyToWatch":"Ready to watch, still processing higher resolutions."}},"userManager":{"bulkUploadFileSelect":{"button":"Upload .csv file","emptyCsvWarning":"The file you have uploaded appears to be empty! Please add some users and try again."},"deleteUploadedStudentPopup":{"title":"Delete student","confirmation":"Are you sure you want to delete this student?","cancel":"Cancel","delete":"Delete","firstName":"First name: <strong>%{firstName}</strong>","lastName":"Last name: <strong>%{lastName}</strong>","yearLevel":"Year level: <strong>%{yearLevel}</strong>","email":"Email: <strong>%{email}</strong>","success":"Successfully deleted 1 student"},"deleteUploadedTeacherPopup":{"title":"Delete teacher","confirmation":"Are you sure you want to delete this teacher?","cancel":"Cancel","delete":"Delete","firstName":"First name: <strong>%{firstName}</strong>","lastName":"Last name: <strong>%{lastName}</strong>","userRole":"Year level: <strong>%{userRole}</strong>","email":"Email: <strong>%{email}</strong>","success":"Successfully deleted 1 teacher"},"editUploadedUserPopup":{"success":"Successfully updated 1 user"},"manageStudents":{"addNew":"Add new student","level":"Level: ","remove":"Remove student","edit":"Edit student","activate":"Activate","enableProfile":"Enable profile"},"manageTeachers":{"addNew":"Add new teacher","remove":"Remove teacher","edit":"Edit teacher","activate":"Activate","enableProfile":"Enable profile"},"studentReviewTable":{"firstName":"First Name","lastName":"Last Name","yearLevel":"Year Level","email":"Email"},"teacherReviewTable":{"firstName":"First Name","lastName":"Last Name","userRole":"Role","email":"Email"},"studentDetailsForm":{"firstNamePlaceholder":"Enter student's first name","lastNamePlaceholder":"Enter student's last name","emailAddressPlaceholder":"Enter student's email"},"teacherDetailsForm":{"firstNamePlaceholder":"Enter user's first name","lastNamePlaceholder":"Enter user's last name","emailAddressPlaceholder":"Enter user's email"},"userDetailsForm":{"cancel":"Cancel","firstName":"First Name","lastName":"Last Name","yearLevel":"Year Level","emailAddress":"Email Address","userRole":"Role"},"userValidation":{"nameExceeds":"First name is too long","nameRequired":"Must provide a first name","surnameExceeds":"Surname is too long","surnameRequired":"Must provide a surname","emailExceeds":"Email address is too long","emailRequired":"Must provide an email address","emailValid":"Please provide a valid email address","yearLevelRequired":"Must provide a year level","yearLevelInvalid":"Must provide a valid year level","userRoleRequired":"Must choose a role","userRoleInvalid":"Must provide a valid user role"},"createStudent":{"popupTitle":"Create new student","success":"Successfully created student","error":"Could not create this student"},"createTeacher":{"popupTitle":"Create new user","success":"Successfully created user","error":"Could not create this user"},"editStudent":{"popupTitle":"Edit student","success":"Successfully updated student","error":"Could not update this student"},"editTeacher":{"popupTitle":"Edit user","success":"Successfully updated user","error":"Could not update this user"},"removeUser":{"titleStudents":"Remove Students","titleTeachers":"Remove Teachers","confirmStudents":"Are you sure you want to remove <strong>%{smart_count}</strong> student from your school? |||| Are you sure you want to remove <strong>%{smart_count}</strong> students from your school?","confirmTeachers":"Are you sure you want to remove <strong>%{smart_count}</strong> teacher from your school? |||| Are you sure you want to remove <strong>%{smart_count}</strong> teachers from your school?","remove":"Remove","cancel":"Cancel","success":"Successfully removed %{smart_count} user. |||| Successfully removed %{smart_count} users."},"schoolStudentManagerEmptyState":{"heading":"Where is everyone?","info":"Add students into your schools ClickView database to make sharing and creating classrooms possible!","videoLink":"How do I add students?","addNew":"Add new student"},"schoolStudentManager":{"heading":"School Student Manager","entries":"Showing %{totalVisible} of %{absoluteTotal} entry |||| Showing %{totalVisible} of %{absoluteTotal} entries","searchBarPlaceholder":"Search students...","yearLevelFilter":"Year Level"},"schoolTeacherManagerEmptyState":{"heading":"Where is everyone?","info":"Add teachers into your schools ClickView database to make sharing and creating classrooms possible!","videoLink":"How do I add teachers?","addNew":"Add new teacher"},"schoolTeacherManager":{"heading":"School Teacher Manager","entries":"Showing %{smart_count} entry |||| Showing %{smart_count} entries","searchBarPlaceholder":"Search teachers..."},"studentUploadReview":{"heading":"Review student list upload","save":"Save","reviewCount":"<span class=\"text-danger font-weight-bold\">%{smart_count}</span> listing needs reviewing. Please make sure you fill out all required missing information: |||| <span class=\"text-danger font-weight-bold\">%{smart_count}</span> listings need reviewing. Please make sure you fill out all required missing information:","switchLabel":"Show only listings that need reviewing","success":"Successfully uploaded students","navLockTitle":"Are you sure you want to leave?","navLockBody":"By leaving the current page all uploads will be discarded","saveConfirmationHeading":"Save users","saveConfirmationBody":"Are you sure you want to add %{smart_count} user to your school? |||| Are you sure you want to add %{smart_count} users to your school?","editStudent":"Edit student"},"teacherUploadReview":{"heading":"Review teacher list upload","save":"Save","reviewCount":"<span class=\"text-danger font-weight-bold\">%{smart_count}</span> listing needs reviewing. Please make sure you fill out all required missing information: |||| <span class=\"text-danger font-weight-bold\">%{smart_count}</span> listings need reviewing. Please make sure you fill out all required missing information:","switchLabel":"Show only listings that need reviewing","success":"Successfully uploaded teachers","navLockTitle":"Are you sure you want to leave?","navLockBody":"By leaving the current page all uploads will be discarded","saveConfirmationHeading":"Save users","saveConfirmationBody":"Are you sure you want to add %{smart_count} user to your school? |||| Are you sure you want to add %{smart_count} users to your school?","editTeacher":"Edit teacher"}},"share":{"copyEmbedHtml":{"label":"Embed","copy":"Copy","copied":"Copied","autoplay":"Autoplay","videoSize":"Video Size:"}},"notifications":{"notificationList":{"noNotifications":"You have no notifications"},"services":{"suggestEditSubmit":"Suggestion was successfully submitted"},"utils":{"viewVideoDetails":"View video details","viewVideo":"View video","reviewVideos":"Review videos","viewNewContent":"View new content","reviewVideo":"Review video","seeNow":"See now"},"notifications":{"title":"Notifications","notifications":"Notifications"},"notificationsPopover":{"notifications":"Notifications","seeAll":"See all notifications"}}}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ObjectHash } from 'backbone';
|
|
2
|
+
import { Core } from "../../common/src/backbone";
|
|
3
|
+
import { User, Config } from "./interfaces";
|
|
4
|
+
import { BaseAnalyticsTransport } from "./transport/EventTransport";
|
|
5
|
+
import { BaseAnalyticsClient } from "./clients/BaseAnalyticsClient";
|
|
6
|
+
import { BaseAnalyticsEnricher } from "./enrichers/BaseAnalyticsEnricher";
|
|
7
|
+
import { CollectionApiClient } from "./clients/CollectionApiClient";
|
|
8
|
+
interface ApplicationOptions {
|
|
9
|
+
user: User;
|
|
10
|
+
config: Config;
|
|
11
|
+
}
|
|
12
|
+
declare type AnalyticsClient = BaseAnalyticsClient | CollectionApiClient;
|
|
13
|
+
interface ClientConstructor<TClient extends AnalyticsClient> {
|
|
14
|
+
new (options?: ObjectHash): TClient;
|
|
15
|
+
}
|
|
16
|
+
interface EnricherConstructor<TEnricher extends BaseAnalyticsEnricher> {
|
|
17
|
+
new (options?: ObjectHash): TEnricher;
|
|
18
|
+
}
|
|
19
|
+
interface TransportContructor<TTransport extends BaseAnalyticsTransport> {
|
|
20
|
+
new (options?: ObjectHash): TTransport;
|
|
21
|
+
}
|
|
22
|
+
export declare class AnalyticsService extends Core.Service {
|
|
23
|
+
private transport;
|
|
24
|
+
private clients;
|
|
25
|
+
private enrichers;
|
|
26
|
+
constructor(options: ApplicationOptions);
|
|
27
|
+
get name(): string;
|
|
28
|
+
registerTransport<TTransport extends BaseAnalyticsTransport>(transportCtor: TransportContructor<TTransport>, transportOptions?: ObjectHash): this;
|
|
29
|
+
private bindTransportListeners;
|
|
30
|
+
/**
|
|
31
|
+
* Register analytics clients that will listen to events processed and
|
|
32
|
+
* forwarded by the AnalyticsService.
|
|
33
|
+
*
|
|
34
|
+
* @param clients Single client or array of clients
|
|
35
|
+
*/
|
|
36
|
+
registerClient<TClient extends AnalyticsClient>(clientCtor: ClientConstructor<TClient>, clientOptions?: ObjectHash): this;
|
|
37
|
+
registerEnricher<TEnricher extends BaseAnalyticsEnricher>(enricherCtor: EnricherConstructor<TEnricher>, enricherOptions?: ObjectHash): this;
|
|
38
|
+
/**
|
|
39
|
+
* Add any middleware/enrichers to be applied to ALL events here
|
|
40
|
+
* before publishing to any analytics clients. enrichers may also
|
|
41
|
+
* be used within each individual analyticsClient
|
|
42
|
+
*
|
|
43
|
+
* @param event AnalyticsEvent object
|
|
44
|
+
*/
|
|
45
|
+
private onEvent;
|
|
46
|
+
private validateConstructor;
|
|
47
|
+
private registerMiddleware;
|
|
48
|
+
private executeMiddleware;
|
|
49
|
+
private bindNavigationListener;
|
|
50
|
+
private logNavigate;
|
|
51
|
+
}
|
|
52
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Core } from "../../../common/src/backbone";
|
|
2
|
+
import { CoreAnalyticsType } from "../models/AnalyticsEvent";
|
|
3
|
+
export interface AnalyticsClientOptions extends Core.ServiceOptions {
|
|
4
|
+
}
|
|
5
|
+
export declare class BaseAnalyticsClient extends Core.Service {
|
|
6
|
+
static readonly type: string;
|
|
7
|
+
constructor(options?: AnalyticsClientOptions);
|
|
8
|
+
/**
|
|
9
|
+
* Predicate to determine whether the event should be handled by the client.
|
|
10
|
+
*
|
|
11
|
+
* @param event
|
|
12
|
+
*/
|
|
13
|
+
shouldLog(event?: CoreAnalyticsType): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* This function will be bound by the transport layer to the firehose outlet event
|
|
16
|
+
* stream. All events that satify the shouldLog predicate will flow to this function.
|
|
17
|
+
* Any client-specific data/manipulation can be added to the event object in
|
|
18
|
+
* this function.
|
|
19
|
+
*
|
|
20
|
+
* @param event
|
|
21
|
+
*/
|
|
22
|
+
log(event: CoreAnalyticsType): void;
|
|
23
|
+
isType(type: string): this is BaseAnalyticsClient;
|
|
24
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import 'whatwg-fetch';
|
|
2
|
+
import { IncomingEvent } from "../models/CollectionEvent";
|
|
3
|
+
import { HashObject } from "../interfaces/HashObject";
|
|
4
|
+
import { RegionalUrl } from "../interfaces/RegionalUrl";
|
|
5
|
+
import { User } from "../interfaces/User";
|
|
6
|
+
import { RegionName } from "../enums/RegionName";
|
|
7
|
+
interface CollectionApiClientOptions {
|
|
8
|
+
productName: string;
|
|
9
|
+
productVersion: string;
|
|
10
|
+
regionName: RegionName;
|
|
11
|
+
collectionApiUrls: RegionalUrl;
|
|
12
|
+
collectionApiClientId: string;
|
|
13
|
+
getUser: () => Promise<User>;
|
|
14
|
+
shouldLog?: (event: IncomingEvent) => boolean;
|
|
15
|
+
formatData?: (event: IncomingEvent) => {
|
|
16
|
+
[dataKey: string]: HashObject;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A client for logging to CollectionApi.
|
|
21
|
+
* It should have no library dependencies and anything that it references
|
|
22
|
+
* should also have no library dependencies.
|
|
23
|
+
*/
|
|
24
|
+
export declare class CollectionApiClient {
|
|
25
|
+
private options;
|
|
26
|
+
constructor(options: CollectionApiClientOptions);
|
|
27
|
+
initialize(): void;
|
|
28
|
+
get name(): string;
|
|
29
|
+
log(event: IncomingEvent): Promise<void>;
|
|
30
|
+
private validateOptions;
|
|
31
|
+
private shouldLog;
|
|
32
|
+
private postData;
|
|
33
|
+
private getSignatureHeader;
|
|
34
|
+
private getRegionalUrl;
|
|
35
|
+
private validateEvent;
|
|
36
|
+
private formatData;
|
|
37
|
+
private getEventData;
|
|
38
|
+
private extractData;
|
|
39
|
+
private getUserData;
|
|
40
|
+
/**
|
|
41
|
+
* Until region is added to the user Auth claims, we use countryCode to obtain region.
|
|
42
|
+
*/
|
|
43
|
+
private getRegion;
|
|
44
|
+
private getPlatformMetadata;
|
|
45
|
+
private getEventMetadata;
|
|
46
|
+
private getRegionByName;
|
|
47
|
+
}
|
|
48
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CoreAnalyticsType } from "../models/AnalyticsEvent";
|
|
2
|
+
import { BaseAnalyticsClient } from './BaseAnalyticsClient';
|
|
3
|
+
export declare class DebuggerClient extends BaseAnalyticsClient {
|
|
4
|
+
get name(): string;
|
|
5
|
+
shouldLog(): boolean;
|
|
6
|
+
log(event: CoreAnalyticsType): void;
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ApplicationOptionsKey = "application:options";
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Core } from "../../../common/src/backbone";
|
|
2
|
+
import { CoreAnalyticsType } from "../models/AnalyticsEvent";
|
|
3
|
+
export interface AnalyticsEnricherOptions {
|
|
4
|
+
}
|
|
5
|
+
export declare class BaseAnalyticsEnricher extends Core.Service {
|
|
6
|
+
static readonly type: string;
|
|
7
|
+
/**
|
|
8
|
+
* Enriches the current event with additional data.
|
|
9
|
+
* All events that satify the shouldEnrich predicate will flow to this function.
|
|
10
|
+
*
|
|
11
|
+
* This function is registered as middleware within the AnalyticsService and pass
|
|
12
|
+
* the event object being modifed on to subsequent middleware callbacks (other analytics);
|
|
13
|
+
*
|
|
14
|
+
* @param event
|
|
15
|
+
* @param next
|
|
16
|
+
*/
|
|
17
|
+
enrich<TEvent extends CoreAnalyticsType>(event: TEvent, next: Function): void;
|
|
18
|
+
isType(type: string): this is BaseAnalyticsEnricher;
|
|
19
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { CoreAnalyticsType } from "../models/AnalyticsEvent";
|
|
2
|
+
import { BaseAnalyticsEnricher, AnalyticsEnricherOptions } from './BaseAnalyticsEnricher';
|
|
3
|
+
export interface CoreContextEnricherOptions extends AnalyticsEnricherOptions {
|
|
4
|
+
productName: string;
|
|
5
|
+
productVersion: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class CoreContextEnricher extends BaseAnalyticsEnricher {
|
|
8
|
+
private productName;
|
|
9
|
+
private productVersion;
|
|
10
|
+
constructor(options: CoreContextEnricherOptions);
|
|
11
|
+
get name(): string;
|
|
12
|
+
private shouldEnrich;
|
|
13
|
+
enrich(event: CoreAnalyticsType, next: any): void;
|
|
14
|
+
private getCoreContext;
|
|
15
|
+
/**
|
|
16
|
+
* Get current timestamp in UTC
|
|
17
|
+
*/
|
|
18
|
+
private getTimestamp;
|
|
19
|
+
private getProductInfo;
|
|
20
|
+
private getRequestInfo;
|
|
21
|
+
private getClientInfo;
|
|
22
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CoreAnalyticsType } from "../models/AnalyticsEvent";
|
|
2
|
+
import { BaseAnalyticsEnricher } from './BaseAnalyticsEnricher';
|
|
3
|
+
export declare class UserDataEnricher extends BaseAnalyticsEnricher {
|
|
4
|
+
private user;
|
|
5
|
+
get name(): string;
|
|
6
|
+
initialize(): void;
|
|
7
|
+
private shouldEnrich;
|
|
8
|
+
enrich(event: CoreAnalyticsType, next: Function): void;
|
|
9
|
+
private getUser;
|
|
10
|
+
}
|
|
@@ -55,6 +55,9 @@ export declare enum UserAction {
|
|
|
55
55
|
Suggest = "cv_product_suggest",
|
|
56
56
|
EditAssoc = "cv_product_edit_assoc",
|
|
57
57
|
Play = "cv_product_play",
|
|
58
|
+
Favourite = "cv_product_favourite",
|
|
59
|
+
Follow = "cv_product_follow",
|
|
60
|
+
Prefer = "cv_product_prefer",
|
|
58
61
|
SetAccess = "cv_product_set_access",
|
|
59
62
|
AddToLocalCache = "cv_product_add_to_lc",
|
|
60
63
|
/**
|
|
@@ -88,7 +91,20 @@ export declare enum EntityType {
|
|
|
88
91
|
Link = "link",
|
|
89
92
|
Playlist = "playlist",
|
|
90
93
|
Person = "person",
|
|
91
|
-
Company = "company"
|
|
94
|
+
Company = "company",
|
|
95
|
+
Classroom = "classroom",
|
|
96
|
+
ClassroomGroup = "classroom_group",
|
|
97
|
+
Classification = "classification",
|
|
98
|
+
ShareLink = "share_link",
|
|
99
|
+
Upload = "upload",
|
|
100
|
+
SearchResults = "search_results",
|
|
101
|
+
Audience = "audience",
|
|
102
|
+
/**
|
|
103
|
+
* `user` cannot be the value here because when we log these events to Snowflake, the event object
|
|
104
|
+
* puts the current user's data under the `user` key. If we were to log events with `user` as the entity
|
|
105
|
+
* name, this data would be overwritten and lost.
|
|
106
|
+
*/
|
|
107
|
+
User = "target_user"
|
|
92
108
|
}
|
|
93
109
|
export declare enum LocationContext {
|
|
94
110
|
TopNav = "top_nav",
|
|
@@ -98,6 +114,7 @@ export declare enum LocationContext {
|
|
|
98
114
|
VideoList = "video_list",
|
|
99
115
|
VideoListItem = "video_list_item",
|
|
100
116
|
VideoListHeader = "video_header",
|
|
117
|
+
VideoThumbnail = "video_thumbnail",
|
|
101
118
|
VideoItemPreview = "video_item_preview",
|
|
102
119
|
VideoDetails = "video_details",
|
|
103
120
|
VideoDetailsHeader = "video_details_header",
|
|
@@ -119,7 +136,24 @@ export declare enum LocationContext {
|
|
|
119
136
|
PastReleasesHeader = "past_releases_header",
|
|
120
137
|
MigrationWarnings = "migration_warnings",
|
|
121
138
|
PlaylistListHeader = "playlist_list_header",
|
|
122
|
-
PlaylistListItem = "playlist_list_item"
|
|
139
|
+
PlaylistListItem = "playlist_list_item",
|
|
140
|
+
TeacherManager = "teacher_manager",
|
|
141
|
+
TeacherManagerListItem = "teacher_manager_list_item",
|
|
142
|
+
StudentManager = "student_manager",
|
|
143
|
+
StudentManagerListItem = "student_manager_list_item",
|
|
144
|
+
ClassroomsList = "classrooms_list",
|
|
145
|
+
ClassroomsListItem = "classrooms_list_item",
|
|
146
|
+
ClassroomOverview = "classroom_overview",
|
|
147
|
+
ClassroomOverviewStudentListItem = "classroom_overview_student_list_item",
|
|
148
|
+
ManageClassroomStudents = "manage_classroom_students",
|
|
149
|
+
ManageClassroomStudentListItem = "manage_classroom_student_list_item",
|
|
150
|
+
ManageClassroomGroups = "manage_classroom_groups",
|
|
151
|
+
ManageClassroomGroupListItem = "manage_classroom_group_list_item",
|
|
152
|
+
PlayPage = "play_page",
|
|
153
|
+
FloatingPlayer = "floating_player",
|
|
154
|
+
ContentUpdatesClassificationBanner = "content_updates_classification_banner",
|
|
155
|
+
PreferencesSettings = "preferences_settings",
|
|
156
|
+
MyUploads = "my_uploads"
|
|
123
157
|
}
|
|
124
158
|
export declare enum WorkflowPhase {
|
|
125
159
|
Start = "start",
|
|
@@ -171,7 +205,12 @@ export declare enum ClickDescriptor {
|
|
|
171
205
|
NavigateHome = "navigate_home",
|
|
172
206
|
OpenInStaffView = "open_in_staff_view",
|
|
173
207
|
Thumbnail = "thumbnail",
|
|
174
|
-
Title = "title"
|
|
208
|
+
Title = "title",
|
|
209
|
+
ToggleHideValidListings = "toggle_hide_valid_listings",
|
|
210
|
+
LaunchImmersiveReader = "launch_immersive_reader",
|
|
211
|
+
CopyEmbedHtml = "copy_embed_html",
|
|
212
|
+
Close = "close",
|
|
213
|
+
Open = "open"
|
|
175
214
|
}
|
|
176
215
|
export declare enum CustomerSettingDescriptor {
|
|
177
216
|
LibraryReview = "library_review"
|
|
@@ -184,12 +223,17 @@ export declare enum SuggestionDescriptor {
|
|
|
184
223
|
Edit = "edit"
|
|
185
224
|
}
|
|
186
225
|
export declare enum AssocDescriptor {
|
|
187
|
-
Image = "image"
|
|
226
|
+
Image = "image",
|
|
227
|
+
User = "user"
|
|
228
|
+
}
|
|
229
|
+
export declare enum ToggleDescriptor {
|
|
230
|
+
On = "on",
|
|
231
|
+
Off = "off"
|
|
188
232
|
}
|
|
189
233
|
/**
|
|
190
234
|
* Action descriptors give further context to UserActions
|
|
191
235
|
*/
|
|
192
|
-
export declare type ActionDescriptor = OperationDescriptor | SortDescriptor | FilterDescriptor | DirectSearchDescriptor | PageDescriptor | PlaybackDescriptor | CustomerSettingDescriptor | SuggestionDescriptor | InteractionTypeDescriptor | AssocDescriptor | ClickDescriptor;
|
|
236
|
+
export declare type ActionDescriptor = OperationDescriptor | SortDescriptor | FilterDescriptor | DirectSearchDescriptor | PageDescriptor | PlaybackDescriptor | CustomerSettingDescriptor | SuggestionDescriptor | InteractionTypeDescriptor | AssocDescriptor | ClickDescriptor | ToggleDescriptor;
|
|
193
237
|
/**
|
|
194
238
|
* Placeholder values to be used in circumstances where we need
|
|
195
239
|
* to simply signify that a change has occurred. Particularly if it is
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { HashObject } from "../interfaces/HashObject";
|
|
2
|
+
import { VersionData } from "../interfaces/VersionData";
|
|
3
|
+
import { UserAction, EventVersion, ActionContext } from "../interfaces/AnalyticsTypes";
|
|
4
|
+
import { Region } from "../interfaces/Region";
|
|
5
|
+
import { CountryCode } from "../enums/CountryCode";
|
|
6
|
+
export interface IncomingEvent {
|
|
7
|
+
type: CollectionEventType;
|
|
8
|
+
data: HashObject;
|
|
9
|
+
actionContext: ActionContext;
|
|
10
|
+
eventVersion: EventVersion;
|
|
11
|
+
}
|
|
12
|
+
export interface RequestData {
|
|
13
|
+
url: string;
|
|
14
|
+
referrer: string;
|
|
15
|
+
}
|
|
16
|
+
export interface PlatformData {
|
|
17
|
+
browser: VersionData;
|
|
18
|
+
os: VersionData;
|
|
19
|
+
request: RequestData;
|
|
20
|
+
screenResolution: string;
|
|
21
|
+
}
|
|
22
|
+
export interface CollectionEventUserData {
|
|
23
|
+
id: string;
|
|
24
|
+
role: string;
|
|
25
|
+
customer: {
|
|
26
|
+
id: string;
|
|
27
|
+
country: CountryCode;
|
|
28
|
+
region: Region;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export interface CollectionEventData {
|
|
32
|
+
[entity: string]: HashObject;
|
|
33
|
+
action: HashObject;
|
|
34
|
+
user: CollectionEventUserData;
|
|
35
|
+
platform: PlatformData;
|
|
36
|
+
product: VersionData;
|
|
37
|
+
}
|
|
38
|
+
export interface CollectionEventMetadata {
|
|
39
|
+
timestamp: string;
|
|
40
|
+
client: {
|
|
41
|
+
name: string;
|
|
42
|
+
version: string;
|
|
43
|
+
region: Region;
|
|
44
|
+
};
|
|
45
|
+
eventVersion: EventVersion;
|
|
46
|
+
}
|
|
47
|
+
export declare type CollectionEventType = UserAction;
|
|
48
|
+
/**
|
|
49
|
+
* Model to be sent to CollectionApi.
|
|
50
|
+
*/
|
|
51
|
+
export interface CollectionEvent {
|
|
52
|
+
type: CollectionEventType;
|
|
53
|
+
data: CollectionEventData;
|
|
54
|
+
metadata: CollectionEventMetadata;
|
|
55
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as Marionette from 'backbone.marionette';
|
|
2
|
+
import { CoreAnalyticsType } from "../models/AnalyticsEvent";
|
|
3
|
+
import { BaseAnalyticsClient } from "../clients/BaseAnalyticsClient";
|
|
4
|
+
import { CollectionApiClient } from "../clients/CollectionApiClient";
|
|
5
|
+
declare type AnalyticsClient = BaseAnalyticsClient | CollectionApiClient;
|
|
6
|
+
/**
|
|
7
|
+
* TransportLayer is responsible for communicating outgoing events from the
|
|
8
|
+
* AnalyticsService to registered AnalyticsClients.
|
|
9
|
+
*/
|
|
10
|
+
interface TransportLayer {
|
|
11
|
+
publish(event: CoreAnalyticsType): void;
|
|
12
|
+
subscribe<TClient extends AnalyticsClient>(client: TClient): void;
|
|
13
|
+
}
|
|
14
|
+
export declare abstract class BaseAnalyticsTransport extends Marionette.Object implements TransportLayer {
|
|
15
|
+
abstract publish(event: CoreAnalyticsType): void;
|
|
16
|
+
abstract subscribe(client: AnalyticsClient): void;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* EventTransport will utilise Backbone.Radio to emit events.
|
|
20
|
+
*/
|
|
21
|
+
export declare class EventTransport extends BaseAnalyticsTransport {
|
|
22
|
+
get name(): string;
|
|
23
|
+
get channelName(): string;
|
|
24
|
+
/**
|
|
25
|
+
* Publish an event to all AnalyticsClients
|
|
26
|
+
*
|
|
27
|
+
* @param event Outgoing event object
|
|
28
|
+
*/
|
|
29
|
+
publish(event: CoreAnalyticsType): void;
|
|
30
|
+
/**
|
|
31
|
+
* Subscribe the client to all outgoing events emitted from the AnalyticsService.
|
|
32
|
+
* All events will be recieved via the client's exposed eventHandler. Any specific
|
|
33
|
+
* event filtering or custom enrichment should occur within a client.
|
|
34
|
+
*
|
|
35
|
+
* @param client AnalyticsClient
|
|
36
|
+
*/
|
|
37
|
+
subscribe(client: AnalyticsClient): void;
|
|
38
|
+
}
|
|
39
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CoreAnalyticsType } from "../models/AnalyticsEvent";
|
|
2
|
+
import { HashObject } from "../interfaces";
|
|
3
|
+
declare type DataFormatter = (data: HashObject, event: CoreAnalyticsType) => HashObject;
|
|
4
|
+
export interface DataFormatterHash {
|
|
5
|
+
[eventType: string]: DataFormatter;
|
|
6
|
+
}
|
|
7
|
+
export declare const DataFormatHelper: {
|
|
8
|
+
/**
|
|
9
|
+
* Object will be logged to sink as is
|
|
10
|
+
*/
|
|
11
|
+
passthrough(data: HashObject<any>): HashObject<any>;
|
|
12
|
+
getEditData(data: HashObject<any>, event: CoreAnalyticsType): HashObject<any>;
|
|
13
|
+
};
|
|
14
|
+
export {};
|