@clickview/online 0.0.8-rc.3 → 0.0.8-rc.4
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/en.json +1 -1
- package/dist/libs/analytics/src/interfaces/AnalyticsTypes.d.ts +1 -0
- package/dist/libs/shared/src/apps/upload/constants/UploadConstants.d.ts +39 -0
- package/dist/libs/shared/src/apps/upload/enums/FileLifestyle.d.ts +4 -0
- package/dist/libs/shared/src/apps/upload/errors/file-type/FileTypeError.d.ts +15 -0
- package/dist/libs/shared/src/apps/upload/errors/internet-connectivity/InternetConnectivityError.d.ts +7 -0
- package/dist/libs/shared/src/apps/upload/services/DropzoneWrapper.d.ts +30 -0
- package/dist/libs/shared/src/apps/upload/services/UploadService.d.ts +66 -0
- package/dist/libs/shared/src/apps/upload/utils/FileExtensionsHelper.d.ts +9 -0
- package/dist/libs/shared/src/components/channel-form-field/ChannelFormField.d.ts +7 -0
- package/dist/libs/shared/src/components/confirmation-popup/ConfirmationPopup.d.ts +20 -0
- package/dist/libs/shared/src/components/edit-link/EditLink.d.ts +26 -0
- package/dist/libs/shared/src/components/edit-resource/EditResource.d.ts +15 -0
- package/dist/libs/shared/src/components/edit-video-links/EditVideoLinks.d.ts +11 -0
- package/dist/libs/shared/src/components/edit-video-resources/EditVideoResources.d.ts +20 -0
- package/dist/libs/shared/src/components/edit-video-subtitles/EditVideoSubtitles.d.ts +16 -0
- package/dist/libs/shared/src/components/file-select/FileSelect.d.ts +14 -0
- package/dist/libs/shared/src/components/file-select-button/FileSelectButton.d.ts +15 -0
- package/dist/libs/shared/src/components/file-upload-list/FileUploadList.d.ts +8 -0
- package/dist/libs/shared/src/components/forms/date-picker-form-field/DatePickerFormField.d.ts +16 -0
- package/dist/libs/shared/src/components/image-cropper/ImageCropper.d.ts +10 -0
- package/dist/libs/shared/src/components/image-select/ImageSelect.d.ts +13 -0
- package/dist/libs/shared/src/components/language-select/LanguageSelect.d.ts +8 -0
- package/dist/libs/shared/src/components/rating-select/RatingSelect.d.ts +11 -0
- package/dist/libs/shared/src/components/resource-list/ResourceList.d.ts +14 -0
- package/dist/libs/shared/src/components/subtitle-list/SubtitleList.d.ts +9 -0
- package/dist/libs/shared/src/components/thumbnails/video/VideoThumbnailWatchProgressBar.d.ts +8 -0
- package/dist/libs/shared/src/constants/ImageSizes.d.ts +8 -0
- package/dist/libs/shared/src/context/ImageStorageContext.d.ts +45 -0
- package/dist/libs/shared/src/enums/DateFormat.d.ts +7 -0
- package/dist/libs/shared/src/enums/MasterObjectTypes.d.ts +8 -0
- package/dist/libs/shared/src/enums/ObjectOwnerType.d.ts +4 -0
- package/dist/libs/shared/src/enums/UploadInteractionType.d.ts +4 -0
- package/dist/libs/shared/src/flight-requests/ImageRequests.d.ts +7 -0
- package/dist/libs/shared/src/flight-requests/LinkRequests.d.ts +11 -0
- package/dist/libs/shared/src/flight-requests/RatingRequests.d.ts +4 -0
- package/dist/libs/shared/src/flight-requests/ResourceRequests.d.ts +11 -0
- package/dist/libs/shared/src/flight-requests/SubtitleRequests.d.ts +9 -0
- package/dist/libs/shared/src/hooks/UseListenOn.d.ts +3 -0
- package/dist/libs/shared/src/hooks/useGetCollectionItems.d.ts +7 -0
- package/dist/libs/shared/src/interfaces/collections/SubtitleCollection.d.ts +3 -0
- package/dist/libs/shared/src/interfaces/models/FileUpload.d.ts +20 -0
- package/dist/libs/shared/src/interfaces/models/Language.d.ts +4 -0
- package/dist/libs/shared/src/interfaces/models/Subtitle.d.ts +7 -0
- package/dist/libs/shared/src/interfaces/requests/UpdateObjectChannel.d.ts +3 -0
- package/dist/libs/shared/src/interfaces/requests/UpdateObjectRating.d.ts +3 -0
- package/dist/libs/shared/src/interfaces/requests/UpdateResourceRequest.d.ts +3 -0
- package/dist/libs/shared/src/legacy/behaviors/file-drop/FileDropBehavior.d.ts +19 -0
- package/dist/libs/shared/src/legacy/behaviors/file-drop/FileDropHelper.d.ts +4 -0
- package/dist/libs/shared/src/legacy/behaviors/file-select/FileSelectBehavior.d.ts +16 -0
- package/dist/libs/shared/src/legacy/components/file-select/FileSelectComponent.d.ts +29 -0
- package/dist/libs/shared/src/legacy/components/file-uploads/FileUploadComponent.d.ts +15 -0
- package/dist/libs/shared/src/legacy/components/resource-item/ResourceItemComponent.d.ts +22 -0
- package/dist/libs/shared/src/legacy/components/subtitle-item/SubtitleItemComponent.d.ts +17 -0
- package/dist/libs/shared/src/legacy/errors/too-many-files/TooManyFilesError.d.ts +7 -0
- package/dist/libs/shared/src/legacy/errors/too-many-resources/TooManyResourcesError.d.ts +8 -0
- package/dist/libs/shared/src/legacy/errors/too-many-subtitles/TooManySubtitlesError.d.ts +8 -0
- package/dist/libs/shared/src/legacy/utils/LangHelper.d.ts +5 -0
- package/dist/libs/shared/src/utils/ImageSelectHelper.d.ts +6 -0
- package/dist/libs/shared/src/utils/PermissionsHelper.d.ts +10 -0
- package/dist/libs/shared/src/utils/SubtitleHelper.d.ts +9 -0
- package/dist/libs/shared/src/views/delete-link/DeleteLinkView.d.ts +8 -0
- package/dist/libs/shared/src/views/delete-resource/DeleteResourceView.d.ts +8 -0
- package/dist/libs/shared/src/views/delete-subtitle/DeleteSubtitleView.d.ts +8 -0
- package/dist/libs/shared/src/views/dialog/DialogView.d.ts +9 -0
- package/dist/libs/shared/src/views/edit-link/EditLinkView.d.ts +8 -0
- package/dist/libs/shared/src/views/edit-resource/EditResourceView.d.ts +8 -0
- package/dist/libs/shared/src/views/image-upload/ImageUploadView.d.ts +9 -0
- package/dist/online-app.css +2 -0
- package/dist/online-app.css.map +1 -0
- package/dist/online-app.js +3 -3
- package/dist/online-app.js.map +1 -0
- package/dist/projects/online/src/apps/workspace/WorkspaceApplication.d.ts +19 -0
- package/dist/projects/online/src/apps/workspace/components/edit-workspace-video-details/EditWorkspaceVideoDetails.d.ts +9 -0
- package/dist/projects/online/src/apps/workspace/components/edit-workspace-video-details/partial-loading/PartialEditWorkspaceVideoDetails.d.ts +2 -0
- package/dist/projects/online/src/apps/workspace/context/WorkspaceAppContext.d.ts +4 -0
- package/dist/projects/online/src/apps/workspace/flight-requests/WorkspaceVideoRequests.d.ts +9 -0
- package/dist/projects/online/src/apps/workspace/views/edit-workspace-video/EditWorkspaceVideoView.d.ts +8 -0
- package/dist/projects/online/src/apps/workspace/views/edit-workspace-video/partial-loading/PartialEditVideoUploadArea.d.ts +2 -0
- package/package.json +2 -2
package/dist/en.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"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"}},"playlists":{"emptyState":{"noPlaylistsHeading":"You have no playlists","noPlaylistsInfo":"Click <strong>New Playlist</strong> above to create one.","noVideosHeading":"There are no videos in this playlist","noVideosInfo":"Learn how to add videos to a playlist."},"playlistItem":{"videos":"%{smart_count} video |||| %{smart_count} videos","lastUpdated":"Last updated: %{timeAgo}","notUpdatedRecently":"Last updated over a month ago"},"playlistSortSelect":{"recentlyUpdated":"Recently updated","atoz":"A to Z","ztoa":"Z to A","newest":"Newest","oldest":"Oldest"},"hooks":{"somethingWentWrong":"Something went wrong"},"validation":{"nameExceeds":"Name is too long","nameRequired":"Name is required","descriptionExceeds":"Description is too long"},"onlineClassificationBanner":{"follow":"Follow","following":"Following"},"onlineClassificationUpdateBreadcrumbs":{"dashboard":"Dashboard","whatsNew":"Whats new at ClickView"},"onlineWhatsNewBreadcrumbs":{"dashboard":"Dashboard","whatsNew":"What's new at ClickView","switchBack":"Switch back to the old look"},"leftNavItem":{"share":"Share","edit":"Edit Playlist Details","delete":"Delete Playlist"},"leftNav":{"playlists":"Playlists","loading":"Loading more...","seeMore":"See more playlists"},"legacyPlaylistItem":{"video":"%{smart_count} video |||| %{smart_count} videos","share":"Share","edit":"Edit Playlist Details","delete":"Delete Playlist"},"playlistDetails":{"nameLabel":"Playlist Name","namePlaceholder":"Give your playlist a name...","descriptionLabel":"Description","descriptionPlaceholder":"Describe your playlist here","create":"Create","save":"Save","cancel":"Cancel"},"playlistHeader":{"follow":"Follow","following":"Following","edit":"Edit","share":"Share","delete":"Delete playlist","createdBy":"Created by %{user}","videos":"%{smart_count} video |||| %{smart_count} videos","followers":"%{smart_count} follower |||| %{smart_count} followers"},"playlistListHeader":{"heading":"%{fname} %{lname}'s Playlists","newPlaylist":"New Playlist","createNewPlaylist":"Create a new playlist"},"videoNotFound":{"heading":"Video Not Found","info":"The video you have requested could not be found or has been removed.","returnTo":"Return to %{name}"},"app":{"accessDeniedHeading":"You do not have permission to view this playlist.","accessDeniedInfo":"If it was previously shared with you, the owner may have changed the privacy settings.","notFoundHeading":"Playlist Not Found","notFoundInfo":"The playlist you have requested could not be found or has been removed."},"services":{"createPlaylistSuccess":"Successfully created playlist.","createPlaylistError":"Failed to create playlist.","updatePlaylistSuccess":"Successfully updated playlist.","updatePlaylistError":"Failed to save playlist.","deletePlaylistError":"Failed to delete playlist.","updatePlaylistOrderError":"Failed to update playlist order.","addToPlaylistSuccess":"Successfully added video to playlist.","addToPlaylistError":"Failed to add video to playlist."},"addToPlaylist":{"heading":"Add to Playlist","selectPlaylist":"Select a playlist to add <strong>%{video}</strong> to:"},"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>"},"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"},"migrationInProgress":{"heading":"Maintenance In Progress","description":"Playlists is currently undergoing some maintenance. Check back soon for some exciting updates!"},"newPlaylist":{"title":"New Playlist"},"playlist":{"followError":"Playlist couldn't be followed. Please try again later.","unfollowError":"Playlist couldn't be unfollowed. Please try again later."},"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>."},"videoList":{"removeHeading":"Remove from playlist","removeInfo":"Remove from this playlist","library":"This video comes from your Library","otherLibrary":"This video comes from the playlist owner's Library","workspace":"This video comes from your Workspace","otherWorkspace":"This video comes from the playlist owner's Workspace","exchange":"This video comes from the Exchange","series":"Series:","added":"Added","ratedTitle":"Rated:","unrated":"UNRATED","unratedTitle":"Rated: UNRATED","productionYearTitle":"Production Year:","interactive":"Interactive","interactiveTitle":"Interactive videos are available for this programme.","showMore":"... Show more","showLess":"Show less","hide":"Hide video","show":"Show video","plus":"+","minus":"-"}},"search":{"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"}},"subjects":{"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","heading":"Featured video"},"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 topic","noContent":"There is currently no content relevant to this audience |||| There is currently no content relevant to these audiences"},"classifications":{"dashboard":"Dashboard","staticTitle":"Explore all subjects","subview":"Topics","unfollow":"Unfollow","follow":"Follow"},"preferences":{"pageTitleOnboarding":"Onboarding","pageTitlePreferences":"Preferences"},"curriculumPresentationSelector":{"next":"Next","heading":"Which curriculum is most relevant to you?","info":"Content will be aligned to your chosen curriculum","back":"Back","error":"Something went wrong, please try again."},"levelPreferences":{"heading":"What year groups do you currently teach?","info":"This helps ClickView show you content that is suitable to your students","back":"Back","next":"Next","allLevels":"I teach all year groups","error":"Something went wrong while we were trying to save your changes. Please try again."},"subjectPreferencesView":{"heading":"Which subjects are you interested in?","infoRow1":"This helps us tailor ClickView to you.","infoRow2":"Select as many as you like!","back":"Back","allSubjects":"I'm interested in all subjects","next":"Next","error":"Something went wrong while we were trying to save your changes. Please try again."},"subjectPresentationSelector":{"next":"Next","heading":"What level do you currently teach?","info":"This will help ClickView show you more relevant content","error":"Something went wrong, please try again."},"preferencesSummary":{"heading":"A summary of your preferences","info":"You can change your preferences in your profile settings at any time!","levels":"Year groups","subjects":"Subjects","getStarted":"Get Started","save":"Save My Preferences","noLevelPreferences":"You haven't set any year group preferences yet.","noSubjectPreferences":"You haven't set any subject preferences yet.","allLevels":"I'm interested in all year groups","allSubjects":"I'm interested in all subjects","onboardingOptionError":"Something went wrong. Please check your internet connection and try again."},"preferencesWelcome":{"welcomeUser":"Welcome %{firstName}!","info1":"We want to get to know you a little bit better so we can <strong>tailor ClickView to your teaching needs!</strong>","info2":"This will only take a few minutes and everything you'll ever need will be at your fingertips.","getStarted":"Get started","welcome":"Welcome!"}},"upload":{"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."}},"shared":{"backButton":{"back":"Back","backTo":"Back to %{backToName}"},"badges":{"interactive":"Interactive","resources":"Resources"},"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?"},"interactiveWidgetItem":{"previewQuestions":"Preview Questions"},"subjectWidgetItem":{"comingSoon":"Coming Soon","edit":"Edit My Subjects","all":"Explore all 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"},"notFound":{"title":"Page not found","heading":"Page not found","description":"This page does not exist"},"error":{"return":"Return to home"},"share":{"close":"Close","share":"Share","sharePlaylist":"Share Playlist"}},"contentUpdates":{"classificationUpdate":{"defaultPageTitle":"Content Updates"},"contentUpdatesView":{"followed":"Successfully followed <strong>%{classification}</strong>","unfollowed":"Successfully unfollowed <strong>%{classification}</strong>","showMore":"Show more new %{classificationName} videos","error":"Something went wrong, please try again.","pageTitle":"Content Updates"}},"dashboard":{"heroWidget":{"play":"Play","addToPlaylist":"Add to playlist","previous":"Previous","next":"Next"},"onboardingNag":{"heading":"Finish these steps to access our latest features","progress":"Your profile is %{percentage}% complete","cta":"Complete my profile","joinClickView":"Join ClickView","yearLevels":"Choose your year groups","subjects":"Select your subjects","verifyEmail":"Verify Email"},"dashboard":{"curriculum":"Search by Curriculum","contentUpdates":"Latest Releases from ClickView","featuredChannels":"Featured Channels","pageTitle":"Dashboard","spotlightHeading":"🎉 Introducing Topics","spotlightInfo":"Highlighting the subjects that matter to you most! Edit your preferences anytime through <strong>Settings > Personalisation</strong>.","gotIt":"I'm ready"}},"":{},"default":{"verifyEmail":{"verifyEmailTitleNotOnboarding":"Verify Email","verifyEmailTitleOnboarding":"Before you get started...","subHeading":"We've noticed you haven't verified your email yet!","verifyEmailBody":"To keep up to date with the latest content from all your chosen subjects, please verify your email address.","verifyBtn":"Verify My Email","cancel":"Cancel","doLater":"I'll do this another time","placeholder":"Enter your email address here","emailRequired":"Please provide a valid email address","emailInvalid":"Please provide a valid email address","emailSentSuccess":"Verification email sent! Please check your inbox to complete verification","emailSentError":"Oops, something went wrong while we were trying to send you a verification email."}},"exchange":{"exchangeSubNav":{"home":"Home","categories":"Categories","mostRecent":"Most Recent","featuredChannels":"Featured Channels","interactives":"Interactive Videos","tvGuide":"TV Guide","clickViewTraining":"ClickView Training","contribute":"+ Contribute a video","bccRes":"BBC RES"},"exchange":{"remoteTeaching":"<strong>Teaching Remotely?</strong> Visit our <a target=\"_blank\" href=\"%{href}\" class=\"%{linkClass}\">remote teaching resource</a> for simple, practical ways to keep students engaged using ClickView.","pageTitle":"ClickView Exchange"}},"libraries":{"libraries":{"newInteractives":"New Interactives","recentlyAdded":"Recently Added to %{name}","pageTitle":"ClickView Libraries"}},"moviesAndTv":{"moviesAndTv":{"infoBanner":"🔎 You're currently viewing all Movies + TV content. Students will <strong>only</strong> see videos within their allowed rating.","pageTitle":"Movies + TV"}}}
|
|
1
|
+
{"playlists":{"onlineClassificationBanner":{"follow":"Follow","following":"Following"},"onlineClassificationUpdateBreadcrumbs":{"dashboard":"Dashboard","whatsNew":"Whats new at ClickView"},"onlineWhatsNewBreadcrumbs":{"dashboard":"Dashboard","whatsNew":"What's new at ClickView","switchBack":"Switch back to the old look"},"leftNavItem":{"share":"Share","edit":"Edit Playlist Details","delete":"Delete Playlist"},"leftNav":{"playlists":"Playlists","loading":"Loading more...","seeMore":"See more playlists"},"legacyPlaylistItem":{"video":"%{smart_count} video |||| %{smart_count} videos","share":"Share","edit":"Edit Playlist Details","delete":"Delete Playlist"},"playlistDetails":{"nameLabel":"Playlist Name","namePlaceholder":"Give your playlist a name...","descriptionLabel":"Description","descriptionPlaceholder":"Describe your playlist here","create":"Create","save":"Save","cancel":"Cancel"},"playlistHeader":{"follow":"Follow","following":"Following","edit":"Edit","share":"Share","delete":"Delete playlist","createdBy":"Created by %{user}","videos":"%{smart_count} video |||| %{smart_count} videos","followers":"%{smart_count} follower |||| %{smart_count} followers"},"playlistListHeader":{"heading":"%{fname} %{lname}'s Playlists","newPlaylist":"New Playlist","createNewPlaylist":"Create a new playlist"},"videoNotFound":{"heading":"Video Not Found","info":"The video you have requested could not be found or has been removed.","returnTo":"Return to %{name}"},"app":{"accessDeniedHeading":"You do not have permission to view this playlist.","accessDeniedInfo":"If it was previously shared with you, the owner may have changed the privacy settings.","notFoundHeading":"Playlist Not Found","notFoundInfo":"The playlist you have requested could not be found or has been removed."},"services":{"createPlaylistSuccess":"Successfully created playlist.","createPlaylistError":"Failed to create playlist.","updatePlaylistSuccess":"Successfully updated playlist.","updatePlaylistError":"Failed to save playlist.","deletePlaylistError":"Failed to delete playlist.","updatePlaylistOrderError":"Failed to update playlist order.","addToPlaylistSuccess":"Successfully added video to playlist.","addToPlaylistError":"Failed to add video to playlist."},"addToPlaylist":{"heading":"Add to Playlist","selectPlaylist":"Select a playlist to add <strong>%{video}</strong> to:"},"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>"},"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"},"migrationInProgress":{"heading":"Maintenance In Progress","description":"Playlists is currently undergoing some maintenance. Check back soon for some exciting updates!"},"newPlaylist":{"title":"New Playlist"},"playlist":{"followError":"Playlist couldn't be followed. Please try again later.","unfollowError":"Playlist couldn't be unfollowed. Please try again later."},"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>."},"videoList":{"removeHeading":"Remove from playlist","removeInfo":"Remove from this playlist","library":"This video comes from your Library","otherLibrary":"This video comes from the playlist owner's Library","workspace":"This video comes from your Workspace","otherWorkspace":"This video comes from the playlist owner's Workspace","exchange":"This video comes from the Exchange","series":"Series:","added":"Added","ratedTitle":"Rated:","unrated":"UNRATED","unratedTitle":"Rated: UNRATED","productionYearTitle":"Production Year:","interactive":"Interactive","interactiveTitle":"Interactive videos are available for this programme.","showMore":"... Show more","showLess":"Show less","hide":"Hide video","show":"Show video","plus":"+","minus":"-"},"emptyState":{"noPlaylistsHeading":"You have no playlists","noPlaylistsInfo":"Click <strong>New Playlist</strong> above to create one.","noVideosHeading":"There are no videos in this playlist","noVideosInfo":"Learn how to add videos to a playlist."},"playlistItem":{"videos":"%{smart_count} video |||| %{smart_count} videos","lastUpdated":"Last updated: %{timeAgo}","notUpdatedRecently":"Last updated over a month ago"},"playlistSortSelect":{"recentlyUpdated":"Recently updated","atoz":"A to Z","ztoa":"Z to A","newest":"Newest","oldest":"Oldest"},"hooks":{"somethingWentWrong":"Something went wrong"},"validation":{"nameExceeds":"Name is too long","nameRequired":"Name is required","descriptionExceeds":"Description is too long"}},"contentUpdates":{"classificationUpdate":{"defaultPageTitle":"Content Updates"},"contentUpdatesView":{"followed":"Successfully followed <strong>%{classification}</strong>","unfollowed":"Successfully unfollowed <strong>%{classification}</strong>","showMore":"Show more new %{classificationName} videos","error":"Something went wrong, please try again.","pageTitle":"Content Updates"}},"dashboard":{"heroWidget":{"play":"Play","addToPlaylist":"Add to playlist","previous":"Previous","next":"Next"},"onboardingNag":{"heading":"Finish these steps to access our latest features","progress":"Your profile is %{percentage}% complete","cta":"Complete my profile","joinClickView":"Join ClickView","yearLevels":"Choose your year groups","subjects":"Select your subjects","verifyEmail":"Verify Email"},"dashboard":{"curriculum":"Search by Curriculum","contentUpdates":"Latest Releases from ClickView","featuredChannels":"Featured Channels","pageTitle":"Dashboard","spotlightHeading":"🎉 Introducing Topics","spotlightInfo":"Highlighting the subjects that matter to you most! Edit your preferences anytime through <strong>Settings > Personalisation</strong>.","gotIt":"I'm ready"}},"":{},"default":{"verifyEmail":{"verifyEmailTitleNotOnboarding":"Verify Email","verifyEmailTitleOnboarding":"Before you get started...","subHeading":"We've noticed you haven't verified your email yet!","verifyEmailBody":"To keep up to date with the latest content from all your chosen subjects, please verify your email address.","verifyBtn":"Verify My Email","cancel":"Cancel","doLater":"I'll do this another time","placeholder":"Enter your email address here","emailRequired":"Please provide a valid email address","emailInvalid":"Please provide a valid email address","emailSentSuccess":"Verification email sent! Please check your inbox to complete verification","emailSentError":"Oops, something went wrong while we were trying to send you a verification email."}},"exchange":{"exchangeSubNav":{"home":"Home","categories":"Categories","mostRecent":"Most Recent","featuredChannels":"Featured Channels","interactives":"Interactive Videos","tvGuide":"TV Guide","clickViewTraining":"ClickView Training","contribute":"+ Contribute a video","bccRes":"BBC RES"},"exchange":{"remoteTeaching":"<strong>Teaching Remotely?</strong> Visit our <a target=\"_blank\" href=\"%{href}\" class=\"%{linkClass}\">remote teaching resource</a> for simple, practical ways to keep students engaged using ClickView.","pageTitle":"ClickView Exchange"}},"libraries":{"libraries":{"newInteractives":"New Interactives","recentlyAdded":"Recently Added to %{name}","pageTitle":"ClickView Libraries"}},"moviesAndTv":{"moviesAndTv":{"infoBanner":"🔎 You're currently viewing all Movies + TV content. Students will <strong>only</strong> see videos within their allowed rating.","pageTitle":"Movies + TV"}},"subjects":{"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 topic","noContent":"There is currently no content relevant to this audience |||| There is currently no content relevant to these audiences"},"classifications":{"dashboard":"Dashboard","staticTitle":"Explore all subjects","subview":"Topics","unfollow":"Unfollow","follow":"Follow"},"preferences":{"pageTitleOnboarding":"Onboarding","pageTitlePreferences":"Preferences"},"curriculumPresentationSelector":{"next":"Next","heading":"Which curriculum is most relevant to you?","info":"Content will be aligned to your chosen curriculum","back":"Back","error":"Something went wrong, please try again."},"levelPreferences":{"heading":"What year groups do you currently teach?","info":"This helps ClickView show you content that is suitable to your students","back":"Back","next":"Next","allLevels":"I teach all year groups","error":"Something went wrong while we were trying to save your changes. Please try again."},"subjectPreferencesView":{"heading":"Which subjects are you interested in?","infoRow1":"This helps us tailor ClickView to you.","infoRow2":"Select as many as you like!","back":"Back","allSubjects":"I'm interested in all subjects","next":"Next","error":"Something went wrong while we were trying to save your changes. Please try again."},"subjectPresentationSelector":{"next":"Next","heading":"What level do you currently teach?","info":"This will help ClickView show you more relevant content","error":"Something went wrong, please try again."},"preferencesSummary":{"heading":"A summary of your preferences","info":"You can change your preferences in your profile settings at any time!","levels":"Year groups","subjects":"Subjects","getStarted":"Get Started","save":"Save My Preferences","noLevelPreferences":"You haven't set any year group preferences yet.","noSubjectPreferences":"You haven't set any subject preferences yet.","allLevels":"I'm interested in all year groups","allSubjects":"I'm interested in all subjects","onboardingOptionError":"Something went wrong. Please check your internet connection and try again."},"preferencesWelcome":{"welcomeUser":"Welcome %{firstName}!","info1":"We want to get to know you a little bit better so we can <strong>tailor ClickView to your teaching needs!</strong>","info2":"This will only take a few minutes and everything you'll ever need will be at your fingertips.","getStarted":"Get started","welcome":"Welcome!"},"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","heading":"Featured video"}},"shared":{"notFound":{"title":"Page not found","heading":"Page not found","description":"This page does not exist"},"error":{"return":"Return to home"},"share":{"close":"Close","share":"Share","sharePlaylist":"Share Playlist"},"backButton":{"back":"Back","backTo":"Back to %{backToName}"},"badges":{"interactive":"Interactive","resources":"Resources"},"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?"},"interactiveWidgetItem":{"previewQuestions":"Preview Questions"},"subjectWidgetItem":{"comingSoon":"Coming Soon","edit":"Edit My Subjects","all":"Explore all 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"}},"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"}},"search":{"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"}},"upload":{"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."}}}
|
|
@@ -252,6 +252,7 @@ export declare enum VideoActionDescriptor {
|
|
|
252
252
|
AddToLibrary = "add_to_library",
|
|
253
253
|
AddToWorkspace = "add_to_workspace",
|
|
254
254
|
AddToPlaylist = "add_to_playlist",
|
|
255
|
+
RemoveFromPlaylist = "remove_from_playlist",
|
|
255
256
|
AddCurriculumLink = "add_curriculum_link",
|
|
256
257
|
ViewCurriculumLinks = "view_curriculum_links",
|
|
257
258
|
OpenInCurator = "open_in_curator",
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export declare const UploadEventNames: {
|
|
2
|
+
/**
|
|
3
|
+
* This is fired when a file has finished uploading to file API. This event
|
|
4
|
+
* has nothing to do with posting the uploaded resource to the respective repository.
|
|
5
|
+
*/
|
|
6
|
+
UPLOAD_COMPLETE: string;
|
|
7
|
+
/**
|
|
8
|
+
* This is trigged when files are selected
|
|
9
|
+
* from either the FileSelectBehavior or the FileDropBehavior
|
|
10
|
+
*/
|
|
11
|
+
FILES_SELECTED: string;
|
|
12
|
+
/**
|
|
13
|
+
* This triggered by the upload service when it received ingest urls for all
|
|
14
|
+
* the files added via a call to UploadService.addFiles(files: File[])
|
|
15
|
+
*/
|
|
16
|
+
FILES_ADDED: string;
|
|
17
|
+
/**
|
|
18
|
+
* This is fired when the user cancels their own upload
|
|
19
|
+
*/
|
|
20
|
+
UPLOAD_CANCELLED: string;
|
|
21
|
+
/**
|
|
22
|
+
* Name is self explanitory. This is only used internally by children
|
|
23
|
+
* of BasePendingItemsService at the moment
|
|
24
|
+
*/
|
|
25
|
+
PENDING_ITEM_READY_TO_WATCH: string;
|
|
26
|
+
/**
|
|
27
|
+
* Fired when we know that the pending items in args has changed status
|
|
28
|
+
* or that it's foreground progress has been completed.
|
|
29
|
+
*/
|
|
30
|
+
PENDING_ITEM_STATUS_CHANGE: string;
|
|
31
|
+
/**
|
|
32
|
+
* This is fired when the user cancels processing a recently uploaded video
|
|
33
|
+
*/
|
|
34
|
+
PROCESSING_CANCELLED: string;
|
|
35
|
+
/**
|
|
36
|
+
* Fired when all uploads are finished or when uploading is cancelled. Unlocks navigation
|
|
37
|
+
*/
|
|
38
|
+
UNLOCK_NAV: string;
|
|
39
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DialogError } from "../../../../errors/primitives/DialogError";
|
|
2
|
+
import { DialogOptions } from "../../../../interfaces";
|
|
3
|
+
/**
|
|
4
|
+
* TODO: Create a more useful message here.
|
|
5
|
+
* Perhaps using the mime types listen on MDN
|
|
6
|
+
* https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types
|
|
7
|
+
* or in the list of all the official mime types
|
|
8
|
+
* https://www.iana.org/assignments/media-types/media-types.xhtml
|
|
9
|
+
*/
|
|
10
|
+
export declare class FileTypeError extends DialogError {
|
|
11
|
+
constructor(message: string, files: File[], acceptedFiles: string);
|
|
12
|
+
get name(): string;
|
|
13
|
+
get lang(): string;
|
|
14
|
+
get dialogOptions(): DialogOptions;
|
|
15
|
+
}
|
package/dist/libs/shared/src/apps/upload/errors/internet-connectivity/InternetConnectivityError.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DialogError } from "../../../../errors/primitives/DialogError";
|
|
2
|
+
import { DialogOptions } from "../../../../interfaces";
|
|
3
|
+
export declare class InternetConnectivityError extends DialogError {
|
|
4
|
+
constructor();
|
|
5
|
+
get name(): string;
|
|
6
|
+
get dialogOptions(): DialogOptions;
|
|
7
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as Dropzone from 'dropzone';
|
|
2
|
+
import { Core } from "../../../../../common/src/backbone";
|
|
3
|
+
export interface UploadApiWrapperOptions extends Core.ServiceOptions {
|
|
4
|
+
maxFileSize: number;
|
|
5
|
+
chunkSize: number;
|
|
6
|
+
chunkingEnabled: boolean;
|
|
7
|
+
loggingEnabled: boolean;
|
|
8
|
+
acceptedFiles: string;
|
|
9
|
+
channelName: string;
|
|
10
|
+
}
|
|
11
|
+
export interface UploadApiWrapper {
|
|
12
|
+
addFile(file: File): void;
|
|
13
|
+
destroy(): void;
|
|
14
|
+
start(): void;
|
|
15
|
+
getId(file: File): string;
|
|
16
|
+
removeFile(file: File): void;
|
|
17
|
+
}
|
|
18
|
+
export declare class DropzoneWrapper extends Core.Service implements UploadApiWrapper {
|
|
19
|
+
private dropzone;
|
|
20
|
+
options: UploadApiWrapperOptions;
|
|
21
|
+
get name(): string;
|
|
22
|
+
constructor(options: UploadApiWrapperOptions);
|
|
23
|
+
initialize(options: UploadApiWrapperOptions): void;
|
|
24
|
+
getId(file: File): string;
|
|
25
|
+
addFile(file: Dropzone.DropzoneFile): void;
|
|
26
|
+
removeFile(file: Dropzone.DropzoneFile): void;
|
|
27
|
+
start(): void;
|
|
28
|
+
destroy(): void;
|
|
29
|
+
static isValidFile(file: File, acceptedFiles: string): boolean;
|
|
30
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Core } from "../../../../../common/src/backbone";
|
|
2
|
+
import { FileLifestyle } from "../enums/FileLifestyle";
|
|
3
|
+
import { UploadApiWrapper } from './DropzoneWrapper';
|
|
4
|
+
import { AnalyticsOptions } from "../../../../../analytics/src/interfaces";
|
|
5
|
+
export interface UploadItem extends Core.Model {
|
|
6
|
+
file: File;
|
|
7
|
+
name: string;
|
|
8
|
+
progress: number;
|
|
9
|
+
}
|
|
10
|
+
export declare enum UploadType {
|
|
11
|
+
Video = 0,
|
|
12
|
+
LearningResource = 1,
|
|
13
|
+
Subtitle = 2
|
|
14
|
+
}
|
|
15
|
+
declare class UploadService extends Core.Service {
|
|
16
|
+
protected uploadType: UploadType;
|
|
17
|
+
protected fileLifestyle: FileLifestyle;
|
|
18
|
+
protected uploader: UploadApiWrapper;
|
|
19
|
+
private progressViewModel;
|
|
20
|
+
private uploadDataService;
|
|
21
|
+
private collection;
|
|
22
|
+
initialize(): void;
|
|
23
|
+
get channelName(): string;
|
|
24
|
+
get lang(): string;
|
|
25
|
+
/**
|
|
26
|
+
* Dropzone is initialized once after the first upload is requested and it's chunk size
|
|
27
|
+
* is set for the rest of the uploads. If we happen to have multiple ingest
|
|
28
|
+
* servers that have different chunk max / min sizes, this may voilate those
|
|
29
|
+
* sizes.
|
|
30
|
+
*/
|
|
31
|
+
private initUploader;
|
|
32
|
+
private bindListeners;
|
|
33
|
+
private onProgress;
|
|
34
|
+
isUploading(): boolean;
|
|
35
|
+
getCollection(): Core.Collection<UploadItem>;
|
|
36
|
+
setOverallProgress(): void;
|
|
37
|
+
isValidFile(file: File): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Request uploads from fileApi and starts uploading.
|
|
40
|
+
* @param files Array of browser File objects
|
|
41
|
+
* @returns Returns false if any of the files did not match the accepted file list.
|
|
42
|
+
*/
|
|
43
|
+
addFiles(files: File[], analyticsOptions?: AnalyticsOptions): void;
|
|
44
|
+
private requestUploads;
|
|
45
|
+
addFile(file: File, analyticsOptions: AnalyticsOptions): void;
|
|
46
|
+
cancelUpload(id: string): void;
|
|
47
|
+
protected onSuccess(file: File, response: any): void;
|
|
48
|
+
cancelAllUploads(): void;
|
|
49
|
+
protected getAcceptedFiles(): string;
|
|
50
|
+
}
|
|
51
|
+
export declare class BaseVideoUploadService extends UploadService {
|
|
52
|
+
protected get uploadType(): UploadType;
|
|
53
|
+
get name(): string;
|
|
54
|
+
get fileLifestyle(): FileLifestyle;
|
|
55
|
+
}
|
|
56
|
+
export declare class SubtitleUploadService extends UploadService {
|
|
57
|
+
protected get uploadType(): UploadType;
|
|
58
|
+
get name(): string;
|
|
59
|
+
get fileLifestyle(): FileLifestyle;
|
|
60
|
+
}
|
|
61
|
+
export declare class LearningResourceUploadService extends UploadService {
|
|
62
|
+
protected get uploadType(): UploadType;
|
|
63
|
+
get name(): string;
|
|
64
|
+
get fileLifestyle(): FileLifestyle;
|
|
65
|
+
}
|
|
66
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ButtonProps } from 'react-bootstrap';
|
|
3
|
+
import { PopupViewProps } from "../../interfaces";
|
|
4
|
+
interface ConfirmationPopupProps {
|
|
5
|
+
title: string;
|
|
6
|
+
onClickConfirm: () => void;
|
|
7
|
+
confirmButtonText?: string;
|
|
8
|
+
cancelButtonText?: string;
|
|
9
|
+
confirmButtonVariant?: ButtonProps['variant'];
|
|
10
|
+
cancelButtonVariant?: ButtonProps['variant'];
|
|
11
|
+
}
|
|
12
|
+
declare type PropTypes = React.PropsWithChildren<ConfirmationPopupProps & PopupViewProps>;
|
|
13
|
+
export declare function ConfirmationPopup(props: PropTypes): React.ReactElement;
|
|
14
|
+
export declare namespace ConfirmationPopup {
|
|
15
|
+
var defaultProps: {
|
|
16
|
+
confirmButtonVariant: string;
|
|
17
|
+
cancelButtonVariant: string;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ButtonProps } from 'react-bootstrap';
|
|
3
|
+
import { Link } from "../../interfaces";
|
|
4
|
+
interface EditLinkFormProps {
|
|
5
|
+
isNew: boolean;
|
|
6
|
+
onClickCancel?: () => void;
|
|
7
|
+
buttonContainerClassName?: string;
|
|
8
|
+
submitButtonText?: string;
|
|
9
|
+
submitButtonVariant?: ButtonProps['variant'];
|
|
10
|
+
}
|
|
11
|
+
export declare function EditLinkForm(props: EditLinkFormProps): JSX.Element;
|
|
12
|
+
export declare namespace EditLinkForm {
|
|
13
|
+
var defaultProps: {
|
|
14
|
+
submitButtonVariant: string;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
interface EditLinkProps {
|
|
18
|
+
saveLink: (link: Link, onDone: () => void) => void;
|
|
19
|
+
onClickCancel?: () => void;
|
|
20
|
+
link?: Link;
|
|
21
|
+
buttonContainerClassName?: string;
|
|
22
|
+
submitButtonText?: string;
|
|
23
|
+
submitButtonVariant?: ButtonProps['variant'];
|
|
24
|
+
}
|
|
25
|
+
export declare function EditLink(props: EditLinkProps): JSX.Element;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Resource, UpdateResourceRequest } from "../../interfaces";
|
|
3
|
+
interface EditResourceFormProps {
|
|
4
|
+
onClickCancel: () => void;
|
|
5
|
+
buttonContainerClassName?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function EditResourceForm(props: EditResourceFormProps): JSX.Element;
|
|
8
|
+
interface EditResourceProps {
|
|
9
|
+
saveResource: (data: UpdateResourceRequest, onDone: () => void) => void;
|
|
10
|
+
resource: Resource;
|
|
11
|
+
onClickCancel: () => void;
|
|
12
|
+
buttonContainerClassName?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function EditResource(props: EditResourceProps): JSX.Element;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Link } from "../../interfaces";
|
|
3
|
+
interface EditVideoLinksProps {
|
|
4
|
+
links: Link[];
|
|
5
|
+
addLink: (link: Link, onDone: () => void) => void;
|
|
6
|
+
editLink: (id: string) => void;
|
|
7
|
+
deleteLink: (id: string) => void;
|
|
8
|
+
limit: number;
|
|
9
|
+
}
|
|
10
|
+
export declare function EditVideoLinks(props: EditVideoLinksProps): JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Core } from "../../../../common/src/backbone";
|
|
3
|
+
import { AnalyticsOptions } from "../../../../analytics/src/interfaces";
|
|
4
|
+
import { Resource, Video } from "../../interfaces";
|
|
5
|
+
import { InteractionType } from "../../enums/UploadInteractionType";
|
|
6
|
+
import { UploadItem } from "../../apps/upload/services/UploadService";
|
|
7
|
+
interface EditVideoResourcesProps {
|
|
8
|
+
video: Video;
|
|
9
|
+
resources: Resource[];
|
|
10
|
+
addResourceFiles: (files: File[], type?: InteractionType) => void;
|
|
11
|
+
resourceLimit: number;
|
|
12
|
+
uploadingFiles: UploadItem[];
|
|
13
|
+
cancelUpload: (id: string) => void;
|
|
14
|
+
getEditAppLink: (resourceId: string) => Core.AppLink;
|
|
15
|
+
onClickDelete: (resourceId: string) => void;
|
|
16
|
+
currentUserCustomerId: string;
|
|
17
|
+
analyticsOptions?: AnalyticsOptions;
|
|
18
|
+
}
|
|
19
|
+
export declare function EditVideoResources(props: EditVideoResourcesProps): JSX.Element;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Subtitle, Video } from "../../interfaces";
|
|
3
|
+
import { InteractionType } from "../../enums/UploadInteractionType";
|
|
4
|
+
import { UploadItem } from "../../apps/upload/services/UploadService";
|
|
5
|
+
interface EditVideoSubtitlesProps {
|
|
6
|
+
video: Video;
|
|
7
|
+
subtitles: Subtitle[];
|
|
8
|
+
addSubtitleFiles: (files: File[], type?: InteractionType) => void;
|
|
9
|
+
subtitleLimit: number;
|
|
10
|
+
uploadingFiles: UploadItem[];
|
|
11
|
+
cancelUpload: (id: string) => void;
|
|
12
|
+
onClickDelete: (subtitleId: string) => void;
|
|
13
|
+
currentUserCustomerId: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function EditVideoSubtitles(props: EditVideoSubtitlesProps): JSX.Element;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { InteractionType } from "../../enums/UploadInteractionType";
|
|
3
|
+
interface FileSelectProps {
|
|
4
|
+
onFilesAdded: (files: File[], type?: InteractionType) => void;
|
|
5
|
+
title: string;
|
|
6
|
+
description: string;
|
|
7
|
+
alternateText: string;
|
|
8
|
+
mimeType: string;
|
|
9
|
+
acceptMultiple?: boolean;
|
|
10
|
+
limitText: string;
|
|
11
|
+
isClickViewContent?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function FileSelect(props: FileSelectProps): JSX.Element;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
interface FileSelectButtonProps {
|
|
3
|
+
onFileSelect: (files: FileList) => void;
|
|
4
|
+
className?: string;
|
|
5
|
+
svgName?: string;
|
|
6
|
+
acceptMultiple?: boolean;
|
|
7
|
+
mimeType?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function FileSelectButton(props: React.PropsWithChildren<FileSelectButtonProps>): JSX.Element;
|
|
10
|
+
export declare namespace FileSelectButton {
|
|
11
|
+
var defaultProps: {
|
|
12
|
+
className: string;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { UploadItem } from "../../apps/upload/services/UploadService";
|
|
3
|
+
interface FileUploadListProps {
|
|
4
|
+
uploads: UploadItem[];
|
|
5
|
+
cancelUpload: (id: string) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function FileUploadList(props: FileUploadListProps): JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { DateFormat } from "../../../enums/DateFormat";
|
|
3
|
+
interface DatePickerFormFieldProps<T> {
|
|
4
|
+
attribute: keyof T & string;
|
|
5
|
+
label?: string;
|
|
6
|
+
placeholder?: string;
|
|
7
|
+
maxDate?: Date;
|
|
8
|
+
format?: DateFormat;
|
|
9
|
+
}
|
|
10
|
+
export declare function DatePickerFormField<T extends {}>(props: DatePickerFormFieldProps<T>): JSX.Element;
|
|
11
|
+
export declare namespace DatePickerFormField {
|
|
12
|
+
var defaultProps: {
|
|
13
|
+
format: DateFormat;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
interface ImageCropperProps {
|
|
3
|
+
dataUrl: string;
|
|
4
|
+
minHeight: number;
|
|
5
|
+
minWidth: number;
|
|
6
|
+
onCrop: (dataUrl: string) => void;
|
|
7
|
+
onCancel: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function ImageCropper(props: ImageCropperProps): React.ReactElement;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ImageType } from "../../enums/Images";
|
|
3
|
+
import { Image } from "../../interfaces";
|
|
4
|
+
interface ImageSelectProps<Values extends object> {
|
|
5
|
+
imageType: ImageType;
|
|
6
|
+
fieldName: keyof Values & string;
|
|
7
|
+
application: string;
|
|
8
|
+
uploadAction: string;
|
|
9
|
+
label?: string;
|
|
10
|
+
setSelectedImage?: (image: Image) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare function ImageSelect<Values extends object>(props: ImageSelectProps<Values>): React.ReactElement;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Language, PopupViewProps } from "../../interfaces";
|
|
3
|
+
interface LanguageSelectProps extends PopupViewProps {
|
|
4
|
+
onSelectLanguage: (language: Language) => void;
|
|
5
|
+
defaultLanguage: Language;
|
|
6
|
+
}
|
|
7
|
+
export declare function LanguageSelect(props: LanguageSelectProps): JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Rating, UpdateObjectRating } from "../../interfaces";
|
|
3
|
+
declare type ObjectWithRating<T extends object> = T & {
|
|
4
|
+
rating: UpdateObjectRating;
|
|
5
|
+
};
|
|
6
|
+
interface RatingSelectProps {
|
|
7
|
+
ratings: Rating[];
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function RatingSelect<T extends ObjectWithRating<{}>>(props: RatingSelectProps): JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Core } from "../../../../common/src/backbone";
|
|
3
|
+
import { AnalyticsOptions } from "../../../../analytics/src/interfaces";
|
|
4
|
+
import { Resource } from "../../interfaces";
|
|
5
|
+
interface ResourceListProps {
|
|
6
|
+
resources: Resource[];
|
|
7
|
+
videoId: string;
|
|
8
|
+
editable: boolean;
|
|
9
|
+
getEditAppLink: (resourceId: string) => Core.AppLink;
|
|
10
|
+
onClickDelete: (resourceId: string) => void;
|
|
11
|
+
analyticsOptions?: AnalyticsOptions;
|
|
12
|
+
}
|
|
13
|
+
export declare function ResourceList(props: ResourceListProps): JSX.Element;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Subtitle } from "../../interfaces";
|
|
3
|
+
interface SubtitleListProps {
|
|
4
|
+
subtitles: Subtitle[];
|
|
5
|
+
onClickDelete: (subtitleId: string) => void;
|
|
6
|
+
isClickViewContent?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function SubtitleList(props: SubtitleListProps): JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Video } from "../../../interfaces";
|
|
3
|
+
interface VideoThumbnailWatchProgressBarProps {
|
|
4
|
+
video: Video;
|
|
5
|
+
className: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function VideoThumbnailWatchProgressBar(props: VideoThumbnailWatchProgressBarProps): JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Image } from "../interfaces";
|
|
3
|
+
/**
|
|
4
|
+
* This context is used for transferring image
|
|
5
|
+
* data between different areas of the application.
|
|
6
|
+
*
|
|
7
|
+
* It stores base64 image files that have been read
|
|
8
|
+
* in from ImageSelect component for the purpose of
|
|
9
|
+
* being cropped and uploaded in ImageUploadView.
|
|
10
|
+
*
|
|
11
|
+
* Image objects uploaded in ImageUploadView can then be
|
|
12
|
+
* stored in the context for use in the component
|
|
13
|
+
* that initially requested the upload.
|
|
14
|
+
*/
|
|
15
|
+
interface IImageStorageContext {
|
|
16
|
+
/**
|
|
17
|
+
* Retrieve the stored base64 dataUrl. This will
|
|
18
|
+
* reset the stored value after it is read.
|
|
19
|
+
*/
|
|
20
|
+
getDataUrl: () => string;
|
|
21
|
+
/**
|
|
22
|
+
* Set the stored dataUrl.
|
|
23
|
+
*/
|
|
24
|
+
setDataUrl: (dataUrl: string) => void;
|
|
25
|
+
/**
|
|
26
|
+
* Retrieve the stored image object. This will
|
|
27
|
+
* reset the stored image object.
|
|
28
|
+
*/
|
|
29
|
+
getImage: () => Image;
|
|
30
|
+
/**
|
|
31
|
+
* Store an image after it has been successfully
|
|
32
|
+
* uploaded.
|
|
33
|
+
*/
|
|
34
|
+
setImage: (image: Image) => void;
|
|
35
|
+
/**
|
|
36
|
+
* Flag to notify anything using this context
|
|
37
|
+
* that an image has been uploaded.
|
|
38
|
+
*/
|
|
39
|
+
imageUploaded: boolean;
|
|
40
|
+
}
|
|
41
|
+
export declare const ImageStorageContext: React.Context<IImageStorageContext>;
|
|
42
|
+
export declare const ImageStorageContextProvider: ({ children }: {
|
|
43
|
+
children?: React.ReactNode;
|
|
44
|
+
}) => JSX.Element;
|
|
45
|
+
export {};
|