{"version":3,"sources":["registerServiceWorker.js","_services/radacad-auth-react/Core/IAuthContext.ts","_services/radacad-auth-react/Helpers/HttpHelper.ts","_services/radacad-auth-react/apis/AuthenticationApi.ts","_services/radacad-auth-react/apis/FacebookService.jsx","_services/radacad-auth-react/Core/IAuthState.ts","_services/radacad-auth-react/Core/AuthContext.ts","_services/radacad-auth-react/Helpers/JwtHelper.ts","_services/radacad-auth-react/RadacadAuthProvider.tsx","_components/_commons/Dialogs/AlertDialog.jsx","_components/_commons/Dialogs/EmbedDialog.jsx","_contexts/UserContext.ts","_commons/Helpers/RoleType.ts","_services/radacad-auth-react/Core/useRadacadAuth.ts","_components/NavMenu/NavMenu.tsx","_commons/Helpers/HttpHelper.ts","_services/LearnerService.ts","_components/_commons/CourseProgressBarComponent/CourseProgressBar.jsx","_components/CoursePage/CourseCardComponent/CourseCardUIComponent/CourseCardUI.tsx","_components/CoursePage/CourseScrollContainerComponent/CourseScrollContainer.jsx","_components/CoursePage/CourseCardListComponent/CourseCardList.jsx","_services/radacad-academy-lms/LearningPathService.ts","_components/_commons/FullScreenLoadingProgressComponent/FullScreenLoadingProgress.jsx","_components/LearningPathCoursePage/LearningPath.jsx","_services/Common/Handlers.ts","_services/radacad-academy-lms/CourseService.ts","_services/radacad-academy-product/AcademyProductService.ts","_components/CoursePage/CourseCardComponent/CourseCard.jsx","_services/radacad-academy-lms/CoursePrerequisiteService.ts","_commons/Utils/React/Components/Pages/LoadingPage.tsx","_commons/Utils/Regex.ts","_services/radacad-academy-affiliate/AffiliateService.ts","_commons/Utils/BrowserStorage.ts","_components/LessonPage/LessonDetailComponent/PurchaseCourseCards.tsx","_components/LessonPage/LessonDetailComponent/PurchaseCoursePromptDiv.tsx","_components/CoursePage/CourseDetailComponent/CourseDetail.jsx","_services/radacad-academy-lms/models/IPagenatedList.ts","_services/radacad-academy-lms/LessonService.ts","_components/LessonPage/LessonCardComponent/LessonCard.jsx","_components/SearchPage/SearchPageLessonResult.tsx","_components/SearchPage/SearchPage.jsx","_components/ModulePage/ModuleComponent.jsx","_components/ErrorPage/NotFoundPage.tsx","_services/vimeo-videoplayer/VimeoService.jsx","_components/LessonPage/LessonDetailComponent/LessonVideoPlayer.tsx","_services/radacad-academy-lms/ModuleService.ts","_components/_commons/LoadingAnimation.tsx","_services/FileStorageService.ts","_components/_commons/PrivateResourceLink.tsx","_components/LessonPage/LessonDetailComponent/LMSMaterialDownloadButton.tsx","_components/LessonPage/LessonDetailComponent/MaterialDownloadDiv.style.ts","_components/LessonPage/LessonDetailComponent/MaterialDownloadDiv.tsx","_components/LessonPage/LessonDetailComponent/LessonVideoFrame.tsx","_components/LessonPage/LessonDetailComponent/ChatBox.tsx","_services/radacad-academy-message/ChatMessageService.ts","_components/MessagePage/MessageList.js","_components/MessagePage/HTMLTextDiv.tsx","_components/LessonPage/LessonDetailComponent/LessonMessageTab.tsx","_components/LessonPage/LessonDetailComponent/LessonPageTabs.tsx","_components/LessonPage/LessonDetailComponent/LessonPage.jsx","_components/_commons/CustomizedSnackbars.jsx","_components/SignInPage/Copyright.tsx","_services/SystemService.ts","_services/radacad-auth-react/assets/facebook_icon.svg","_services/radacad-auth-react/Components/FacebookButtons/FacebookSSOButton.tsx","_services/radacad-auth-react/assets/linkedin_icon.svg","_services/radacad-auth-react/Components/LinkedInButtons/icons/LinkedInIcon.tsx","_services/radacad-auth-react/Components/LinkedInButtons/LinkedInSSOButton.tsx","_services/radacad-auth-react/assets/google_icon.svg","_services/radacad-auth-react/Components/GoogleButtons/GoogleSSOButton.tsx","_components/SignInPage/SignIn.tsx","_services/UserService.ts","_commons/Utils/Time.ts","_components/UserPage/UserMetrics/MetricsCharts.tsx","_components/UserPage/UserMetrics/UserMetrics.tsx","_services/BadgeService.ts","_commons/Utils/React/Components/Dialogs/SimpleDialog.tsx","_components/UserPage/UserBadges/Badge.tsx","_components/UserPage/UserBadges/UserBadges.tsx","_services/radacad-auth-react/apis/SSOApi.ts","_services/radacad-auth-react/Core/SSOType.ts","_services/radacad-auth-react/Components/FacebookButtons/FacebookSSOAddButton.tsx","_services/radacad-auth-react/Components/FacebookButtons/FacebookSSORemoveButton.tsx","_services/radacad-auth-react/Components/GoogleButtons/GoogleSSOAddButton.tsx","_services/radacad-auth-react/Components/GoogleButtons/GoogleSSORemoveButton.tsx","_services/radacad-auth-react/Components/LinkedInButtons/LinkedInSSOAddButton.tsx","_services/radacad-auth-react/Components/LinkedInButtons/LinkedInSSORemoveButton.tsx","_components/_commons/SimpleBackDrop.tsx","_components/UserPage/UserSSOStatus.tsx","_components/UserPage/UserEmailNotificationStatus.tsx","_components/UserPage/UserProfile/UserProfile.jsx","_services/radacad-academy-lms/AuthorService.ts","_components/AuthorPage/AuthorPageComponent/AuthorPage.jsx","_components/LearningPathCoursePage/LearningPathCard.jsx","_components/HomePage/Home.jsx","_components/AuthorPage/AuthorCardComponent/AuthorCard.jsx","_components/AuthorPage/AuthorListComponent/AuthorList.jsx","_components/_commons/Editor/HTMLEditor.tsx","_components/MessagePage/MessageBox.tsx","_components/MessagePage/MessageEditor.tsx","_components/MessagePage/HTMLTextOneLineDiv.tsx","_components/MessagePage/ConversationSelection.tsx","_components/MessagePage/MessagePage.tsx","_services/IdentityService.ts","_components/AdminPage/AdminPageTabs.tsx","_components/AdminPage/CourseManagement/CourseEditors/LearningPathEditor.tsx","_components/AdminPage/CourseManagement/CourseEditors/PrerequisiteCourseEditor.tsx","_services/AdminService.ts","_components/AdminPage/CourseManagement/CourseEditors/CourseModuleEditor.tsx","_components/AdminPage/CourseManagement/CourseEditors/NextCourseEditor.tsx","_components/AdminPage/CourseManagement/CourseManagement.tsx","_components/AdminPage/EmailManagement/EmailSubjectEditors/EmailSubjectEditorForNewMessageNotification.tsx","_components/AdminPage/EmailManagement/EmailSubjectEditors/EmailSubjectEditorForUnreadMessageNotification.tsx","_components/_commons/CustomIframe.jsx","_components/AdminPage/EmailManagement/EmailTemplateEditors/EmailTemplateEditorForNewMessageNotification.tsx","_components/AdminPage/EmailManagement/EmailTemplateEditors/EmailTemplateEditorForUnreadMessageNotification.tsx","_components/AdminPage/EmailManagement/EmailTemplateManagement.tsx","_services/CMSServices/CertificateTemplateCMS.ts","_commons/Hooks/useResponseData.tsx","_commons/Hooks/useCertificateTemplateData.tsx","_services/CMSServices/LMSAuthorApi.ts","_services/CMSServices/LMSCourseApi.ts","_components/AdminPage/LMSCourse/LMSCourse.style.ts","_components/AdminPage/LMSCourse/LMSCourseForm.style.ts","_components/_commons/SimpleDropdown.tsx","_components/_commons/MaterialUISwitch.tsx","_components/_commons/InputFile.tsx","_components/_commons/Button/BlobUploadButton.tsx","_components/_commons/Button/AcademyUploadButton.tsx","_components/AdminPage/LMSCourse/LMSCourseForm.tsx","_components/AdminPage/LMSCourse/LMSCourseTable.tsx","_components/AdminPage/LMSCourse/LMSCourseTable.style.ts","_components/AdminPage/LMSCourse/LMSCourse.tsx","_commons/Hooks/useLMSCourse.tsx","_commons/Hooks/useLMSAuthor.tsx","_commons/Hooks/useFetchingData.tsx","_commons/Hooks/useHTMLInput.tsx","_components/AdminPage/LMSLesson/LMSLesson.style.ts","_services/CMSServices/LMSLessonApi.ts","_services/CMSServices/LMSModuleApi.ts","_components/_commons/ConfirmFormDiv.tsx","_components/_commons/DragDropList.tsx","_components/AdminPage/BaseOrderingEditor.tsx","_components/AdminPage/LMSLesson/CourseLessonOrderEditor.tsx","_components/AdminPage/LMSLesson/LMSLessonTable.tsx","_components/AdminPage/LMSLesson/LMSLessonTable.style.ts","_components/AdminPage/LMSLesson/LMSLessonForm.style.ts","_components/AdminPage/LMSLesson/LMSLessonForm.tsx","_components/AdminPage/LMSLesson/LMSLessonPanel.tsx","_components/AdminPage/LMSLesson/LMSLesson.tsx","_components/AdminPage/LMSModule/LMSModule.style.ts","_components/AdminPage/LMSModule/LMSModuleForm.style.ts","_components/AdminPage/LMSModule/LMSModuleForm.tsx","_components/AdminPage/LMSModule/LMSModuleTable.tsx","_components/AdminPage/LMSModule/LMSModuleTable.style.ts","_components/AdminPage/LMSModule/ModuleLessonOrderEditor.tsx","_components/AdminPage/LMSModule/CourseModuleOrderEditor.tsx","_components/AdminPage/LMSModule/LMSModulePenal.tsx","_components/AdminPage/LMSModule/LMSModule.tsx","_components/AdminPage/CertificateTemplateCMS/CertificateTemplateCMS.style.ts","_components/AdminPage/CertificateTemplateCMS/CertificateTemplateCMSForm.style..ts","_components/AdminPage/CertificateTemplateCMS/CertificateTemplateCMSForm.tsx","_components/AdminPage/CertificateTemplateCMS/CertificateTemplateCMSTable.tsx","_components/AdminPage/CertificateTemplateCMS/CertificateTemplateCMS.tsx","_services/CMSServices/MembershipPlanCourseCMSApi.ts","_components/AdminPage/MembershipPlanCourse/MembershipPlanCourseCMSForm.style.ts","_components/AdminPage/MembershipPlanCourse/MembershipPlanCourseCMSForm.tsx","_components/AdminPage/MembershipPlanCourse/MembershipPlanCourseCMSTable.tsx","_components/AdminPage/MembershipPlanCourse/MembershipPlanCourseCMS.style.ts","_services/CMSServices/MembershipPlanCMSApi.ts","_components/AdminPage/MembershipPlanCourse/MembershipPlanCourseCMS.tsx","_components/AdminPage/UserManagement/UserSwitchComponent/UserSwitch.jsx","_components/AdminPage/UserManagement/UserManagement.tsx","_services/radacad-academy-signalRHub/react-providers/LiveNotificationHubProvider.tsx","_services/radacad-academy-signalRHub/react-hocs/withHubConnection.tsx","_components/AdminPage/NotificationPanel/NotificationManagement.tsx","_services/radacad-academy-signalRHub/react-hooks/useLiveNotificationSender.tsx","_components/AdminPage/MembershipManangement/MembershipManagement.tsx","_components/AdminPage/EmailManagement/EmailCredentialManagement.tsx","_components/AdminPage/AdminPage.tsx","_components/LearningPathDiagramPage/LearnPageDiagramData.js","_components/LearningPathDiagramPage/DragScrollPaper.tsx","_components/LearningPathDiagramPage/LearningPathDiagramPage.tsx","_components/LiveNotification/LiveNotification.tsx","_services/radacad-academy-signalRHub/react-hooks/useLiveNotificationReceiver.tsx","_components/Layout.tsx","App.tsx","_services/radacad-academy-affiliate/withAffiliateRef.tsx","_commons/Utils/React/Hooks/useSearchParams.tsx","index.js"],"names":["Boolean","window","location","hostname","match","LoginErrorMessage","HttpHelper","APIURL","token","headers","Headers","append","options","method","fetch","bodyData","body","JSON","stringify","FacebookLoginRequest","userCredential","dataHandler","errorHandler","a","then","response","json","data","catch","e","AuthenticationService","RadacadLoginRequest","userModel","MicrosoftLoginRequest","LinkedInLoginRequest","GoogleLoginRequest","TwitterLoginRequest","SilentRefreshRequestAsync","failedHandler","successHandler","resp","status","LogoutRequest","CheckLoginSuccess","loginResponse","accessToken","FacebookService","handler","FB","login","scope","authResponse","logout","getLoginStatus","defaultAuthState","authenticated","defaulatAuthContext","loading","authState","passwordLogin","undefined","facebookLogin","microsoftLogin","linkedInLogin","googleLogin","twitterLogin","refreshAuthState","AuthContext","React","createContext","JwtHelper","GetUserName","jwt_decode","unique_name","GetUserId","nameid","IsRole","roleType","roles","role","Array","isArray","includes","DecodeToken","tokenLiveSecs","decodedToken","exp","iat","TokenIsExpired","Date","now","error","RadacadAuthProvider","config","children","useState","_loading","setLoading","_authState","setAuthState","useEffect","handleSilentAccessTokenRefresh","localStorage","setItem","toString","handleSyncBrowserTabAuthState","event","key","addEventListener","removeEventListener","currentTimer","countdownSec","setTimeout","clearTimeout","LoginResponseDataHandler","beforeSuccessHandler","afterSuccessHandler","failureHandler","LoginSuccessHandler","errors","loginSuccessResp","refreshFailedHandler","refreshSuccessHandler","handleLogout","useCallback","allowFacebookLogin","Provider","value","allowPasswordLogin","userLogin","password","PASSWORD_NOT_CORRECT","respData","SERVER_ERROR","facebookAuthCredential","allowMicrosoftLogin","microsoftAuthCredential","allowGoogleLogin","googleAuthCredential","allowLinkedInLogin","linkedInAuthCredential","allowTwitterLogin","twitterAuthCredential","AlertDialog","props","DialogTitle","DialogContext","CancleButtonText","ConfirmButtonText","ConfirmHandler","CloseHandler","layoutState","setLayoutState","Dialog","open","onClose","aria-labelledby","aria-describedby","id","DialogContent","DialogContentText","DialogActions","Button","onClick","variant","color","EmbedDialog","defaultAcademyAppContext","loginState","isLoggedIn","refreshLoginState","unreadCount","setUnreadCount","count","AcademyContext","RoleType","useRadacadAuth","useContext","NavMenu","userAuthenticated","jwtToken","collapsed","setColapsed","academyContext","logoutDialogOpen","setLogoutDialogOpen","handleLogoutDialogClose","contactUsDialogOpen","setContactUsDialogOpen","style","position","top","zIndex","Navbar","sticky","className","padding","light","fluid","NavbarBrand","tag","Link","to","src","height","width","marginLeft","alt","NavbarToggler","Collapse","isOpen","navbar","NavItem","NavLink","UncontrolledDropdown","nav","inNavbar","DropdownToggle","caret","DropdownMenu","right","border","borderRadius","fontSize","textAlign","DropdownItem","process","title","maxWidth","maxHeight","Badge","badgeContent","divider","margin","paddingTop","paddingBottom","LearnerService","AddCompletedLesson","lessonId","lessonCompletionRequest","parseInt","completed","PostVideoActionHistory","historyData","autoStartPosition","lastWatchDateTime","respHandler","errHandler","err","bodydata","playHistoryList","RequestOverwriteLearningProgress","RequestGetCourseLearnt","RequestAllLessonCompletionStatus","RequestGetCertificate","courseId","api","res","blob","URL","createObjectURL","url","console","BorderLinearProgress","withStyles","theme","root","colorPrimary","backgroundColor","bar","LinearProgress","CourseProgressBar","Box","display","alignItems","mr","Math","round","CourseCardUI","classes","useStyles","courseTitle","coursePhotoLink","_titleRef","useRef","letterNumber","length","p","document","createElement","innerText","substring","current","appendChild","Card","cardRoot","join","CardActionArea","CardMedia","media","image","CardContent","ref","includeProgress","percentage","lastDate","certificateLink","size","certificateButton","startIcon","ViewCertificateHandler","makeStyles","boxShadow","verticalAlign","transform","transformOrigin","filter","CourseScrollContainer","_navRef","_showPrev","setShowPrev","_showNext","setShowNext","_clientWidth","setClientWidth","_scrollWidth","setScrollWidth","_scrollLeft","setScrollLeft","handleNav","direction","scrollLeft","clientWidth","max","min","handleResize","scrollWidth","debounceResizeHandler","func","timeSetting","timer","time","debounce","Grid","container","justify","wrap","item","opacity","CourseCardList","courses","spacing","map","course","index","withPercent","courseCard","courseLink","Moment","format","LearningPathService","GetAllLearningPaths","getAllLearningPathsWithCourses","GetLearningPathByCourseId","finalHandler","finally","UpdateLearningPaths","learningPathIds","FullScreenLoadingProgress","CircularProgress","LearningPath","state","learningPathList","setState","contents","this","renderLearningTable","learningPath","learningPathId","persona","Component","LMSMaterialLinkHandler","apiResp","text","result","link","ProductionEnum","GetNewCourseCards","CourseService","getAllCourses","getCourseByIdForCard","exceptionHandler","getAllCoursesForSearch","getCourseByIdForDetail","getCourseModulesWithOrderById","GetCourseModules","OwnCourse","GetMaterialLink","CourseCard","renderContent","CoursePrerequisiteService","getPreCoursesById","getNextCoursesById","UpdatePreCourses","precourseIdList","CourseId","PreCourseIdList","UpdateNextCourses","nextcourseIdList","NextCourseIdList","LoadingPage","flexDirection","justifyContent","apiURL","product","RegExpEnum","AcademyProductService","getAcademyMembershipProductWebPageLinkURL","Individual","Team","getAcademyMembershipProductImageLinkURL","getProductByCourseId","Regex","test","regExp","RegExp","AffiliateService","AFFILIATE_REF_STRING","addAffiliateRefToURL","radacadWPURL","sessionStorage","getItem","getSessionStorageValue","EXP_END_WITH_QUERYSRING","PurchaseCourseCards","_product","setProduct","individualAcademyProductWebPageLinkURL","individualAcademyProductImageURL","teamAcademyProductWebPageLinkURL","teamAcademyProductImageURL","imageContainer","imageDiv","href","productWebPageURL","target","rel","productTitle","productImageURL","backdropFilter","transition","PurchaseCoursePromptDiv","renderDescription","_needToPrompt","setNeedToPrompt","CourseDetail","params","useParams","_isLoading","setIsLoading","setCourseId","CourseTitle","setCourseTitle","CoursePhotoLink","setCoursePhotoLink","CourseDescription","setCourseDescription","LessonCount","setLessonCount","CourseLength","setCourseLength","AuthorName","setAuthorName","AuthorId","setAuthorId","PreCourses","setPreCourses","NextCourses","setNextCourses","courseDescription","lessonCount","courseLength","authorName","authorId","CourseLengthHour","CourseLengthMin","renderPromptDesc","push","xs","md","lessonInfo","floor","pathname","authorInfo","dangerouslySetInnerHTML","__html","courseImage","preCourseId","nextCourseId","authorButton","textDecoration","defaultPagenatedList","items","pageIndex","totalPages","totalCount","LessonService","RequestPreviewLessonResource","apiurl","RequestLessonPublicDetail","apiUrl","RequestMemberLessonResource","searchLesson","keyword","searchGroupedLessons","useIconStyles","greenIcon","LessonCard","lesson","_lessonId","lessonTitle","_lessonTitle","preview","_preview","showProgress","_showProgress","setShowProgress","_completed","setCompleted","SimpleCard","Chip","label","variation","completedBg","bullet","pos","marginBottom","SearchPageLessonResult","resultCountCallback","notHidden","firstLoading","setFirstLoading","pagenatedGroupedLessons","setPagenatedGroupedLesson","forEach","groupedLessons","lessonSearchResult","maxPageIndex","handleDebounceLoadNew","useMemo","handleLoadMore","documentElement","scrollTop","clientHeight","scrollHeight","page","throttleLoadMore","throttle","timeout","renderGroupedLesson","find","renderCourseCard","lessons","alignContent","overflowY","overflowX","sm","lg","CourseSearch","firstChange","allCourses","searchResult","lessonResultCount","defaultSearchOption","currentSearchOption","resultOption","searchBarOnChangeHandler","bind","dropdownChangeHandler","getSearchResult","sortSearchResult","toLowerCase","resultToSort","option","sort","b","localeCompare","publishDate","TextField","placeholder","fullWidth","InputLabelProps","shrink","onChange","xl","Dropdown","selection","defaultValue","clickable","hidden","ModuleComponent","moduleList","lessonList","completionStatusList","keywordForSearch","context","modules","lessonsCompleted","some","l","module","moduleId","Divider","fontStyle","moduleTitle","description","renderLessonCards","NotFoundPage","contextType","GetPlaybackRateAsync","player","getPlaybackRate","playbackRate","GetCurrentTimeAsync","getCurrentTime","seconds","GetTextTracksAsync","getTextTracks","tracks","GetTextTracksActiveStatusAsync","mode","VimeoService","GetPlayer","iframe","Vimeo","Player","GetVideoIdAsync","getVideoId","GetPauseStateAsync","getPaused","paused","DisableTextTrack","disableTextTrack","AddListenerToPlayer","callback","on","RemoveListenerToPlayer","off","RemoveAllListenerToPlayer","PlayerReady","ready","SetCurrentTime","timePosition","setCurrentTime","name","PlayerPlay","play","uploadVideoActionData","actionDataset","latestActionData","autoStartSecond","isPlaying","endTime","Object","assign","LessonVideoPlayer","nextLessonNavigationHandler","completeLessonHandler","dialogOpen","setDialogOpen","iFrameRef","autoStartSecondNextTime","playingHistoryNewRecord","videoId","startTime","startPosition","speedRate","subtitle","playingHistoryRecordSet","onPlay","onPause","percent","onSeeked","onSpeedChange","onCaptionChange","CatchHistoryAsync","BeforeunloadHanlder","preventDefault","left","frameBorder","webkitallowfullscreen","mozallowfullscreen","allowFullScreen","allow","setOpen","continueHandler","setCount","handleClose","interval","setInterval","clearInterval","ceil","textTransform","autoFocus","ModuleService","LoadingAnimation","FileStorageService","getUploadOption","isPublic","action","onSuccess","file","xhr","alert","onError","ret","getBlobUploadOption","fileName","accessType","getTemporayDownloadUrl","PrivateResourceLink","aRef","handleDownloadClick","downloadUrl","click","download","cloneElement","LMSMaterialDownloadButton","lmsMaterialLink","useMaterialDownloadDivStyles","flexWrap","downloadText","downloadBtnWrapper","courseMaterialBtn","moduleMaterialBtn","lessonMaterialBtn","MaterialDownloadDiv","_courseMaterialLink","setCourseMaterialLink","_moduleMaterialLink","setModuleMaterialLink","_lessonMaterialLink","setLessonMaterialLink","useStyle","materialText","LessonVideoFrame","lessonHeader","lessonURL","lessonMaterial","success","_lessonResource","setLessonResource","isPreview","renderVideoPlayer","disabled","ITempMessageStateType","ChatMessageService","PostLessonMessage","dataModel","PostReplyMessage","GetLessonMessageList","GetHistoryMessageList","chatTargetUserId","PostNewReadMessage","GetUnreadMessageCount","respSuccessHandler","respFailedHandler","getChatConversationHeaders","MessageList","isLoading","messages","user","renderMessage","renderNoMessage","EmptyContentTitle","EmptyContentSubTitle","renderLoadingMessage","bottomDivRef","scrollIntoView","chatContent","marginTop","message","renderName","isUser","uid","sender","avatar","marginRight","bottom","HTMLTextDiv","messageText","overflowWrap","ChatBox","_message","setMessage","HandleRenderMessageList","tempMessageState","tempMessage","sending","datetime","renderQuestionMessage","chatBox","msgPage","onSubmit","rows","required","defaultProps","log","letterSpacing","boxSizing","formControl","resize","borderColor","LessonMessageTab","_loginContext","_messageList","setMessageList","errorMessage","_errorState","setErrorState","newMessagelist","m","messageContent","String","messageId","readDatetime","senderName","senderId","getTime","currentUserIdNumber","userId","unreadMessageIds","receiverId","MessageIds","errorDiv","newMessageString","tempSendingMessage","tempFailedMessage","failed","LessonId","Datetime","MessageContent","messageList","flexGrow","palette","background","paper","LessonPageTabs","useTheme","setValue","AppBar","Tabs","newValue","textColor","aria-label","Tab","TabPanel","dir","other","LessonPage","history","useHistory","loginContext","_pageState","setPageState","preLesson","nextLesson","ownLesson","_lessonDetail","setLessonDetail","useLayoutEffect","ChangeLessonFromLesson","renderVideoFrame","endIcon","minWidth","CustomizedSnackbars","severity","alertbox","reason","Snackbar","autoHideDuration","Alert","elevation","Copyright","Typography","align","getFullYear","SystemService","_extends","i","arguments","source","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","d","fill","_ref","svgRef","viewBox","ForwardRef","forwardRef","FacebookSSOButton","onFailure","FacebookLoginHandler","accessTokenModel","cursor","_ref9","_ref10","_ref11","_ref12","_ref13","_ref14","_ref15","_ref16","x","y","enableBackground","xmlSpace","LinkedInIcon","withText","linkedin","LinkedInSSOButton","clientId","code","redirectUri","supportIE","redirectPath","GoogleSSOButton","customButton","buttonText","render","renderProps","idToken","getAuthResponse","id_token","cookiePolicy","secondary","main","form","submit","ErrorMessagesText","SignIn","UserLogin","setUserLogin","Password","setPassword","WaitingResult","setWaitingResult","ErrorMessages","setErrorMessages","LoginFailedHandler","userLoginInputRef","focus","passwordInputRef","LoginSubmitHandler","handleFacebookApiSuccess","handleGooglApiSuccess","cred","handleLinkedInApiSuccess","Container","component","CssBaseline","Avatar","noValidate","autoComplete","inputRef","onFocus","setSelectionRange","onKeyDown","type","mt","UserService","GetUserProfile","GetUserMetrics","GetUserSSO","GetUserEmailNotificationSetting","SetUserEmailNotificationSetting","openStatus","SecsToDayHourMinSec","total","sec","hour","days","hours","mins","secs","Time","str","MinsToDayHourMinSec","MetricsCharts","_selectedIndex","setSelectedIndex","learnTimesByMonth","last8WeeksLearnTime","last7DaysLearnTime","BarChart","date","monthDate","learnTime","monthLearnTime","YAxis","XAxis","dataKey","tickFormatter","moment","Legend","Bar","LabelList","Tooltip","labelFormatter","payload","formatter","startDate","endDate","dateObj","parse","UserMetrics","_metricsState","setMetricsState","metricValue","RenderUserMetrics","metricsValue","totalWatchTimeInSec","BadgeService","fontWeight","SimpleDialog","disableBackdropClick","disableEnforceFocus","useDynamicContentDialog","defaultContent","dialogChildren","setDialogChildren","dialogCloseHandle","contentComponent","close","badgeImg","inactiveImg","greenColorCheck","badgeDescDiv","shareButton","badgeMeta","userCompletionState","containerStyle","imgStyle","labelStyle","useBadgeDescDialog","badgeUrl","badgeCategory","badgeLevel","levelLabel","replace","quantity","renderBadgeDescription","FacebookShareButton","FacebookIcon","LinkedinShareButton","LinkedinIcon","TwitterShareButton","TwitterIcon","UserBadges","badges","setBadges","userBadges","setUserBdages","badge","Fragment","badgeId","ub","renderAllBadges","ssoType","ssoCred","SSOEnum","SSOApi","addSSO","removeSSO","FacebookSSOAddButton","onStart","handleSuccess","Facebook","booleanResponse","FacebookSSORemoveButton","handleOnClick","GoogleSSOAddButton","Google","GoogleSSORemoveButton","LinkedInSSOAddButton","LinkedIn","LinkedInSSORemoveButton","SimpleBackdrop","Backdrop","UserSSOStatus","backDropOpen","setBackDropOpen","userSSOState","setUserSSOState","setMessages","handleOnStart","handleOnSuccess","handleOnFailure","errMsg","facebookOn","s","googleOn","linkedInOn","grayWrapper","green","pointerEvents","SSOAddButtonWrapper","SSORemoveButtonWrapper","UserEmailNotificationStatusSwitch","userEmailNotificationOpenStatus","setUserEmailNotificationOpenStatus","Switch","checked","defaultChecked","inputProps","UserProfile","userProfile","userDisplayName","userEmail","registerDate","membershipState","isMembership","freeTrialWatchLimitationReached","membershipStatus","membershipName","membershipType","isActive","lastPurchaseDate","expiredDate","courseMembershipPlan","syncProgressHandler","confirm","plan","membershipPlanName","AuthorService","RequestGetAuthor","RequestGetAuthorList","AuthorPage","authorPhotoLink","authorBio","courseList","redirect","author","photoLink","bio","LearningPathCard","imageURL","smooth","gutterBottom","Home","NewCourses","setNewCourses","InProgressCourses","setInProgressCourses","CompletedCourses","setCompletedCourses","FetchHomePageCoursesData","newCourses","coursesInProgress","coursesCompleted","content","courseCount","AuthorCard","AuthorList","authorList","setAuthorList","HTMLEditor_CKEditor4","defaultHtmlStr","setHTMLStr","htmlStrSetter","editor","getData","MessageEditor","HTMLEditor","HTMLTextOneLineDiv","divElement","innerHTML","renderLatestMessage","MessageBox","_openReplyInput","setOpenReplyInput","_messageReplyTo","setMessageReplyTo","ResetMessageEditorState","replyMessage","messageIcon","HandleClickViewCourseButton","HandleClickViewLessonButton","rightIcon","HandleClickReplyButton","renderLessonMessage","messageReplyTo","newWindows","replyHintDiv","newMessage","whiteSpace","overflow","textOverflow","replyIcon","createStyles","latestMessage","AlignItemsList","tabs","handleTabSelect","selectedIndex","searchKeyword","setSearchKeyword","List","latestMessageReceived","messageDateTime","tab","userName","toLocaleLowerCase","tabItem","ListItem","selected","HandleListItemClick","ListItemAvatar","ListItemText","primary","latestMessageSent","MessagePage","_selectedConversationUserId","setSelectedConversationUserId","_conversationHeaderList","setConversationHeaderList","_isLoadState","setIsLoadState","lastMessageSentReceiverUserIdRef","currrentConversationUserIdRef","HandlerSubmitNewMessage","tempSendingLessonMessage","tempFailedLessonMessage","ReplyId","ReceiverId","Title","substr","replyId","selectedSenderId","conv","targetUser","conversationHeaders","findIndex","c","unreadMessageCount","IdentityService","tabPanel","borderRight","VerticalTabs","orientation","child","a11yProps","element","LearningPathEditor","_checkListIsLoading","setCheckListIsLoading","_checkList","setCheckList","InitCheckList","currentCourse","checkListSetter","checkListResult","learninPath","HandleSubmitUpdate","selectedLearningPaths","selectedLearningPathId","currentTarget","oldcheckList","newCheckList","slice","HandleCheckboxChange","PrerequisiteCourseEditor","preCourseObj","selectedCourses","selectedCourseId","AdminService","getUserList","switchUser","UpdateCourseModule","newModuleList","GetEmailNotificationTemplate","UpdateEmailNotificationTemplate","sourceCode","EmailTemplate","GetEmailTemplateForUnreadMessageNotification","UpdateEmailTemplateForUnreadMessageNotification","EmailTaskSetting","GetEmailTaskSettingForNewMessage","UpdateEmailTaskSubjectLineForNewMessage","subject","emailSubject","GetEmailTaskSettingForUnreadMessage","UpdateEmailTaskSubjectLineForUnreadMessage","FreeTrialUserMaximumWatchMinutes","Get","Update","freeTrialMaximumWatchMinutes","SetEmailCredential","credential","SendTestingEmail","receiverEmailAddress","GetEmailAccountSetting","CourseModuleEditor","_moduleList","setModuleList","FetchModule","moduleOrder","onDragEnd","destination","reorderModuleList","list","startIndex","endIndex","from","splice","removed","reorder","droppableId","provided","snapshot","RootRef","rootRef","innerRef","isDraggingOver","draggableId","draggableProps","dragHandleProps","isDragging","draggableStyle","ListItemIcon","NextCourseEditor","nextCourseObj","CourseManagement","_currentCourse","setCurrentCourse","setCurrentEditOption","_courseList","setCourseList","_learningPathList","setLearningPathList","_currentEditOption","FetchCourseList","FetchLearningPathList","searchTitle","_searchKeyWord","setSearchKeyWord","leftSearchInput","leftCourseList","HandleCourseSelect","flexItem","optionButtonDiv","editLearningPathOption","optionTitle","editPrerequesiteCourseOption","editNextCourseOption","editCourseModuleOption","optionNumber","EmailSubjectEditorForNewMessageNotification","subjectString","setSubjectString","isEditing","setIsEditing","setting","EmailSubjectEditorForUnreadMessageNotification","CustomIframe","iframe_ref","writeHTML","frame","doc","contentDocument","write","html","contentWindow","scrolling","EmailTemplateEditorForNewMessageNotification","_HTMLContent","setHTMLContent","_previewDialogOpen","setPreviewDialogOpen","_submitDialogOpen","setSubmitDialogOpen","FetchSourceCode","PostChanges","HandleChangeSubmit","scroll","SaveButton","CancleButton","EmailTemplateEditorForUnreadMessageNotification","EmailTemplateManagement","selectedOption","setSelectedOption","CertificateTemplateCMSApi","mpCourse","reqData","useResponseData","dataResponseCallBack","setData","handleRefresh","LMSAuthorApi","LMSCourseApi","useLMSCourseStyle","header","footer","useLMSCourseFormStyle","inputDiv","uploadContainer","footerContainer","SimpleDropdown","valueSelectHanlder","_value","handleOnChange","handleValueSelectCallback","Switches","handleChangeCallback","onChangleHandler","_state","InputFile","multiple","handleMultiItems","mutilItemHanlder","handleSingleItem","singleItemHanlder","inputFileRef","files","BlobUploadButton","getUploadOptions","handleUploadError","handleUploadOnProgress","handleUploadStart","handleUploadSuccess","uploadStart","onProgress","uploadSuccess","uploadError","isNotProduction","debug","progress","loadedBytes","uploadOptions","blobServiceClient","BlobServiceClient","clientUrl","sasToken","containerClient","getContainerClient","containerName","blockBlobClient","getBlockBlobClient","blobName","uploadData","blobHTTPHeaders","blobContentType","fileUri","split","AcademyUploadButton","succ","progressPercentage","setProgressPercentage","completeStatus","setCompleteStatus","filename","withGetUploadOptions","WrappedComponent","LMSMaterialUploadButton","LMSPhotoUploadButton","LMSCourseForm","authors","certificateTemplates","submitHandler","cancelHandler","_courseTitle","_authorId","_CourseDescription","_courseLink","setCourseLink","_coursePhtotLink","publishStatus","_publishStatus","setPublishStatus","certificateTemplateId","_certificateTemplatedId","setCertificateTemplatedId","courseMaterialLink","cert","certificateTitle","createdDate","handleSubmit","LMSCourseTable","col","editButtonHandler","deleteButtonHandler","LMSTable","colSpan","LMSCourse","setCourse","useLMSCourse","setAuthors","useLMSAuthor","useCertificateTemplateData","useDialog","handleAddOrEditCourse","handleFormSubmit","handleFormCancel","useFetchingData","fetchHandler","handleFetching","useHTMLInput","_input","setInput","useLMSLessonStyle","leftContainer","rightContainer","LMSLessonApi","lessonOrder","LMSModuleApi","useFormStyle","ConfirmFormDiv","submitDisabled","cancelDisabled","DragDropList","setList","reorderList","ele","order","BaseOrderingEditor","initialDataList","pageState","_list","OrderEditor","orderInCourse","resultList","parentId","lessonOrders","LMSLessonTable","courseModules","orderInModule","lessonLengthInSecond","lessonVideoUrl","lessonMaterialHtml","lessonMaterialLink","useLMSLessonFormStyle","fullwidthInputDiv","LMSLessonForm","setLessonTitle","_moduleId","setModuleId","_isPreview","setIsPreview","_lessonLengthInSecond","setLessonLengthInSecond","_lessonVideoUrl","setLessonVideoUrl","_lessonMaterialHTML","setLessonMaterialHTML","LMSLessonPanel","setCourseLessons","courseLessons","handleCourseLessonsRefresh","handleCancel","handleAddOrEdit","object","LMSLesson","htmlInput","_courseSelected","setCourseSelected","useLMSModuleStyle","useLMSModuleFormStyle","fullWidthInputDiv","LMSModuleForm","_moduleTitle","setModuleTitle","_description","setDescription","moduleMaterialLink","LMSModuleTable","orderButtonHandler","CourseModuleOrderEditor","LMSModulePanel","setCourseModule","handleModuleDataRefresh","handleSubmitButton","handleCancleButton","LMSModule","useCertificateTemplateCMSStyle","useCertificateTemplateCMSFormStyle","CertificateTemplateCMSForm","dataObject","certificateURL","CertificateTemplateCMSTable","dataList","CertificateTemplateCMS","objectId","MembershipPlanCourseCMSApi","useMembershipPlanCourseCMSFormStyle","MembershipPlanCourseCMSForm","membershipPlans","membershipPlanId","_membershipPlanId","setMembershipPlanId","_courseId","mp","membershipPlanCourseId","MembershipPlanCourseCMSTable","memberhipPlanCourse","useMembershipPlanCourseCMSStyle","MembershipPlanCMSApi","MembershipPlanCourseCMS","membershipPlanCourses","_courses","setCourses","UserSwitch","userList","searchInput","searchOption","redirectToProfile","redirectToSignIn","searchInputChangeHanlder","searchOptionChangeHandler","filterSearchResult","htmlFor","switchUserButtonClickHandler","userCapbility","UserManagement","defaultHubContext","connection","HubConnectionBuilder","withUrl","configureLogging","LogLevel","Information","build","connectionState","HubConnectionState","Disconnected","LiveNotificationHubContext","LiveNotificationHubProvider","hubConnectionRef","withAutomaticReconnect","_connectionState","setConnectionState","startHubConnection","start","stopHubConnection","stop","onclose","withHubConnection","ComponentToWrap","send","invoke","useLiveNotificationSender","NotificationManagement","setText","MembershipManagement","minutes","setMinutes","EmailCredentialManagement","EmailCredentialEditor","EmailCredentialTester","currentAccount","setCurrentAccount","accountInput","setAccountInput","passwordInput","setPasswordInput","account","SetReceiverEmaillAddress","receiver","boolResult","AdminPage","_adminPageState","setAdminPageState","getElementById","classList","remove","add","fakeLearningPathDiagramData","DragScrollPaper","_paperRef","_dragDivRef","orginalClientX","orginalClientY","orginalScrollLeft","orginalScrollTop","_dragState","setDragState","Paper","onDrag","eleRef","dx","clientX","dy","clientY","dragHandler","onDragStart","dragStartHandler","onDragOver","onMouseDown","LearningPathDiagramPage","_loaded","setLoaded","setCurrHeightPerc","_imgRef","_sizeSetting","_currHeightPerc","diag","perc","Slider","onWheel","deltaY","onLoad","notification","setNotification","useLiveNotificationReceiver","LiveNotificationDialog","LiveNotification","Layout","exact","path","strict","withAffiliateRef","_unreadCount","loadingAuth","unreadInterval","LinkedInPopUp","parameterNames","useLocation","search","searchParams","URLSearchParams","reduce","accumulator","parameterName","get","useSearchParams","setSessionStorageValue","baseUrl","getElementsByTagName","getAttribute","rootElement","ReactDOM","basename","navigator","serviceWorker","registration","unregister"],"mappings":"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","file":"static/js/main.75d2d6ba.chunk.js","sourcesContent":["// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register() {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n // console.log('New content is available; please refresh.');\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n //console.log('Content is cached for offline use.');\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n \r\n //below is my change to Service Worker \r\n\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n \r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import { IFacebookAuthCredential, IGoogleAuthCredential, ILinkedInAuthCredential, IMicrosoftAuthCredential, ITwitterAuthCredential } from './IUserCredential';\r\nimport { defaultAuthState, IAuthState } from \"./IAuthState\";\r\n\r\n\r\nexport declare type IPasswordLogin = (\r\n userLogin: string,\r\n password: string,\r\n options: ILoginOptions\r\n) => void\r\n\r\nexport declare type IFacebookLogin = (\r\n authCredential: IFacebookAuthCredential,\r\n options: ILoginOptions\r\n) => void\r\n\r\nexport declare type IMicrosoftLogin = (\r\n authCredential: IMicrosoftAuthCredential,\r\n options: ILoginOptions\r\n) => void\r\n\r\nexport declare type ILinkedInLogin = (\r\n authCredential: ILinkedInAuthCredential,\r\n options: ILoginOptions\r\n) => void\r\n\r\nexport declare type IGoogleLogin = (\r\n authCredential: IGoogleAuthCredential,\r\n options: ILoginOptions\r\n) => void\r\nexport declare type ITwitterLogin = (\r\n authCredential: ITwitterAuthCredential,\r\n options: ILoginOptions\r\n) => void\r\n\r\n\r\n\r\nexport declare type ILoginFailureHandler = (error: string) => void\r\nexport declare type ILoginSuccessAfterHandler = () => void\r\nexport declare type ILoginSuccessBeforeHandler = () => void\r\nexport declare interface ILoginOptions {\r\n beforeSuccessHandler?: ILoginSuccessBeforeHandler,\r\n afterSuccessHandler?: ILoginSuccessAfterHandler,\r\n failureHandler: ILoginFailureHandler\r\n}\r\n\r\n\r\nexport declare type ILogout = () => void\r\n\r\nexport enum LoginErrorMessage {\r\n VERSION_OUT_OF_DATE = \"Version of this website you are using seems already out of date, please try pressing 'Ctrl+F5' to update this website.\",\r\n PASSWORD_NOT_CORRECT = \"The account and password cannot be empty, please type in valid information.\",\r\n USER_NOT_FOUND = \"User Not Found\",\r\n SERVER_ERROR = \"Some error happens connecting to server, please try pressing 'Ctrl+F5' to update this website first to see if this problem could be fixed.\",\r\n}\r\n\r\nexport declare interface IAuthContext {\r\n loading: boolean,\r\n authState: IAuthState,\r\n passwordLogin?: IPasswordLogin,\r\n facebookLogin?: IFacebookLogin,\r\n microsoftLogin?: IMicrosoftLogin,\r\n linkedInLogin?: ILinkedInLogin,\r\n googleLogin?: IGoogleLogin,\r\n twitterLogin?: ITwitterLogin,\r\n logout: ILogout,\r\n refreshAuthState: () => void\r\n}\r\nexport const defaulatAuthContext: IAuthContext = {\r\n loading: false,\r\n authState: defaultAuthState,\r\n passwordLogin: undefined,\r\n facebookLogin: undefined,\r\n microsoftLogin: undefined,\r\n linkedInLogin: undefined,\r\n googleLogin: undefined,\r\n twitterLogin: undefined,\r\n logout: () => { },\r\n refreshAuthState: () => { }\r\n}\r\n","const Get = (APIURL: string, token: string | null = null): Promise => {\r\n if (process.env.NODE_ENV !== \"production\")\r\n console.debug(`${APIURL} ${token}`)\r\n\r\n let headers = new Headers();\r\n headers.append('Authorization', `Bearer ${token}`);\r\n\r\n const options = {\r\n method: 'GET',\r\n headers: headers\r\n }\r\n return fetch(APIURL, options);\r\n}\r\n\r\nconst PostJSON = (APIURL: string, bodyData: any, token: string | null = null): Promise => {\r\n\r\n if (process.env.NODE_ENV !== \"production\")\r\n console.debug(`${APIURL} ${token}`)\r\n\r\n let headers = new Headers();\r\n headers.append('Authorization', `Bearer ${token}`);\r\n headers.append('Content-Type', 'application/json');\r\n headers.append('Accept', '*/*');\r\n\r\n const options = bodyData ?\r\n {\r\n method: 'POST',\r\n headers: headers,\r\n body: JSON.stringify(bodyData)\r\n } :\r\n {\r\n method: 'POST',\r\n headers: headers\r\n\r\n }\r\n return fetch(APIURL, options);\r\n\r\n}\r\n\r\nconst CreateHeaderForAuthorization = (token: string): Record => {\r\n return { 'Authorization': `Bearer ${token}` };\r\n}\r\n\r\n\r\n\r\nexport const HttpHelper = {\r\n Get: Get,\r\n PostJSON: PostJSON,\r\n CreateHeaderForAuthorization\r\n}","import { IFacebookAuthCredential, IGoogleAuthCredential, ILinkedInAuthCredential, IMicrosoftAuthCredential, ITwitterAuthCredential } from '../Core/IUserCredential';\r\nimport { HttpHelper } from \"../Helpers/HttpHelper\";\r\n\r\n\r\ninterface IAuthenticationRequest {\r\n userLogin: string,\r\n password: string,\r\n}\r\nexport interface IAuthenticationResponse {\r\n accessToken: string\r\n}\r\n//public\r\nconst RadacadLoginRequest = (userModel: IAuthenticationRequest, dataHandler: (data: IAuthenticationResponse | { errors: string[] }) => void, errorHandler: (e: any) => void) => {\r\n\r\n let ApiURL = `api/Auth/authenticate`;\r\n\r\n HttpHelper.PostJSON(ApiURL, userModel)\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((data) => {\r\n dataHandler(data);\r\n })\r\n .catch((e) => {\r\n errorHandler(e);\r\n });\r\n\r\n}\r\n//public\r\nconst FacebookLoginRequest = async (userCredential: IFacebookAuthCredential, dataHandler: (data: IAuthenticationResponse | { errors: string[] }) => void, errorHandler: (e: any) => void) => {\r\n let ApiURL = `api/Auth/authenticate/facebook`;\r\n\r\n HttpHelper.PostJSON(ApiURL, userCredential)\r\n .then((response) => response.json())\r\n .then((data) => {\r\n dataHandler(data);\r\n })\r\n .catch((e) => {\r\n errorHandler(e)\r\n });\r\n\r\n}\r\n\r\n//public\r\nconst MicrosoftLoginRequest = async (userCredential: IMicrosoftAuthCredential, dataHandler: (data: IAuthenticationResponse | { errors: string[] }) => void, errorHandler: (e: any) => void) => {\r\n let ApiURL = `api/Auth/authenticate/microsoft`;\r\n\r\n HttpHelper.PostJSON(ApiURL, userCredential)\r\n .then((response) => response.json())\r\n .then((data) => {\r\n dataHandler(data);\r\n })\r\n .catch((e) => {\r\n errorHandler(e)\r\n });\r\n\r\n}\r\n\r\n\r\n\r\n//public\r\nconst LinkedInLoginRequest = async (userCredential: ILinkedInAuthCredential, dataHandler: (data: IAuthenticationResponse | { errors: string[] }) => void, errorHandler: (e: any) => void) => {\r\n let ApiURL = `api/Auth/authenticate/linkedIn`;\r\n\r\n HttpHelper.PostJSON(ApiURL, userCredential)\r\n .then((response) => response.json())\r\n .then((data) => {\r\n dataHandler(data);\r\n })\r\n .catch((e) => {\r\n errorHandler(e)\r\n });\r\n\r\n}\r\n\r\n\r\n//public\r\nconst GoogleLoginRequest = async (userCredential: IGoogleAuthCredential, dataHandler: (data: IAuthenticationResponse | { errors: string[] }) => void, errorHandler: (e: any) => void) => {\r\n let ApiURL = `api/Auth/authenticate/google`;\r\n\r\n HttpHelper.PostJSON(ApiURL, userCredential)\r\n .then((response) => response.json())\r\n .then((data) => {\r\n dataHandler(data);\r\n })\r\n .catch((e) => {\r\n errorHandler(e)\r\n });\r\n\r\n}\r\n//public\r\nconst TwitterLoginRequest = async (userCredential: ITwitterAuthCredential, dataHandler: (data: IAuthenticationResponse | { errors: string[] }) => void, errorHandler: (e: any) => void) => {\r\n let ApiURL = `api/Auth/authenticate/twitter`;\r\n\r\n HttpHelper.PostJSON(ApiURL, userCredential)\r\n .then((response) => response.json())\r\n .then((data) => {\r\n dataHandler(data);\r\n })\r\n .catch((e) => {\r\n errorHandler(e)\r\n });\r\n\r\n}\r\n\r\n\r\n\r\n//public\r\nconst SilentRefreshRequestAsync = async (failedHandler: (() => void) | null, successHandler: ((data: IAuthenticationResponse) => void) | null) => {\r\n let apiUrl = `api/Auth/refresh-token`;\r\n\r\n await HttpHelper.Get(apiUrl)\r\n .then(async (resp) => {\r\n if (resp.status === 401) {\r\n if (failedHandler) {\r\n failedHandler();\r\n }\r\n\r\n } else {\r\n if (successHandler) {\r\n let data: IAuthenticationResponse = await resp.json();\r\n\r\n //console.log(data);\r\n successHandler(data);\r\n }\r\n\r\n }\r\n }).catch(\r\n () => {\r\n if (failedHandler) {\r\n failedHandler();\r\n }\r\n }\r\n )\r\n}\r\n\r\n//private \r\nconst LogoutRequest = async (token: string) => {\r\n HttpHelper.PostJSON(`api/Auth/Logout`, null, token);\r\n\r\n}\r\n\r\n\r\n\r\nconst CheckLoginSuccess = (loginResponse: IAuthenticationResponse) => {\r\n\r\n //console.log(loginResponse);\r\n if (loginResponse.accessToken != null)\r\n return true;\r\n\r\n return false;\r\n}\r\n\r\n\r\n\r\n\r\n\r\nexport const AuthenticationService = {\r\n //public \r\n RadacadLoginRequest,\r\n MicrosoftLoginRequest,\r\n FacebookLoginRequest,\r\n LinkedInLoginRequest,\r\n GoogleLoginRequest,\r\n TwitterLoginRequest,\r\n SilentRefreshRequestAsync,\r\n //private \r\n LogoutRequest,\r\n //function\r\n CheckLoginSuccess\r\n}","const FacebookLogin= (handler) => {\r\n window.FB.login((response) => {\r\n handler(response);\r\n }\r\n , { scope: 'public_profile,email' });\r\n}\r\n\r\nconst LoginSuccess= (response) => {\r\n if (response?.status === 'connected') {\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nconst GetAccessToken = (response) => {\r\n return response?.authResponse?.accessToken;\r\n}\r\n\r\n\r\nconst FacebookLogout = (handler) => {\r\n window.FB.logout(function (response) {\r\n handler(response)\r\n });\r\n}\r\nconst CheckLoginState= (handler) => { // Called when a person is finished with the Login Button.\r\n window.FB.getLoginStatus(function (response) { // See the onlogin handler\r\n handler(response);\r\n\r\n });\r\n}\r\n\r\n\r\nexport const FacebookService = {\r\n\r\n FacebookLogin,\r\n LoginSuccess,\r\n GetAccessToken,\r\n FacebookLogout,\r\n CheckLoginState\r\n\r\n}","export interface IAuthState {\r\n authenticated: boolean,\r\n accessToken: string | null\r\n}\r\n\r\nexport const defaultAuthState: IAuthState = {\r\n authenticated: false,\r\n accessToken: null\r\n}","import React from \"react\";\r\nimport { defaulatAuthContext } from \"./IAuthContext\";\r\n\r\n\r\nexport const AuthContext = React.createContext(defaulatAuthContext);","// @ts-ignore\r\nimport jwt_decode from 'jwt-decode';\r\n\r\n\r\n\r\nconst TokenIsExpired = (token: string) => {\r\n try {\r\n return jwt_decode(token).exp < Date.now() / 1000;\r\n } catch (error) {\r\n return true;\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nconst GetUserName = (token: string | null): string | null => {\r\n //console.log(token)\r\n if (token)\r\n return jwt_decode(token).unique_name ?? null;\r\n else\r\n return null;\r\n}\r\n\r\nconst GetUserId = (token: string | null): string => {\r\n if (token)\r\n return jwt_decode(token).nameid ?? \"-1\";\r\n else\r\n return \"-1\"\r\n}\r\n\r\nconst IsRole = (token: string | null, roleType: string): boolean => {\r\n try {\r\n if (token) {\r\n let roles: string | string[] | null = jwt_decode(token).role;\r\n\r\n \r\n if (roles)//if it is not null\r\n {\r\n\r\n if (Array.isArray(roles))// if is type of string []\r\n {\r\n return roles.includes(roleType);\r\n }\r\n else// if is type of string \r\n {\r\n return roles===roleType;\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n return false;\r\n } catch {\r\n return false;\r\n }\r\n}\r\n\r\nconst DecodeToken = (token: string | null): string | null => {\r\n if (token)\r\n return jwt_decode(token);\r\n else\r\n return null;\r\n}\r\n\r\nconst tokenLiveSecs = (token: string) => {\r\n let decodedToken = JwtHelper.DecodeToken(token);\r\n //@ts-ignore\r\n return decodedToken.exp - decodedToken.iat;\r\n}\r\n\r\n\r\n\r\nexport const JwtHelper = {\r\n GetUserName,\r\n GetUserId,\r\n IsRole,\r\n DecodeToken,\r\n tokenLiveSecs,\r\n TokenIsExpired\r\n} ","import React, { useCallback, useEffect, useState } from 'react'\r\nimport { AuthenticationService, IAuthenticationResponse } from './apis/AuthenticationApi';\r\nimport { FacebookService } from './apis/FacebookService';\r\nimport { AuthContext } from './Core/AuthContext';\r\nimport { ILoginOptions, LoginErrorMessage } from './Core/IAuthContext';\r\nimport { IAuthState, defaultAuthState } from './Core/IAuthState';\r\nimport { IFacebookAuthCredential, IGoogleAuthCredential, ILinkedInAuthCredential, IMicrosoftAuthCredential, ITwitterAuthCredential } from './Core/IUserCredential';\r\nimport { JwtHelper } from './Helpers/JwtHelper';\r\n\r\n\r\n\r\n\r\n\r\nexport default function RadacadAuthProvider({ config, children }: {\r\n config: {\r\n allowPasswordLogin: boolean,\r\n allowFacebookLogin: boolean,\r\n allowMicrosoftLogin: boolean,\r\n allowTwitterLogin: boolean,\r\n allowGoogleLogin: boolean,\r\n allowLinkedInLogin: boolean,\r\n }\r\n , children: React.ReactNode\r\n}) {\r\n const [_loading, setLoading] = useState(true);\r\n const [_authState, setAuthState] = useState(defaultAuthState);\r\n useEffect(() => {\r\n //init this page \r\n //init refresh handler\r\n handleSilentAccessTokenRefresh().then(()=>setLoading(false));\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (_authState.authenticated) {\r\n localStorage.setItem('login', Date.now().toString())\r\n }\r\n }, [_authState.authenticated])\r\n\r\n useEffect(() => {\r\n //Add event listeners Sync different tabs \r\n const handleSyncBrowserTabAuthState = (event: any) => {\r\n if (event.key === 'logout') {\r\n //sync logout for other tabs\r\n //console.log('logged out from storage!')\r\n if (_authState.authenticated === true)\r\n setAuthState(defaultAuthState);\r\n }\r\n else if (event.key === 'login') {\r\n //sync login for other tabs\r\n //console.log('login from storage!')\r\n if (_authState.authenticated === false)\r\n handleSilentAccessTokenRefresh();\r\n }\r\n }\r\n window.addEventListener('storage', handleSyncBrowserTabAuthState)\r\n return () => {\r\n window.removeEventListener('storage', handleSyncBrowserTabAuthState);\r\n }\r\n }, [_authState.authenticated])\r\n\r\n useEffect(() => {\r\n //console.log(`login State update ${JSON.stringify(_authState.accessToken)} from effect _authState.accessToken`)\r\n if (_authState.accessToken != null) {\r\n //when a new access Token is comming, start a timer to required next access token after life time\r\n let currentTimer: NodeJS.Timeout;\r\n let countdownSec = JwtHelper.tokenLiveSecs(_authState.accessToken);\r\n //console.log(`refresh countdown start after ${countdownSec} sec`);\r\n currentTimer = setTimeout(handleSilentAccessTokenRefresh, (countdownSec > 90 ? (countdownSec - 60) : countdownSec - 15) * 1000);\r\n return () => {\r\n clearTimeout(currentTimer);\r\n }\r\n }\r\n }, [_authState.accessToken])\r\n\r\n\r\n /**\r\n * Operation on Login Submit\r\n */\r\n const handlePasswordLogin = (\r\n userLogin: string,\r\n password: string,\r\n options: ILoginOptions\r\n ) => {\r\n\r\n let failureHandler = options.failureHandler;\r\n let beforeSuccessHandler = options.beforeSuccessHandler;\r\n let afterSuccessHandler = options.afterSuccessHandler;\r\n\r\n\r\n if (userLogin === \"\" || password === \"\") {\r\n return options.failureHandler && options.failureHandler(LoginErrorMessage.PASSWORD_NOT_CORRECT);\r\n }\r\n AuthenticationService.RadacadLoginRequest({ userLogin: userLogin, password: password },\r\n (respData) => {\r\n try {\r\n LoginResponseDataHandler(respData, beforeSuccessHandler, afterSuccessHandler, (errors: any[]) => errors[0] && failureHandler(errors[0]));\r\n }\r\n catch {\r\n failureHandler(LoginErrorMessage.SERVER_ERROR)\r\n }\r\n },\r\n (error) => {\r\n failureHandler(LoginErrorMessage.SERVER_ERROR)\r\n }\r\n );\r\n }\r\n\r\n\r\n const handleFacebookLogin = (\r\n facebookAuthCredential: IFacebookAuthCredential,\r\n options: ILoginOptions\r\n ) => {\r\n let failureHandler = options.failureHandler;\r\n let beforeSuccessHandler = options.beforeSuccessHandler;\r\n let afterSuccessHandler = options.afterSuccessHandler;\r\n AuthenticationService.FacebookLoginRequest(\r\n facebookAuthCredential,\r\n (loginResponse) => {\r\n LoginResponseDataHandler(loginResponse, beforeSuccessHandler, afterSuccessHandler, (errors: any[]) => errors[0] && failureHandler(errors[0]));\r\n },\r\n (error) => {\r\n\r\n }\r\n );\r\n\r\n }\r\n\r\n const handleLinkedInLogin = (\r\n linkedInAuthCredential: ILinkedInAuthCredential,\r\n options: ILoginOptions\r\n ) => {\r\n let failureHandler = options.failureHandler;\r\n let beforeSuccessHandler = options.beforeSuccessHandler;\r\n let afterSuccessHandler = options.afterSuccessHandler;\r\n\r\n AuthenticationService.LinkedInLoginRequest(\r\n linkedInAuthCredential,\r\n (loginResponse) => {\r\n LoginResponseDataHandler(loginResponse, beforeSuccessHandler, afterSuccessHandler, (errors: any[]) => errors[0] && failureHandler(errors[0]));\r\n },\r\n (error) => {\r\n }\r\n );\r\n\r\n }\r\n\r\n const handleMicrosoftLogin = (\r\n microsoftAuthCredential: IMicrosoftAuthCredential,\r\n options: ILoginOptions\r\n ) => {\r\n let failureHandler = options.failureHandler;\r\n let beforeSuccessHandler = options.beforeSuccessHandler;\r\n let afterSuccessHandler = options.afterSuccessHandler;\r\n\r\n AuthenticationService.MicrosoftLoginRequest(\r\n microsoftAuthCredential,\r\n (loginResponse) => {\r\n LoginResponseDataHandler(loginResponse, beforeSuccessHandler, afterSuccessHandler, (errors: any[]) => errors[0] && failureHandler(errors[0]));\r\n },\r\n (error) => {\r\n }\r\n );\r\n\r\n }\r\n\r\n const handleGoogleLogin = (\r\n googleAuthCredential: IGoogleAuthCredential,\r\n options: ILoginOptions\r\n ) => {\r\n let failureHandler = options.failureHandler;\r\n let beforeSuccessHandler = options.beforeSuccessHandler;\r\n let afterSuccessHandler = options.afterSuccessHandler;\r\n\r\n AuthenticationService.GoogleLoginRequest(\r\n googleAuthCredential,\r\n (loginResponse) => {\r\n LoginResponseDataHandler(loginResponse, beforeSuccessHandler, afterSuccessHandler, (errors: any[]) => errors[0] && failureHandler(errors[0]));\r\n },\r\n (error) => {\r\n }\r\n );\r\n\r\n }\r\n\r\n\r\n const handleTwitterLogin = (\r\n twitterAuthCredential: ITwitterAuthCredential,\r\n options: ILoginOptions\r\n ) => {\r\n let failureHandler = options.failureHandler;\r\n let beforeSuccessHandler = options.beforeSuccessHandler;\r\n let afterSuccessHandler = options.afterSuccessHandler;\r\n\r\n AuthenticationService.TwitterLoginRequest(\r\n twitterAuthCredential,\r\n (loginResponse) => {\r\n LoginResponseDataHandler(loginResponse, beforeSuccessHandler, afterSuccessHandler, (errors: any[]) => errors[0] && failureHandler(errors[0]));\r\n },\r\n (error) => {\r\n }\r\n );\r\n }\r\n\r\n\r\n const LoginResponseDataHandler = (\r\n loginResponse: any,\r\n beforeSuccessHandler: (() => void) | undefined,\r\n afterSuccessHandler: (() => void) | undefined,\r\n failureHandler: (errors: string[]) => void\r\n ) => {\r\n if (AuthenticationService.CheckLoginSuccess(loginResponse)) {\r\n beforeSuccessHandler && beforeSuccessHandler();\r\n LoginSuccessHandler(loginResponse);\r\n afterSuccessHandler && afterSuccessHandler();\r\n }\r\n else {\r\n failureHandler(loginResponse.errors);\r\n }\r\n }\r\n\r\n const LoginSuccessHandler = (loginSuccessResp: IAuthenticationResponse) => {\r\n setAuthState({\r\n authenticated: true,\r\n accessToken: loginSuccessResp.accessToken\r\n })\r\n }\r\n\r\n const handleSilentAccessTokenRefresh = async () => {\r\n const refreshFailedHandler = () => {\r\n //console.log('silent refresh failed');\r\n // setIsLoading(false);\r\n }\r\n const refreshSuccessHandler = (data: IAuthenticationResponse) => {\r\n //console.log('silent refresh success');\r\n setAuthState({\r\n authenticated: true,\r\n accessToken: data.accessToken\r\n })\r\n // setIsLoading(false);\r\n };\r\n //console.log(`refresh countdown start `);\r\n await AuthenticationService.SilentRefreshRequestAsync(refreshFailedHandler, refreshSuccessHandler);\r\n };\r\n\r\n const handleLogout = useCallback(\r\n () => {\r\n if (_authState.accessToken) {\r\n AuthenticationService.LogoutRequest(_authState.accessToken);\r\n\r\n config.allowFacebookLogin &&\r\n FacebookService.CheckLoginState(() => {\r\n FacebookService.FacebookLogout(() => { });\r\n });\r\n }\r\n\r\n setAuthState(defaultAuthState);\r\n window.localStorage.setItem('logout', Date.now().toString());\r\n },\r\n [_authState.accessToken, config],\r\n )\r\n \r\n\r\n\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import React, { useEffect } from 'react';\r\nimport Button from '@material-ui/core/Button';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogContentText from '@material-ui/core/DialogContentText';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\n\r\nexport default function AlertDialog(props) {\r\n const [layoutState, setLayoutState] = React.useState({\r\n DialogTitle: undefined,\r\n DialogContext: \"\",\r\n CancleButtonText: \"\",\r\n ConfirmButtonText: \"\",\r\n ConfirmHandler: undefined,\r\n CloseHandler: undefined\r\n })\r\n\r\n\r\n useEffect(() => {\r\n setLayoutState(props.layoutState);\r\n }, [props.layoutState]);\r\n\r\n\r\n\r\n return (\r\n
\r\n \r\n {layoutState.DialogTitle &&\r\n {layoutState.DialogTitle}\r\n }\r\n \r\n \r\n {layoutState.DialogContext}\r\n \r\n \r\n \r\n {layoutState.CloseHandler &&\r\n\r\n \r\n }\r\n {layoutState.ConfirmHandler &&\r\n \r\n }\r\n\r\n \r\n \r\n
\r\n );\r\n}\r\n","import React, { useEffect } from 'react';\r\nimport Button from '@material-ui/core/Button';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nexport default function EmbedDialog(props) {\r\n const [layoutState, setLayoutState] = React.useState({\r\n \r\n CancleButtonText: \"\",\r\n CloseHandler: () => { }\r\n })\r\n\r\n\r\n useEffect(() => {\r\n setLayoutState(props.layoutState);\r\n\r\n }, [props.layoutState]);\r\n\r\n\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n {props.children}\r\n\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n","\r\nimport React from 'react';\r\nexport interface ILoginState {\r\n isLoggedIn: boolean,\r\n accessToken: string | null\r\n}\r\nexport const defaultLoginState = {\r\n isLoggedIn: false,\r\n accessToken: null\r\n}\r\ninterface IAcademyContext {\r\n loginState: ILoginState,\r\n refreshLoginState: () => void,\r\n\r\n unreadCount: number,\r\n setUnreadCount: (count: any) => void\r\n}\r\n\r\nconst defaultAcademyAppContext: IAcademyContext = {\r\n\r\n\r\n\r\n loginState: defaultLoginState,\r\n refreshLoginState: () => { },\r\n\r\n\r\n unreadCount: 0,\r\n setUnreadCount: (count: number) => { }\r\n}\r\n\r\nexport const AcademyContext = React.createContext(defaultAcademyAppContext);","export const RoleType={\r\n Admin:'Admin',\r\n Coach:'Coach',\r\n User:'User',\r\n FreeTrail:'FreeTrailUser'\r\n}","import { useContext } from \"react\";\r\nimport { AuthContext } from \"./AuthContext\";\r\nimport { IAuthContext } from \"./IAuthContext\";\r\n\r\nexport const useRadacadAuth = ():IAuthContext => useContext(AuthContext);","import React, { useState, useContext } from 'react';\r\nimport { Link } from 'react-router-dom';\r\n//@ts-ignore\r\nimport { Collapse, Container, Navbar, NavbarBrand, NavbarToggler, NavItem, NavLink, UncontrolledDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\r\n\r\nimport Badge from '@material-ui/core/Badge';\r\n\r\n\r\nimport './NavMenu.css';\r\nimport AlertDialog from '../_commons/Dialogs/AlertDialog';\r\nimport EmbedDialog from '../_commons/Dialogs/EmbedDialog';\r\n\r\nimport { AcademyContext } from '../../_contexts/UserContext';\r\nimport { RoleType } from '../../_commons/Helpers/RoleType';\r\nimport { useRadacadAuth } from '../../_services/radacad-auth-react/Core/useRadacadAuth';\r\nimport { JwtHelper } from '../../_services/radacad-auth-react/Helpers/JwtHelper';\r\n\r\n\r\nconst logoURL = process.env.PUBLIC_URL + '/img/logo/RADACAD Logo_White Cut 500.png';\r\n\r\nexport default function NavMenu() {\r\n const { authState: { authenticated: userAuthenticated,accessToken:jwtToken }, logout } = useRadacadAuth();\r\n\r\n\r\n const [collapsed, setColapsed] = useState(true);\r\n const toggleNavbar = () => {\r\n setColapsed(!collapsed);\r\n }\r\n\r\n const academyContext = useContext(AcademyContext);\r\n\r\n\r\n const logoutHandler = () => {\r\n logout();\r\n academyContext.setUnreadCount(0);\r\n }\r\n\r\n\r\n const [logoutDialogOpen, setLogoutDialogOpen] = useState(false);\r\n const handleLogoutDialogOpen = () => {\r\n setLogoutDialogOpen(true);\r\n };\r\n\r\n const handleLogoutDialogClose = () => {\r\n setLogoutDialogOpen(false);\r\n };\r\n\r\n const handleLogoutDialogConfirm = () => {\r\n logoutHandler();\r\n handleLogoutDialogClose();\r\n };\r\n\r\n\r\n const [contactUsDialogOpen, setContactUsDialogOpen] = useState(false);\r\n const handleContactUsDialogOpen = () => {\r\n setContactUsDialogOpen(true);\r\n };\r\n\r\n const handleContactUsDialogClose = () => {\r\n //console.log(\"test\")\r\n setContactUsDialogOpen(false);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \"Radacad\r\n \r\n \r\n
    \r\n \r\n Home\r\n \r\n\r\n \r\n \r\n Learning Path\r\n \r\n\r\n \r\n\r\n \r\n Overview\r\n \r\n\r\n \r\n Diagrams\r\n \r\n\r\n \r\n \r\n\r\n \r\n Coaches\r\n \r\n \r\n Search\r\n \r\n \r\n Contact Us\r\n \r\n\r\n \r\n \r\n \r\n\r\n {userAuthenticated ?\r\n (\r\n <>\r\n \r\n\r\n \r\n \r\n Hi, {JwtHelper.GetUserName(jwtToken)}\r\n {JwtHelper.IsRole(jwtToken, RoleType.FreeTrail) && (Free Trail)}\r\n \r\n \r\n\r\n\r\n \r\n\r\n \r\n Profile\r\n \r\n\r\n \r\n \r\n \r\n Messages\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n
    Log out
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n\r\n ) :\r\n (\r\n \r\n Login\r\n \r\n )\r\n }\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n );\r\n\r\n}\r\n","const Get = (APIURL: string, token: string | null = null): Promise => {\r\n if (process.env.NODE_ENV !== \"production\")\r\n console.debug(`${APIURL} ${token}`)\r\n\r\n let headers = new Headers();\r\n headers.append('Authorization', `Bearer ${token}`);\r\n\r\n const options = {\r\n method: 'GET',\r\n headers: headers\r\n }\r\n return fetch(APIURL, options);\r\n}\r\n\r\nconst JsonResponse = (resp: Promise): Promise => {\r\n return resp.then(\r\n async resp => {\r\n let data: T = await resp.json();\r\n return data;\r\n }\r\n ).catch(\r\n e => null\r\n )\r\n}\r\n\r\nconst PostJSON = (APIURL: string, bodyData: T, token: string | null = null): Promise => {\r\n\r\n if (process.env.NODE_ENV !== \"production\")\r\n console.debug(`${APIURL} ${token}`)\r\n\r\n let headers = new Headers();\r\n headers.append('Authorization', `Bearer ${token}`);\r\n headers.append('Content-Type', 'application/json');\r\n headers.append('Accept', '*/*');\r\n\r\n const options = bodyData ?\r\n {\r\n method: 'POST',\r\n headers: headers,\r\n body: JSON.stringify(bodyData)\r\n } :\r\n {\r\n method: 'POST',\r\n headers: headers\r\n\r\n }\r\n return fetch(APIURL, options);\r\n\r\n}\r\n\r\nconst CreateHeaderForAuthorization = (token: string): Record => {\r\n return { 'Authorization': `Bearer ${token}` };\r\n}\r\n\r\n\r\n\r\nexport const HttpHelper = {\r\n Get: Get,\r\n PostJSON: PostJSON,\r\n JsonResponse,\r\n CreateHeaderForAuthorization\r\n}","import { HttpHelper } from \"../_commons/Helpers/HttpHelper\";\r\n\r\n//private\r\nconst AddCompletedLesson = async (token: string, lessonId: string, dataHandler: (data: any) => void) => {\r\n const lessonCompletionRequest =\r\n {\r\n lessonId: parseInt(lessonId),\r\n completed: true\r\n }\r\n\r\n let api = `api/Learner/UpdateLessonCompletion`;\r\n await HttpHelper.PostJSON(api, lessonCompletionRequest, token)\r\n .then(\r\n (response) => response.json())\r\n .then((data) => {\r\n dataHandler(data);\r\n })\r\n .catch((e) => {\r\n //console.log('addCompletedLesson error');\r\n //console.log(e);\r\n });\r\n\r\n}\r\n\r\n//private\r\nconst PostVideoActionHistory = async (token: string, lessonId: number, historyData: any, autoStartPosition: any, lastWatchDateTime: any, respHandler = (resp: any) => { }, errHandler = (err: any) => { }) => {\r\n\r\n\r\n const bodydata = {\r\n lessonId: lessonId,\r\n autoStartPosition,\r\n lastWatchDateTime,\r\n playHistoryList: historyData\r\n }\r\n //console.debug(JSON.stringify(bodydata))\r\n await HttpHelper.PostJSON(`api/Learner/VideoPlayingHistory`, bodydata, token)\r\n .then(\r\n resp => respHandler(resp)\r\n ).catch(\r\n e => errHandler(e)\r\n )\r\n}\r\n\r\nconst RequestOverwriteLearningProgress = async (token: string, dataHandler: (data: any) => void) => {\r\n\r\n\r\n await HttpHelper.Get(`api/Learner/OverwriteProgress`, token)\r\n .then(\r\n (response) => response.json())\r\n .then((data) => {\r\n dataHandler(data);\r\n })\r\n .catch((e) => {\r\n //console.log('OverwriteLearningProgressRequest');\r\n //console.log(e);\r\n });\r\n\r\n}\r\nconst RequestGetCourseLearnt = async (token: string, dataHandler: (data: any) => void) => {\r\n\r\n\r\n let api = `api/Learner/CourseProgress`;\r\n await HttpHelper.Get(api, token)\r\n .then(\r\n (response) => response.json())\r\n .then((data) => {\r\n dataHandler(data);\r\n })\r\n .catch((e) => {\r\n //console.log('RequestGetCourseLearnt error');\r\n //console.log(e);\r\n });\r\n}\r\n\r\nconst RequestAllLessonCompletionStatus = async (token: string, dataHandler: (data: any) => void) => {\r\n\r\n\r\n\r\n let api = `api/Learner/LessonCompleted`;\r\n await HttpHelper.Get(api, token)\r\n .then(\r\n (response) => response.json())\r\n .then((data) => {\r\n dataHandler(data);\r\n })\r\n .catch((e) => {\r\n //console.log('Request all LessonCompletedForModulepage error');\r\n //console.log(e);\r\n });\r\n\r\n}\r\nconst RequestGetCertificate = async (token: string, courseId: string) => {\r\n\r\n let api = `api/Learner/GetCertificate/${courseId}`;\r\n\r\n await HttpHelper.Get(api, token)\r\n .then(res => res.blob()) // 解析res值为blob\r\n .then(response => URL.createObjectURL(response))\r\n .then(url => window.open(url))\r\n .catch(err => console.error(err));\r\n\r\n\r\n\r\n\r\n // .then(response => response.body)\r\n // .then(rs => {\r\n // const reader = rs.getReader();\r\n\r\n // return new ReadableStream({\r\n // async start(controller) {\r\n // while (true) {\r\n // const { done, value } = await reader.read();\r\n\r\n // // When no more data needs to be consumed, break the reading\r\n // if (done) {\r\n // break;\r\n // }\r\n\r\n // // Enqueue the next data chunk into our target stream\r\n // controller.enqueue(value);\r\n // }\r\n\r\n // // Close the stream\r\n // controller.close();\r\n // reader.releaseLock();\r\n // }\r\n // })\r\n // })\r\n // // Create a new response out of the stream\r\n // .then(rs => new Response(rs))\r\n // // Create an object URL for the response\r\n // .then(response => response.blob())\r\n // .then(blob => URL.createObjectURL(blob))\r\n // .then(url =>window.open(url))\r\n // .catch(err => console.error(err));\r\n\r\n\r\n}\r\n\r\n\r\n\r\nexport const LearnerService = {\r\n //private\r\n AddCompletedLesson,\r\n PostVideoActionHistory,\r\n RequestOverwriteLearningProgress,\r\n RequestGetCourseLearnt,\r\n RequestAllLessonCompletionStatus,\r\n RequestGetCertificate\r\n\r\n\r\n\r\n}","import React from 'react';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { LinearProgress, Box } from '@material-ui/core';\r\n\r\nconst BorderLinearProgress = withStyles((theme) => ({\r\n root:\r\n {\r\n height: 10,\r\n borderRadius: 5,\r\n },\r\n colorPrimary: {\r\n backgroundColor: '#f0e9e9',\r\n },\r\n bar: {\r\n borderRadius: 5,\r\n height: 10,\r\n backgroundColor: '#5bc99f',\r\n },\r\n}))(LinearProgress);\r\n\r\n\r\n\r\nexport default function CourseProgressBar(props) {\r\n\r\n\r\n return (\r\n\r\n \r\n \r\n
\r\n \r\n {`${Math.round(\r\n props.value,\r\n )}%`}\r\n \r\n
\r\n \r\n
\r\n\r\n\r\n\r\n
\r\n\r\n );\r\n}\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { Link } from \"react-router-dom\";\r\n\r\n\r\n\r\n\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Card from '@material-ui/core/Card';\r\nimport CardActionArea from '@material-ui/core/CardActionArea';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport CardMedia from '@material-ui/core/CardMedia';\r\nimport { Button } from '@material-ui/core';\r\nimport CardMembershipIcon from '@material-ui/icons/CardMembership';\r\n\r\nimport { LearnerService } from '../../../../_services/LearnerService';\r\nimport CourseProgressBar from '../../../_commons/CourseProgressBarComponent/CourseProgressBar';\r\nimport { useRadacadAuth } from '../../../../_services/radacad-auth-react/Core/useRadacadAuth';\r\n\r\nexport interface CourseForCard {\r\n courseId: string,\r\n courseTitle?: string | null,\r\n courseLink?: string | null,\r\n coursePhotoLink?: string | null,\r\n includeProgress?: boolean,\r\n lastDate?: string\r\n percentage?: string,\r\n certificateLink?: string\r\n}\r\nexport default function CourseCardUI(props: CourseForCard) {\r\n const { authState: { accessToken } } = useRadacadAuth();\r\n const classes = useStyles();\r\n const [courseId, setCourseId] = useState(props.courseId);\r\n const [courseTitle, setCourseTitle] = useState(props.courseTitle ? props.courseTitle : \"\");\r\n const [coursePhotoLink, setCoursePhotoLink] = useState(props.coursePhotoLink ? props.coursePhotoLink : \"\");\r\n const _titleRef = useRef(null);\r\n\r\n const ViewCertificateHandler = (accessToken: string) => {\r\n LearnerService.RequestGetCertificate(accessToken, courseId)\r\n };\r\n\r\n useEffect(() => {\r\n\r\n if (courseTitle !== \"\") {\r\n\r\n const letterNumber = courseTitle.length;\r\n let p = document.createElement(\"p\");\r\n p.innerText = courseTitle;\r\n p.style.fontSize = '1em';\r\n if (letterNumber <= 10) {\r\n\r\n p.style.fontSize = '1.4em';\r\n\r\n } else if (letterNumber <= 30) {\r\n p.style.fontSize = '1.3em';\r\n } else if (letterNumber <= 40) {\r\n p.style.fontSize = '1.1em';\r\n } else if (letterNumber > 45) {\r\n\r\n p.innerText = courseTitle.substring(0, 44) + \" ...\"\r\n }\r\n _titleRef?.current?.appendChild(p);\r\n }\r\n }, [])\r\n\r\n return (\r\n <>\r\n {courseTitle !== \"\"\r\n &&\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n {\r\n props.includeProgress\r\n &&\r\n <>\r\n \r\n \r\n Last viewed: {props.lastDate}\r\n {\r\n props.certificateLink && accessToken &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n \r\n }\r\n \r\n );\r\n}\r\n\r\n\r\nconst useStyles = makeStyles({\r\n cardRoot: {\r\n width: 225,\r\n borderRadius: 10,\r\n margin: 5,\r\n boxShadow: '3px 3px 2px 0px rgb(70, 70, 70)',\r\n '& *': {\r\n color: 'black'\r\n }\r\n },\r\n media: {\r\n height: 200\r\n },\r\n title: {\r\n height: 80,\r\n textAlign: 'center',\r\n verticalAlign: 'middle ',\r\n\r\n '& p': {\r\n height: '100%',\r\n width: '100%'\r\n }\r\n },\r\n certificateButton: {\r\n transform: 'scale(0.65)',\r\n transformOrigin: 'top left',\r\n '&:hover': {\r\n filter: 'brightness(120%)'\r\n }\r\n }\r\n});\r\n","import React, { useEffect, useRef, useState } from 'react'\r\nimport { Grid } from '@material-ui/core';\r\nimport './CourseScrollContainer.css';\r\n\r\n\r\nexport default function CourseScrollContainer(props) {\r\n //console.log(props);\r\n\r\n const _navRef = useRef(null);\r\n const [_showPrev, setShowPrev] = useState(true);\r\n const [_showNext, setShowNext] = useState(true);\r\n\r\n const [_clientWidth, setClientWidth] = useState(0);\r\n const [_scrollWidth, setScrollWidth] = useState(0);\r\n const [_scrollLeft, setScrollLeft] = useState(0);\r\n\r\n\r\n\r\n const handleNav = (direction) => {\r\n\r\n if (direction === 'left') {\r\n _navRef.current.scrollLeft -= _navRef.current.clientWidth;\r\n setScrollLeft(Math.max(_scrollLeft - _navRef.current.clientWidth, 0));\r\n\r\n }\r\n else {\r\n _navRef.current.scrollLeft += _navRef.current.clientWidth;\r\n setScrollLeft(Math.min(_scrollLeft + _navRef.current.clientWidth, _scrollWidth - _navRef.current.clientWidth));\r\n\r\n }\r\n\r\n }\r\n useEffect(() => {\r\n if (_navRef) {\r\n setClientWidth(_navRef.current.clientWidth);\r\n setScrollWidth(_navRef.current.scrollWidth);\r\n setScrollLeft(_navRef.current.scrollLeft);\r\n }\r\n\r\n \r\n // Debounce\r\n function debounce(func, timeSetting) {\r\n var time = timeSetting || 100; // 100 by default if no param\r\n var timer;\r\n return function (event) {\r\n if (timer) clearTimeout(timer);\r\n timer = setTimeout(func, time, event);\r\n };\r\n }\r\n\r\n function handleResize() {\r\n // Set Client width to state\r\n if(_navRef?.current)\r\n setClientWidth(_navRef.current.clientWidth);\r\n }\r\n\r\n let debounceResizeHandler = debounce(handleResize,250);\r\n\r\n // Add event listener\r\n // window.addEventListener(\"resize\", debounceResizeHandler);\r\n window.addEventListener(\"resize\", handleResize);\r\n\r\n // Call handler right away so state gets updated with initial window size\r\n // handleResize();\r\n\r\n // Remove event listener on cleanup\r\n // return () => window.removeEventListener(\"resize\", handleResize);\r\n return () => window.removeEventListener(\"resize\", debounceResizeHandler);\r\n }, [])\r\n useEffect(\r\n\r\n () => {\r\n /*\r\n console.log(\"clientWidth \"+_navRef.current.clientWidth);\r\n console.log(\"scrollWidth \"+_navRef.current.scrollWidth);\r\n console.log(\"offsetWidth \"+_navRef.current.offsetWidth);\r\n console.log(\"scrollLeft \"+_navRef.current.scrollLeft); \r\n console.log(_scrollWidth);\r\n console.log(_scrollLeft);\r\n console.log(_clientWidth);\r\n */\r\n\r\n if (_scrollLeft === 0)\r\n setShowPrev(false);\r\n else\r\n setShowPrev(true);\r\n\r\n if (_scrollWidth - _scrollLeft > _clientWidth)\r\n setShowNext(true);\r\n else\r\n setShowNext(false);\r\n\r\n }, [_scrollLeft, _scrollWidth, _clientWidth])\r\n\r\n\r\n\r\n return (\r\n \r\n {\r\n _showPrev ?\r\n \r\n
handleNav('left')} className={\"scrollButton\"}>‹
\r\n
\r\n :\r\n \r\n
\r\n
\r\n\r\n }\r\n\r\n
\r\n {\r\n props.children\r\n }\r\n
\r\n\r\n {\r\n _showNext &&\r\n \r\n
handleNav('right')} className={\" scrollButton\"}>›
\r\n
\r\n }\r\n\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport Moment from 'moment';\r\nimport {Grid} from '@material-ui/core';\r\nimport CourseCardUI from '../CourseCardComponent/CourseCardUIComponent/CourseCardUI';\r\nimport CourseSrollContainer from \"../CourseScrollContainerComponent/CourseScrollContainer.jsx\";\r\n\r\n\r\nexport default function CourseCardList(props) {\r\n //console.log(props);\r\n\r\n return props.courses?(\r\n \r\n\r\n \r\n\r\n {\r\n props.courses.map(\r\n (course,index) =>\r\n (\r\n\r\n \r\n {\r\n props.withPercent ?\r\n :\r\n \r\n }\r\n\r\n \r\n )\r\n )}\r\n\r\n\r\n\r\n \r\n\r\n \r\n ): <>\r\n}\r\n","import { HttpHelper } from \"../../_commons/Helpers/HttpHelper\";\r\n\r\n//public \r\nconst GetAllLearningPaths = (): Promise => {\r\n let api = 'api/LearningPath';\r\n return HttpHelper.Get(api);\r\n}\r\n//public \r\nconst getAllLearningPathsWithCourses = async (handler: (data: any) => void) => {\r\n\r\n await fetch('api/LearningPath/Course')\r\n .then((response) => response.json())\r\n .then((data) => {\r\n handler(data);\r\n })\r\n .catch((e) => {\r\n });\r\n}\r\n\r\n//public \r\nconst GetLearningPathByCourseId = async (courseId: number, dataHandler: (data: any) => void, errHandler = (err: any) => { }, finalHandler = () => { }) => {\r\n let api = `api/LearningPath/${courseId}`;\r\n\r\n\r\n await HttpHelper.Get(api).then(resp => resp.json()\r\n ).then(\r\n data => {\r\n dataHandler(data)\r\n }\r\n ).catch(\r\n e => {\r\n errHandler(e);\r\n }\r\n ).finally(\r\n () => {\r\n finalHandler();\r\n }\r\n )\r\n}\r\n\r\n//private \r\nconst UpdateLearningPaths = (courseId: number, learningPathIds: number[], token: string): Promise => {\r\n\r\n let Api = `api/LearningPath/`;\r\n return HttpHelper.PostJSON(Api, { courseId, learningPathIds }, token);\r\n \r\n}\r\n\r\nexport const LearningPathService = {\r\n //public\r\n GetAllLearningPaths,\r\n getAllLearningPathsWithCourses,\r\n GetLearningPathByCourseId,\r\n\r\n //private\r\n UpdateLearningPaths\r\n}\r\n\r\n\r\n\r\n","import React from 'react';\r\nimport { CircularProgress, Grid } from '@material-ui/core';\r\n\r\nexport default function FullScreenLoadingProgress(props) {\r\n return (\r\n < Grid container style={props.style??{ height: '70vh' }} justify=\"center\" alignItems=\"center\">\r\n \r\n );\r\n}\r\n","import React, { Component } from 'react';\r\nimport CourseCardList from '../CoursePage/CourseCardListComponent/CourseCardList';\r\n\r\nimport {LearningPathService} from '../../_services/radacad-academy-lms/LearningPathService';\r\nimport Grid from '@material-ui/core/Grid';//material-UI\r\nimport FullScreenLoadingProgress from '../_commons/FullScreenLoadingProgressComponent/FullScreenLoadingProgress';\r\n\r\n\r\nexport default class LearningPath extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n learningPathList: []\r\n }\r\n\r\n }\r\n\r\n componentDidMount() {\r\n LearningPathService.getAllLearningPathsWithCourses(\r\n (data) => {\r\n //console.log(data);\r\n this.setState({ learningPathList: data, loading: false });\r\n }\r\n );\r\n }\r\n\r\n static renderLearningTable(learningPathList) {\r\n\r\n return (\r\n \r\n {\r\n learningPathList.map((learningPath,index) =>{\r\n return (\r\n \r\n \r\n

{learningPath.persona}

\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n )\r\n\r\n })\r\n }\r\n \r\n
\r\n );\r\n }\r\n\r\n render() {\r\n let contents = this.state.loading\r\n ? \r\n : LearningPath.renderLearningTable(this.state.learningPathList);\r\n\r\n return (\r\n
\r\n

Learning Path

\r\n {contents}\r\n
\r\n );\r\n }\r\n}\r\n\r\n","import { LMSMaterialLinkType } from \"./Types\";\r\n\r\nexport function LMSMaterialLinkHandler(apiResp: Promise): Promise {\r\n return apiResp.then(async (resp) => {\r\n if (resp.status === 200) {\r\n let result: string | null | undefined = await resp.text();\r\n return result ? { link: result } : \"NOT_FOUND\";\r\n }\r\n else if (resp.status === 401) {\r\n return \"NOT_AUTHORISED\";\r\n } else {\r\n return \"NOT_FOUND\";\r\n }\r\n }).catch(() => {\r\n return \"NOT_FOUND\";\r\n });\r\n\r\n}\r\n\r\n\r\n","import { HttpHelper } from '../../_commons/Helpers/HttpHelper'\r\nimport { LMSMaterialLinkHandler } from '../Common/Handlers';\r\nimport { LMSMaterialLinkType } from '../Common/Types';\r\n\r\n//public\r\nconst GetNewCourseCards = async (handler: any) => {\r\n let api = `api/Course/NewCourseCards`;\r\n await HttpHelper.Get(api)\r\n .then((response) => response.json())\r\n .then((data) => {\r\n handler(data);\r\n })\r\n .catch((e) => {\r\n //console.log('Get NewCourseCards error');\r\n //console.log(e);\r\n });\r\n\r\n}\r\n\r\n//public\r\nconst getAllCourses = async (handler: any) => {\r\n let api = `api/Course/Card`;\r\n await HttpHelper.Get(api)\r\n .then((response) => response.json())\r\n .then((data) => {\r\n handler(data);\r\n })\r\n .catch((e) => {\r\n handler(null);\r\n });\r\n}\r\n\r\n//public\r\nconst getCourseByIdForCard = async (id: any, dataHandler: any, exceptionHandler: any) => {\r\n let api = `api/Course/${id}/Card`;\r\n await HttpHelper.Get(api)\r\n .then((response) => response.json()\r\n )\r\n .then((data) => {\r\n dataHandler(data);\r\n })\r\n .catch((e) => {\r\n exceptionHandler(e);\r\n });\r\n}\r\n\r\n\r\n//public\r\nconst getAllCoursesForSearch = async (dataHandler: (data: any) => void, errorHandler = (err: any) => { }, finalHandler = () => { }) => {\r\n let api = `api/Course/Search`;\r\n await HttpHelper.Get(api)\r\n .then((response) => response.json())\r\n .then((data: any) => {\r\n dataHandler(data);\r\n })\r\n .catch((e) => {\r\n errorHandler(e);\r\n }).finally(\r\n () => { finalHandler() }\r\n );\r\n}\r\n\r\n//public \r\nconst getCourseByIdForDetail = (id: any, respHandler: any, dataHandler: any, errHandler: any) => {\r\n let api = `api/Course/${id}/Detail`;\r\n return HttpHelper.Get(api)\r\n .then(\r\n async (resp) => {\r\n if (respHandler(resp)) {\r\n\r\n dataHandler(await resp.json());\r\n\r\n }\r\n })\r\n .catch((e) => {\r\n errHandler(e);\r\n });\r\n}\r\n//public required token\r\nconst getCourseModulesWithOrderById = async (token: string, id: any, handler: any) => {\r\n\r\n let api = `api/Course/${id}/ModulesWithOrderv2`;\r\n await HttpHelper.Get(api, token)\r\n .then((response) => response.json())\r\n .then((data) => {\r\n handler(data);\r\n })\r\n .catch((e) => {\r\n //console.log('getCourseModulesWithOrderById error');\r\n //console.log(e);\r\n });\r\n}\r\n//public\r\nconst GetCourseModules = (courseId: number): Promise => {\r\n\r\n let api = `api/Course/${courseId}/Module`;\r\n return HttpHelper.Get(api);\r\n}\r\n\r\n\r\n//private\r\nconst OwnCourse = (courseId: number, token: string | null): Promise => {\r\n\r\n let api = `api/Course/OwnCourse/${courseId}`;\r\n return HttpHelper.Get(api, token);\r\n}\r\n\r\n\r\n//private\r\nconst GetMaterialLink = (courseId: number | string, token: string | null): Promise => {\r\n\r\n let api = `api/Course/MaterialLink/${courseId}`;\r\n return LMSMaterialLinkHandler(HttpHelper.Get(api, token));\r\n\r\n}\r\n\r\nexport const CourseService = {\r\n //public\r\n getAllCourses,\r\n getCourseByIdForCard,\r\n getAllCoursesForSearch,\r\n getCourseByIdForDetail,\r\n getCourseModulesWithOrderById,\r\n GetCourseModules,\r\n GetNewCourseCards,\r\n OwnCourse,\r\n GetMaterialLink\r\n\r\n\r\n\r\n};\r\n","import { IProduct } from '../../_viewmodels/ProductModel';\r\nimport { HttpHelper } from '../../_commons/Helpers/HttpHelper';\r\n\r\nexport enum ProductionEnum {\r\n Individual = \"Individual\",\r\n Team = \"Team\"\r\n}\r\n\r\n\r\nfunction getAcademyMembershipProductImageLinkURL(product: ProductionEnum): string | undefined {\r\n if (product === ProductionEnum.Individual) {\r\n return \"https://i1.wp.com/learn.radacad.com/wp-content/uploads/2019/09/online-3412473_640.jpg?fit=640%2C426&ssl=1\"\r\n } else if (product === ProductionEnum.Team) {\r\n return \"https://i1.wp.com/learn.radacad.com/wp-content/uploads/2020/04/online-3412473_640-1.jpg?fit=640%2C426&ssl=1\"\r\n } else\r\n return undefined;\r\n}\r\nfunction getAcademyMembershipProductWebPageLinkURL(product: ProductionEnum): string | undefined {\r\n if (product === ProductionEnum.Individual) {\r\n return \"https://learn.radacad.com/product/academy-membership/\"\r\n } else if (product === ProductionEnum.Team) {\r\n return \"https://learn.radacad.com/product/academy-membership-for-teams/\"\r\n } else\r\n return undefined;\r\n}\r\n\r\nasync function getProductByCourseId(courseId: number | string): Promise {\r\n let apiURL = `/api/product?courseId=${courseId}`\r\n let product = await HttpHelper.Get(apiURL).then(async (resp): Promise => {\r\n if (resp.status === 200) {\r\n let data: IProduct = await resp.json();\r\n return data;\r\n } else {\r\n return null;\r\n }\r\n }).catch(() => {\r\n return null;\r\n })\r\n\r\n return product;\r\n}\r\n\r\nexport const AcademyProductService = {\r\n getAcademyMembershipProductWebPageLinkURL,\r\n getAcademyMembershipProductImageLinkURL,\r\n getProductByCourseId\r\n}","import React, { Component } from 'react';\r\n\r\nimport {CourseService} from '../../../_services/radacad-academy-lms/CourseService';\r\nimport CourseCardUI from './CourseCardUIComponent/CourseCardUI';\r\n\r\n\r\nexport default class CourseCard extends Component {\r\n \r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n courseId: props.courseId,\r\n courseTitle: \"\",\r\n courseLink: \"\",\r\n coursePhotoLink: \"\"\r\n }\r\n }\r\n componentDidMount() {\r\n\r\n CourseService.getCourseByIdForCard(this.state.courseId, \r\n (data)=>\r\n {\r\n //console.log(data);\r\n this.setState({\r\n courseTitle: data.courseTitle,\r\n courseLink: data.courseLink,\r\n coursePhotoLink: data.coursePhotoLink,\r\n loading: false\r\n });\r\n },\r\n (e)=>{\r\n //console.log(e);\r\n \r\n }\r\n );\r\n\r\n }\r\n\r\n\r\n renderContent() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n render() {\r\n let contents = this.state.loading\r\n ?

Loading...

\r\n : this.renderContent();\r\n\r\n return (\r\n
\r\n {contents}\r\n
\r\n );\r\n }\r\n}\r\n\r\n","import { HttpHelper } from \"../../_commons/Helpers/HttpHelper\";\r\n\r\ninterface IPreCourseRespModel {\r\n preCourseId: number\r\n}\r\n//public\r\nconst getPreCoursesById = async (courseId: number, dataHandler: (data: IPreCourseRespModel[]) => void,\r\n errHandler = (err: any) => { }, finalHandler = () => { }) => {\r\n await fetch(`api/CoursePrerequisite/PreCourse/${courseId}`)\r\n .then((response) => response.json())\r\n .then((data: IPreCourseRespModel[]) => {\r\n dataHandler(data);\r\n })\r\n .catch((e) => {\r\n errHandler(e);\r\n }).finally(() => { finalHandler() });\r\n\r\n}\r\n\r\n\r\ninterface INextCourseRespModel {\r\n nextCourseId: number\r\n}\r\n//public\r\nconst getNextCoursesById = async (courseId: number, handler: (data: INextCourseRespModel[]) => void,\r\n errHandler = (err: any) => { }, finalHandler = () => { }) => {\r\n await fetch(`/api/CoursePrerequisite/NextCourse/${courseId}`)\r\n .then((response) => response.json())\r\n .then((data: INextCourseRespModel[]) => {\r\n handler(data)\r\n })\r\n .catch((e) => {\r\n errHandler(e);\r\n }).finally(() => { finalHandler() });\r\n\r\n};\r\n\r\n\r\n\r\n\r\ninterface IPreCourseReqModel {\r\n CourseId: number,\r\n PreCourseIdList: number[]\r\n}\r\n//private\r\nconst UpdatePreCourses = async (token:string,courseId: number, precourseIdList: number[]): Promise => {\r\n let api = `api/CoursePrerequisite/PreCourse`;\r\n let bodydata: IPreCourseReqModel = {\r\n CourseId: courseId,\r\n PreCourseIdList: precourseIdList\r\n };\r\n return HttpHelper.PostJSON(api,bodydata,token);\r\n}\r\n\r\ninterface INextCourseReqModel {\r\n CourseId: number,\r\n NextCourseIdList: number[]\r\n}\r\n//private\r\nconst UpdateNextCourses = async (token:string,courseId: number, nextcourseIdList: number[]): Promise => {\r\n let api = `api/CoursePrerequisite/NextCourse`;\r\n let bodydata: INextCourseReqModel = {\r\n CourseId: courseId,\r\n NextCourseIdList: nextcourseIdList\r\n };\r\n return HttpHelper.PostJSON(api,bodydata,token);\r\n}\r\n\r\n\r\nexport const CoursePrerequisiteService = {\r\n //public\r\n getPreCoursesById,\r\n getNextCoursesById,\r\n //private\r\n UpdatePreCourses,\r\n UpdateNextCourses\r\n} ","\r\nimport { CircularProgress } from '@material-ui/core'\r\nimport React from 'react'\r\n\r\nexport function LoadingPage(props: { text?: string }) {\r\n return
\r\n \r\n {props.text}\r\n
\r\n}","function test(url: string, regExp: string | RegExp) {\r\n // regex pattern for detecting querystring\r\n var pattern = new RegExp(regExp);\r\n return pattern.test(url);\r\n}\r\nenum RegExpEnum {\r\n\r\n EXP_END_WITH_QUERYSRING= `\\\\?[^\\\\/]+=[^\\\\/]*(&[^\\\\/]+=[^\\\\/]*)*$`\r\n}\r\n\r\n\r\nexport const Regex = {\r\n RegExpEnum,\r\n test,\r\n \r\n}","import { getSessionStorageValue } from \"../../_commons/Utils/BrowserStorage\";\r\nimport { Regex } from \"../../_commons/Utils/Regex\";\r\n\r\nconst AFFILIATE_REF_STRING = \"ref\";\r\nfunction addAffiliateRefToURL(radacadWPURL: string): string {\r\n let ref = getSessionStorageValue(AFFILIATE_REF_STRING);\r\n\r\n\r\n //console.debug(radacadWPURL + \" \" + Regex.test(radacadWPURL, Regex.RegExpEnum.EXP_END_WITH_QUERYSRING));\r\n\r\n\r\n let result= `${radacadWPURL}${ref ? `${Regex.test(radacadWPURL, Regex.RegExpEnum.EXP_END_WITH_QUERYSRING) ? \"&\" : \"?\"}${AFFILIATE_REF_STRING}=${ref}` : \"\"}`\r\n\r\n //console.debug(result);\r\n return result;\r\n}\r\n\r\nexport const AffiliateService = {\r\n AFFILIATE_REF_STRING,\r\n addAffiliateRefToURL\r\n}","export function getLocalStorageValue(key: string): string | undefined {\r\n try {\r\n return window.localStorage.getItem(key) ?? undefined;\r\n\r\n } catch {\r\n return undefined;\r\n }\r\n}\r\n\r\nexport function setLocalStorageValue(key: string, value: string): void {\r\n try {\r\n window.localStorage.setItem(key, value);\r\n\r\n } catch {\r\n\r\n }\r\n}\r\nexport function getSessionStorageValue(key: string): string | undefined {\r\n try {\r\n return window.sessionStorage.getItem(key) ?? undefined;\r\n\r\n } catch {\r\n return undefined;\r\n }\r\n}\r\n\r\nexport function setSessionStorageValue(key: string, value: string): void {\r\n try {\r\n window.sessionStorage.setItem(key, value);\r\n\r\n } catch {\r\n\r\n }\r\n}\r\n\r\n","import { makeStyles } from '@material-ui/core';\r\nimport React, { useEffect, useState } from 'react'\r\nimport { LoadingPage } from '../../../_commons/Utils/React/Components/Pages/LoadingPage';\r\nimport { IProduct } from '../../../_viewmodels/ProductModel';\r\nimport { AcademyProductService, ProductionEnum } from '../../../_services/radacad-academy-product/AcademyProductService';\r\nimport { AffiliateService } from '../../../_services/radacad-academy-affiliate/AffiliateService';\r\n\r\n\r\nexport default function PurchaseCourseCards(props: { courseId: number }) {\r\n const { courseId } = props;\r\n const classes = useStyles();\r\n const [_product, setProduct] = useState(undefined);\r\n\r\n const individualAcademyProductWebPageLinkURL = AcademyProductService.getAcademyMembershipProductWebPageLinkURL(ProductionEnum.Individual);\r\n const individualAcademyProductImageURL = AcademyProductService.getAcademyMembershipProductImageLinkURL(ProductionEnum.Individual);\r\n const teamAcademyProductWebPageLinkURL = AcademyProductService.getAcademyMembershipProductWebPageLinkURL(ProductionEnum.Team);\r\n const teamAcademyProductImageURL = AcademyProductService.getAcademyMembershipProductImageLinkURL(ProductionEnum.Team);\r\n\r\n\r\n useEffect(() => {\r\n AcademyProductService.getProductByCourseId(courseId).then((product) => {\r\n setProduct(product)\r\n }).catch(() => { setProduct(null) });\r\n\r\n }, [courseId])\r\n\r\n\r\n return
\r\n\r\n {\r\n _product !== null &&\r\n
\r\n {\r\n _product === undefined ?\r\n :\r\n\r\n\r\n \r\n

{_product.productTitle}

\r\n \"Individual\r\n
\r\n\r\n }\r\n
\r\n\r\n }\r\n\r\n
\r\n\r\n {\r\n individualAcademyProductWebPageLinkURL &&\r\n \r\n

Academy Membership

\r\n \"Individual\r\n
\r\n }\r\n
\r\n
\r\n\r\n {teamAcademyProductWebPageLinkURL &&\r\n \r\n

Academy Membership – for Teams

\r\n \"Team\r\n
\r\n }\r\n\r\n
\r\n
\r\n\r\n\r\n}\r\nconst useStyles = makeStyles({\r\n\r\n imageContainer: {\r\n display: 'flex',\r\n justifyContent: 'space-around',\r\n\r\n },\r\n imageDiv: {\r\n width: \"30%\",\r\n padding: \"2%\",\r\n display: \"inline-block\",\r\n \"& a\": {\r\n display: \"block\",\r\n padding: \"5%\",\r\n borderRadius: \"5px\",\r\n\r\n height: \"100%\",\r\n backdropFilter: \"blur(10px)\",\r\n boxShadow: \"4px 4px 8px 4px rgba(255,255,255,0.2)\",\r\n transition: \"0.3s\",\r\n\r\n \"&:hover\": {\r\n boxShadow: \"8px 8px 16px 8px rgba(255,255,255,0.4)\"\r\n }\r\n },\r\n \"& img\": {\r\n width: \"100%\"\r\n }\r\n },\r\n\r\n})\r\n\r\n\r\n","import React, { useEffect, useState } from 'react'\r\nimport { CourseService } from '../../../_services/radacad-academy-lms/CourseService';\r\nimport { useRadacadAuth } from '../../../_services/radacad-auth-react/Core/useRadacadAuth';\r\nimport PurchaseCourseCards from './PurchaseCourseCards'\r\n\r\nexport default function PurchaseCoursePromptDiv(props: { courseId: number, renderDescription?: () => JSX.Element }) {\r\n\r\n const { courseId, renderDescription } = props;\r\n const { authState: { authenticated: userAuthenticated, accessToken } } = useRadacadAuth();\r\n const [_needToPrompt, setNeedToPrompt] = useState(false);\r\n\r\n useEffect(() => {\r\n CourseService.OwnCourse(courseId, accessToken).then(\r\n (resp) => {\r\n\r\n if (resp.status === 200) {\r\n\r\n setNeedToPrompt(false)\r\n } else {\r\n\r\n setNeedToPrompt(true);\r\n }\r\n }\r\n\r\n )\r\n\r\n }, [courseId, accessToken])\r\n\r\n return (userAuthenticated === false || _needToPrompt) &&\r\n
\r\n {\r\n renderDescription && renderDescription()\r\n\r\n }\r\n \r\n
\r\n}\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { Redirect, Link, useParams } from \"react-router-dom\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { Grid, Button } from '@material-ui/core';\r\n\r\n\r\n\r\nimport CourseCard from '../CourseCardComponent/CourseCard';\r\nimport { CourseService } from '../../../_services/radacad-academy-lms/CourseService';\r\nimport { CoursePrerequisiteService } from '../../../_services/radacad-academy-lms/CoursePrerequisiteService';\r\n\r\nimport FullScreenLoadingProgress from \"../../_commons/FullScreenLoadingProgressComponent/FullScreenLoadingProgress\";\r\nimport CourseScrollContainer from \"../CourseScrollContainerComponent/CourseScrollContainer.jsx\";\r\nimport PurchaseCoursePromptDiv from \"../../LessonPage/LessonDetailComponent/PurchaseCoursePromptDiv\";\r\n\r\n\r\nexport default function CourseDetail() {\r\n const params = useParams();\r\n const [_isLoading, setIsLoading] = useState(true);\r\n const [CourseId, setCourseId] = useState(params.CourseId);\r\n const [CourseTitle, setCourseTitle] = useState();\r\n const [CoursePhotoLink, setCoursePhotoLink] = useState();\r\n const [CourseDescription, setCourseDescription] = useState();\r\n const [LessonCount, setLessonCount] = useState();\r\n const [CourseLength, setCourseLength] = useState();\r\n const [AuthorName, setAuthorName] = useState();\r\n const [AuthorId, setAuthorId] = useState();\r\n const [PreCourses, setPreCourses] = useState([]);\r\n const [NextCourses, setNextCourses] = useState([]);\r\n\r\n\r\n useEffect(() => {\r\n setIsLoading(true);\r\n if (CourseId) {\r\n\r\n CourseService.getCourseByIdForDetail(CourseId,\r\n (resp) => {\r\n if (resp.status === 200) {\r\n\r\n return true;\r\n } else {\r\n //console.log(resp);\r\n }\r\n },\r\n (data) => {\r\n //console.log(data);\r\n setCourseTitle(data.courseTitle);\r\n setCoursePhotoLink(data.coursePhotoLink);\r\n setCourseDescription(data.courseDescription);\r\n setLessonCount(data.lessonCount);\r\n setCourseLength(data.courseLength);\r\n setAuthorName(data.authorName);\r\n setAuthorId(data.authorId);\r\n setIsLoading(false);\r\n CoursePrerequisiteService.getPreCoursesById(CourseId,\r\n (data) => {\r\n //console.log(\"pre\");\r\n //console.log(data);\r\n setPreCourses(data);\r\n }\r\n );\r\n CoursePrerequisiteService.getNextCoursesById(CourseId,\r\n (data) => {\r\n //console.log(\"next\");\r\n //console.log(data);\r\n setNextCourses(data);\r\n\r\n }\r\n );\r\n\r\n },\r\n (err) => {\r\n\r\n });\r\n }\r\n\r\n }, [CourseId]);\r\n\r\n useEffect(() => {\r\n setCourseId(params.CourseId);\r\n }, [params.CourseId])\r\n\r\n const displayHourAndMin = (CourseLengthHour, CourseLengthMin) => {\r\n return CourseLengthHour > 0 ?\r\n (\r\n {CourseLengthHour} hour{CourseLengthHour > 1 ? (s) : ()}\r\n  \r\n {CourseLengthMin} minute{CourseLengthMin > 1 ? (s) : ()}\r\n\r\n \r\n ) :\r\n (\r\n {CourseLengthMin} minute{CourseLengthMin > 1 ? (s) : ()}\r\n )\r\n\r\n }\r\n\r\n const classes = useStyles();\r\n const renderPromptDesc = useCallback(() => {\r\n return
\r\n To get access to this course, please choose one of options below.\r\n
\r\n }, [])\r\n\r\n return CourseId === null ?\r\n ()\r\n : _isLoading ?\r\n \r\n : (\r\n\r\n \r\n \r\n

{CourseTitle}

\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n
\r\n

{LessonCount} Lesson(s)
\r\n Length of the course: {displayHourAndMin(Math.floor(CourseLength / 60), CourseLength % 60)} in Total\r\n

\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n\r\n

\r\n Author:  \r\n \r\n {AuthorName}\r\n \r\n

\r\n
\r\n \r\n Description:
\r\n
\r\n
\r\n
\r\n \r\n {CourseTitle}\r\n \r\n\r\n
\r\n\r\n
\r\n {\r\n CourseId &&\r\n \r\n }\r\n\r\n\r\n {\r\n PreCourses.length > 0 &&\r\n \r\n

Courses to watch before starting this course

\r\n\r\n \r\n \r\n {PreCourses.map(\r\n (course, index) =>\r\n (\r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n \r\n
\r\n }\r\n {\r\n NextCourses.length > 0 &&\r\n \r\n

Courses to watch after completing this course

\r\n\r\n\r\n \r\n \r\n {\r\n NextCourses.map(\r\n (course, index) =>\r\n (\r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n \r\n\r\n
\r\n\r\n }\r\n\r\n\r\n\r\n\r\n
\r\n );\r\n\r\n}\r\n\r\n\r\n\r\nconst useStyles = makeStyles(() => ({\r\n root: {\r\n },\r\n lessonInfo: {\r\n fontSize: '1.1rem',\r\n\r\n },\r\n authorInfo: {\r\n fontSize: '1.1rem',\r\n\r\n },\r\n authorButton: {\r\n textDecoration: 'underline'\r\n },\r\n courseImage: {\r\n // width: '100%'\r\n maxWidth: '100%'\r\n },\r\n imageContainer: {\r\n\r\n },\r\n\r\n\r\n}));\r\n\r\n\r\n","export interface IPagenatedList {\r\n items: T[],\r\n pageIndex: number,\r\n totalPages: number,\r\n totalCount: number\r\n}\r\nexport const defaultPagenatedList = {\r\n items: [],\r\n pageIndex: 0,\r\n totalPages: 0,\r\n totalCount: 0\r\n}","import { IGroupedLessons } from './models/IGroupedLessons';\r\nimport { HttpHelper } from \"../../_commons/Helpers/HttpHelper\";\r\nimport { LMSMaterialLinkHandler } from \"../Common/Handlers\";\r\nimport { LMSMaterialLinkType } from \"../Common/Types\";\r\nimport { ILessonPublicDto } from \"./models/ILessonPublicDto\";\r\nimport { defaultPagenatedList, IPagenatedList } from \"./models/IPagenatedList\";\r\n\r\n//public require token \r\nconst RequestLessonPublicDetail = (token: string | null, id: string, respHandler: (resp: any) => void, errHandler: (err: any) => void) => {\r\n\r\n\r\n let apiUrl = `api/Lesson/${id}/PublicDetail`;\r\n return HttpHelper.Get(apiUrl, token)\r\n .then(\r\n (resp) => {\r\n respHandler(resp);\r\n })\r\n .catch(\r\n (err) => {\r\n errHandler(err)\r\n }\r\n );\r\n\r\n\r\n}\r\n\r\n//public require token \r\nconst RequestPreviewLessonResource = async (token: string | null, id: string, dataHandler: (data: any) => void) => {\r\n\r\n let apiurl = `api/Lesson/${id}/PreviewResource`;\r\n await HttpHelper.Get(apiurl, token)\r\n .then(\r\n (response) => response.json())\r\n .then((data) => {\r\n dataHandler(data);\r\n })\r\n .catch((e) => {\r\n //console.log('RequestPreviewLessonResource error');\r\n //console.log(e);\r\n });\r\n}\r\n\r\n//private \r\nconst RequestMemberLessonResource = async (id: string, dataHandler: (data: any) => void, token: string) => {\r\n let apiUrl = `api/Lesson/${id}/MemberResource`;\r\n\r\n await HttpHelper.Get(apiUrl, token)\r\n .then(\r\n (response) => response.json())\r\n .then((data) => {\r\n dataHandler(data);\r\n })\r\n .catch((e) => {\r\n //console.log('RequestLessonResource error');\r\n //console.log(e);\r\n });\r\n\r\n}\r\n\r\n//private\r\nconst GetMaterialLink = (lessonId: number | string, token: string | null): Promise => {\r\n\r\n let api = `api/Lesson/MaterialLink/${lessonId}`;\r\n return LMSMaterialLinkHandler(HttpHelper.Get(api, token));\r\n\r\n}\r\n\r\n\r\nconst searchLesson = (keyword: string, pageIndex?: number): Promise> => {\r\n\r\n let api = `api/Lesson?PageIndex=${pageIndex ?? 1}${keyword && keyword !== \"\" ? `&Title=${keyword}` : \"\"}`;\r\n // alert(api)\r\n return HttpHelper.PostJSON(api, null).then(\r\n async resp => {\r\n let data: IPagenatedList = await resp.json();\r\n return data;\r\n }\r\n ).catch(() => {\r\n return defaultPagenatedList\r\n }\r\n )\r\n\r\n}\r\n\r\n\r\nconst searchGroupedLessons = (keyword: string, pageIndex?: number): Promise> => {\r\n\r\n let api = `api/Lesson/Search?PageIndex=${pageIndex ?? 1}${keyword && keyword !== \"\" ? `&Title=${keyword}` : \"\"}`;\r\n // alert(api)\r\n return HttpHelper.PostJSON(api, null).then(\r\n async resp => {\r\n let data: IPagenatedList = await resp.json();\r\n return data;\r\n }\r\n ).catch(() => {\r\n return defaultPagenatedList\r\n }\r\n )\r\n\r\n}\r\n\r\n\r\nexport const LessonService = {\r\n //public require token \r\n RequestPreviewLessonResource: RequestPreviewLessonResource,\r\n RequestLessonPublicDetail: RequestLessonPublicDetail,\r\n //private \r\n RequestMemberLessonResource: RequestMemberLessonResource,\r\n\r\n GetMaterialLink,\r\n searchLesson,\r\n searchGroupedLessons\r\n\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { Card, Grid, Chip } from '@material-ui/core';\r\nimport RadioButtonUncheckedIcon from '@material-ui/icons/RadioButtonUnchecked';\r\nimport CheckCircleOutlineOutlinedIcon from '@material-ui/icons/CheckCircleOutlineOutlined';\r\n\r\n\r\nconst useIconStyles = makeStyles({\r\n greenIcon: {\r\n \"& *\": {\r\n color: \"green !important\"\r\n }\r\n\r\n\r\n }\r\n});\r\n\r\nexport default function LessonCard(props) {\r\n \r\n const classes = useIconStyles();\r\n\r\n const [_lessonId, setLessonId] = useState(props.lesson.lessonId);\r\n const [_lessonTitle, setLessonTitle] = useState(props.lesson.lessonTitle);\r\n const [_preview, setPreview] = useState(props.lesson.preview);\r\n const [_showProgress, setShowProgress] = useState(props.showProgress);\r\n const [_completed, setCompleted] = useState(props.completed);\r\n\r\n useEffect(() => {\r\n setCompleted(props.completed)\r\n }, [props.completed]);\r\n\r\n useEffect(() => {\r\n setShowProgress(props.showProgress)\r\n }, [props.showProgress]);\r\n\r\n\r\n return (\r\n \r\n \r\n {\r\n _showProgress &&\r\n (\r\n _completed ?\r\n :\r\n \r\n )\r\n\r\n }\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n {\r\n _preview\r\n &&\r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n\r\n )\r\n\r\n}\r\n\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n\r\n\r\n },\r\n completedBg: {\r\n backgroundColor: ' #1f6040'\r\n }\r\n ,\r\n bullet: {\r\n display: 'inline-block',\r\n margin: '0 2px',\r\n transform: 'scale(0.8)',\r\n },\r\n title: {\r\n fontSize: 16,\r\n padding: '10px'\r\n },\r\n pos: {\r\n marginBottom: 12,\r\n }\r\n});\r\n\r\nfunction SimpleCard(props) {\r\n const classes = useStyles();\r\n\r\n\r\n return (\r\n\r\n \r\n
\r\n {props.lessonTitle}\r\n
\r\n
\r\n\r\n\r\n );\r\n}","import { Grid } from '@material-ui/core';\r\nimport React, { useEffect, useMemo, useRef, useState } from 'react'\r\n\r\nimport debounce from 'lodash.debounce'\r\nimport throttle from 'lodash.throttle'\r\nimport { LessonService } from '../../_services/radacad-academy-lms/LessonService';\r\nimport { IGroupedLessons } from '../../_services/radacad-academy-lms/models/IGroupedLessons';\r\nimport { ILessonPublicDto } from '../../_services/radacad-academy-lms/models/ILessonPublicDto';\r\nimport { defaultPagenatedList, IPagenatedList } from '../../_services/radacad-academy-lms/models/IPagenatedList';\r\nimport CourseCardUI, { CourseForCard } from '../CoursePage/CourseCardComponent/CourseCardUIComponent/CourseCardUI';\r\nimport LessonCard from '../LessonPage/LessonCardComponent/LessonCard';\r\nimport { useCallback } from 'react';\r\nimport LinearProgress from '@material-ui/core/LinearProgress';\r\n\r\nexport function SearchPageLessonResult(props: {\r\n keyword: string,\r\n courses: CourseForCard[],\r\n resultCountCallback?: (resultCount: number) => void,\r\n notHidden?: boolean\r\n\r\n}) {\r\n const { keyword, courses, resultCountCallback, notHidden } = props;\r\n const [firstLoading, setFirstLoading] = useState(false);\r\n const [pagenatedGroupedLessons, setPagenatedGroupedLesson] = useState>(defaultPagenatedList);\r\n\r\n\r\n\r\n useEffect(() => {\r\n let count = 0;\r\n pagenatedGroupedLessons.items.forEach((groupedLessons) => {\r\n count += groupedLessons.lessonSearchResult.length\r\n })\r\n resultCountCallback && resultCountCallback(count);\r\n\r\n },\r\n [pagenatedGroupedLessons.items])\r\n\r\n\r\n\r\n const maxPageIndex = useRef(0);\r\n const handleDebounceLoadNew = useMemo(\r\n () => debounce((keyword: string) => {\r\n setFirstLoading(true)\r\n LessonService.searchGroupedLessons(keyword).then(\r\n data => {\r\n setPagenatedGroupedLesson(data);\r\n maxPageIndex.current = data.pageIndex;\r\n\r\n }\r\n\r\n ).finally(\r\n () => setFirstLoading(false)\r\n )\r\n }, 1500),\r\n [],\r\n )\r\n useEffect(() => {\r\n maxPageIndex.current = 0;\r\n handleDebounceLoadNew(keyword)\r\n }, [keyword, handleDebounceLoadNew]);\r\n\r\n\r\n\r\n\r\n const handleLoadMore = useCallback(\r\n () => {\r\n if ((document.documentElement.scrollTop + document.documentElement.clientHeight) / document.documentElement.scrollHeight > 0.85) {\r\n if (maxPageIndex.current > 0 &&\r\n Math.max(maxPageIndex.current, pagenatedGroupedLessons.pageIndex) < pagenatedGroupedLessons.totalPages\r\n ) {\r\n maxPageIndex.current = Math.max(maxPageIndex.current, pagenatedGroupedLessons.pageIndex) + 1\r\n LessonService.searchGroupedLessons(keyword, maxPageIndex.current).then(\r\n data => {\r\n setPagenatedGroupedLesson(page => { return { ...data, items: [...page.items, ...data.items] } });\r\n }\r\n )\r\n }\r\n\r\n }\r\n\r\n },\r\n [keyword, pagenatedGroupedLessons.pageIndex, pagenatedGroupedLessons.totalPages],\r\n )\r\n const throttleLoadMore = useMemo(\r\n () => throttle(() => {\r\n handleLoadMore();\r\n\r\n }, 2000)\r\n ,\r\n [handleLoadMore])\r\n useEffect(() => {\r\n if (notHidden) {\r\n\r\n window.addEventListener('scroll', throttleLoadMore);\r\n window.addEventListener('resize', throttleLoadMore);\r\n return () => {\r\n window.removeEventListener('scroll', throttleLoadMore)\r\n window.removeEventListener('resize', throttleLoadMore)\r\n }\r\n }\r\n }, [notHidden, throttleLoadMore])\r\n\r\n useEffect(() => {\r\n if (notHidden && maxPageIndex.current > 0) {\r\n\r\n let timeout = setTimeout(handleLoadMore, 2000)\r\n\r\n return () => {\r\n clearTimeout(timeout)\r\n }\r\n }\r\n }, [notHidden, handleLoadMore])\r\n\r\n\r\n\r\n\r\n\r\n const renderCourseCard = (course: CourseForCard) => {\r\n return \r\n }\r\n const renderLessonList = (lessons: ILessonPublicDto[]) => {\r\n return \r\n {\r\n\r\n lessons.map(\r\n (lesson: ILessonPublicDto) =>\r\n \r\n \r\n \r\n )\r\n }\r\n \r\n }\r\n const renderGroupedLesson = (groupedLessons: IGroupedLessons) => {\r\n return
\r\n {\r\n courses.find((course) => parseInt(course.courseId) === groupedLessons.courseId) &&\r\n renderCourseCard(courses.find((course) => parseInt(course.courseId) === groupedLessons.courseId)!)\r\n }\r\n {\r\n renderLessonList(groupedLessons.lessonSearchResult)\r\n }\r\n\r\n
\r\n }\r\n return (\r\n \r\n {firstLoading ?\r\n \r\n\r\n \r\n \r\n :\r\n <>\r\n\r\n {\r\n pagenatedGroupedLessons.items.map(\r\n (groupedLessons: IGroupedLessons) =>\r\n \r\n {renderGroupedLesson(groupedLessons)}\r\n \r\n )\r\n }\r\n {\r\n pagenatedGroupedLessons.pageIndex < pagenatedGroupedLessons.totalPages &&\r\n \r\n \r\n \r\n }}\r\n\r\n \r\n )\r\n}\r\n","import React, { Component } from 'react'\r\nimport { Grid, Chip } from '@material-ui/core';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { Dropdown } from 'semantic-ui-react'\r\nimport { CourseService } from '../../_services/radacad-academy-lms/CourseService';\r\n\r\n\r\nimport CourseCardUI from '../CoursePage/CourseCardComponent/CourseCardUIComponent/CourseCardUI';\r\nimport FullScreenLoadingProgress from '../_commons/FullScreenLoadingProgressComponent/FullScreenLoadingProgress';\r\nimport { SearchPageLessonResult } from './SearchPageLessonResult';\r\n\r\n\r\nconst options = [\r\n { key: 1, text: 'Publish Date Newest First', value: 1 },\r\n { key: 2, text: 'Publish Date Oldest First', value: 2 },\r\n { key: 3, text: 'Name From A to Z', value: 3 },\r\n { key: 4, text: 'Name From Z to A', value: 4 }\r\n]\r\n\r\nexport default class CourseSearch extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n firstChange: true,\r\n keyword: \"\",\r\n allCourses: [],\r\n searchResult: [],\r\n lessonResultCount: 0,\r\n defaultSearchOption: 1,\r\n currentSearchOption: 1,\r\n resultOption: 1\r\n }\r\n\r\n this.searchBarOnChangeHandler = this.searchBarOnChangeHandler.bind(this);\r\n this.dropdownChangeHandler = this.dropdownChangeHandler.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n CourseService.getAllCoursesForSearch(\r\n (data) => {\r\n this.setState({ allCourses: data, loading: false });\r\n this.getSearchResult(this.state.keyword);\r\n }\r\n );\r\n }\r\n\r\n searchBarOnChangeHandler(e) {\r\n const value = e.target.value;\r\n this.setState({ keyword: e.target.value, firstChange: false })\r\n\r\n\r\n this.getSearchResult(value)\r\n }\r\n dropdownChangeHandler(event, data) {\r\n this.setState({ currentSearchOption: data.value });\r\n this.sortSearchResult(this.state.searchResult, data.value);\r\n }\r\n\r\n\r\n getSearchResult(keyword) {\r\n let result = this.state.allCourses.filter(\r\n course => course.courseTitle.toLowerCase().includes(keyword.toLowerCase())\r\n );\r\n this.sortSearchResult(result, this.state.currentSearchOption);\r\n }\r\n sortSearchResult(resultToSort, option) {\r\n switch (option) {\r\n case 3:\r\n // //console.log(\"sort by name ascending\");\r\n this.setState(\r\n {\r\n searchResult:\r\n resultToSort.sort(function (a, b) {\r\n return ('' + a.courseTitle).localeCompare(b.courseTitle);\r\n })\r\n }\r\n )\r\n break;\r\n case 4:\r\n // //console.log(\"sort by name descending\");\r\n this.setState(\r\n {\r\n searchResult:\r\n resultToSort.sort(function (b, a) {\r\n return ('' + a.courseTitle).localeCompare(b.courseTitle);\r\n })\r\n }\r\n )\r\n break;\r\n case 1:\r\n // //console.log(\"sort by publish date new to old \");\r\n this.setState(\r\n {\r\n searchResult:\r\n resultToSort.sort(function (a, b) {\r\n return new Date(b.publishDate) - new Date(a.publishDate);\r\n })\r\n }\r\n )\r\n break;\r\n case 2:\r\n // //console.log(\"sort by publish date old to new \");\r\n this.setState(\r\n {\r\n searchResult:\r\n resultToSort.sort(function (a, b) {\r\n return new Date(a.publishDate) - new Date(b.publishDate);\r\n })\r\n }\r\n );\r\n break;\r\n default:\r\n }\r\n }\r\n\r\n\r\n render() {\r\n return this.state.loading ?\r\n \r\n :\r\n (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.state.resultOption === 1 &&\r\n \r\n Sort by: \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n \r\n { this.setState({ resultOption: 1 }) }}\r\n />\r\n {\r\n this.state.keyword === \"\" ?\r\n { this.setState({ resultOption: 2 }) }}\r\n />\r\n : { this.setState({ resultOption: 2 }) }}\r\n />\r\n }\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n\r\n \r\n )\r\n }\r\n}\r\n","import React, { Component } from 'react'\r\nimport { Redirect, Link } from 'react-router-dom';\r\n\r\n\r\nimport { Grid, Divider, Button, TextField } from '@material-ui/core';\r\nimport ArrowBackIosIcon from '@material-ui/icons/ArrowBackIos';\r\nimport FullScreenLoadingProgress from '../_commons/FullScreenLoadingProgressComponent/FullScreenLoadingProgress';\r\nimport LessonCard from '../LessonPage/LessonCardComponent/LessonCard';\r\n\r\nimport { AuthContext } from '../../_services/radacad-auth-react/Core/AuthContext';\r\nimport { CourseService } from '../../_services/radacad-academy-lms/CourseService'\r\nimport { LearnerService } from '../../_services/LearnerService';\r\n\r\n\r\nexport default class ModuleComponent extends Component {\r\n static contextType = AuthContext;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n courseId: this.props.match.params.CourseId,\r\n courseTitle: \"\",\r\n moduleList: [],\r\n lessonList: [],\r\n completionStatusList: [],\r\n loading: true,\r\n keywordForSearch: \"\"\r\n }\r\n this.searchBarOnChangeHandler = this.searchBarOnChangeHandler.bind(this);\r\n }\r\n componentDidMount() {\r\n if (this.state.courseId !== null) {\r\n CourseService.getCourseModulesWithOrderById(\r\n this.context.authState.accessToken,\r\n this.state.courseId,\r\n (data) => {\r\n //console.log(data);\r\n try {\r\n\r\n\r\n data.modules ?\r\n this.setState({ courseTitle: data.courseTitle, moduleList: data.modules, loading: false })\r\n : data.lessons ? this.setState({ courseTitle: data.courseTitle, lessonList: data.lessons, loading: false })\r\n : this.setState({ loading: false });\r\n\r\n\r\n if (this.context.authState.authenticated) {\r\n //console.log('send request to fetch learner progress');\r\n LearnerService.RequestAllLessonCompletionStatus(\r\n this.context.authState.accessToken,\r\n (data) => {\r\n try {\r\n //console.log(data);\r\n this.setState({ completionStatusList: data.lessonsCompleted });\r\n }\r\n catch {\r\n console.console(\"completion status error \");\r\n }\r\n\r\n }\r\n );\r\n }\r\n }\r\n catch {\r\n this.setState({ loading: false });\r\n console.console(\"Lesson list read error \");\r\n }\r\n }\r\n )\r\n\r\n }\r\n\r\n }\r\n\r\n renderLessonCards(lessonList) {\r\n lessonList = this.state.keywordForSearch === \"\" ?\r\n lessonList\r\n : lessonList.filter((lesson) => lesson.lessonTitle.toLowerCase().includes(this.state.keywordForSearch))\r\n return \r\n {\r\n lessonList.map((lesson, index) =>\r\n \r\n\r\n {\r\n this.context.authState.authenticated ?\r\n l.lessonId === lesson.lessonId)}\r\n />\r\n :\r\n \r\n }\r\n \r\n )\r\n }\r\n \r\n\r\n\r\n\r\n }\r\n searchBarOnChangeHandler(event) {\r\n this.setState({ keywordForSearch: event.target.value.toLowerCase() })\r\n }\r\n\r\n render() {\r\n if (this.state.courseId === null)\r\n return ()\r\n else\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n this.state.loading ?\r\n \r\n :\r\n (\r\n <>\r\n

{this.state.courseTitle}

\r\n\r\n {\r\n this.state.moduleList !== null && this.state.moduleList.length > 0\r\n ?\r\n this.state.moduleList.map(\r\n module =>\r\n\r\n \r\n\r\n \r\n \r\n

\r\n

\r\n\r\n
\r\n {\r\n module.lessons != null ?\r\n \r\n

{module.lessons.length} Lesson(s)

\r\n {\r\n this.renderLessonCards(module.lessons)\r\n }\r\n\r\n
:\r\n \r\n No lesson in this module\r\n \r\n }\r\n
\r\n )\r\n :\r\n this.state.lessonList !== null && this.state.lessonList.length > 0 ?\r\n (\r\n \r\n \r\n

{this.state.lessonList.length} Lesson(s)

\r\n
\r\n \r\n\r\n {\r\n this.renderLessonCards(this.state.lessonList)\r\n }\r\n\r\n \r\n
\r\n ) :\r\n (\r\n \r\n \r\n

There is no lesson found for this course

\r\n
\r\n
\r\n )\r\n }\r\n \r\n )\r\n }\r\n
\r\n
\r\n )\r\n }\r\n}\r\n","import React from 'react'\r\n\r\nexport default function NotFoundPage() {\r\n return (\r\n
\r\n Page Not Found\r\n
\r\n )\r\n}\r\n","\r\nconst GetPlayer = (iframe) => {\r\n try{\r\n return new window.Vimeo.Player(iframe);\r\n }catch{\r\n return null;\r\n }\r\n \r\n}\r\n\r\nconst GetPlaybackRateAsync = async (player) => {\r\n if (player)\r\n return await player.getPlaybackRate().then(function (playbackRate) {\r\n return playbackRate;\r\n });\r\n}\r\nconst GetCurrentTimeAsync = async (player) => {\r\n if (player)\r\n return await player.getCurrentTime().then(function (seconds) {\r\n return seconds;\r\n });\r\n}\r\n\r\nconst GetTextTracksAsync = async (player) => {\r\n if (player)\r\n return await player.getTextTracks().then(function (tracks) {\r\n return tracks;\r\n });\r\n}\r\nconst GetTextTracksActiveStatusAsync = async (player) => {\r\n if (player)\r\n return await player.getTextTracks().then(function (tracks) {\r\n return tracks[0]?.mode === \"showing\" ? true : false;\r\n });\r\n}\r\n\r\nconst GetVideoIdAsync = async (player) => {\r\n if (player)\r\n return await player.getVideoId().then(id => id);\r\n\r\n\r\n}\r\nconst GetPauseStateAsync = async (player) => {\r\n if (player)\r\n return await player.getPaused().then(paused => paused);\r\n}\r\nconst DisableTextTrack = async (player) => {\r\n if (player)\r\n player.disableTextTrack().then(() => { });\r\n}\r\n\r\n\r\nconst AddListenerToPlayer = (player, event, callback) => {\r\n if (player)\r\n player.on(event, callback);\r\n}\r\n\r\nconst RemoveListenerToPlayer = (player, event, callback) => {\r\n if (player)\r\n player.off(event, callback);\r\n}\r\n\r\nconst RemoveAllListenerToPlayer = (player, event) => {\r\n if (player)\r\n player.off(event);\r\n}\r\n\r\nconst PlayerReady = (player, callback) => {\r\n if (player)\r\n player.ready().then(callback);\r\n}\r\nconst SetCurrentTime = (player, timePosition, callback) => {\r\n\r\n if (player)\r\n player.setCurrentTime(timePosition ?? 0).then(\r\n function (seconds) {\r\n // `seconds` indicates the actual time that the player seeks to\r\n callback(seconds);\r\n }).catch(function (error) {\r\n switch (error.name) {\r\n case 'RangeError':\r\n // The time is less than 0 or greater than the video's duration\r\n break;\r\n\r\n default:\r\n // Some other error occurred\r\n break;\r\n }\r\n });\r\n}\r\n\r\nconst PlayerPlay = (player, callback) => {\r\n if (player)\r\n player\r\n .play()\r\n .then(callback)\r\n .catch(function (error) {\r\n //console.log(error);\r\n switch (error.name) {\r\n case 'PasswordError':\r\n // The video is password-protected\r\n break;\r\n\r\n case 'PrivacyError':\r\n // The video is private\r\n break;\r\n\r\n default:\r\n // Some other error occurred\r\n break;\r\n }\r\n });\r\n}\r\n\r\n\r\n\r\nexport const VimeoService = {\r\n GetPlayer,\r\n GetCurrentTimeAsync,\r\n GetPlaybackRateAsync,\r\n GetTextTracksAsync,\r\n GetVideoIdAsync,\r\n GetTextTracksActiveStatusAsync,\r\n GetPauseStateAsync,\r\n DisableTextTrack,\r\n\r\n AddListenerToPlayer,\r\n RemoveListenerToPlayer,\r\n RemoveAllListenerToPlayer,\r\n PlayerReady,\r\n SetCurrentTime,\r\n PlayerPlay\r\n}","import React, { useEffect, useRef, useState } from 'react';\r\nimport Button from '@material-ui/core/Button';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogContentText from '@material-ui/core/DialogContentText';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport LinearProgress from '@material-ui/core/LinearProgress'\r\nimport Moment from 'moment';\r\n\r\n\r\nimport { LearnerService } from '../../../_services/LearnerService';\r\nimport { VimeoService } from '../../../_services/vimeo-videoplayer/VimeoService';\r\n\r\n\r\ninterface IPlayerProps {\r\n lessonId: string;\r\n src: string;\r\n title: string;\r\n accessToken: string | null;\r\n autoStartPosition: number;\r\n completeLessonHandler: (() => void) | null;\r\n nextLessonNavigationHandler: (() => void) | null;\r\n}\r\ninterface IHistoryRecord {\r\n videoId: number | null,\r\n startTime: string | null,\r\n endTime: string | null,\r\n startPosition: number | null,\r\n speedRate: number | null,\r\n subtitle: boolean | null,\r\n isPlaying: boolean\r\n}\r\nconst dateFormatString = \"\";\r\nconst uploadVideoActionData = (token: string | null, lessonId: number, actionDataset: IHistoryRecord[], latestActionData: IHistoryRecord, autoStartSecond: number) => {\r\n\r\n if (latestActionData.isPlaying) {\r\n latestActionData.endTime = Moment(Date.now()).format(dateFormatString);\r\n actionDataset.push(Object.assign({}, latestActionData))\r\n }\r\n\r\n\r\n\r\n if (token !== null && actionDataset.length > 0)\r\n LearnerService.PostVideoActionHistory(token, lessonId, actionDataset, autoStartSecond, Moment(Date.now()).format(dateFormatString),\r\n (resp) => {\r\n\r\n },\r\n (err) => {\r\n\r\n })\r\n\r\n}\r\nexport default function LessonVideoPlayer(props: IPlayerProps) {\r\n\r\n\r\n const { accessToken, lessonId, autoStartPosition, nextLessonNavigationHandler, completeLessonHandler } = props;\r\n\r\n const [dialogOpen, setDialogOpen] = useState(false);\r\n let iFrameRef = useRef(null);\r\n\r\n\r\n useEffect(() => {\r\n let player = VimeoService.GetPlayer(iFrameRef.current);\r\n\r\n VimeoService.PlayerReady(player,\r\n () => {\r\n // The player is ready\r\n //console.log(\"The player is ready\");\r\n\r\n VimeoService.SetCurrentTime(player, autoStartPosition,\r\n (seconds: any) => {\r\n // `seconds` indicates the actual time that the player seeks to\r\n\r\n //console.log(`The player is set to ${seconds}`);\r\n // VimeoService.PlayerPlay(player, () => {\r\n // // The player is playing\r\n // //console.log(\"The player is playing\");\r\n\r\n // });\r\n })\r\n\r\n });\r\n }, [autoStartPosition])\r\n\r\n const autoStartSecondNextTime = useRef(autoStartPosition);\r\n\r\n useEffect(\r\n () => {\r\n\r\n if (accessToken) {\r\n\r\n let player = VimeoService.GetPlayer(iFrameRef.current);\r\n let playingHistoryNewRecord: IHistoryRecord = {\r\n videoId: null,\r\n startTime: null,\r\n endTime: null,\r\n startPosition: null,\r\n speedRate: null,\r\n subtitle: null,\r\n isPlaying: false\r\n\r\n };\r\n let playingHistoryRecordSet: IHistoryRecord[] = [];\r\n\r\n /**\r\n * Capture Vimeo Events\r\n * \r\n */\r\n const CatchHistoryAsync = async () => {\r\n\r\n playingHistoryNewRecord = {\r\n videoId: await VimeoService.GetVideoIdAsync(player) ?? 0,\r\n startTime: Moment(Date.now()).format(dateFormatString),\r\n endTime: Moment(Date.now()).format(dateFormatString),\r\n startPosition: await VimeoService.GetCurrentTimeAsync(player) ?? 0,\r\n speedRate: await VimeoService.GetPlaybackRateAsync(player) ?? 1,\r\n subtitle: await VimeoService.GetTextTracksActiveStatusAsync(player) ?? false,\r\n isPlaying: await VimeoService.GetPauseStateAsync(player) === false\r\n\r\n }\r\n\r\n\r\n const onPlay = (data: any) => {\r\n //update state\r\n if (playingHistoryNewRecord.isPlaying === false) {\r\n playingHistoryNewRecord.startTime = Moment(Date.now()).format(dateFormatString);\r\n playingHistoryNewRecord.startPosition = data.seconds;\r\n }\r\n\r\n playingHistoryNewRecord.isPlaying = true;\r\n\r\n }\r\n VimeoService.AddListenerToPlayer(player, 'play', onPlay);\r\n\r\n\r\n const onPause = (data: any) => {\r\n //update state\r\n playingHistoryNewRecord.endTime = Moment(Date.now()).format(dateFormatString);\r\n\r\n\r\n //insert new record\r\n //console.log(\"New Record-------->\");\r\n playingHistoryRecordSet.push(Object.assign({}, playingHistoryNewRecord));\r\n //console.log(playingHistoryRecordSet);\r\n\r\n //update after insert\r\n playingHistoryNewRecord.isPlaying = false;\r\n\r\n }\r\n VimeoService.AddListenerToPlayer(player, 'pause', onPause);\r\n\r\n VimeoService.AddListenerToPlayer(player, 'ended', () => {\r\n //console.log('ended');\r\n autoStartSecondNextTime.current = 0;\r\n if (nextLessonNavigationHandler) {\r\n setDialogOpen(true);\r\n }\r\n\r\n })\r\n\r\n VimeoService.AddListenerToPlayer(player, 'timeupdate', (data: any) => {\r\n ////console.log(data);\r\n autoStartSecondNextTime.current = data.seconds;\r\n if (data.percent > 0.95) {\r\n //console.log(\"complete\")\r\n if (completeLessonHandler)\r\n completeLessonHandler();\r\n }\r\n })\r\n\r\n const onSeeked = (data: any) => {\r\n //console.log('seeked');\r\n //console.log(playingHistoryNewRecord);\r\n\r\n\r\n if (playingHistoryNewRecord.isPlaying) {\r\n //update before insert \r\n playingHistoryNewRecord.endTime = Moment(Date.now()).format(dateFormatString);\r\n\r\n //insert new record\r\n //console.log(\"New Record-------->\");\r\n if (playingHistoryNewRecord.startTime !== playingHistoryNewRecord.endTime)\r\n playingHistoryRecordSet.push(Object.assign({}, playingHistoryNewRecord));\r\n //console.log(playingHistoryRecordSet);\r\n\r\n //update state after insert \r\n playingHistoryNewRecord.startTime = Moment(Date.now()).format(dateFormatString);\r\n }\r\n\r\n //reset state\r\n playingHistoryNewRecord.startPosition = data.seconds;\r\n autoStartSecondNextTime.current = data.seconds;\r\n\r\n\r\n }\r\n VimeoService.AddListenerToPlayer(player, 'seeked', onSeeked);\r\n\r\n\r\n const onSpeedChange = async (data: any) => {\r\n //console.log('playbackratechange the video');\r\n\r\n if (playingHistoryNewRecord.isPlaying) {\r\n //update before insert \r\n playingHistoryNewRecord.endTime = Moment(Date.now()).format(dateFormatString);\r\n\r\n //insert new record\r\n //console.log(\"New Record-------->\");\r\n playingHistoryRecordSet.push(Object.assign({}, playingHistoryNewRecord));\r\n //console.log(playingHistoryRecordSet);\r\n\r\n //update after insert \r\n playingHistoryNewRecord.startTime = Moment(Date.now()).format(dateFormatString);\r\n playingHistoryNewRecord.startPosition = await VimeoService.GetCurrentTimeAsync(player);\r\n }\r\n\r\n playingHistoryNewRecord.speedRate = data.playbackRate;\r\n }\r\n VimeoService.AddListenerToPlayer(player, 'playbackratechange', onSpeedChange);\r\n\r\n\r\n\r\n const onCaptionChange = async (data: any) => {\r\n //console.log('texttrackchange the video');\r\n //console.log(data);\r\n\r\n if (playingHistoryNewRecord.isPlaying) {\r\n //update before insert \r\n playingHistoryNewRecord.endTime = Moment(Date.now()).format(dateFormatString);\r\n\r\n //insert new record\r\n //console.log(\"New Record-------->\");\r\n playingHistoryRecordSet.push(Object.assign({}, playingHistoryNewRecord));\r\n //console.log(playingHistoryRecordSet);\r\n\r\n //update after insert \r\n playingHistoryNewRecord.startTime = Moment(Date.now()).format(dateFormatString);\r\n playingHistoryNewRecord.startPosition = await VimeoService.GetCurrentTimeAsync(player);\r\n }\r\n\r\n playingHistoryNewRecord.subtitle = data.label === null ? false : true;\r\n }\r\n VimeoService.AddListenerToPlayer(player, 'texttrackchange', onCaptionChange);\r\n\r\n\r\n }\r\n\r\n CatchHistoryAsync();\r\n\r\n\r\n\r\n const BeforeunloadHanlder = async (event: any) => {\r\n event.preventDefault();\r\n //console.log(\"trigger windows close\");\r\n await uploadVideoActionData(accessToken, parseInt(lessonId), playingHistoryRecordSet, playingHistoryNewRecord, autoStartSecondNextTime.current);\r\n //event.returnValue = \"close\";\r\n }\r\n window.addEventListener(\"beforeunload\", BeforeunloadHanlder);\r\n\r\n return () => {\r\n /**\r\n * no need to remove listener for Player if ing because player has been dismissed after rendering\r\n */\r\n //console.debug(\"exit log and push result\")\r\n VimeoService.RemoveAllListenerToPlayer(player, 'play');\r\n VimeoService.RemoveAllListenerToPlayer(player, 'ended');\r\n VimeoService.RemoveAllListenerToPlayer(player, 'pause');\r\n VimeoService.RemoveAllListenerToPlayer(player, 'seeked');\r\n VimeoService.RemoveAllListenerToPlayer(player, 'timeupdate');\r\n VimeoService.RemoveAllListenerToPlayer(player, 'playbackratechange');\r\n VimeoService.RemoveAllListenerToPlayer(player, 'texttrackchange');\r\n\r\n window.removeEventListener(\"beforeunload\", BeforeunloadHanlder);\r\n uploadVideoActionData(accessToken, parseInt(lessonId), playingHistoryRecordSet, playingHistoryNewRecord, autoStartSecondNextTime.current);\r\n\r\n\r\n\r\n }\r\n\r\n }\r\n }, [accessToken, lessonId, autoStartPosition, completeLessonHandler, nextLessonNavigationHandler]\r\n )\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nfunction AlertDialog(props: any) {\r\n\r\n const { continueHandler } = props;\r\n const [count, setCount] = useState(500);\r\n const handleClose = () => {\r\n props.setOpen(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (props.open) {\r\n\r\n //console.log('add interval');\r\n\r\n let interval = setInterval(() => {\r\n setCount(count => --count);\r\n }, 10)\r\n\r\n return () => {\r\n clearInterval(interval);\r\n //console.log('clear interval')\r\n setCount(500);\r\n\r\n\r\n }\r\n }\r\n\r\n }, [props.open])\r\n useEffect(() => {\r\n if (count <= 0) {\r\n if (continueHandler)\r\n continueHandler();\r\n }\r\n }, [count, continueHandler]);\r\n\r\n return (\r\n
\r\n \r\n {\"Lesson Completed\"}\r\n \r\n \r\n Auto start next lesson in {Math.ceil(count / 100)}s\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n
\r\n );\r\n}","import { HttpHelper } from \"../../_commons/Helpers/HttpHelper\";\r\nimport { LMSMaterialLinkHandler } from \"../Common/Handlers\";\r\nimport { LMSMaterialLinkType } from \"../Common/Types\";\r\n\r\nconst GetMaterialLink = (moduleId: number | string, token: string | null): Promise => {\r\n let api = `api/Module/MaterialLink/${moduleId}`;\r\n return LMSMaterialLinkHandler(HttpHelper.Get(api, token));\r\n\r\n}\r\nexport const ModuleService = {\r\n GetMaterialLink\r\n}","import CircularProgress from '@material-ui/core/CircularProgress/CircularProgress'\r\n\r\n\r\nexport const LoadingAnimation = CircularProgress\r\n","\r\nimport { HttpHelper } from \"../_commons/Helpers/HttpHelper\";\r\nconst uploadApi = \"api/FileStorage/upload\"\r\nfunction getUploadOption(token: string, isPublic?: boolean) {\r\n return {\r\n action: uploadApi + (isPublic === true ? \"?isPublic=true\" : \"\"),\r\n headers: HttpHelper.CreateHeaderForAuthorization(token),\r\n onSuccess: (resp: any, file: any, xhr: any) => {\r\n alert(\"Upload succeed!\");\r\n },\r\n onError:\r\n (err: any, ret: any, file: any) => {\r\n alert(err);\r\n }\r\n }\r\n}\r\n\r\n\r\nexport interface IBlobUploadOption {\r\n clientUrl: string,\r\n containerName: string,\r\n blobName: string,\r\n sasToken: string\r\n}\r\nfunction getBlobUploadOption(fileName: string, token: string, accessType?: \"Public\" | \"Private\"): Promise {\r\n // const api = `api/FileStorage/uploadOption?${accessType ? ` fileName=123.png` : \"\"}`;\r\n // const api = `api/FileStorage/uploadOption?fileName=${fileName} & accessType=1`;\r\n const api = `api/FileStorage/uploadOption/${accessType===\"Public\"?\"Public\":\"Private\"}?fileName=${fileName}`;\r\n return HttpHelper.Get(api, token).then(\r\n async (resp) => {\r\n if (resp.status === 200) {\r\n let result: IBlobUploadOption = await resp.json();\r\n return result;\r\n } else {\r\n return null;\r\n }\r\n }\r\n ).catch(\r\n (e) => {\r\n return null;\r\n }\r\n )\r\n}\r\n\r\nconst sasApi = \"api/FileStorage/temporyPublicUrl\"\r\nfunction getTemporayDownloadUrl(url: string, token: string): Promise {\r\n return HttpHelper.Get(`${sasApi}?url=${url}`, token).then(\r\n async (resp) => {\r\n if (resp.status === 200) {\r\n let result = await resp.text();\r\n return result ?? null;\r\n } else {\r\n return null;\r\n }\r\n }\r\n ).catch(\r\n (e) => {\r\n return null;\r\n }\r\n )\r\n}\r\n\r\nexport const FileStorageService = {\r\n getUploadOption,\r\n getBlobUploadOption,\r\n getTemporayDownloadUrl\r\n}\r\n","import React from \"react\";\r\nimport { useRef } from \"react\";\r\nimport { FileStorageService } from \"../../_services/FileStorageService\";\r\nimport { useRadacadAuth } from \"../../_services/radacad-auth-react/Core/useRadacadAuth\";\r\n\r\nexport function PrivateResourceLink(props: { href: string, children: JSX.Element, className?: string }) {\r\n const { href, children, className } = props;\r\n\r\n const { authState: { accessToken } } = useRadacadAuth();\r\n\r\n const aRef = useRef(null);\r\n const handleDownloadClick = async (url: string, token: string, e?: React.MouseEvent,) => {\r\n\r\n let downloadUrl = await FileStorageService.getTemporayDownloadUrl(url, token);\r\n\r\n if (downloadUrl !== null) {\r\n aRef!.current!.href = downloadUrl;\r\n aRef!.current?.click();\r\n } else {\r\n //handle error\r\n alert(\"fetch resource error\")\r\n\r\n }\r\n }\r\n\r\n return accessToken ?\r\n <>\r\n {\r\n // eslint-disable-next-line jsx-a11y/anchor-is-valid \r\n \r\n Download\r\n \r\n }\r\n\r\n {\r\n React.cloneElement(\r\n children,\r\n {\r\n onClick: (e: any) => handleDownloadClick(href, accessToken, e)\r\n }\r\n )\r\n }\r\n\r\n \r\n :\r\n <>\r\n}","import { Button } from \"@material-ui/core\";\r\nimport React, { } from \"react\";\r\nimport { LMSMaterialLinkType } from \"../../../_services/Common/Types\";\r\nimport { PrivateResourceLink } from \"../../_commons/PrivateResourceLink\";\r\n\r\nexport function LMSMaterialDownloadButton(props: { lmsMaterialLink: LMSMaterialLinkType, activeColor?: string, children: any, className?: string }) {\r\n const { lmsMaterialLink, children, className } = props;\r\n\r\n\r\n const unauthorizedHintText = \"Only available for members or who have purchased this course\";\r\n\r\n return lmsMaterialLink === \"NOT_FOUND\" ? <>\r\n : lmsMaterialLink === \"NOT_AUTHORISED\" ?\r\n \r\n :\r\n \r\n \r\n \r\n}","import { makeStyles } from '@material-ui/core';\r\nexport const useMaterialDownloadDivStyles = makeStyles({\r\n root: {\r\n display: \"flex\",\r\n flexWrap: 'wrap',\r\n alignContent: \"center\"\r\n },\r\n downloadText: {\r\n fontSize: \"x-large\"\r\n },\r\n downloadBtnWrapper: {\r\n marginLeft: \"5px\"\r\n },\r\n \r\n courseMaterialBtn: {\r\n backgroundColor: \"#F6763C\",\r\n \"&:hover\": {\r\n backgroundColor: \"#ff9e73\"\r\n }\r\n },\r\n moduleMaterialBtn: {\r\n backgroundColor: \"#1C7A84\",\r\n \"&:hover\": {\r\n backgroundColor: \"#4cc0cc\"\r\n }\r\n },\r\n lessonMaterialBtn: {\r\n backgroundColor: \"#064934\",\r\n \"&:hover\": {\r\n backgroundColor: \"#17956e\"\r\n }\r\n }\r\n})","import GetAppIcon from '@material-ui/icons/GetApp';\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { LMSMaterialLinkType } from \"../../../_services/Common/Types\";\r\nimport { CourseService } from \"../../../_services/radacad-academy-lms/CourseService\";\r\nimport { LessonService } from \"../../../_services/radacad-academy-lms/LessonService\";\r\nimport { ModuleService } from \"../../../_services/radacad-academy-lms/ModuleService\";\r\nimport { useRadacadAuth } from '../../../_services/radacad-auth-react/Core/useRadacadAuth';\r\nimport { LoadingAnimation } from \"../../_commons/LoadingAnimation\";\r\nimport { LMSMaterialDownloadButton } from \"./LMSMaterialDownloadButton\";\r\nimport { useMaterialDownloadDivStyles } from \"./MaterialDownloadDiv.style\";\r\n\r\nexport default function MaterialDownloadDiv(props: {\r\n courseId: string | number,\r\n moduleId: string | number | null,\r\n lessonId: string | number\r\n}): JSX.Element {\r\n const { courseId, moduleId, lessonId } = props;\r\n const { authState: { accessToken } } = useRadacadAuth();;\r\n const classes = useMaterialDownloadDivStyles();\r\n const [_courseMaterialLink, setCourseMaterialLink] = useState(undefined);\r\n const [_moduleMaterialLink, setModuleMaterialLink] = useState(undefined);\r\n const [_lessonMaterialLink, setLessonMaterialLink] = useState(undefined);\r\n\r\n\r\n //fetch course material links\r\n useEffect(() => {\r\n function fetchCourseMaterialLink() {\r\n CourseService.GetMaterialLink(courseId, accessToken).then((value: LMSMaterialLinkType) => {\r\n setCourseMaterialLink(value)\r\n })\r\n }\r\n fetchCourseMaterialLink();\r\n\r\n }, [accessToken, courseId])\r\n //fetch module material links\r\n useEffect(() => {\r\n function fetchModuleMaterialLink() {\r\n if (moduleId)\r\n ModuleService.GetMaterialLink(moduleId, accessToken).then((value: LMSMaterialLinkType) => {\r\n setModuleMaterialLink(value)\r\n })\r\n else\r\n setModuleMaterialLink(\"NOT_FOUND\")\r\n }\r\n fetchModuleMaterialLink();\r\n }, [accessToken, moduleId])\r\n //fetch lesson material links\r\n useEffect(() => {\r\n function fetchLessonMaterialLink() {\r\n LessonService.GetMaterialLink(lessonId, accessToken).then((value: LMSMaterialLinkType) => {\r\n setLessonMaterialLink(value)\r\n })\r\n }\r\n fetchLessonMaterialLink();\r\n }, [accessToken, lessonId])\r\n\r\n return !accessToken ? <>\r\n :
\r\n {\r\n _courseMaterialLink === undefined ? \r\n :\r\n
\r\n \r\n Course Material\r\n \r\n \r\n
\r\n }\r\n {\r\n _moduleMaterialLink === undefined ? \r\n :\r\n
\r\n \r\n Module Material\r\n \r\n \r\n
\r\n }\r\n {\r\n _lessonMaterialLink === undefined ? \r\n :\r\n
\r\n \r\n Lesson Material\r\n \r\n \r\n
\r\n }\r\n
\r\n}\r\n","import React, { useState, useEffect, useMemo, useCallback, useRef } from 'react'\r\nimport { Button, Grid, makeStyles } from '@material-ui/core';\r\n\r\nimport { LessonService } from '../../../_services/radacad-academy-lms/LessonService';\r\nimport { LearnerService } from '../../../_services/LearnerService';\r\n\r\nimport PurchaseCourseCards from './PurchaseCourseCards'\r\nimport LessonVideoPlayer from './LessonVideoPlayer';\r\nimport FullScreenLoadingProgress from '../../_commons/FullScreenLoadingProgressComponent/FullScreenLoadingProgress';\r\nimport MaterialDownloadDiv from './MaterialDownloadDiv';\r\nimport { useRadacadAuth } from '../../../_services/radacad-auth-react/Core/useRadacadAuth';\r\n\r\n\r\nconst useStyle = makeStyles({\r\n materialText: {\r\n '& *': {\r\n fontSize: '20px !important'\r\n }\r\n }\r\n});\r\n\r\nexport default function LessonVideoFrame(props: {\r\n lessonHeader: { courseId: number, lessonId: string, moduleId: number | string | null, lessonTitle: string, isPreview: boolean },\r\n nextLessonNavigationHandler?: () => void\r\n}) {\r\n\r\n const { lessonHeader, nextLessonNavigationHandler } = props;\r\n const { authState: { authenticated: userAuthenticated, accessToken } } = useRadacadAuth();\r\n const classes = useStyle();\r\n\r\n const [_lessonResource, setLessonResource] = useState({\r\n lessonURL: \"\",\r\n lessonMaterial: \"\",\r\n completed: false,\r\n autoStartPosition: 0,\r\n success: false,\r\n errors: []\r\n })\r\n const [_completed, setCompleted] = useState(false);\r\n const [_isLoading, setIsLoading] = useState(true);\r\n\r\n\r\n useEffect(() => {\r\n\r\n if (props.lessonHeader.isPreview) {\r\n LessonService.RequestPreviewLessonResource(\r\n accessToken,\r\n props.lessonHeader.lessonId,\r\n (data) => {\r\n //console.log(data);\r\n setCompleted(data.completed);\r\n setLessonResource(data);\r\n setIsLoading(false);\r\n });\r\n } else if (userAuthenticated && accessToken) {\r\n LessonService.RequestMemberLessonResource(\r\n props.lessonHeader.lessonId,\r\n (data) => {\r\n //console.log(data);\r\n setCompleted(data.completed);\r\n setLessonResource(data);\r\n setIsLoading(false);\r\n },\r\n accessToken)\r\n }\r\n }, []);\r\n\r\n\r\n\r\n //make sure the button clickable only once\r\n let clickable = useRef(true);\r\n const completeLessonHandler = useCallback(\r\n () => {\r\n if (!clickable.current || _completed) {\r\n return;\r\n }\r\n //console.log(\"complete handler\")\r\n clickable.current = false;\r\n setCompleted(true);\r\n\r\n accessToken &&\r\n LearnerService.AddCompletedLesson(\r\n accessToken,\r\n lessonHeader.lessonId,\r\n (data) => {\r\n // console.log(data);\r\n if (data.success) {\r\n setCompleted(true);\r\n } else {\r\n setCompleted(false);\r\n }\r\n\r\n }\r\n\r\n )\r\n },\r\n [_completed, accessToken, lessonHeader.lessonId]);\r\n\r\n const renderVideoPlayer = useMemo(\r\n () => ,\r\n [_completed, _lessonResource.autoStartPosition, _lessonResource.lessonURL, completeLessonHandler, accessToken, lessonHeader, nextLessonNavigationHandler])\r\n\r\n\r\n\r\n\r\n return (!props.lessonHeader.isPreview && !userAuthenticated) ?\r\n
\r\n
\r\n

\r\n This is not a preview lesson, Please login or choose one of options below to get access of this course.\r\n

\r\n
\r\n \r\n
\r\n :\r\n (_lessonResource.success && !_isLoading) ?\r\n (\r\n \r\n \r\n {renderVideoPlayer}\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {userAuthenticated && _completed ?\r\n \r\n :\r\n \r\n In Progress\r\n \r\n }\r\n \r\n\r\n\r\n \r\n
\r\n\r\n\r\n \r\n )\r\n : !_isLoading ?\r\n
{_lessonResource.errors.map(\r\n (e, index) =>
\r\n
\r\n

\r\n {e === 'Resource Unauthorized' ? \"You don't have access to watch this lesson. To get access, choose one of options below.\"\r\n : e === 'Free Trial User Maximum Watch Reached' ?\r\n \"You have reached the limitation of 10 hours video-content-watch for the free trial. You can renew your subscription early and access the content without any limitations using the button below.\"\r\n : e}\r\n

\r\n
\r\n \r\n
\r\n\r\n )}
:\r\n \r\n}\r\n\r\n","import React, { useState } from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles'\r\nimport Moment from 'moment';\r\n\r\nimport MessageList from '../../MessagePage/MessageList';\r\nimport HTMLTextDiv from '../../MessagePage/HTMLTextDiv';\r\n\r\ninterface IChatBoxProps {\r\n messages: (IMessage | ITempMessage)[],\r\n isLoading: boolean,\r\n user: IMessageUser,\r\n onSubmit: (message: string) => void\r\n renderMessage?: (messages: IMessage[], user: IMessageUser) => void,\r\n typingListner?: () => void,\r\n typingIndicator?: JSX.Element,\r\n\r\n}\r\nexport interface IMessage {\r\n \"text\": string,\r\n \"id\": string,\r\n \"datetime\": string,\r\n \"readDatetime\": string | null,\r\n \"sender\": {\r\n \"name\": string,\r\n \"uid\": string,\r\n \"avatar\"?: string,\r\n }\r\n}\r\nexport interface IMessageUser {\r\n \"uid\": string\r\n}\r\n\r\nexport interface ITempMessage {\r\n // index:number,\r\n messageText: string,\r\n tempMessageState: ITempMessageStateType\r\n}\r\nexport enum ITempMessageStateType {\r\n sending = \"Sending\",\r\n failed = \"Failed to send\"\r\n\r\n}\r\n\r\n\r\nChatBox.defaultProps = {\r\n messages: [],\r\n user: {\r\n \"uid\": \"user1\"\r\n },\r\n isLoading: false,\r\n onSubmit: (message: string) => console.log(message)\r\n};\r\n\r\n\r\nexport default function ChatBox(props: IChatBoxProps) {\r\n //console.log(props)\r\n const classes = useStyles();\r\n let { messages, isLoading, user } = props;\r\n\r\n const [_message, setMessage] = useState('');\r\n\r\n\r\n const HandleSendMessage = (event: React.FormEvent) => {\r\n event.preventDefault();\r\n\r\n props.onSubmit(_message);\r\n\r\n\r\n setMessage('');\r\n\r\n }\r\n const HandleChangeMessage = (event: React.ChangeEvent) => {\r\n setMessage(event.target.value)\r\n }\r\n\r\n\r\n const renderTempMessage = (tempMessage: ITempMessage) => {\r\n\r\n let isUser = true;\r\n return (\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n \r\n \r\n
\r\n\r\n
\r\n {tempMessage.tempMessageState}\r\n\r\n \r\n \r\n )\r\n }\r\n\r\n const renderQuestionMessage = (message: IMessage, user: IMessageUser) => {\r\n\r\n\r\n let isUser = user.uid === message.sender.uid;\r\n\r\n\r\n return (\r\n \r\n \r\n
{isUser ? 'Me' : `${message.sender.name}(Coach)`}
\r\n \r\n {Moment(new Date(message.datetime)).format('YYYY-MM-DD h:mm:ss')}\r\n\r\n \r\n
\r\n\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n );\r\n\r\n\r\n }\r\n\r\n\r\n const HandleRenderMessageList = (messages: (IMessage | ITempMessage)[], user: IMessageUser) => {\r\n\r\n return messages.map((message: any, index) => {\r\n\r\n return
\r\n {\r\n message.tempMessageState ?\r\n renderTempMessage(message)\r\n : renderQuestionMessage(message, user)\r\n }\r\n
\r\n\r\n })\r\n\r\n\r\n }\r\n\r\n const HandleRenderEmptyContent = () => {\r\n return (\r\n
\r\n

Have any question about this lesson?

\r\n
\r\n Send your question\r\n
\r\n
\r\n )\r\n }\r\n\r\n\r\n\r\n\r\n return (\r\n
\r\n
\r\n HandleRenderMessageList(messages, user)}\r\n EmptyContentTitle={'Have any question about this lesson?'}\r\n EmptyContentSubTitle={'Send messages below.'}\r\n />\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\n\r\nconst useStyles = makeStyles({\r\n chatBox: {\r\n position: 'relative',\r\n letterSpacing: '0.5px',\r\n padding: '0 !important',\r\n boxSizing: 'border-box',\r\n\r\n '& ': {\r\n backgroundColor: '#333232 !important'\r\n }\r\n },\r\n\r\n msgPage: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n height: '584px',\r\n overflowY: 'auto',\r\n overflowX: 'hidden',\r\n marginBottom: '2px',\r\n },\r\n formControl: {\r\n border: 'none !important',\r\n backgroundColor: '#555 !important',\r\n resize: 'none',\r\n '&.focused': {\r\n\r\n borderColor: 'none !important',\r\n boxShadow: 'none !important',\r\n\r\n borderRadius: '20px'\r\n }\r\n\r\n },\r\n\r\n datetime: {\r\n fontSize: '7px',\r\n opacity: '0.7'\r\n }\r\n})","\r\nimport { HttpHelper } from '../../_commons/Helpers/HttpHelper'\r\n\r\n\r\nexport interface ILessonMessageModel {\r\n messageId: number,\r\n senderId: number,\r\n senderName: string,\r\n receiverId: number,\r\n datetime: string,\r\n replyId: number | null,\r\n messageContent: string,\r\n readDatetime: string | null\r\n}\r\nconst GetLessonMessageList = (token: string, lessonId: number): Promise => {\r\n return HttpHelper.Get(`api/ChatMessage/LessonMessageList?lessonId=${lessonId}`, token);\r\n}\r\n\r\n\r\n\r\ninterface ILessonMessageRequest {\r\n LessonId: number,\r\n Datetime: string,\r\n ReplyId?: number | null,\r\n MessageContent: string,\r\n}\r\n//private\r\nconst PostLessonMessage = (token: string, dataModel: ILessonMessageRequest, respHandler?: (resp: any) => void,\r\n errorHandler?: (e: any) => void): Promise => {\r\n return HttpHelper.PostJSON(`api/ChatMessage/LessonMessage`, dataModel, token);\r\n}\r\n\r\n\r\nexport interface HistoryMessageModel {\r\n messageId: number,\r\n senderId: number,\r\n senderName: string,\r\n receiverId: number,\r\n datetime: string,\r\n replyId: number | null,\r\n messageContent: string,\r\n lesson: {\r\n lessonId: number,\r\n lessonTitle: string\r\n } | null,\r\n course: {\r\n courseId: number,\r\n courseTitle: string\r\n },\r\n title: string | null,\r\n readDatetime: string | null\r\n\r\n}\r\n//private\r\nconst GetHistoryMessageList = (chatTargetUserId: string | undefined, token: string): Promise => {\r\n return HttpHelper.JsonResponse(HttpHelper.Get(`api/ChatMessage/HistoryMessageList${chatTargetUserId ? `?chatTargetUserId=${chatTargetUserId}` : \"\"}`, token));\r\n}\r\n\r\ninterface IReplyMessageRequest {\r\n LessonId: number,\r\n Datetime: string,\r\n ReplyId: number,\r\n MessageContent: string,\r\n\r\n CourseId: number,\r\n ReceiverId: number,\r\n Title?: string\r\n}\r\n//private\r\nconst PostReplyMessage = (token: string, dataModel: IReplyMessageRequest, respHandler?: (resp: any) => void, errorHandler?: (e: any) => void): Promise => {\r\n let api = `api/ChatMessage/ReplyMessage`;\r\n return HttpHelper.PostJSON(api, dataModel, token);\r\n}\r\n\r\n\r\n\r\n\r\ninterface INewReadMessageRequest {\r\n MessageIds: number[]\r\n}\r\n//private\r\nconst PostNewReadMessage = (\r\n token: string,\r\n bodydata: INewReadMessageRequest,\r\n respHandler: (resp: any) => void,\r\n errorHandler: (e: any) => void,\r\n finalHandler?: () => void\r\n): void => {\r\n HttpHelper.PostJSON('api/ChatMessage/PostNewReadMessage', bodydata, token)\r\n .then(\r\n resp => {\r\n respHandler(resp);\r\n })\r\n .catch(\r\n err => {\r\n errorHandler(err)\r\n }\r\n ).finally(\r\n finalHandler\r\n );\r\n}\r\n\r\n\r\nexport interface GetUnreadMessageCountData {\r\n unreadMessageCount: number\r\n}\r\n//private\r\nconst GetUnreadMessageCount = (token: string, respSuccessHandler: (resp: any) => void,\r\n respFailedHandler?: (resp: any) => void, errorHandler?: (err: any) => void) => {\r\n\r\n HttpHelper.Get('api/ChatMessage/GetUnreadMessageCount', token)\r\n .then(\r\n resp => {\r\n if (resp.status === 200) {\r\n respSuccessHandler(resp)\r\n } else {\r\n if (respFailedHandler)\r\n respFailedHandler(resp);\r\n }\r\n }\r\n ).catch(err => {\r\n if (errorHandler)\r\n errorHandler(err)\r\n });\r\n}\r\n\r\n\r\ninterface IChatConversationHeaderMessage {\r\n messageContent: string,\r\n messageDateTime: Date\r\n}\r\nexport interface IChatConversationHeader {\r\n targetUser: {\r\n userId: string,\r\n userName?: string\r\n },\r\n latestMessageSent: IChatConversationHeaderMessage | null\r\n latestMessageReceived: IChatConversationHeaderMessage | null,\r\n unreadMessageCount: number\r\n}\r\nconst getChatConversationHeaders = async (token: string) => {\r\n return await HttpHelper.JsonResponse(HttpHelper.Get('api/ChatMessage/ConversationHeaders', token));\r\n}\r\n\r\nexport const ChatMessageService = {\r\n //private\r\n PostLessonMessage,\r\n PostReplyMessage,\r\n GetLessonMessageList,\r\n GetHistoryMessageList,\r\n PostNewReadMessage,\r\n GetUnreadMessageCount,\r\n getChatConversationHeaders\r\n}","import React, { useEffect, useRef } from 'react';\r\n\r\n\r\n// export interface IMessage{\r\n// \"text\": string,\r\n// \"id\": string,\r\n// \"sender\": {\r\n// \"name\": string,\r\n// \"uid\": string,\r\n// \"avatar\"?: string,\r\n// }\r\n// }\r\n// export interface IMessageUser{\r\n// \"uid\":string\r\n// }\r\n\r\n\r\n// interface IChatBoxProps {\r\n// messages: IMessage[],\r\n// isLoading: boolean,\r\n// user: IMessageUser,\r\n// onSubmit: (message: string)=>void\r\n// renderMessage?: () => void,\r\n// typingListner?: () => void,\r\n// typingIndicator?: JSX.Element,\r\n\r\n// }\r\n\r\n\r\nexport default function MessageList(props) {\r\n\r\n const { isLoading, messages, user, renderMessage, renderNoMessage, EmptyContentTitle, EmptyContentSubTitle, renderLoadingMessage } = props;\r\n\r\n const bottomDivRef = useRef(null);\r\n\r\n useEffect(() => {\r\n if (!isLoading && messages.length) {\r\n if (bottomDivRef && bottomDivRef.current) {\r\n // bottomDivRef.current.scrollIntoView({ behavior: 'smooth' });\r\n bottomDivRef.current.scrollIntoView();\r\n }\r\n }\r\n\r\n }, [isLoading, messages]);\r\n\r\n let chatContent = renderLoadingMessage ? renderLoadingMessage()\r\n : (\r\n
\r\n Loading Messages\r\n
\r\n );\r\n\r\n if (!isLoading && !messages.length) {\r\n chatContent = renderNoMessage ? renderNoMessage()\r\n : (\r\n
\r\n\r\n
\r\n

{EmptyContentTitle ?? 'No new message?'}

\r\n \r\n {EmptyContentSubTitle ?? 'Send your first message below.'}\r\n \r\n
\r\n
\r\n );\r\n }\r\n else if (!isLoading && messages.length) {\r\n chatContent = renderMessage ? renderMessage(messages, user)\r\n : messages.map((message, index) => {\r\n\r\n let isUser = user.uid === message.sender.uid;\r\n let renderName;\r\n if (isUser) {\r\n renderName = null;\r\n } else {\r\n renderName =
{message.sender.name}
;\r\n }\r\n return (\r\n \r\n \r\n
\r\n {renderName}\r\n \r\n {message.text}\r\n
\r\n \r\n \r\n );\r\n\r\n });\r\n\r\n }\r\n return (\r\n < >\r\n {chatContent}\r\n
\r\n \r\n );\r\n\r\n}\r\n","import React from 'react'\r\n\r\nexport default function HTMLTextDiv(props: { messageText: string, style?:React.CSSProperties }) {\r\n const { messageText ,style} = props;\r\n\r\n return (\r\n \r\n )\r\n}\r\n","import React, { useState, useEffect, useContext } from 'react'\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n\r\n\r\nimport { ChatMessageService, ILessonMessageModel } from '../../../_services/radacad-academy-message/ChatMessageService';\r\nimport ChatBox, { IMessage, ITempMessage, ITempMessageStateType } from './ChatBox';\r\nimport Moment from 'moment';\r\nimport { AcademyContext } from '../../../_contexts/UserContext';\r\n\r\n\r\n\r\ninterface ILessonMessageTabProps {\r\n userId: string,\r\n lessonInfo: {\r\n courseId: number,\r\n lessonId: number\r\n }\r\n\r\n}\r\ninterface IErrorState {\r\n error: boolean,\r\n errorMessage: string\r\n}\r\n\r\nexport default function LessonMessageTab(props: ILessonMessageTabProps) {\r\n\r\n let _loginContext = useContext(AcademyContext);\r\n\r\n let lessonId: number = typeof (props.lessonInfo.lessonId) === 'number' ? props.lessonInfo.lessonId : parseInt(props.lessonInfo.lessonId);\r\n\r\n const [_isLoading, setIsLoading] = useState(true);\r\n const [_messageList, setMessageList] = useState<(IMessage | ITempMessage)[]>([]);\r\n const [_errorState, setErrorState] = useState({ error: false, errorMessage: \"\" });\r\n\r\n\r\n\r\n //init the Message List\r\n useEffect(() => {\r\n\r\n //currently no need to reset state when re-render \r\n ChatMessageService.GetLessonMessageList(_loginContext.loginState.accessToken!, lessonId)\r\n .then(\r\n async (resp) => {\r\n //console.log(resp);\r\n if (resp.status === 200) {\r\n\r\n\r\n let data: ILessonMessageModel[] = await resp.json();\r\n\r\n //console.log(data);\r\n let newMessagelist: IMessage[] = [];\r\n data.forEach(\r\n (m: ILessonMessageModel) =>\r\n newMessagelist.push({\r\n text: m.messageContent,\r\n id: String(m.messageId),\r\n datetime: m.datetime,\r\n readDatetime: m.readDatetime,\r\n sender: {\r\n \"name\": m.senderName,\r\n \"uid\": m.senderId + \"\"\r\n\r\n }\r\n })\r\n )\r\n //console.log(newMessagelist)\r\n newMessagelist.sort((a, b) => { return (new Date(a.datetime)).getTime() - (new Date(b.datetime)).getTime() })\r\n setMessageList(newMessagelist);\r\n\r\n let currentUserIdNumber: number = parseInt(props.userId);\r\n let unreadMessageIds = data.filter(\r\n (message: ILessonMessageModel) => {\r\n return message.readDatetime === null && message.receiverId === currentUserIdNumber\r\n }\r\n ).map(\r\n (message: ILessonMessageModel): number => {\r\n return message.messageId;\r\n }\r\n )\r\n\r\n if (unreadMessageIds.length > 0) {\r\n ChatMessageService.PostNewReadMessage(\r\n _loginContext.loginState.accessToken!,\r\n { MessageIds: unreadMessageIds },\r\n (resp) => {\r\n if (resp.status === 200) {\r\n _loginContext.setUnreadCount((count: number) => { return Math.max(0, count - unreadMessageIds.length) });\r\n }\r\n },\r\n (err) => {\r\n\r\n }\r\n )\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n else if (resp.status === 401) {\r\n setErrorState(\r\n {\r\n error: true,\r\n errorMessage: \"This feature will be avaiable when you have an active Academy membership or purchased this course\"\r\n }\r\n )\r\n }\r\n\r\n }\r\n\r\n ).catch(\r\n err => {\r\n //console.log(err)\r\n }\r\n ).finally(\r\n (): void => {\r\n\r\n setIsLoading(false);\r\n }\r\n )\r\n\r\n }, [])\r\n\r\n\r\n\r\n\r\n\r\n const HandleMessageSubmit = (newMessageString: string): void => {\r\n\r\n let tempSendingMessage: ITempMessage = {\r\n messageText: newMessageString,\r\n tempMessageState: ITempMessageStateType.sending\r\n }\r\n let tempFailedMessage: ITempMessage = {\r\n messageText: newMessageString,\r\n tempMessageState: ITempMessageStateType.failed\r\n }\r\n\r\n setMessageList((messages): (IMessage | ITempMessage)[] => [...messages, tempSendingMessage]);\r\n\r\n\r\n\r\n ChatMessageService.PostLessonMessage(\r\n _loginContext.loginState.accessToken!,\r\n {\r\n LessonId: lessonId,\r\n Datetime: Moment(Date.now()).format(\"\"),\r\n MessageContent: newMessageString\r\n }\r\n\r\n ).then(\r\n (resp) => {\r\n //console.log(resp);\r\n return resp.json();\r\n }\r\n\r\n ).then(\r\n (data: ILessonMessageModel) => {\r\n //console.log(data);\r\n setMessageList(messageList =>\r\n [...messageList.filter(m => m !== tempSendingMessage),\r\n {\r\n \"text\": data.messageContent,\r\n \"id\": String(data.messageId),\r\n \"datetime\": data.datetime,\r\n \"readDatetime\": data.readDatetime,\r\n \"sender\": {\r\n \"name\": data.senderName,\r\n \"uid\": data.senderId + \"\",\r\n \"avatar\": \"https://data.cometchat.com/assets/images/avatars/ironman.png\",\r\n }\r\n }])\r\n }\r\n ).catch(\r\n err => {\r\n //console.log(err)\r\n setMessageList(\r\n (messages): (IMessage | ITempMessage)[] =>\r\n [...messages.filter(m => m !== tempSendingMessage),\r\n tempFailedMessage\r\n ]\r\n )\r\n }\r\n )\r\n }\r\n\r\n\r\n const classes = useStyles();\r\n return (\r\n _isLoading ? <> :\r\n _errorState.error ?\r\n \r\n

{_errorState.errorMessage}

\r\n \r\n :\r\n \r\n )\r\n}\r\nconst useStyles = makeStyles({\r\n errorDiv: {\r\n maxWidth: \"400px\",\r\n padding: '0 !important',\r\n boxSizing: 'border-box',\r\n backgroundColor: '#333232 !important'\r\n }\r\n\r\n})\r\n\r\n","import React from 'react';\r\n\r\nimport { makeStyles, Theme, useTheme } from '@material-ui/core/styles';\r\nimport AppBar from '@material-ui/core/AppBar';\r\nimport Tabs from '@material-ui/core/Tabs';\r\nimport Tab from '@material-ui/core/Tab';\r\nimport Box from '@material-ui/core/Box';\r\nimport LessonMessageTab from './LessonMessageTab';\r\n\r\n\r\n\r\ninterface ILessonPageTabsProps {\r\n userId: string,\r\n lessonInfo:\r\n {\r\n courseId: number,\r\n lessonId: number\r\n\r\n }\r\n\r\n}\r\nconst useStyles = makeStyles((theme: Theme) => ({\r\n root: {\r\n flexGrow: 1,\r\n backgroundColor: theme.palette.background.paper,\r\n },\r\n}));\r\n\r\nexport default function LessonPageTabs(props: ILessonPageTabsProps) {\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const [value, setValue] = React.useState(0);\r\n\r\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\r\n setValue(newValue);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n );\r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n//-----------------------------------subComponent under LessonPageTabs\r\n\r\ninterface TabPanelProps {\r\n children?: React.ReactNode;\r\n dir?: string;\r\n index: any;\r\n value: any;\r\n}\r\n\r\nfunction TabPanel(props: TabPanelProps) {\r\n const { children, value, index, ...other } = props;\r\n\r\n return (\r\n