{"version":3,"sources":["assets/Apps-User-icon.png","assets/no-icon.png","header_images/ati_logo.png","header_images/MyCPDLogoImg.png","header_images/MyCPDMain.png","header_images/if_user_1902268.png","assets/good_or_tick.png","assets/newYes.png","store/action/index.js","components/Header/index.js","network/config.js","feedback/_modals/modal.js","about-us/_modals/about-us.js","login/index.js","home/index.js","_components/loader.js","cpdrecord/index.js","cpdrecord/_modal/view.js","components/helper.js","cpdgo/index.js","mycpd/index.js","face_to_face_cpd/index.js","approved_cpd_providers/index.js","library/_modal/view.js","library/index.js","components/ProtectedRoute/index.js","Admin/home/index.js","Admin/cpdadmin/_modal/view.js","Admin/cpdadmin/index.js","Admin/memberAdmin/_modal/view.js","Admin/memberAdmin/index.js","Admin/accredtadmin/_modals/view.js","Admin/accredtadmin/_modals/onHold.js","Admin/accredtadmin/index.js","Admin/host/_modal/view.js","Admin/host/index.js","Admin/usermanagement/index.js","Admin/adminsettings/index.js","Admin/cpdreport/index.js","Admin/compliantreport/index.js","Admin/individualuserreport/index.js","Admin/systemusagereport/index.js","Admin/formregister/index.js","Admin/recordcpd/index.js","Admin/recordzerohour/index.js","Admin/mycpdreport/index.js","Admin/monthlyview/_modals/view.js","Admin/monthlyview/index.js","Services/API.js","Admin/randomreport/index.js","servicelogin/index.js","Admin/affiliatereport/index.js","Admin/videoaccess/index.js","config/router.js","store/reducer/index.js","store/index.js","App.js","serviceWorker.js","index.js","Admin/host/assets/yes-icon.png","Admin/host/assets/no-icon.png"],"names":["module","exports","storeData","access_token","displayName","role","token_type","type","App","document","getElementsByTagName","this","onBackButtonEvent","bind","closeMenu","window","addEventListener","props","updatequickNav","user","element","getElementById","classList","contains","toggle","currentPath","updatedPath","location","href","split","length","splitUpdatedPath","css","text","style","display","className","data-toggle","data-target","src","header_logo","alt","header_logo_mobile","width","onClick","Dropdown","id","Toggle","noCaret","user_Icon","Menu","left","MenuItem","e","makeSignOutRequest","signOut","quickNavShown","cursor","updatefeedBackModalShown","padding","localStorage","getItem","profile_logo","aria-hidden","updateAboutUsModalShown","React","Component","connect","state","dispatch","withRouter","DOMAIN","BASE_URL","API_URL","Urls","Login","UserDetails","CourseTypes","CourseTypesMyCPD","CourseFormats","CourseHosts","CourseLocations","SubmitFeedback","FaceToFace_URL","AddRecord","UploadRecordImage","CPDRecord_Info_URL","Member_Info_URL","Types_URL","Formats_URL","Hosts_URL","Locations_URL","Courses_URL","Course_Detail_URL","ADD_Record_URL","File_Upload_URL","FACE_TO_FACE_Excel_Download_URL","Approved_CPD_URL","Excel_Approved_Download_URL","CPDTypes_URL","Library_URL","LibraryExcel_Download_URL","Accounting_Login_URL","Knowledge_Login_URL","Ethics_Login_URL","SignOut_URL","Video","SavePauseTime","GetPauseVideoTime","WorkflowUpdate","Listing_URL","Hours_URL","Delete_Record_URL","MyCPDReport_URL","CPDgo_URL","url","baseURL","AdminUrls","ADMIN","CPDAUDIT","CPDADMIN","CPDADMINADDCOURSE","CPDADMINUPDATECOURSE","CPDREPORT","CPDMEMBER","CPDACCREDITED","CPDACCREDITEDAR","CPDACCRDFDOWNLOAD","CPDRANDCOMPLAIANCEREPORT","CPDINDIVIDUALREPORT","CPDCOMPLAIANCEREPORT","REPORTDOWNLOAD","INDIVIDUALUSEREXCEL","COMPLIANTEXCEL","RANDOMCOMPLIANTEXCEL","CPDCOMPLIANTINFO","REPORTUSERLOGININFO","USERLOGININFOEXCEL","LOG","GETHOST","UPDATEHOST","NUMBEROFCPDQUEUE","GETUSERDETAILS","UPDATEEXTERNALUSER","RECORDEDZEROHOUR","RECORDEDZEROHOUREXCEL","UPDATELOCKEDSTATUS","FILEUPLOAD","COURSEFILE","DELETECOURSE","SENDEMAIL","GETCPDYEARS","CPDQUEUEUPDATE","VIDEOACCESSFILEUPLOAD","REPORTINDIVIDUALAFFILIATECPD","INDIVIDUALAFFILIATEEXCEL","USER","FACETOFACE","MYCPD","CPDRECORD","CPDLIBRARY","CPDGO","APPROVEDCPD","MEMBERCPD","MEMBERCPDHOURS","DELETEMEMBERCPD","GETMEMBERINFO","WORKFLOWADD","WORKFLOWUPDATE","MEMBERCOMPLETEDCPDHOURS","SHOWDECLARE","DECLARECPD","FACETOEXCEL","APPROVEDCPDEXCEL","CPDTYPE","SHOWDECLAREGRACEPERIOD","CPDGOLOG","GETPAUSEVIDEOTIME","SAVEPAUSEVIDEOTIME","EXTUSER","CPDACCREDITEADD","CPDACCREDITEUPDATE","COMMON","HOME","CONTACTUS","LOCATION","HOST","CPDTYPES","GETCOURSEBYID","GETCOURSESBYCPDTYPE","CPDLIBRARYEXCEL","CPDMEMBERPDF","GETTEMPID","CPDFORMAT","COURSELOCATION","LOADHOST","GETEMPLOYERLIST","DOWNLOADPDF","GETCOURSEFILE","COURSEFILEDOWNLOAD","VIDEOFILE","GETREPORTLIST","GETCPDQUEUECOMMENTS","AUTH","LOGIN","REGISTER","ACCESSTOKEN","SETTINGS","CPDHOURS","SERVICEBASE","FeedbackModal","fields","errors","props_state","formIsValid","lastAtPos","lastIndexOf","lastDotPos","indexOf","setState","preventDefault","handleValidation","axios","post","Name","MembershipNumber","Phone","Email","Query","headers","Authorization","then","response","onHide","alert","catch","console","log","field","target","value","Modal","Header","Title","data-dismiss","aria-label","Body","htmlFor","name","placeholder","required","onChange","handleChange","color","rows","Footer","feedbackSubmit","AboutUsModal","Button","qs","require","username","password","submitted","login","login_error","mainLoading","handleSubmit","failureMessage","removeItem","NotificationManager","error","successMessage","success","history","push","stringify","grant_type","client_id","data","setItem","expires_in","source","addData","loggingIn","to","align","process","marginTop","paddingTop","onSubmit","marginBottom","autoFocus","aria-invalid","autoComplete","cpdHome_Url","Home","dashboardContentHandler","handleWindowScreenResize","queuecount","dashboardContent","redirectToLogin","currentScreenWidth","innerWidth","controller","AbortController","get","method","signal","withCredentials","credentials","status","map","item","index","key","Action","toLowerCase","FeatureName","height","Face","replace","FeatureDesc","Loader","verticalAlign","moment","LoadHost_Url","excelDownload_Url","memberHours_Url","memberCpd_Url","delete_Url","Dashboard","onSort","column","direction","sort","getMemberCpd","setArrow","handlePageChange","clearSearchFilters","deleteCPDRecord","downloadExcel","getLoadCpd","getMemberHour","searchData","editViewHandler","addViewHandler","host_list","overdue_hours","overdue_minutes","required_hours","total_hours","total_minutes","start_date_iso","start_date","dashboard_records","course_name","host_name","location_name","host_id","year","Date","getFullYear","dashBoxYear","date_selected","unauthorized","memId","cpdDate","cpdCourseName","cpdLocationName","cpdHostName","UserId","totalPages","totalCount","per_page","activePage","emptyDivMsg","loadHost","cpdYear","toString","params","UserName","Year","responseType","blob","Blob","navigator","msSaveOrOpenBlob","URL","createObjectURL","link","createElement","setAttribute","body","appendChild","click","pageNumber","Id","uid","getCpdCompliantReport","yearCpd","workflowId","confirm","OverdueHours","OverdueMinutes","RequiredHours","TotalHours","TotalMinutes","reverse","sortBy","locationName","CourseName","DateMem","host","obj","page","pageSize","LocationName","HostId","Items","TotalPages","Page","TotalCount","mode","pathname","abort","dashboard_record","CPDTypeName","Hours","Minutes","CompletionDate","format","Venue","Trainer","filter","ID","StartDate","CourseId","whiteSpace","fontSize","marginLeft","background","border","CPDWorkflowId","title","tabIndex","data-original-title","float","defaultValue","disabled","hidden","marginRight","print","eventKey","prevPageText","nextPageText","firstPageText","lastPageText","itemsCountPerPage","totalItemsCount","ViewModal","bsSize","coursename","startdate","courselocation","coursetype","cpdformat","venue","trainer","description","howToBook","rel","courseFilePathItems","surveyLink","showTable","class","FileName","filename","parts","getExtension","isVideo","viewFileHandle","IsVideoCompleted","VideoCompletedDateStringFormat","handleDownloadFile","open","downloadFile_Url","makeHttpRequestWithPage","handlePaginationFilter","handleInputChange","approved_cpd_records","listViewModalShown","listViewDataCourseName","listViewDatastartDate","listViewDatacourseLocation","listViewDatacourseType","listViewDatahost","listViewDatacpdFormat","listViewDatavenue","listViewDatatrainer","listViewDatacourseDescription","listViewDatahowToBook","listViewDatasurveyLink","listViewDatacourseFilePathItems","newValue","mydate","toISOString","setTimeout","$","datepicker","self","HostName","event","fileData","ModifiedFileName","toUpperCase","downloadPath","row","userType","courseName","startDate","courseLocation","courseType","cpdFormat","courseDescription","cpd_record","Duration","data-item","openModalWithItem","CPDFormatName","CourseDescription","HowToBook","CourseFilePathItems","SurveyLink","tooltip","onKeyPress","lineHeight","label","show","default_date_completed","getCourse_Url","updateMember_Url","addMember_Url","fileUpload_Url","RecordCPD","match","workFlowId","currentStep","member_info","types","formats","locations","courses","courses_options","cpd_type_id","MemberId","course_company","course_format","course_id","course_detail","course_description","cpd_hours","cpd_mins","cpd_year","date_completed","file_upload","file_name","location_id","is_declared","third_tab_active","redirectDashboard","member_id","hiddenDateCompleted","handlePrevStep","handleNextStep","handleSaveRecord","fetchMemberInfo","fetchTypes","fetchFormats","fetchHosts","fetchLocations","fetchCourses","fetchCourseDetail","handleFileUpload","fetchCPDRecord","makeThirdTabActive","autoclose","todayHighlight","maxDate","dataMember","id_u","CPDFormatId","Company","CPDTypeId","CPDYear","LocationId","IsDeclared","memberId","memberURL","TypeId","checkStates","courses_option","DurationHours","CourseMode","Description","cpdyear","record","blobFile","formData","FormData","cpdqueueId","CPDQueueId","append","processData","contentType","workflowreqid","field_name","files","checked","limit","forEach","ListItemOne","ListItemTwo","ListItemThree","currentActiveClass","nextTabClass","maxLength","readOnly","step","max","min","locales","margin","overflow","FaceToFace","handleAccordionToggle","ind","currentIndex","Fragment","data-parent","aria-expanded","aria-controls","aria-labelledby","aria-multiselectable","ApprovedCPDProviders","localizer","momentLocalizer","loadEvent_Url","Library","myEventList","modalOpen","listViewModalShownClose","knowledgeInfoModalShown","accountingInfoModalShown","atiCodeInfoModalShown","atiCodeProfessionalEthicsModalShown","events_info","currentDate","date","c_date","getMonth","monthlyView","arr","i","newdate","mon","d","getDate","h","getHours","getMinutes","allDay","start","end","Expr1","FormatName","events","startAccessor","endAccessor","onSelectEvent","onNavigate","messages","agenda","ProtectedRoute","component","rest","Data","useSelector","render","NumberOfCpd_Url","AdminHome","numberOfQueue","FeatureID","titlemodal","handleTitleChange","coursetitle","handleDescChange","coursedesc","handleLocChange","course_Location","handleVenueChange","coursevenue","handleTypeChange","cpd_Handle_Type","courseformat","handleFormatChange","cpd_format","coursehost","handleHostChange","handleTrainerChange","coursetrainer","handleStartDateChange","coursestartdate","handleCpdHourChange","coursecpdhour","handleCpdMinutesChange","coursemin","handleCourseBookChange","coursebook","handleSurveyLinkChange","coursesurveylink","addeditcoursebtn","file","handleuploadfile","filesData","handleDeleteFile","adminActive","listViewAdminOnly","inHouse","listViewInHouseOnly","paymentneeded","handlePaymentNeededChange","handleSwitchButton","switchCheck","handleAddData","handleUpdateData","Cpd_Url","cpd_Format_Url","get_Course_Url","course_Location_Url","Library_Url","Update_Url","cpd_addCourse","upload_Course_Url","AdminDash","pages","cpd_type","getLibraryData","archiveCourse","modalData","editCourse","getFormatLocData","handleUploadFile","pdfDownload","cpdType","libraryData","listViewDataCoursetitle","listViewDataCoursedesc","listViewDataCourselocation","listViewDataCoursevenue","listViewDataCoursetype","listViewDataCourseformat","listViewDataCoursehost","listViewDataCoursetrainer","listViewDataSurveyLink","listViewDataCoursestartdate","listViewDataCoursecpdhours","listViewDataCoursehowtobook","listViewDataCoursecpdMinutes","addEditCourseBtn","editId","listViewDataPaymentNeeded","getCpdType","_data","hostData","find","x","HostID","hostName","article","Active","active","adminOnly","InHouseOnly","PaymentNeeded","AdminOnly","dupData","findIndex","LocationID","DurationMins","CourseType","EmployerId","addEditCoursebtn","courseid","feild_id","Course_id","fileId","courseId","filt","findData","libraryItem","unarchiveCourse","onKeyDown","Chart","register","ArcElement","Tooltip","subject","query","labels","datasets","backgroundColor","Math","abs","viewTotalRecorded","ceil","hoverOffset","sendEmailStatus","viewEmail","ng-model","updatesubjectEmail","updatequeryEmail","sendEmail","userIcon","viewUserName","viewStatus","options","legend","position","tooltips","enabled","maintainAspectRatio","responsive","Member_Record_URL","Send_Email_URL","Upload_File","MemberAdmin","subjectEmail","queryEmail","cancelUpload","startUpload","ResultMessage","memberAdminErrorMessages","getMembersData","viewMemberCpdHandler","listViewDatacpdFormata","userName","isComaplaint","allData","years","compliant","memberid","Count","userid","MemberNumber","fontWeight","ng-class","Status","userCompletionDate","IsCPDCompliant","noIcon","tickIcon","justifyContent","TotalRecorded","ng-if","ng-click","toDateString","OnHold","commentList","CreatedDate","Comment","overflowX","handleCommentsChange","comments","handleCPDQueueUpdate","getAdminCpd_Url","approveCpd_Url","cpdQueueUpdate_Url","cpdQueuegetComments_Url","downloadFiles_Url","AccredAdmin","searchCpdData","downloadFile","selectCpdHandler","approvedCpdHandler","rejectCpdHandler","getCommentListData","listOnHoldShown","listViewDataComments","cpdUserName","loadCpd","selectIdHandler","dupLoadCpd","found","CPDTypeDesc","listViewId","listViewCommentList","user_name","Provider","dupArr","Comments","Ids","loadCpds","cpdItem","TotalDuration","SubmittedDate","openOnHoldModalWithItem","WorkflowStepId","colSpan","value_name","value_sort","handleswitch","switchcheck","addhandler","updatehandler","getCpdHost","update_Host_Url","Host","addDataHandler","updateDataHandler","dupLoadHost","handleSwitch","search_id","search_name","countId","SortOrder","objDup","filtValue","dup","filteredData","includes","yesIcon","UserManagment","search_email","FirstName","Surname","LastLoginTime","EmployerName","AdminSettings","CpdReport_Url","CpdYear_Url","loadReport_Url","CpdReport","compliantReport","individualReport","selectYear","systemUsageReport","yearChangeHandler","getCpdReport","loadCpdData","handleClickEye","getCpdYear","cpdCompliant","cpdCompliantPercentage","eightPlusHrRecorded","eightPlusHrRecordedPercentage","fifteenMinutesToThreeHrPercentage","fifteenMinutesToThreeHrRecorded","fourToFiveHrRecorded","fourToFiveHrRecordedPercentage","nonCPDCompliantPercentage","nonCPDCompliant","systemUsage","systemUsagePercentage","totalMembers","loadCpdReport","CPDCompliant","CPDCompliantPercentage","EightPlusHrRecorded","EightPlusHrRecordedPercentage","FifteenMinutesToThreeHrPercentage","FifteenMinutesToThreeHrRecorded","FourToFiveHrRecorded","FourToFiveHrRecordedPercentage","NoNCPDCompliantPercentage","NonCPDCompliant","SystemUsage","SystemUsagePercentage","TotalMembers","cpdReportItem","ReportId","ReportName","ReportDescription","cpdCompliantReport_Url","cpdDownloadExcel","CompliantReport","cpdBool","pageChange","cpdId","cpdMemberNum","cpdEmail","cpdUsername","loadCpdCompliant","reportId","pageQty","reportid","userNames","email","memberNumbers","RemainingDuration","DeclaredDate","individualUserExcelDownload","cpdIndividual_Url","cpdAttachDownload_Url","cpdLocked_Url","cpdLockedHandler","cpdUnLockedHandler","loadCpdIndividual","header","AttachmentName","isLocked","IsLocked","systemUser_Url","SystemUsageReport","newDate","getTime","CountryName","DistrictSociety","toLocaleString","ExternalId","register_Url","updateExternal_Url","RegisterForm","accountRegisterHandler","accountEditHandler","registerUsername","registerFirstName","registerSurname","registerPassword","registerConfirmPassword","registerEmail","registerRole","registerEmployerDetail","editsId","bool","ConfirmPassword","Password","RoleName","foundData","Role","test","MAX_DATE","FormCPD","handleChangeDropdown","selectedOptionCourses","memID","selectedOption","recordZero_Url","RecordedZeroHour","getCpdRecordZero","queryType","loadZeroRecord","newd","recordId","QueryType","selectyear","DateOfTermination","selected","currentYear","MyCpdReport","host_dict","userId","MonthlyView","apiCall","Access_Token","randomCompliant_Url","RandomReport","yearOptionDropdown","CPDYearList","queryString","access_URL","SourceUser","token","navrole","values","substring","queries","parse","AffiliateReport","getCpdAffiliateReport","VideoAccess","exact","path","servicelogin","AdminDashboad","mycpd","CpdAdmin","IndividualUserReport","initialState","reducer","action","persistConfig","storage","persistedReducer","persistReducer","store","createStore","persistor","persistStore","feedBackModalShown","aboutUsModalShown","logout","close","reload","loading","Boolean","hostname","ReactDOM","basename","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.62aee85a.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAYAAAAIXrg4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAqBJREFUSIntlU1PE1EUht9zpRoNbjCC2CnE3wBrpixMXGhkASZooDMSG+Naw4Z2CpgY/4IhzEDahIVJN+5Y2Nm56NI/IFNiNbDioyGFe1yUuUxn+kXc9l3NnXPu895z75k7QF99BVWeSMfKE+nYdeZQp+Af/d1gHbUFBs8QeBIkhgBAShwKoMyCiwOx8/zobv7k2gbetJkmKT/50HaSkAeCaFn77mz2ZFCeSMceDNYdEF52AkfEvB3H+BK5q+fB1yKc58Mly1Mwb3fjSsYWgBqIFj3sbYTjTQbetJn24STomeY6KWasdlh1Zsy1DZL8HEBNEFKVpJEKpqgtahzoyS+QGALztuY6KtHTzRwRrGY4spprr/vDim4WGovD3xt3Y4/i376cNlVQR21BHSjRoqebOT+WcO1cqBIrCPeS5rp/ZoIwjOP6fGSLGDzTVBrBam3COa1krwXhBKwE515AKpbaooqeOmzVksxYTbh2Lvy+HfxSVa1kj6oKfs7N3WzX7+FKeoBDAiNsWUIZdBMRcy95Lef6D3tT5oEQuNcixwrueVBe0lgjUCYa4d9ayXkIBCoQQDmah2z4QL2kocaJkpNl5oi5BCnWVRcJLjbDORNuRQJWCJRpMnEdK/wxCoZiKYOB2HleQh4Ajc9fc52PYbg/JlDG0w0FTbh2DsyFy2FVnh3tRAxGd/MngmgZAAThxf6U8bgVXJkQZf3u2tNTT8A82ygcH8Z+fK1dLSakim5sgWgRQA2MYtdblbkA5lkIcQvAhlay3wTDkTaNY3zp8oa83dOVTfTKh8fvH7+NhNvNq+ivDQn+LAjDXSyqEvR+rLRZaBXs+Mvcf5q+g+P6/AXkjICYlMAIAAhwVYLKglGUZ0c7wT3/L7FlCf8K6KsvpX8leyc1Peg10AAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/MyCPDMain.d687bf7c.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAYAAAAIXrg4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAldJREFUSIntlc9uElEUxr97BAIUWdjavoE+ACzqaspGxkiaJhS1JtBqY+MDaFwSVo3GFyDxXysmDWAwddFpWBTiQk26Ux9BZdG6UAYqGc91UZgOA6UMa77VzPnz+86dOzMXGGssq0LZkDuUDbmd9IhBSSWvBIh8SRZiAUCYgAsAwIxDIuxLcMmtc66cKuuODSJFdY2FWO9AT5XkA0jxaC+hvRjKIJQNuQNTF18RxO2BYJtY8iYmj1arkaphjbvshaPAAdRJUAq//BLAijVB1ptIUV0bZXIDfImBbwCW5wrqcl8DJa8EWIh1p/C5L7N3PsR3f/4zZAQsv0qIJ7HtmL/HgMiXPHND+8AzmQwDwLlG8w+T+EGE6XrLWOoxaL+KI8GVl4qXgv53BFwFAAGYLOsehLsg4O9O4ACiZpGQJosAIJFPeLoej0TVo/NlKfHUMRwAmGbS6TTZV2DCXQ3jejlV1iuLOw87JkPDbSIAKNwotJhxeMyHRw/6TOO2yS2H8Fqn1vySI2+vaZ0GKfHR25SqltR+2zuHmVwC7yvxnXlzBcdBLnWuhcCVv16xq75Wg07h7alNlmng1jkHyQc4ycxaTYaFA1xrGhNbFrMTRQrqXZB4bmv47ALPG3Btng0HmGWymtByfQ0AQClGN0hQqruJG0Tkt9f2SMpne4vaPWuo9zWdPFoFsNFVNCR8is/ft4dPPXCUYnQFkh4TYXowmWsS4kElrr3plx14ZMa2Y/56y1gSwAKEDINppp2qScK+AEpNY2Lr081ic/AQQyqdTlPnFzDWWKb+AwN0FhnbgVd8AAAAAElFTkSuQmCC\"","function storeData(access_token, displayName, role, token_type) {\r\n return {\r\n type: 'ADD_DATA',\r\n access_token: access_token,\r\n displayName: displayName,\r\n role: role,\r\n token_type: token_type,\r\n };\r\n}\r\n\r\nfunction removeData() {\r\n return {\r\n type: 'REMOVE_DATA',\r\n };\r\n}\r\n\r\nexport { storeData, removeData };\r\n","import React from 'react';\r\nimport profile_logo from '../../header_images/ati_logo.png';\r\nimport header_logo from '../../header_images/MyCPDLogoImg.png';\r\nimport header_logo_mobile from '../../header_images/MyCPDMain.png';\r\nimport user_Icon from '../../header_images/if_user_1902268.png';\r\nimport { withRouter } from 'react-router-dom';\r\n\r\nimport { connect } from 'react-redux';\r\nimport { removeData } from '../../store/action';\r\nimport { Dropdown, MenuItem } from 'react-bootstrap';\r\n\r\nlet body = document.getElementsByTagName('body')\r\n\r\nclass App extends React.Component {\r\n componentDidMount() {\r\n this.onBackButtonEvent = this.onBackButtonEvent.bind(this);\r\n this.closeMenu = this.closeMenu.bind(this);\r\n window.addEventListener('popstate', this.onBackButtonEvent);\r\n window.addEventListener(\"click\",this.closeMenu);\r\n }\r\n\r\n onBackButtonEvent() {\r\n if (this.props?.updatequickNav) {\r\n this.props.updatequickNav(false, this.props?.user?.role);\r\n }\r\n }\r\n\r\n closeMenu() {\r\n let element = document.getElementById(\"bs-example-navbar-collapse-1\");\r\n if(!!element){\r\n if (element?.classList?.contains(\"in\")) {\r\n element.classList.toggle(\"in\");\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n if (!this.props.user.access_token) {\r\n return null;\r\n }\r\n\r\n let currentPath;\r\n const currentURL = window.location.href;\r\n\r\n const updatedPath = currentURL.split('#');\r\n\r\n if (updatedPath?.length) {\r\n let splitUpdatedPath = updatedPath[1].split('/');\r\n if (splitUpdatedPath.length) {\r\n currentPath = splitUpdatedPath[1];\r\n }\r\n }\r\n\r\n const role = this.props.user.role;\r\n return (\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n Toggle navigation\r\n \r\n \r\n \r\n\r\n \r\n \r\n \"\"\r\n \"\" this.closeMenu()} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.props.makeSignOutRequest(e);\r\n this.props.signOut();\r\n }}> Sign Out\r\n \r\n \r\n
\r\n \r\n
    \r\n \r\n this.props?.updatequickNav(false, role)}\r\n data-toggle=\"collapse\"\r\n data-target=\"#bs-example-navbar-collapse-1\"\r\n >\r\n Home{' '}\r\n \r\n \r\n \r\n \r\n this.props?.updatequickNav(\r\n !this.props?.quickNavShown,\r\n role\r\n )\r\n }\r\n style={{ cursor: 'pointer' }}\r\n data-toggle=\"collapse\"\r\n data-target=\"#bs-example-navbar-collapse-1\"\r\n >\r\n \r\n {' '}\r\n {' '}\r\n Quick Navigation\r\n \r\n \r\n {role === 'Member' && (\r\n
  • \r\n \r\n this.props?.updatefeedBackModalShown(true)\r\n }\r\n style={{ cursor: 'pointer' }}\r\n data-toggle=\"collapse\"\r\n data-target=\"#bs-example-navbar-collapse-1\"\r\n >\r\n Feedback!\r\n \r\n
  • \r\n )}\r\n
\r\n
    \r\n
  • \r\n {localStorage.getItem('displayName')}\r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n this.props?.updateAboutUsModalShown(true)}\r\n href=\"#\"\r\n data-toggle=\"collapse\"\r\n data-target=\"#bs-example-navbar-collapse-1\"\r\n >\r\n About Us\r\n \r\n
  • \r\n
  • \r\n {\r\n this.props.makeSignOutRequest(e);\r\n this.props.signOut();\r\n }}\r\n href=\"#\"\r\n >\r\n Sign Out\r\n \r\n
  • \r\n
\r\n
\r\n\r\n \r\n {(() => {\r\n switch (currentPath) {\r\n case 'home':\r\n return 'Home Page';\r\n case 'cpdrecord':\r\n return 'MyCPD DashBoard';\r\n case 'mycpd':\r\n return 'Record MyCPD';\r\n case 'cpdgo':\r\n return 'CPDgo';\r\n case 'cpdclassroom':\r\n return 'ATI CPD';\r\n case 'CPDACCREDITED':\r\n return 'Professional Exams and Further Education';\r\n case 'cpdaccredited':\r\n return 'Professional Exams and Further Education';\r\n case 'library':\r\n return 'CPD Calendar';\r\n case 'cpdadmin':\r\n return 'CPD Admin Dashboard and Library';\r\n case 'memberadmin':\r\n return 'Member Accounts';\r\n case 'accredtadmin':\r\n return 'Approval Queue';\r\n case 'adminsetting':\r\n return 'Admin Settings';\r\n\r\n case 'host':\r\n return 'Host';\r\n\r\n case 'usermanagment':\r\n return 'User Management';\r\n\r\n case 'videoaccess':\r\n return 'Video Access';\r\n\r\n case 'affiliatereport':\r\n return 'Affiliate Report';\r\n\r\n case 'reportadmin':\r\n return 'CPD Reports';\r\n\r\n case 'compliantreport':\r\n if (updatedPath[1] === '/compliantreport/CPD0003') {\r\n return 'Non Compliant Report';\r\n } else {\r\n return 'Compliant Report';\r\n }\r\n\r\n case 'individualuserreport':\r\n return 'Individual User Report';\r\n\r\n case 'systemusagereport':\r\n return 'System Usage Report';\r\n\r\n case 'recordedzerohour':\r\n if (\r\n updatedPath[1] === '/recordedzerohour/CPD0007' ||\r\n updatedPath[1] === '/recordedzerohour/CPD0008'\r\n ) {\r\n return 'Not Compliant User 1';\r\n } else {\r\n return 'Not Engaged';\r\n }\r\n\r\n case 'myCpdRecord':\r\n return 'Record MyCPD';\r\n\r\n case 'my_cpd_report':\r\n return 'MyCPD DashBoard';\r\n\r\n case 'monthviewcpd':\r\n return 'Monthly View';\r\n\r\n case 'register':\r\n return 'Register Details';\r\n\r\n case 'randomreport':\r\n return 'Random User Report';\r\n\r\n default:\r\n return 'Home Page';\r\n }\r\n })()}\r\n \r\n
\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withRouter(App));\r\n","//const DOMAIN = 'http://localhost/';\r\nconst DOMAIN = 'https://mycpd.accountingtechniciansireland.ie/';\r\n//const DOMAIN = 'https://sourcecrm.accountingtechniciansireland.ie/';\r\n//const DOMAIN = 'https://sourcestaging.accountingtechniciansireland.ie/';\r\n//const DOMAIN = 'http://116.203.58.81/';\r\nconst BASE_URL = `${DOMAIN}CPDCompliance`;\r\nconst API_URL = `${BASE_URL}/api`;\r\n\r\nexport const MYCPD_HOME = `${DOMAIN}/MyCPD/#/Home`;\r\n//export const NELSONCROOM_URL = 'https://acpd.alpha.imago3.com/admLogin.asp';\r\nexport const NELSONCROOM_URL = 'https://www.accountingcpd.net/admLogin.asp';\r\nexport const Urls = {\r\n Login: `${BASE_URL}/token`,\r\n UserDetails: `${API_URL}/account/GetMember?memID=`,\r\n CourseTypes: `${API_URL}/Lookup/CPDTypes`,\r\n CourseTypesMyCPD: `${API_URL}/Lookup/CPDTypesForMyCPD`,\r\n CourseFormats: `${API_URL}/Lookup/CPDFormat`,\r\n CourseHosts: `${API_URL}/Lookup/LoadCPDHost`,\r\n CourseLocations: `${API_URL}/Lookup/Location`,\r\n SubmitFeedback: `${BASE_URL}/api/contact/SendInfo`,\r\n FaceToFace_URL: `${API_URL}/faceToface`,\r\n AddRecord: `${API_URL}/Workflow/add`,\r\n UploadRecordImage: `${API_URL}/Workflow/file/upload`,\r\n CPDRecord_Info_URL: `${API_URL}/Member/GetMemberCPD`,\r\n Member_Info_URL: `${API_URL}/account/GetMember?memID=`,\r\n Types_URL: `${API_URL}/Lookup/CPDTypesForMyCPD`,\r\n Formats_URL: `${API_URL}/Lookup/CPDFormat`,\r\n Hosts_URL: `${API_URL}/Lookup/LoadCPDHost`,\r\n Locations_URL: `${API_URL}/Lookup/Location`,\r\n Courses_URL: `${API_URL}/Lookup/GetCourses`,\r\n Course_Detail_URL: `${API_URL}/Lookup/GetCourse`,\r\n ADD_Record_URL: `${API_URL}/Workflow/add`,\r\n File_Upload_URL: `${API_URL}/Workflow/file/upload`,\r\n FACE_TO_FACE_Excel_Download_URL: `${API_URL}/faceToface/Excel`,\r\n Approved_CPD_URL: `${API_URL}/approvedcpd`,\r\n Excel_Approved_Download_URL: `${API_URL}/approvedcpd/Excel`,\r\n CPDTypes_URL: `${API_URL}/Lookup/CPDTypes`,\r\n Library_URL: `${API_URL}/Library`,\r\n LibraryExcel_Download_URL: `${API_URL}/Library/Excel`,\r\n Accounting_Login_URL: `${API_URL}/CPDgo/CPDGOLog?action=accountingcpd&isBrowser=true`,\r\n Knowledge_Login_URL: `${API_URL}/CPDgo/CPDGOLog?action=KnowledgePoint&isBrowser=true`,\r\n Ethics_Login_URL: `${API_URL}/CPDgo/CPDGOLog?action=ProfessionalEthics&isBrowser=true`,\r\n SignOut_URL: `${API_URL}/account/LogOff`,\r\n Video: `${BASE_URL}/MyCPDMultimedia/CodeofProfessionalEthics2019.mp4`,\r\n SavePauseTime: `${API_URL}/CPDgo/SavePauseVideoTime`,\r\n GetPauseVideoTime: `${API_URL}/CPDgo/GetPauseVideoTime`,\r\n WorkflowUpdate: `${API_URL}/Workflow/Update`,\r\n Listing_URL: `${API_URL}/Member/GetMemberCPD`,\r\n Hours_URL: `${API_URL}/Member/MemberCPDHours`,\r\n Delete_Record_URL: `${API_URL}//Workflow/DeleteMemberCPD`,\r\n MyCPDReport_URL: `${API_URL}/Member/PDF`,\r\n CPDgo_URL: `${API_URL}/CPDgo`,\r\n};\r\n\r\nlet url = `${DOMAIN}/CPDCompliance/`;\r\nlet baseURL = url + 'api/';\r\n\r\nexport let AdminUrls = {\r\n ADMIN: {\r\n CPDAUDIT: baseURL + 'CPDAudit',\r\n CPDADMIN: baseURL + 'Library',\r\n CPDADMINADDCOURSE: baseURL + 'Library/Add',\r\n CPDADMINUPDATECOURSE: baseURL + 'Library/Update',\r\n CPDREPORT: baseURL + 'CPDAccredited',\r\n CPDMEMBER: baseURL + 'member/GetMemberCPDAll',\r\n CPDACCREDITED: baseURL + 'approvedcpdq',\r\n CPDACCREDITEDAR: baseURL + 'approvedcpdq/CPDUpdate',\r\n CPDACCRDFDOWNLOAD: baseURL + 'approvedcpdq/file/download',\r\n CPDRANDCOMPLAIANCEREPORT: baseURL + 'report/ReportRandomCompliantCPD',\r\n CPDINDIVIDUALREPORT: baseURL + 'report/ReportIndividualMemberCPD',\r\n CPDCOMPLAIANCEREPORT: baseURL + 'report/ReportCompliantMembersCPD',\r\n REPORTDOWNLOAD: baseURL + 'report/file/download',\r\n INDIVIDUALUSEREXCEL: baseURL + 'report/IndividualUserExcel',\r\n COMPLIANTEXCEL: baseURL + 'report/CompliantExcel',\r\n RANDOMCOMPLIANTEXCEL: baseURL + 'report/RandomCompliantExcel',\r\n CPDCOMPLIANTINFO: baseURL + 'report/CPDCompliantInfo',\r\n REPORTUSERLOGININFO: baseURL + 'report/ReportUserLoginInfo',\r\n USERLOGININFOEXCEL: baseURL + 'report/UserLoginInfoExcel',\r\n LOG: baseURL + 'log',\r\n GETHOST: baseURL + 'Lookup/getCPDHost',\r\n UPDATEHOST: baseURL + 'Lookup/updateHost',\r\n NUMBEROFCPDQUEUE: baseURL + 'approvedcpdq/NumberOfCPDQueue',\r\n GETUSERDETAILS: baseURL + 'UserManagement/GetUserDetails',\r\n UPDATEEXTERNALUSER: baseURL + 'UserManagement/UpdateExternalUser',\r\n RECORDEDZEROHOUR: baseURL + 'report/RecordedZeroHour',\r\n RECORDEDZEROHOUREXCEL: baseURL + 'report/RecordedZeroHourExcel',\r\n UPDATELOCKEDSTATUS: baseURL + 'report/UpdateLockedStatus',\r\n FILEUPLOAD: baseURL + 'bulkupload/file/upload',\r\n COURSEFILE: baseURL + 'CourseFile/file/upload',\r\n DELETECOURSE: baseURL + 'CourseFile/DeleteCourse',\r\n SENDEMAIL: baseURL + 'contact/ContactMember',\r\n GETCPDYEARS: baseURL + 'systemsetting/GetCPDYears',\r\n CPDQUEUEUPDATE: baseURL + 'approvedcpdq/CPDQueueUpdate',\r\n\r\n VIDEOACCESSFILEUPLOAD: baseURL + 'VideoAccessBulkUpload/file/upload',\r\n REPORTINDIVIDUALAFFILIATECPD:\r\n baseURL + 'affiliatereport/ReportIndividualAffiliateCPD',\r\n INDIVIDUALAFFILIATEEXCEL:\r\n baseURL + 'affiliatereport/IndividualAffiliateExcel',\r\n },\r\n USER: {\r\n FACETOFACE: baseURL + 'faceToface',\r\n MYCPD: baseURL + 'MyCPD',\r\n CPDRECORD: baseURL + 'CPDURecord',\r\n CPDLIBRARY: baseURL + 'Library',\r\n CPDGO: baseURL + 'CPDgo',\r\n APPROVEDCPD: baseURL + 'approvedcpd',\r\n MEMBERCPD: baseURL + 'Member/GetMemberCPD',\r\n MEMBERCPDHOURS: baseURL + 'Member/MemberCPDHours',\r\n DELETEMEMBERCPD: baseURL + 'Workflow/DeleteMemberCPD',\r\n GETMEMBERINFO: baseURL + 'account/GetMember',\r\n WORKFLOWADD: baseURL + 'Workflow/add',\r\n WORKFLOWUPDATE: baseURL + 'Workflow/Update',\r\n FILEUPLOAD: baseURL + 'Workflow/file/upload',\r\n MEMBERCOMPLETEDCPDHOURS: baseURL + 'Member/CPDCourseHours',\r\n SHOWDECLARE: baseURL + 'Member/ShowDeclare',\r\n DECLARECPD: baseURL + 'Workflow/DeclareCPD',\r\n FACETOEXCEL: baseURL + 'faceToface/Excel',\r\n APPROVEDCPDEXCEL: baseURL + 'approvedcpd/Excel',\r\n CPDTYPE: baseURL + 'Lookup/CPDTypesForMyCPD',\r\n SHOWDECLAREGRACEPERIOD: baseURL + 'Member/ShowDeclareGracePeriod',\r\n CPDGOLOG: baseURL + 'CPDgo/CPDGOLog',\r\n GETPAUSEVIDEOTIME: baseURL + 'CPDgo/GetPauseVideoTime',\r\n SAVEPAUSEVIDEOTIME: baseURL + 'CPDgo/SavePauseVideoTime',\r\n },\r\n\r\n EXTUSER: {\r\n CPDACCREDITEADD: baseURL + 'approvedcpdq/CPDAdd',\r\n CPDACCREDITEUPDATE: baseURL + 'approvedcpdq/CPDURecord',\r\n FILEUPLOAD: baseURL + 'approvedcpdq/file/upload',\r\n },\r\n\r\n COMMON: {\r\n HOME: baseURL + 'member/CPDHome',\r\n CPDTYPE: baseURL + 'Lookup/CPDTypes',\r\n CONTACTUS: baseURL + 'contact',\r\n LOCATION: baseURL + 'Lookup/CPDLocation',\r\n HOST: baseURL + 'Lookup/CPDHost',\r\n CPDTYPES: baseURL + 'Lookup/CPDTypesearch',\r\n GETCOURSEBYID: baseURL + 'Lookup/GetCourse',\r\n GETCOURSESBYCPDTYPE: baseURL + 'Lookup/GetCourses',\r\n CPDLIBRARYEXCEL: baseURL + 'Library/Excel',\r\n CPDMEMBERPDF: baseURL + 'Member/PDF',\r\n GETTEMPID: baseURL + 'Account/GetTempId',\r\n CPDFORMAT: baseURL + 'Lookup/CPDFormat',\r\n COURSELOCATION: baseURL + 'Lookup/Location',\r\n LOADHOST: baseURL + 'Lookup/LoadCPDHost',\r\n GETEMPLOYERLIST: baseURL + 'Lookup/GetEmployerList',\r\n DOWNLOADPDF: baseURL + 'Member/DownloadPDF',\r\n GETCOURSEFILE: baseURL + 'CourseFile/GetCourseFile',\r\n COURSEFILEDOWNLOAD: baseURL + 'CourseFile/file/download',\r\n VIDEOFILE: url + 'Content/AdminCourseFiles/',\r\n GETREPORTLIST: baseURL + 'reportlookup/GetReportList',\r\n GETCPDQUEUECOMMENTS: baseURL + 'approvedcpdq/GetCPDQueueComments',\r\n },\r\n\r\n AUTH: {\r\n LOGIN: baseURL + 'Token',\r\n REGISTER: baseURL + 'Account/Register',\r\n ACCESSTOKEN: baseURL + 'Account/ObtainLocalAccessToken',\r\n },\r\n SETTINGS: {\r\n CPDHOURS: 15,\r\n SERVICEBASE: url,\r\n // EXTERNALURL: atiURL,\r\n },\r\n};\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Urls } from \"../../network/config\";\r\n\r\nclass FeedbackModal extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n fields: {},\r\n errors: {},\r\n props_state: props,\r\n };\r\n }\r\n\r\n handleValidation() {\r\n let fields = this.state.fields;\r\n let errors = {};\r\n let formIsValid = true;\r\n\r\n //Name\r\n if (!fields[\"Name\"]) {\r\n formIsValid = false;\r\n errors[\"Name\"] = \"Name is required.\";\r\n }\r\n\r\n //MembershipNumber\r\n if (!fields[\"MembershipNumber\"]) {\r\n formIsValid = false;\r\n errors[\"MembershipNumber\"] = \"Membership Number is required.\";\r\n }\r\n\r\n //Email\r\n if (!fields[\"Email\"]) {\r\n formIsValid = false;\r\n errors[\"Email\"] = \"Email is required.\";\r\n }\r\n\r\n if (typeof fields[\"Email\"] !== \"undefined\") {\r\n let lastAtPos = fields[\"Email\"].lastIndexOf(\"@\");\r\n let lastDotPos = fields[\"Email\"].lastIndexOf(\".\");\r\n\r\n if (\r\n !(\r\n lastAtPos < lastDotPos &&\r\n lastAtPos > 0 &&\r\n fields[\"Email\"].indexOf(\"@@\") === -1 &&\r\n lastDotPos > 2 &&\r\n fields[\"Email\"].length - lastDotPos > 2\r\n )\r\n ) {\r\n formIsValid = false;\r\n errors[\"Email\"] = \"Email is not valid\";\r\n }\r\n }\r\n\r\n //Phone\r\n if (!fields[\"Phone\"]) {\r\n formIsValid = false;\r\n errors[\"Phone\"] = \"Phone is required.\";\r\n }\r\n\r\n //Query\r\n if (!fields[\"Query\"]) {\r\n formIsValid = false;\r\n errors[\"Query\"] = \"Query is required.\";\r\n }\r\n\r\n this.setState({ errors: errors });\r\n return formIsValid;\r\n }\r\n\r\n feedbackSubmit(e) {\r\n e.preventDefault();\r\n\r\n if (this.handleValidation()) {\r\n axios\r\n .post(\r\n Urls.SubmitFeedback,\r\n {\r\n Name: this.state.fields[\"Name\"],\r\n MembershipNumber: this.state.fields[\"MembershipNumber\"],\r\n Phone: this.state.fields[\"Phone\"],\r\n Email: this.state.fields[\"Email\"],\r\n Query: this.state.fields[\"Query\"],\r\n },\r\n {\r\n headers: {\r\n Authorization: \"bearer \" + localStorage.getItem(\"access_token\"),\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then((response) => {\r\n this.setState({\r\n fields: {},\r\n errors: {},\r\n });\r\n this.state.props_state.onHide();\r\n alert(\"Feedback Submitted Successfully\");\r\n })\r\n .catch(console.log);\r\n }\r\n }\r\n\r\n handleChange(field, e) {\r\n let fields = this.state.fields;\r\n fields[field] = e.target.value;\r\n this.setState({ fields });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n Feedback\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {this.state.errors[\"Name\"]}\r\n
\r\n
\r\n \r\n \r\n \r\n {this.state.errors[\"MembershipNumber\"]}\r\n \r\n
\r\n
\r\n \r\n \r\n {this.state.errors[\"Email\"]}\r\n
\r\n
\r\n \r\n \r\n {this.state.errors[\"Phone\"]}\r\n
\r\n
\r\n \r\n \r\n {this.state.errors[\"Query\"]}\r\n
\r\n
\r\n \r\n \r\n \r\n Submit\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default FeedbackModal;\r\n","import React from \"react\";\r\nimport { Modal, Button } from \"react-bootstrap\";\r\n\r\nclass AboutUsModal extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n About Us\r\n \r\n \r\n \r\n

\r\n We are the leading professional body for Accounting Technicians,\r\n with more than 10,000 members and students on the island of Ireland.\r\n

\r\n
\r\n

\r\n Founded in 1983, we provide nationally and internationally\r\n recognised accounting qualifications which open the door to a\r\n rewarding career as an Accounting Technician, as well as further\r\n study.\r\n

\r\n
\r\n

\r\n Our members are employed in industry, practice and the public\r\n sector, at all levels of finance, where they proudly carry the\r\n respected professional designation of MIATI.\r\n

\r\n
\r\n \r\n We educate, train and represent our members, throughout their professional lives.\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default AboutUsModal;\r\n","import React from 'react';\r\nimport { Redirect, withRouter } from 'react-router-dom';\r\nimport axios from 'axios';\r\nimport { LinearProgress } from 'react-md';\r\nimport { NotificationManager } from 'react-notifications';\r\nimport { Urls } from '../network/config';\r\nimport { connect } from 'react-redux';\r\nimport { storeData } from '../store/action';\r\nimport { MYCPD_HOME } from '../network/config';\r\nconst qs = require('querystring');\r\n\r\nclass App extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n username: '',\r\n password: '',\r\n submitted: false,\r\n login: false,\r\n login_error: false,\r\n mainLoading: false,\r\n };\r\n\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n let failureMessage = localStorage.getItem('failureMessage');\r\n if (failureMessage) {\r\n localStorage.removeItem('failureMessage');\r\n NotificationManager.error('Failure!', failureMessage);\r\n }\r\n\r\n let successMessage = localStorage.getItem('successMessage');\r\n if (successMessage) {\r\n localStorage.removeItem('successMessage');\r\n NotificationManager.success('Success!', successMessage);\r\n }\r\n\r\n if (this.props.user.access_token && localStorage.getItem('access_token')) {\r\n this.props.history.push('/home');\r\n } else {\r\n //Login user to site\r\n this.setState({\r\n login: false,\r\n mainLoading: false,\r\n });\r\n }\r\n }\r\n\r\n handleChange(e) {\r\n const { name, value } = e.target;\r\n this.setState({ [name]: value });\r\n }\r\n\r\n handleSubmit(e) {\r\n e.preventDefault();\r\n this.setState({\r\n submitted: true,\r\n });\r\n\r\n const { username, password } = this.state;\r\n if (username && password) {\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n axios\r\n .post(\r\n Urls.Login,\r\n qs.stringify({\r\n username: username,\r\n password: password,\r\n grant_type: 'password',\r\n client_id: 'mycpd',\r\n }),\r\n {\r\n headers: {\r\n 'Content-Type': 'x-www-form-urlencoded',\r\n },\r\n }\r\n )\r\n .then((response) => {\r\n if (response.data) {\r\n // save data to local storage\r\n localStorage.setItem('access_token', response.data.access_token);\r\n localStorage.setItem('displayName', response.data.displayName);\r\n localStorage.setItem('expires_in', response.data.expires_in);\r\n localStorage.setItem('role', response.data.role);\r\n localStorage.setItem('source', response.data?.source);\r\n localStorage.setItem(\r\n 'successMessage',\r\n 'Hello ' + response.data.displayName\r\n );\r\n this.props.addData(\r\n response.data.access_token,\r\n response.data.displayName,\r\n response.data.role,\r\n response.data.token_type\r\n );\r\n\r\n //Login user to site\r\n this.setState({\r\n login: true,\r\n mainLoading: false,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({\r\n login_error: true,\r\n mainLoading: false,\r\n });\r\n console.log(error);\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const { loggingIn } = this.props;\r\n const { username, password, submitted } = this.state;\r\n if (this.state.login) {\r\n return ;\r\n } else {\r\n return (\r\n
\r\n {this.state.mainLoading && }\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Sign In
\r\n
\r\n
\r\n {submitted && (!username || !password) && (\r\n \r\n
    \r\n {submitted && !username && (\r\n
  • \r\n Username is required\r\n
  • \r\n )}\r\n {submitted && !password && (\r\n
  • \r\n Password is required\r\n
  • \r\n )}\r\n
\r\n
\r\n )}\r\n \r\n
    \r\n
  • \r\n Invalid Username or Password\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 {loggingIn && (\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 mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n addData: (access_token, displayName, role, token_type) =>\r\n dispatch(storeData(access_token, displayName, role, token_type)),\r\n };\r\n};\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(App));\r\n// export default App;\r\n","import axios from 'axios';\r\nimport React from 'react';\r\nimport $ from 'jquery';\r\nimport { Redirect, Link } from 'react-router-dom';\r\nimport { NotificationManager } from 'react-notifications';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { AdminUrls } from '../network/config';\r\n\r\nconst cpdHome_Url = AdminUrls.COMMON.HOME;\r\n\r\nclass Home extends React.Component {\r\n constructor() {\r\n super();\r\n\r\n this.dashboardContentHandler = this.dashboardContentHandler.bind(this);\r\n this.handleWindowScreenResize = this.handleWindowScreenResize.bind(this)\r\n this.closeMenu = this.closeMenu.bind(this);\r\n \r\n this.state = {\r\n queuecount: '',\r\n dashboardContent: [],\r\n mainLoading: false,\r\n redirectToLogin: false,\r\n currentScreenWidth: window.innerWidth,\r\n };\r\n this.controller = new AbortController();\r\n }\r\n\r\n closeMenu() {\r\n let element = document.getElementById(\"bs-example-navbar-collapse-1\");\r\n if (element.classList.contains(\"in\")) {\r\n element.classList.toggle(\"in\");\r\n }\r\n }\r\n\r\n handleWindowScreenResize() {\r\n this.setState({\r\n currentScreenWidth: window.innerWidth,\r\n });\r\n }\r\n\r\n\r\n dashboardContentHandler() {\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n axios\r\n .get(cpdHome_Url, {\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n dashboardContent: response?.data,\r\n mainLoading: false,\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.setState({\r\n redirectToLogin: true,\r\n });\r\n localStorage.removeItem('access_token');\r\n if (this.props && typeof this.props.signOut === 'function') {\r\n this.props.signOut();\r\n }\r\n }\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n this.dashboardContentHandler();\r\n let successMessage = localStorage.getItem('successMessage');\r\n //console.log(this.props.user);\r\n if (successMessage) {\r\n localStorage.removeItem('successMessage');\r\n NotificationManager.success(successMessage, 'Login Successful');\r\n }\r\n window.addEventListener('resize', this.handleWindowScreenResize);\r\n }\r\n\r\n render() {\r\n const { currentScreenWidth } = this.state\r\n if (this.state.redirectToLogin) {\r\n return ;\r\n } else {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {this.state.dashboardContent &&\r\n this.state.dashboardContent?.length\r\n ? this.state.dashboardContent.map((item, index) => {\r\n return (\r\n \r\n this.closeMenu()}>\r\n
\r\n {currentScreenWidth >= 486 &&
\r\n {item?.FeatureName}\r\n
}\r\n
\r\n \r\n
\r\n
\r\n {currentScreenWidth <= 486 ? item?.FeatureName : item?.FeatureDesc}\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 mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(Home);\r\n","import React from \"react\";\r\n\r\nclass Loader extends React.Component {\r\n render () {\r\n return (\r\n\t\t
\r\n\t\t\tLoading...\r\n\t\t\t\r\n\t\t
\r\n );\r\n }\r\n}\r\n\r\nexport default Loader;\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport { withRouter } from 'react-router-dom';\r\nimport 'react-table/react-table.css';\r\nimport Pagination from 'react-js-pagination';\r\nimport { LinearProgress } from 'react-md';\r\nimport { MenuItem, Dropdown } from 'react-bootstrap';\r\nimport '../../node_modules/react-md/dist/react-md.indigo-blue.min.css';\r\nimport 'bootstrap-datepicker/js/bootstrap-datepicker.js';\r\nimport 'bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css';\r\nimport Loader from '../_components/loader';\r\nimport { NotificationManager } from 'react-notifications';\r\nimport 'react-notifications/lib/notifications.css';\r\nimport { AdminUrls } from '../network/config';\r\nimport { connect } from 'react-redux';\r\nimport { removeData } from '../store/action';\r\nimport '../components/style.css';\r\n\r\nconst moment = require('moment');\r\n\r\nconst LoadHost_Url = AdminUrls.COMMON.LOADHOST;\r\nconst excelDownload_Url = AdminUrls.COMMON.CPDMEMBERPDF;\r\nconst memberHours_Url = AdminUrls.USER.MEMBERCPDHOURS;\r\nconst memberCpd_Url = AdminUrls.USER.MEMBERCPD;\r\nconst delete_Url = AdminUrls.USER.DELETEMEMBERCPD;\r\n\r\nclass Dashboard extends React.Component {\r\n constructor() {\r\n super();\r\n\r\n this.handlePageChange = this.handlePageChange.bind(this);\r\n\r\n this.clearSearchFilters = this.clearSearchFilters.bind(this);\r\n this.deleteCPDRecord = this.deleteCPDRecord.bind(this);\r\n this.downloadExcel = this.downloadExcel.bind(this);\r\n this.getLoadCpd = this.getLoadCpd.bind(this);\r\n this.getMemberHour = this.getMemberHour.bind(this);\r\n this.getMemberCpd = this.getMemberCpd.bind(this);\r\n this.searchData = this.searchData.bind(this);\r\n this.editViewHandler = this.editViewHandler.bind(this);\r\n this.addViewHandler = this.addViewHandler.bind(this);\r\n\r\n this.state = {\r\n host_list: [],\r\n overdue_hours: 0,\r\n overdue_minutes: 0,\r\n required_hours: 0,\r\n total_hours: 0,\r\n total_minutes: 0,\r\n start_date_iso: '',\r\n start_date: '',\r\n dashboard_records: [],\r\n course_name: '',\r\n host_name: '',\r\n location_name: '',\r\n host_id: '',\r\n year: new Date().getFullYear(),\r\n dashBoxYear: '',\r\n date_selected: '',\r\n sort: {\r\n column: 'CourseName',\r\n direction: 'desc',\r\n },\r\n unauthorized: false,\r\n\r\n memId: '',\r\n cpdDate: '',\r\n cpdCourseName: '',\r\n cpdLocationName: '',\r\n cpdHostName: '',\r\n UserId: '',\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 1,\r\n mainLoading: false,\r\n emptyDivMsg: 'There is no data to show in the grid.',\r\n loadHost: [],\r\n cpdYear: new Date().getFullYear().toString(),\r\n };\r\n this.controller = new AbortController();\r\n }\r\n\r\n downloadExcel(year) {\r\n var fileType = 'application/vnd.ms-excel';\r\n var name;\r\n this.setState({ mainLoading: true });\r\n axios(excelDownload_Url, {\r\n params: {\r\n UserName: this?.state?.UserId,\r\n Year: year,\r\n },\r\n responseType: 'blob',\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n var blob = new Blob([response.data], { type: fileType });\r\n\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, name);\r\n } else {\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', 'MyCPDReport.pdf');\r\n document.body.appendChild(link);\r\n link.click();\r\n }\r\n })\r\n .then((data) => {\r\n this.setState({ mainLoading: false });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n handlePageChange(pageNumber) {\r\n this.setState(\r\n {\r\n activePage: pageNumber,\r\n },\r\n () => {\r\n this.getMemberCpd();\r\n }\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n this.setState(\r\n {\r\n UserId: this?.props?.location?.state?.Id,\r\n memId: this.props?.location?.state?.uid,\r\n },\r\n () => {\r\n this.getMemberCpd();\r\n this.getMemberHour();\r\n }\r\n );\r\n this.getLoadCpd();\r\n }\r\n\r\n getLoadCpd() {\r\n this.setState({ mainLoading: true });\r\n\r\n axios\r\n .get(LoadHost_Url, {\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.setState({\r\n loadHost: data,\r\n mainLoading: false,\r\n });\r\n\r\n this.getCpdCompliantReport(1, this?.state?.yearCpd);\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n clearSearchFilters() {\r\n this.setState(\r\n {\r\n mainLoading: true,\r\n dashboard_records: [],\r\n cpdYear: new Date().getFullYear().toString(),\r\n sort: {\r\n column: 'StartDate',\r\n direction: 'desc',\r\n },\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 1,\r\n unauthorized: false,\r\n cpdDate: '',\r\n cpdCourseName: '',\r\n cpdLocationName: '',\r\n cpdHostName: '',\r\n },\r\n () => {\r\n this.getMemberCpd();\r\n }\r\n );\r\n }\r\n\r\n onSort = (column) => (e) => {\r\n const direction = this.state.sort.column\r\n ? this.state.sort.direction === 'asc'\r\n ? 'desc'\r\n : 'asc'\r\n : 'desc';\r\n this.setState(\r\n {\r\n sort: {\r\n column,\r\n direction,\r\n },\r\n },\r\n () => {\r\n this.getMemberCpd();\r\n }\r\n );\r\n };\r\n\r\n setArrow = (column) => {\r\n let className = 'fa fa-sort';\r\n if (this.state.sort.column === column) {\r\n className += this.state.sort.direction === 'asc' ? '-asc' : '-desc';\r\n }\r\n return className;\r\n };\r\n\r\n deleteCPDRecord(workflowId) {\r\n if (window.confirm('Are you sure you want to delete?')) {\r\n axios\r\n .get(delete_Url, {\r\n params: {\r\n workflowId: workflowId,\r\n },\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.getMemberCpd();\r\n NotificationManager.success('CPD record Deleted');\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n }\r\n\r\n searchData() {\r\n this.getMemberCpd();\r\n this.getMemberHour();\r\n }\r\n\r\n getMemberHour() {\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n axios\r\n .get(memberHours_Url, {\r\n params: {\r\n Year: this?.state?.cpdYear\r\n ? this?.state?.cpdYear\r\n : new Date().getFullYear(),\r\n UserName: this?.state?.UserId ? this.state?.UserId : '',\r\n },\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.setState({\r\n mainLoading: false,\r\n dashBoxYear: this.state.cpdYear ? this.state.cpdYear : 2024,\r\n overdue_hours: data[0].OverdueHours,\r\n overdue_minutes: data[0].OverdueMinutes,\r\n required_hours: data[0].RequiredHours,\r\n total_hours: data[0].TotalHours,\r\n total_minutes: data[0].TotalMinutes,\r\n });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n getMemberCpd() {\r\n let reverse = this.state.sort.direction;\r\n let sortBy = this.state.sort.column;\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n\r\n reverse = reverse === 'asc' ? false : true;\r\n let locationName = this.state.cpdLocationName;\r\n let CourseName = this.state.cpdCourseName;\r\n let year = this.state.cpdYear;\r\n let DateMem = this.state.cpdDate;\r\n let host = this.state.cpdHostName;\r\n if (!year) {\r\n year = 2024;\r\n }\r\n let obj = {\r\n Year: year,\r\n UserName: this.state?.UserId,\r\n page: this?.state?.activePage,\r\n pageSize: this.state.per_page,\r\n reverse: reverse,\r\n sortBy: sortBy,\r\n };\r\n\r\n if (locationName) {\r\n obj.LocationName = locationName;\r\n }\r\n\r\n if (CourseName) {\r\n obj.CourseName = CourseName;\r\n }\r\n if (year) {\r\n obj.Year = year;\r\n } else {\r\n }\r\n if (DateMem) {\r\n obj.Date = DateMem;\r\n }\r\n if (host) {\r\n obj.HostId = host;\r\n }\r\n\r\n axios\r\n .get(memberCpd_Url, {\r\n params: obj,\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.setState({\r\n dashboard_records: data?.Items,\r\n totalPages: data?.TotalPages,\r\n activePage: data?.Page,\r\n totalCount: data?.TotalCount,\r\n mainLoading: false,\r\n });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n editViewHandler(id, mode, item) {\r\n if (this.state.memId) {\r\n item.UserId = this.state.memId;\r\n }\r\n this.props.history.push({\r\n pathname: `mycpd/${id}/${mode}`,\r\n state: item,\r\n });\r\n }\r\n\r\n addViewHandler(id, mode) {\r\n if (mode === 'add') {\r\n this.props.history.push({\r\n pathname: `mycpd`,\r\n });\r\n } else {\r\n this.props.history.push({\r\n pathname: `mycpd/${id}/${mode}`,\r\n });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.controller.abort();\r\n }\r\n\r\n render() {\r\n let dashboard_records;\r\n\r\n if (this.state.dashboard_records !== null) {\r\n dashboard_records = this.state.dashboard_records.map(\r\n (dashboard_record, index) => {\r\n return (\r\n \r\n \r\n {dashboard_record.CPDTypeName}\r\n {dashboard_record.CourseName}\r\n \r\n {dashboard_record.Hours}h{' '}\r\n {dashboard_record.Minutes ? `${dashboard_record.Minutes}m` : ''}\r\n \r\n \r\n {dashboard_record.CompletionDate\r\n ? moment(dashboard_record.CompletionDate).format('ll')\r\n : 'na'}\r\n \r\n {dashboard_record.Venue}\r\n {dashboard_record.Trainer}\r\n \r\n {this?.state?.loadHost?.length &&\r\n this?.state?.loadHost\r\n ?.filter((item) => item.ID === dashboard_record.HostId)\r\n .map((item) => item.Name)}\r\n \r\n \r\n {dashboard_record.StartDate\r\n ? moment(dashboard_record.StartDate).format('ll')\r\n : 'na'}\r\n \r\n \r\n {dashboard_record.CourseId === 0 &&\r\n !dashboard_record.CourseId ? (\r\n \r\n ) : (\r\n \r\n \r\n this.editViewHandler(\r\n dashboard_record?.CPDWorkflowId,\r\n 'edit',\r\n dashboard_record\r\n )\r\n }\r\n >\r\n \r\n {' '}\r\n \r\n \r\n \r\n this.deleteCPDRecord(dashboard_record.CPDWorkflowId)\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 return (\r\n
\r\n {this.state.mainLoading && }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {this.state.required_hours}{' '}\r\n Hour\r\n
\r\n \r\n {' '}\r\n
\r\n
\r\n
\r\n
\r\n Required\r\n \r\n {this.state.dashBoxYear}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {this.state.overdue_hours > 0 ? this.state.overdue_hours : 0}{' '}\r\n \r\n Hour{' '}\r\n {this.state.overdue_minutes > 0\r\n ? this.state.overdue_minutes\r\n : 0}{' '}\r\n Mins\r\n \r\n
\r\n \r\n {' '}\r\n
\r\n
\r\n \r\n
\r\n Remaining\r\n \r\n {this.state.dashBoxYear}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {this.state.total_hours}{' '}\r\n \r\n Hour {this.state.total_minutes} Mins\r\n \r\n
\r\n \r\n {' '}\r\n
\r\n
\r\n \r\n
\r\n Completed\r\n \r\n {this.state.dashBoxYear}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n {' '}\r\n Search\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n this.setState({ cpdCourseName: e.target.value })\r\n }\r\n id=\"CourseName\"\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n this.setState({\r\n cpdYear: e.target.value,\r\n })\r\n }\r\n id=\"sel1\"\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.setState({ cpdLocationName: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n this.setState({ cpdDate: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n this.setState({ cpdHostName: e.target.value })\r\n }\r\n value={this.state.cpdHostName}\r\n >\r\n \r\n {this?.state?.loadHost?.length &&\r\n this?.state?.loadHost?.map((item, index) => {\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 Search\r\n \r\n \r\n {' '}\r\n Clear\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n window.print()}\r\n className=\"btn btn-danger btn-circle btn-lg \"\r\n >\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.downloadExcel('All');\r\n }}\r\n eventKey=\"4\"\r\n >\r\n All\r\n \r\n {\r\n this.downloadExcel(2022);\r\n }}\r\n eventKey=\"3\"\r\n >\r\n 2022\r\n \r\n {\r\n this.downloadExcel(2023);\r\n }}\r\n eventKey=\"4\"\r\n >\r\n 2023\r\n \r\n {\r\n this.downloadExcel(2024);\r\n }}\r\n eventKey=\"5\"\r\n >\r\n 2024\r\n \r\n {\r\n this.downloadExcel(2025);\r\n }}\r\n eventKey=\"6\"\r\n >\r\n 2025\r\n \r\n \r\n \r\n\r\n this.addViewHandler(this?.state?.memId, 'add')}\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n {this.state.mainLoading && }\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 {dashboard_records}\r\n
\r\n Course Type \r\n \r\n Course \r\n \r\n Completed Hours \r\n \r\n Completion Date\r\n \r\n \r\n Venue \r\n \r\n Trainer \r\n \r\n Host \r\n \r\n Start Date \r\n Actions
\r\n {dashboard_records.length > 0 ? '' : this.state.emptyDivMsg}\r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(withRouter(Dashboard));\r\n","import React from 'react';\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { isVideo } from '../../components/helper';\r\nimport { Left, Right } from 'react-bootstrap/lib/Media';\r\n\r\nclass ViewModal extends React.Component {\r\n render() {\r\n function showTable(props) {\r\n return props.courseFilePathItems?.length > 0 || props.surveyLink;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.props.coursename}\r\n \r\n \r\n \r\n \r\n \r\n

{this.props.startdate}

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

{this.props.courselocation}

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

{this.props.coursetype}

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

{this.props.host}

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

{this.props.cpdformat}

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

{this.props.venue}

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

{this.props.trainer}

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

{this.props.description}

\r\n
\r\n {this.props.howToBook && (\r\n
\r\n \r\n

\r\n \r\n {this.props.howToBook}\r\n \r\n

\r\n
\r\n )}\r\n\r\n {showTable(this.props) && (\r\n
\r\n
\r\n \r\n \r\n \r\n To Do\r\n \r\n \r\n \r\n \r\n {this.props.courseFilePathItems?.map((item) => (\r\n \r\n {item.FileName}\r\n {!isVideo(item.FileName) ? (\r\n \r\n {' '}\r\n \r\n this.props.handleDownloadFile(item)\r\n }\r\n >\r\n {' '}\r\n Download\r\n \r\n \r\n ) : (\r\n \r\n
\r\n {' '}\r\n \r\n this.props.viewFileHandle(item, '1')\r\n }\r\n >\r\n {' '}\r\n View\r\n \r\n
\r\n
\r\n {item.IsVideoCompleted && (\r\n \r\n )}\r\n
\r\n \r\n )}\r\n \r\n ))}\r\n {this.props.surveyLink && (\r\n \r\n Survey\r\n \r\n {\r\n e.preventDefault();\r\n window.open(this.props.surveyLink, '_blank', '');\r\n }}\r\n >\r\n {' '}\r\n View\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\nexport default ViewModal;\r\n","export function clean(obj) {\r\n for (var propName in obj) {\r\n if (\r\n obj[propName] === '' ||\r\n obj[propName] === undefined ||\r\n obj[propName] === null\r\n ) {\r\n delete obj[propName];\r\n }\r\n }\r\n return obj;\r\n}\r\n\r\nexport function isVideo(filename) {\r\n var ext = getExtension(filename);\r\n switch (ext.toLowerCase()) {\r\n case 'm4v':\r\n case 'avi':\r\n case 'mpg':\r\n case 'mp4':\r\n // do nothing\r\n // etc\r\n return true;\r\n default:\r\n return false;\r\n }\r\n}\r\n\r\nfunction getExtension(filename) {\r\n var parts = filename.split('.');\r\n return parts[parts.length - 1];\r\n}\r\n","import React from 'react';\r\nimport 'react-table/react-table.css';\r\nimport { Redirect } from 'react-router-dom';\r\nimport axios from 'axios';\r\nimport Pagination from 'react-js-pagination';\r\nimport $ from 'jquery';\r\nimport { LinearProgress } from 'react-md';\r\nimport '../../node_modules/react-md/dist/react-md.indigo-blue.min.css';\r\nimport ViewModal from '../cpdrecord/_modal/view';\r\nimport Loader from '../_components/loader';\r\nimport { Urls } from '../network/config';\r\nimport { connect } from 'react-redux';\r\nimport { removeData } from '../store/action';\r\nimport '../components/style.css';\r\nimport { AdminUrls } from '../network/config';\r\n\r\nconst moment = require('moment');\r\nconst downloadFile_Url = AdminUrls.COMMON.COURSEFILEDOWNLOAD;\r\n\r\nclass CPDGO extends React.Component {\r\n constructor() {\r\n super();\r\n this.handlePaginationFilter = this.handlePaginationFilter.bind(this);\r\n this.handlePageChange = this.handlePageChange.bind(this);\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.clearSearchFilters = this.clearSearchFilters.bind(this);\r\n this.downloadExcel = this.downloadExcel.bind(this);\r\n this.onSort = this.onSort.bind(this);\r\n this.handleDownloadFile = this.handleDownloadFile.bind(this);\r\n this.viewFileHandle = this.viewFileHandle.bind(this);\r\n\r\n this.state = {\r\n course_name: '',\r\n location_name: '',\r\n host: '',\r\n start_date: '',\r\n sort: {\r\n column: 'StartDate',\r\n direction: 'desc',\r\n },\r\n approved_cpd_records: [],\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 0,\r\n unauthorized: false,\r\n listViewModalShown: false,\r\n listViewDataCourseName: '',\r\n listViewDatastartDate: '',\r\n listViewDatacourseLocation: '',\r\n listViewDatacourseType: '',\r\n listViewDatahost: '',\r\n listViewDatacpdFormat: '',\r\n listViewDatavenue: '',\r\n listViewDatatrainer: '',\r\n listViewDatacourseDescription: '',\r\n listViewDatahowToBook: '',\r\n listViewDatasurveyLink: '',\r\n listViewDatacourseFilePathItems: [],\r\n mainLoading: false,\r\n emptyDivMsg:\r\n 'There is no data to show in the grid for the current selection.\\n' +\r\n \"If you can't find what you are looking for? Check out our online offerings in CPDgo.\",\r\n };\r\n }\r\n\r\n handleInputChange(name, value) {\r\n let newValue = value;\r\n if (name === 'start_date') {\r\n var mydate = moment(value, 'DD/MM/YYYY');\r\n let newDate = new Date(moment(mydate).format('MM/DD/YYYY'));\r\n newValue = newDate.toISOString();\r\n this.setState({\r\n start_date_iso: newValue,\r\n });\r\n }\r\n this.setState({\r\n [name]: value,\r\n });\r\n }\r\n\r\n handlePageChange(pageNumber) {\r\n this.setState({\r\n activePage: pageNumber,\r\n });\r\n this.makeHttpRequestWithPage(pageNumber);\r\n }\r\n\r\n componentDidMount() {\r\n setTimeout(() => {\r\n this.setState({\r\n mainLoading: false,\r\n });\r\n }, 1000);\r\n\r\n $('.datepicker').datepicker();\r\n this.makeHttpRequestWithPage(1);\r\n }\r\n\r\n makeHttpRequestWithPage(pageNumber, column, direction) {\r\n let reverse = this.state.sort.direction;\r\n let sortBy = this.state.sort.column;\r\n\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n\r\n if (column) {\r\n sortBy = column;\r\n }\r\n\r\n if (direction) {\r\n reverse = direction;\r\n }\r\n\r\n reverse = reverse === 'asc' ? false : true;\r\n\r\n let self = this;\r\n axios\r\n .get(Urls.CPDgo_URL, {\r\n params: {\r\n CourseName: this.state.course_name,\r\n HostName: this.state.host,\r\n LocationName: this.state.location_name,\r\n StartDate: this.state.start_date,\r\n reverse: reverse,\r\n sortBy: sortBy,\r\n page: pageNumber,\r\n pageSize: this.state.per_page,\r\n },\r\n method: 'GET',\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization: 'bearer ' + localStorage.getItem('access_token'),\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.setState({\r\n approved_cpd_records: data.Items,\r\n totalPages: data.TotalPages,\r\n activePage: data.Page,\r\n totalCount: data.TotalCount,\r\n mainLoading: false,\r\n });\r\n })\r\n .catch(function (error) {\r\n if (error) {\r\n if (error.response) {\r\n if (error.response.status === 401) {\r\n self.setState({\r\n unauthorized: true,\r\n mainLoading: false,\r\n });\r\n localStorage.setItem('failureMessage', 'Login Expired');\r\n self.props.signOut();\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n handlePaginationFilter(event) {\r\n let value = event.target.value;\r\n this.setState({\r\n per_page: value,\r\n mainLoading: true,\r\n });\r\n setTimeout(() => {\r\n this.makeHttpRequestWithPage(1);\r\n }, 1000);\r\n }\r\n\r\n clearSearchFilters() {\r\n this.setState({\r\n course_name: '',\r\n location_name: '',\r\n host: '',\r\n start_date: '',\r\n sort: {\r\n column: 'StartDate',\r\n direction: 'desc',\r\n },\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 0,\r\n });\r\n $('.datepicker').datepicker();\r\n\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n\r\n setTimeout(() => {\r\n this.makeHttpRequestWithPage(1);\r\n }, 1000);\r\n }\r\n\r\n onSort = (column) => (e) => {\r\n const direction = this.state.sort.column\r\n ? this.state.sort.direction === 'asc'\r\n ? 'desc'\r\n : 'asc'\r\n : 'desc';\r\n this.setState({\r\n sort: {\r\n column,\r\n direction,\r\n },\r\n });\r\n this.makeHttpRequestWithPage(1, column, direction);\r\n };\r\n\r\n setArrow = (column) => {\r\n let className = 'fa fa-sort';\r\n if (this.state.sort.column === column) {\r\n className += this.state.sort.direction === 'asc' ? '-asc' : '-desc';\r\n }\r\n return className;\r\n };\r\n\r\n handleDownloadFile(fileData) {\r\n if (\r\n fileData &&\r\n fileData?.ModifiedFileName.toUpperCase() !== 'NO FILE UPLOADED'\r\n ) {\r\n var downloadPath =\r\n downloadFile_Url + '?name=' + fileData?.ModifiedFileName;\r\n window.open(downloadPath, '_blank', '');\r\n }\r\n }\r\n\r\n viewFileHandle(row, userType) {\r\n debugger;\r\n if (row && row.ModifiedFileName) {\r\n if (userType && userType === '1') {\r\n //userVideoInfo(config.COMMON.VIDEOUPDATE, row, $http);\r\n }\r\n //window.open(config.COMMON.VIDEOFILE + row.ModifiedFileName);\r\n window.open(\r\n `${process.env.PUBLIC_URL}/video/CPDVideo.html?CId=${row.CourseId}&VidComp=${row?.IsVideoCompleted}&VidStringFormat=${row?.VideoCompletedDateStringFormat}`\r\n );\r\n }\r\n }\r\n\r\n openModalWithItem(\r\n courseName,\r\n startDate,\r\n courseLocation,\r\n courseType,\r\n host,\r\n cpdFormat,\r\n venue,\r\n trainer,\r\n courseDescription,\r\n howToBook,\r\n courseFilePathItems,\r\n surveyLink\r\n ) {\r\n this.setState({\r\n listViewDataCourseName: courseName,\r\n listViewDatastartDate: startDate ? startDate : 'na',\r\n listViewDatacourseLocation: courseLocation ? courseLocation : 'na',\r\n listViewDatacourseType: courseType ? courseType : 'na',\r\n listViewDatahost: host ? host : 'na',\r\n listViewDatacpdFormat: cpdFormat ? cpdFormat : 'na',\r\n listViewDatavenue: venue ? venue : 'na',\r\n listViewDatatrainer: trainer ? trainer : 'na',\r\n listViewDatacourseDescription: courseDescription\r\n ? courseDescription\r\n : 'na',\r\n listViewModalShown: true,\r\n listViewDatahowToBook: howToBook,\r\n listViewDatacourseFilePathItems: courseFilePathItems,\r\n listViewDatasurveyLink: surveyLink,\r\n });\r\n }\r\n\r\n downloadExcel() {\r\n var fileType = 'application/vnd.ms-excel';\r\n var name;\r\n this.setState({ mainLoading: true });\r\n axios(Urls.FACE_TO_FACE_Excel_Download_URL, {\r\n responseType: 'blob',\r\n method: 'GET',\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization: 'bearer ' + localStorage.getItem('access_token'),\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n var blob = new Blob([response.data], { type: fileType });\r\n\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, name);\r\n } else {\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', 'ATICPD.xlsx');\r\n document.body.appendChild(link);\r\n link.click();\r\n }\r\n })\r\n .then((data) => {\r\n this.setState({ mainLoading: false });\r\n })\r\n .catch(console.log);\r\n }\r\n\r\n render() {\r\n if (this.state.unauthorized) {\r\n return ;\r\n }\r\n\r\n let listViewModalShownClose = () =>\r\n this.setState({ listViewModalShown: false });\r\n let approved_cpd_records;\r\n\r\n if (this.state.approved_cpd_records !== null) {\r\n approved_cpd_records = this.state.approved_cpd_records.map(\r\n (cpd_record, index) => (\r\n \r\n {cpd_record.CourseName}\r\n {cpd_record.LocationName}\r\n \r\n {cpd_record.Duration > 0\r\n ? cpd_record.Duration + 'h'\r\n : cpd_record.Minutes + 'm'}\r\n \r\n {cpd_record.HostName}\r\n {cpd_record.CPDTypeName}\r\n {cpd_record.Trainer}\r\n \r\n {cpd_record.StartDate\r\n ? moment(cpd_record.StartDate).format('ll')\r\n : 'na'}\r\n \r\n \r\n {\r\n this.openModalWithItem(\r\n cpd_record.CourseName,\r\n cpd_record.StartDate\r\n ? moment(cpd_record.StartDate).format('ll')\r\n : 'na',\r\n cpd_record.LocationName,\r\n cpd_record.CPDTypeName,\r\n cpd_record.HostName,\r\n cpd_record.CPDFormatName,\r\n cpd_record.Venue,\r\n cpd_record.Trainer,\r\n cpd_record.CourseDescription,\r\n cpd_record.HowToBook,\r\n cpd_record.CourseFilePathItems,\r\n cpd_record.SurveyLink\r\n );\r\n }}\r\n style={{ fontSize: '20px', cursor: 'pointer', color: 'black' }}\r\n >\r\n \r\n \r\n \r\n \r\n )\r\n );\r\n }\r\n\r\n return (\r\n
\r\n {this.state.mainLoading && }\r\n
\r\n
\r\n \r\n {' '}\r\n Search\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n this.setState({ course_name: e.target.value })\r\n }\r\n value={this.state.course_name}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n this.setState({ location_name: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n this.setState({ host: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n this.setState({ start_date: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n
\r\n\r\n
\r\n this.makeHttpRequestWithPage(1)}\r\n onKeyPress={() => this.makeHttpRequestWithPage(1)}\r\n type=\"Submit\"\r\n >\r\n Search\r\n \r\n this.clearSearchFilters()}\r\n >\r\n {' '}\r\n Clear\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n window.print()}\r\n className=\"btn btn-danger btn-circle btn-lg ng-scope\"\r\n tooltip=\"\"\r\n >\r\n \r\n \r\n {\r\n this.downloadExcel();\r\n }}\r\n style={{ marginLeft: '10px', lineHeight: '28px' }}\r\n className=\"btn btn-success btn-circle btn-lg \"\r\n >\r\n \r\n \r\n
\r\n
\r\n {' '}\r\n Show\r\n this.handlePaginationFilter(e)}\r\n >\r\n \r\n \r\n \r\n \r\n entries\r\n
\r\n
\r\n
\r\n {this.state.mainLoading && }\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 {approved_cpd_records}\r\n
\r\n Course Name \r\n \r\n Location \r\n \r\n CPD Hours \r\n \r\n Host \r\n \r\n Type \r\n \r\n Trainer \r\n \r\n Start Date \r\n View
\r\n {approved_cpd_records.length > 0 ? '' : this.state.emptyDivMsg}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(null, mapDispatchToProps)(CPDGO);\r\n","import React from 'react';\r\nimport 'react-table/react-table.css';\r\nimport { Redirect } from 'react-router-dom';\r\nimport $ from 'jquery';\r\nimport axios from 'axios';\r\nimport { NotificationManager } from 'react-notifications';\r\nimport 'bootstrap-datepicker/js/bootstrap-datepicker.js';\r\nimport 'bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css';\r\nimport { AdminUrls, Urls } from '../network/config';\r\nimport { removeData } from '../store/action';\r\nimport { connect } from 'react-redux';\r\n\r\nconst moment = require('moment');\r\n\r\nlet default_date_completed = '';\r\n\r\nconst getCourse_Url = AdminUrls.COMMON.GETCOURSESBYCPDTYPE;\r\nconst updateMember_Url = AdminUrls.USER.WORKFLOWUPDATE;\r\nconst addMember_Url = AdminUrls.USER.WORKFLOWADD;\r\nconst fileUpload_Url = AdminUrls.USER.FILEUPLOAD;\r\n\r\n//On view load: Call member info, types, formats, hosts, locations api. Fill data for first step automatically\r\nclass RecordCPD extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n const {\r\n match: { params },\r\n } = this.props;\r\n\r\n this.state = {\r\n mode: params.mode,\r\n workFlowId: params.workFlowId,\r\n currentStep: 1,\r\n host_list: [],\r\n member_info: [],\r\n types: [],\r\n formats: [],\r\n locations: [],\r\n courses: [],\r\n courses_options: [],\r\n uid: '',\r\n cpd_type_id: 4,\r\n MemberId: null,\r\n course_company: '',\r\n course_format: 'Online',\r\n course_id: '',\r\n course_name: '',\r\n course_detail: [],\r\n course_description: '',\r\n venue: '',\r\n cpd_hours: 0,\r\n cpd_mins: 0,\r\n cpd_year: new Date().getFullYear(),\r\n date_completed: null,\r\n start_date_iso: '',\r\n file_upload: null,\r\n file_name: null,\r\n host_id: '',\r\n trainer: '',\r\n location_id: '',\r\n is_declared: false,\r\n third_tab_active: false,\r\n unauthorized: false,\r\n redirectDashboard: false,\r\n member_id: '',\r\n hiddenDateCompleted: null,\r\n };\r\n this.controller = new AbortController();\r\n this.handlePrevStep = this.handlePrevStep.bind(this);\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.handleNextStep = this.handleNextStep.bind(this);\r\n this.handleSaveRecord = this.handleSaveRecord.bind(this);\r\n this.fetchMemberInfo = this.fetchMemberInfo.bind(this);\r\n this.fetchTypes = this.fetchTypes.bind(this);\r\n this.fetchFormats = this.fetchFormats.bind(this);\r\n this.fetchHosts = this.fetchHosts.bind(this);\r\n this.fetchLocations = this.fetchLocations.bind(this);\r\n this.fetchCourses = this.fetchCourses.bind(this);\r\n this.fetchCourseDetail = this.fetchCourseDetail.bind(this);\r\n this.handleFileUpload = this.handleFileUpload.bind(this);\r\n this.fetchCPDRecord = this.fetchCPDRecord.bind(this);\r\n this.makeThirdTabActive = this.makeThirdTabActive.bind(this);\r\n\r\n if (this.state.mode !== 'edit' && this.state.mode !== 'view') {\r\n this.state.mode = 'add';\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n $('.datepicker').datepicker({\r\n autoclose: true,\r\n todayHighlight: true,\r\n maxDate: new Date(),\r\n });\r\n\r\n let dataMember = this.props.location.state;\r\n let id_u = this.props.match?.params?.workFlowId;\r\n\r\n if (this.state.mode === 'edit' || this.state.mode === 'view') {\r\n if (dataMember) {\r\n this.setState(\r\n {\r\n member_id: this.props?.location?.state?.UserId,\r\n workFlowId: dataMember?.CPDWorkflowId,\r\n course_format: dataMember?.CPDFormatId,\r\n course_company: dataMember?.Company,\r\n uid: dataMember?.UserId,\r\n cpd_type_id: dataMember?.CPDTypeId,\r\n course_description: dataMember?.CourseDescription,\r\n venue: dataMember?.Venue,\r\n cpd_hours: dataMember?.Hours,\r\n cpd_mins: dataMember?.Minutes,\r\n cpd_year: dataMember?.CPDYear,\r\n file_name: dataMember?.FileName,\r\n host_id: dataMember?.HostId,\r\n trainer: dataMember?.Trainer,\r\n location_id: dataMember?.LocationId,\r\n course_id: dataMember?.CourseId,\r\n course_name: dataMember?.CourseName,\r\n start_date_iso: dataMember?.CompletionDate,\r\n is_declared: dataMember?.IsDeclared,\r\n date_completed: dataMember?.CompletionDate.split('T')[0],\r\n },\r\n () => {\r\n this.makeThirdTabActive();\r\n this.fetchTypes();\r\n this.fetchFormats();\r\n this.fetchHosts();\r\n this.fetchLocations();\r\n this.fetchCourses();\r\n this.fetchMemberInfo(dataMember?.UserId);\r\n // this.fetchCPDRecord();\r\n }\r\n );\r\n }\r\n }\r\n\r\n if (this.state.mode === 'add') {\r\n this.setState({\r\n member_id: this.props?.location?.state?.UserId,\r\n });\r\n this.fetchMemberInfo(id_u);\r\n this.fetchTypes();\r\n\r\n this.fetchFormats();\r\n this.fetchHosts();\r\n this.fetchLocations();\r\n this.fetchCourses();\r\n }\r\n }\r\n\r\n fetchTypes() {\r\n let self = this;\r\n axios\r\n .get(Urls.Types_URL + '?Id=4', {\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n if (data) {\r\n self.setState({ types: data });\r\n }\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n fetchMemberInfo(memberId) {\r\n let self = this;\r\n var memberURL = AdminUrls.USER.GETMEMBERINFO + `?memID=${memberId ?? ''}`;\r\n axios\r\n .get(memberURL, {\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n if (data) {\r\n self.setState({\r\n member_info: data,\r\n MemberId: data.MemberId,\r\n });\r\n }\r\n })\r\n .catch(function (error) {\r\n if (error) {\r\n if (error.response) {\r\n if (error.response.status === 401) {\r\n self.setState({\r\n unauthorized: true,\r\n });\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n fetchFormats() {\r\n let self = this;\r\n axios\r\n .get(AdminUrls.COMMON.CPDFORMAT, {\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n if (data) {\r\n self.setState({ formats: data });\r\n }\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n fetchHosts() {\r\n let self = this;\r\n // Hosts List\r\n axios\r\n .get(AdminUrls.COMMON.LOADHOST, {\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n if (data) {\r\n self.setState({ host_list: data });\r\n }\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n fetchLocations() {\r\n let self = this;\r\n axios\r\n .get(AdminUrls.COMMON.COURSELOCATION, {\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n if (data) {\r\n self.setState({ locations: data });\r\n }\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n fetchCourses(TypeId, checkStates) {\r\n let self = this;\r\n let cpd_type_id = this.state.cpd_type_id;\r\n if (TypeId) {\r\n cpd_type_id = TypeId;\r\n }\r\n\r\n if (checkStates !== 'edit' && TypeId != null) {\r\n this.setState({\r\n cpd_type_id: TypeId,\r\n course_format: 'Online',\r\n course_id: '',\r\n course_name: '',\r\n course_description: '',\r\n venue: '',\r\n cpd_hours: 0,\r\n cpd_mins: 0,\r\n cpd_year: new Date().getFullYear(),\r\n date_completed: null,\r\n start_date_iso: '',\r\n file_upload: null,\r\n file_name: null,\r\n host_id: '',\r\n trainer: '',\r\n location_id: '',\r\n });\r\n }\r\n\r\n axios\r\n .get(getCourse_Url, {\r\n params: {\r\n CPDTypeId: cpd_type_id,\r\n },\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n if (data.Items) {\r\n let courses_option = [];\r\n data.Items.map((item, key) =>\r\n courses_option.push({\r\n key: item.CourseId,\r\n value: item.CourseName,\r\n text: item.CourseName,\r\n })\r\n );\r\n\r\n self.setState({\r\n courses: data.Items,\r\n courses_option: courses_option,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n fetchCourseDetail(CourseId) {\r\n let self = this;\r\n let course_id = this.state.course_id;\r\n if (CourseId) {\r\n course_id = CourseId;\r\n }\r\n\r\n axios\r\n .get(AdminUrls.COMMON.GETCOURSEBYID, {\r\n params: {\r\n CourseId: course_id,\r\n },\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n if (data) {\r\n self.setState({\r\n course_detail: data,\r\n course_id: CourseId,\r\n course_name: data?.CourseName,\r\n course_format: data?.CPDFormatId,\r\n course_description: data?.CourseDescription,\r\n venue: data?.Venue,\r\n cpd_hours: data?.DurationHours !== null ? data.DurationHours : 0,\r\n cpd_mins: data?.Minutes !== null ? data.Minutes : 0,\r\n cpd_year:\r\n data?.CPDYear !== null ? data.CPDYear : new Date().getFullYear(),\r\n date_completed: null,\r\n trainer: data?.Trainer,\r\n host_id: data?.HostId,\r\n location_id: data?.LocationId,\r\n file_upload: null,\r\n file_name: null,\r\n course_company: data?.HostName,\r\n });\r\n\r\n this.makeThirdTabActive();\r\n }\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n handlePrevStep() {\r\n this.setState({\r\n currentStep: this.state.currentStep - 1,\r\n });\r\n }\r\n\r\n handleNextStep() {\r\n this.setState({\r\n currentStep: this.state.currentStep + 1,\r\n });\r\n }\r\n\r\n makeThirdTabActive() {\r\n if (this.state.cpd_type_id === '4' || this?.state?.mode === 'add') {\r\n if (\r\n this.state.cpd_type_id !== '' &&\r\n this.state.course_name !== '' &&\r\n this.state.course_format !== '' &&\r\n this.state.course_description !== '' &&\r\n this.state.venue !== '' &&\r\n this.state.cpd_hours !== '' &&\r\n this.state.file_name !== null &&\r\n this.state.date_completed !== ''\r\n ) {\r\n this.setState({\r\n third_tab_active: true,\r\n cpd_type_id: '4',\r\n });\r\n } else {\r\n this.setState({\r\n third_tab_active: false,\r\n });\r\n }\r\n } else {\r\n if (\r\n this.state.cpd_type_id !== '' &&\r\n this.state.course_id !== '' &&\r\n this.state.course_description !== '' &&\r\n this.state.venue !== '' &&\r\n this.state.cpd_hours !== '' &&\r\n this.state.file_name !== null &&\r\n this.state.date_completed !== ''\r\n ) {\r\n this.setState({\r\n third_tab_active: true,\r\n });\r\n } else {\r\n this.setState({\r\n third_tab_active: false,\r\n });\r\n }\r\n }\r\n }\r\n\r\n handleSaveRecord() {\r\n if (this.state.mode === 'edit') {\r\n axios\r\n .post(\r\n updateMember_Url,\r\n {\r\n CPDFormatId: this.state.course_format,\r\n CPDTypeId: this.state.cpd_type_id,\r\n CPDWorkflowId: this.state.workFlowId,\r\n CPDYear: this.state.cpd_year,\r\n Company: this.state.course_company,\r\n CompletionDate: this.state.start_date_iso,\r\n CourseId: this.state.course_id,\r\n CourseMode: 1,\r\n CourseName: this.state.course_name,\r\n Description: this.state.course_description,\r\n FileName: this.state.file_name,\r\n HostId: this.state.host_id,\r\n HostName: this.state.course_company,\r\n Hours: +this.state.cpd_hours,\r\n IsDeclared: this.state.is_declared,\r\n LocationId: this.state.location_id,\r\n MemberId: this.state.MemberId,\r\n Minutes: this.state.cpd_mins,\r\n Trainer: this.state.trainer,\r\n Venue: this.state.venue,\r\n },\r\n {\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n }\r\n )\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.handleFileUpload(data);\r\n let obj = {\r\n Id: this.state.MemberId,\r\n uid: this.state.member_id,\r\n };\r\n this.props.history.push({\r\n pathname: '/cpdrecord',\r\n state: obj,\r\n });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n } else {\r\n if (window.confirm('Are you sure you want to save?')) {\r\n var cpdyear = new Date().getFullYear();\r\n if (this.state.cpd_year) {\r\n cpdyear = this.state.cpd_year;\r\n }\r\n\r\n axios\r\n .post(\r\n addMember_Url,\r\n {\r\n CPDFormatId: +this.state.course_format,\r\n CPDTypeId: +this.state.cpd_type_id,\r\n CPDWorkflowId: 0,\r\n CPDYear: +cpdyear,\r\n Company: this.state.course_company,\r\n CompletionDate:\r\n this.state.start_date_iso ?? this.state.hiddenDateCompleted,\r\n CourseId: +this.state.course_id,\r\n CourseMode: '',\r\n CourseName: this?.state?.course_name,\r\n Description: this.state.course_description,\r\n FileName: this.state.file_name,\r\n HostId: +this.state.host_id,\r\n HostName: this.state.course_company,\r\n Hours: +this.state.cpd_hours,\r\n IsDeclared: this.state.is_declared,\r\n LocationId: +this.state.location_id,\r\n MemberId: this.state.MemberId,\r\n Minutes: this.state.cpd_mins,\r\n Trainer: this.state.trainer,\r\n Venue: this.state.venue,\r\n },\r\n {\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` +\r\n this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n }\r\n )\r\n .then((response) => response?.data)\r\n .then((data) => {\r\n this.handleFileUpload(data);\r\n let obj = {\r\n Id: this.state.MemberId,\r\n uid: this.state.member_id,\r\n };\r\n this.props.history.push({\r\n pathname: '/cpdrecord',\r\n state: obj,\r\n });\r\n })\r\n .catch((error) => {\r\n NotificationManager.error(error.response?.data);\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n }\r\n\r\n // this.props.history.push(\"/home\");\r\n }\r\n\r\n handleFileUpload(record) {\r\n let blobFile = this.state.file_upload;\r\n let formData = new FormData();\r\n var cpdqueueId = '';\r\n if (record.CPDQueueId) {\r\n cpdqueueId = record.CPDQueueId;\r\n }\r\n\r\n formData.append('file', blobFile);\r\n\r\n axios\r\n .post(fileUpload_Url, formData, {\r\n processData: false,\r\n contentType: false,\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n\r\n workflowreqid: record.CPDWorkflowId,\r\n CPDQueueId: cpdqueueId,\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n NotificationManager.success(\r\n 'Success!',\r\n 'MyCPD Record Created Successfully'\r\n );\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n handleInputChange(event, field_name) {\r\n if (field_name === 'date_completed') {\r\n let newValue = new Date(event?.target?.value).toISOString();\r\n default_date_completed = '';\r\n\r\n // var mydate = moment(newValue, \"DD/MM/YYYY\");\r\n // let newDate = new Date(moment(mydate).format(\"MM/DD/YYYY\"));\r\n // newValue = newDate.toISOString();\r\n\r\n this.setState({\r\n start_date_iso: newValue,\r\n date_completed: event?.target?.value,\r\n hiddenDateCompleted: event?.target?.value,\r\n });\r\n } else {\r\n const target = event.target;\r\n const value = target.value;\r\n const name = target.name;\r\n\r\n if (name === 'file_upload') {\r\n if (event.target.files.length > 0) {\r\n this.setState({\r\n [name]: event.target.files[0],\r\n file_name: event.target.files[0].name,\r\n });\r\n }\r\n } else if (name === 'is_declared') {\r\n this.setState({\r\n is_declared: target.checked,\r\n });\r\n } else {\r\n this.setState({\r\n [name]: value,\r\n });\r\n }\r\n\r\n if (name === 'cpd_type_id') {\r\n this.fetchCourses(value);\r\n }\r\n\r\n if (name === 'course_id') {\r\n this.fetchCourseDetail(value);\r\n }\r\n }\r\n\r\n setTimeout(() => {\r\n this.makeThirdTabActive();\r\n }, 500);\r\n }\r\n\r\n fetchCPDRecord() {\r\n let self = this;\r\n\r\n axios\r\n .get(AdminUrls.USER.MEMBERCPD, {\r\n params: {\r\n page: 1,\r\n pageSize: 10,\r\n reverse: true,\r\n sortBy: 'CPDWorkflowId',\r\n limit: this.state.workFlowId,\r\n },\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n if (data.Items) {\r\n data.Items.forEach((element) => {\r\n default_date_completed = moment(element.CompletionDate)\r\n .format('DD/MM/YYYY')\r\n .toString();\r\n if (element.CPDWorkflowId === self.state.workFlowId) {\r\n self.setState({\r\n cpd_type_id: element.CPDTypeId,\r\n course_format: element.CPDFormatId,\r\n course_id: element.CourseId,\r\n course_name: element.CourseName,\r\n course_description: element.CourseDescription,\r\n venue: element.Venue,\r\n cpd_hours: element.Hours,\r\n cpd_mins: element.Minutes ? element.Minutes : 0,\r\n cpd_year: element.CPDYear\r\n ? element.CPDYear\r\n : new Date().getFullYear(),\r\n date_completed: element.CompletionDate,\r\n start_date_iso: element.CompletionDate,\r\n file_name: element.FileName,\r\n host_id: element.HostId,\r\n trainer: element.Trainer,\r\n location_id: element.LocationId,\r\n is_declared: element.IsDeclared,\r\n });\r\n this.fetchCourses(element.CPDTypeId, 'edit');\r\n setTimeout(() => {\r\n this.makeThirdTabActive();\r\n }, 500);\r\n }\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n componentWillUnmount() {\r\n this.controller.abort();\r\n }\r\n\r\n render() {\r\n if (this.state.unauthorized) {\r\n return ;\r\n }\r\n\r\n if (this.state.redirectDashboard) {\r\n return ;\r\n }\r\n\r\n let ListItemOne,\r\n ListItemTwo,\r\n ListItemThree,\r\n currentActiveClass,\r\n nextTabClass,\r\n prevTabClass;\r\n currentActiveClass = 'current';\r\n prevTabClass = 'done';\r\n nextTabClass = 'default';\r\n\r\n if (this.state.mode === 'edit') {\r\n currentActiveClass = 'editing';\r\n nextTabClass = 'done';\r\n }\r\n\r\n if (this.state.currentStep === 1) {\r\n ListItemOne = (\r\n
  • \r\n Submitter Details\r\n
  • \r\n );\r\n ListItemTwo = (\r\n
  • \r\n Confirm CPD Activity Details\r\n
  • \r\n );\r\n ListItemThree = (\r\n
  • \r\n CPD Details\r\n
  • \r\n );\r\n } else if (this.state.currentStep === 2) {\r\n ListItemOne = (\r\n
  • \r\n this.setState({ currentStep: 1 })} href=\"#\">\r\n Submitter Details\r\n \r\n
  • \r\n );\r\n ListItemTwo = (\r\n
  • \r\n Confirm CPD Activity Details\r\n
  • \r\n );\r\n ListItemThree = (\r\n
  • \r\n CPD Details\r\n
  • \r\n );\r\n } else if (this.state.currentStep === 3) {\r\n ListItemOne = (\r\n
  • \r\n this.setState({ currentStep: 1 })} href=\"#\">\r\n Submitter Details\r\n \r\n
  • \r\n );\r\n ListItemTwo = (\r\n
  • \r\n this.setState({ currentStep: 2 })} href=\"#\">\r\n Confirm CPD Activity Details\r\n \r\n
  • \r\n );\r\n ListItemThree = (\r\n
  • \r\n CPD Details\r\n
  • \r\n );\r\n }\r\n\r\n return (\r\n
    \r\n {this?.state?.mode === 'edit' || this?.state?.mode === 'add' ? (\r\n
    \r\n
      \r\n {ListItemOne}\r\n {ListItemTwo}\r\n {ListItemThree}\r\n
    \r\n
    \r\n \r\n
    \r\n
    Submitter Details
    \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 Membership Number\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 Next step \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n Confirm CPD Activity Details\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n CPD Type\r\n \r\n \r\n \r\n {this.state.types.map((item, key) => (\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.formats.map((item, key) => (\r\n \r\n {item.Name}\r\n \r\n ))}\r\n \r\n
    \r\n\r\n
    \r\n \r\n Description\r\n \r\n \r\n \r\n \r\n Please include a full course\r\n description/outline/agenda. Submission will be\r\n rejected if not enough detail to approve is\r\n provided.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Venue\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n CPD Hours\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 this.handleInputChange(value, 'date_completed');\r\n }}\r\n value={this.state.date_completed}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n {this.state.file_name && this.state.file_name}\r\n \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n \r\n Previous step\r\n \r\n \r\n Next step \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
    CPD Details
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {this.state.host_list.map((item, key) => (\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.locations.map((item, key) => (\r\n \r\n ))}\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n I declare this CPD is relevant to my role and in\r\n accordance with the ATI CPD Guidelines and Rules.\r\n \r\n
    \r\n\r\n
    \r\n \r\n Previous step\r\n \r\n \r\n Save{' '}\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 {ListItemOne}\r\n {ListItemTwo}\r\n {ListItemThree}\r\n
    \r\n
    \r\n \r\n
    \r\n
    Submitter Details
    \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 Membership Number\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 Next step \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n Confirm CPD Activity Details\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n CPD Type\r\n \r\n \r\n \r\n {this.state.types.map((item, key) => (\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {this.state.cpd_type_id !== '4' ? (\r\n \r\n \r\n {this.state.courses.map((item, key) => (\r\n \r\n {item.CourseName}\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.formats.map((item, key) => (\r\n \r\n {item.Name}\r\n \r\n ))}\r\n \r\n
    \r\n\r\n
    \r\n \r\n Description\r\n \r\n \r\n \r\n \r\n Please include a full course\r\n description/outline/agenda. Submission will be\r\n rejected if not enough detail to approve is\r\n provided.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Venue\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n CPD Hours\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 this.handleInputChange(value, 'date_completed');\r\n }}\r\n value={this.state?.date_completed}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n {this.state.file_name\r\n ? this.state.file_name\r\n : 'Choose a file please'}\r\n {/* */}\r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n \r\n Previous step\r\n \r\n \r\n Next step \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
    CPD Details
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {this.state.host_list.map((item, key) => (\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.locations.map((item, key) => (\r\n \r\n ))}\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n I declare this CPD is relevant to my role and in\r\n accordance with the ATI CPD Guidelines and Rules.\r\n \r\n
    \r\n\r\n
    \r\n \r\n Previous step\r\n \r\n \r\n Save{' '}\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 mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(RecordCPD);\r\n","import React from 'react';\r\nimport 'react-table/react-table.css';\r\nimport { Redirect } from 'react-router-dom';\r\nimport axios from 'axios';\r\nimport Pagination from 'react-js-pagination';\r\nimport $ from 'jquery';\r\nimport { LinearProgress } from 'react-md';\r\nimport '../../node_modules/react-md/dist/react-md.indigo-blue.min.css';\r\nimport ViewModal from '../cpdrecord/_modal/view';\r\nimport Loader from '../_components/loader';\r\nimport { Urls } from '../network/config';\r\nimport { connect } from 'react-redux';\r\nimport { removeData } from '../store/action';\r\nimport '../components/style.css';\r\nimport { AdminUrls } from '../network/config';\r\n\r\nconst moment = require('moment');\r\nconst downloadFile_Url = AdminUrls.COMMON.COURSEFILEDOWNLOAD;\r\n\r\nclass FaceToFace extends React.Component {\r\n constructor() {\r\n super();\r\n this.handlePaginationFilter = this.handlePaginationFilter.bind(this);\r\n this.handlePageChange = this.handlePageChange.bind(this);\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.clearSearchFilters = this.clearSearchFilters.bind(this);\r\n this.downloadExcel = this.downloadExcel.bind(this);\r\n this.onSort = this.onSort.bind(this);\r\n this.handleDownloadFile = this.handleDownloadFile.bind(this);\r\n this.viewFileHandle = this.viewFileHandle.bind(this);\r\n this.handleWindowScreenResize = this.handleWindowScreenResize.bind(this);\r\n\r\n this.state = {\r\n course_name: '',\r\n location_name: '',\r\n host: '',\r\n start_date: '',\r\n sort: {\r\n column: 'StartDate',\r\n direction: 'desc',\r\n },\r\n approved_cpd_records: [],\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 0,\r\n unauthorized: false,\r\n listViewModalShown: false,\r\n listViewDataCourseName: '',\r\n listViewDatastartDate: '',\r\n listViewDatacourseLocation: '',\r\n listViewDatacourseType: '',\r\n listViewDatahost: '',\r\n listViewDatacpdFormat: '',\r\n listViewDatavenue: '',\r\n listViewDatatrainer: '',\r\n listViewDatacourseDescription: '',\r\n listViewDatahowToBook: '',\r\n listViewDatasurveyLink: '',\r\n listViewDatacourseFilePathItems: [],\r\n mainLoading: false,\r\n currentIndex: 0,\r\n currentScreenWidth: window.innerWidth,\r\n emptyDivMsg:\r\n 'There is no data to show in the grid for the current selection.\\n' +\r\n \"If you can't find what you are looking for? Check out our online offerings in CPDgo.\",\r\n };\r\n }\r\n\r\n handleAccordionToggle = (ind) => {\r\n if (this.state.currentIndex === ind) {\r\n this.setState(() => ({\r\n currentIndex: null,\r\n }));\r\n } else {\r\n this.setState(() => ({\r\n currentIndex: ind,\r\n }));\r\n }\r\n };\r\n\r\n handleWindowScreenResize() {\r\n this.setState({\r\n currentScreenWidth: window.innerWidth,\r\n });\r\n }\r\n\r\n handleInputChange(name, value) {\r\n let newValue = value;\r\n if (name === 'start_date') {\r\n var mydate = moment(value, 'DD/MM/YYYY');\r\n let newDate = new Date(moment(mydate).format('MM/DD/YYYY'));\r\n newValue = newDate.toISOString();\r\n this.setState({\r\n start_date_iso: newValue,\r\n });\r\n }\r\n this.setState({\r\n [name]: value,\r\n });\r\n }\r\n\r\n handlePageChange(pageNumber) {\r\n this.setState({\r\n activePage: pageNumber,\r\n });\r\n this.makeHttpRequestWithPage(pageNumber);\r\n }\r\n\r\n componentDidMount() {\r\n setTimeout(() => {\r\n this.setState({\r\n mainLoading: false,\r\n });\r\n }, 1000);\r\n\r\n $('.datepicker').datepicker();\r\n this.makeHttpRequestWithPage(1);\r\n\r\n window.addEventListener('resize', this.handleWindowScreenResize);\r\n }\r\n\r\n makeHttpRequestWithPage(pageNumber, column, direction) {\r\n let reverse = this.state.sort.direction;\r\n let sortBy = this.state.sort.column;\r\n\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n\r\n if (column) {\r\n sortBy = column;\r\n }\r\n\r\n if (direction) {\r\n reverse = direction;\r\n }\r\n\r\n reverse = reverse === 'asc' ? false : true;\r\n\r\n let self = this;\r\n axios\r\n .get(Urls.FaceToFace_URL, {\r\n params: {\r\n CourseName: this.state.course_name,\r\n HostName: this.state.host,\r\n LocationName: this.state.location_name,\r\n StartDate: this.state.start_date,\r\n reverse: reverse,\r\n sortBy: sortBy,\r\n page: pageNumber,\r\n pageSize: this.state.per_page,\r\n },\r\n method: 'GET',\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization: 'bearer ' + localStorage.getItem('access_token'),\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.setState({\r\n approved_cpd_records: data.Items,\r\n totalPages: data.TotalPages,\r\n activePage: data.Page,\r\n totalCount: data.TotalCount,\r\n mainLoading: false,\r\n });\r\n })\r\n .catch(function (error) {\r\n if (error) {\r\n if (error.response) {\r\n if (error.response.status === 401) {\r\n self.setState({\r\n unauthorized: true,\r\n mainLoading: false,\r\n });\r\n localStorage.setItem('failureMessage', 'Login Expired');\r\n self.props.signOut();\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n handlePaginationFilter(event) {\r\n let value = event.target.value;\r\n this.setState({\r\n per_page: value,\r\n mainLoading: true,\r\n });\r\n setTimeout(() => {\r\n this.makeHttpRequestWithPage(1);\r\n }, 1000);\r\n }\r\n\r\n clearSearchFilters() {\r\n this.setState({\r\n course_name: '',\r\n location_name: '',\r\n host: '',\r\n start_date: '',\r\n sort: {\r\n column: 'StartDate',\r\n direction: 'desc',\r\n },\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 0,\r\n });\r\n $('.datepicker').datepicker();\r\n\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n\r\n setTimeout(() => {\r\n this.makeHttpRequestWithPage(1);\r\n }, 1000);\r\n }\r\n\r\n onSort = (column) => (e) => {\r\n const direction = this.state.sort.column\r\n ? this.state.sort.direction === 'asc'\r\n ? 'desc'\r\n : 'asc'\r\n : 'desc';\r\n this.setState({\r\n sort: {\r\n column,\r\n direction,\r\n },\r\n });\r\n this.makeHttpRequestWithPage(1, column, direction);\r\n };\r\n\r\n setArrow = (column) => {\r\n let className = 'fa fa-sort';\r\n if (this.state.sort.column === column) {\r\n className += this.state.sort.direction === 'asc' ? '-asc' : '-desc';\r\n }\r\n return className;\r\n };\r\n\r\n handleDownloadFile(fileData) {\r\n if (\r\n fileData &&\r\n fileData?.ModifiedFileName.toUpperCase() !== 'NO FILE UPLOADED'\r\n ) {\r\n var downloadPath =\r\n downloadFile_Url + '?name=' + fileData?.ModifiedFileName;\r\n window.open(downloadPath, '_blank', '');\r\n }\r\n }\r\n\r\n viewFileHandle(row, userType) {\r\n if (row && row.ModifiedFileName) {\r\n if (userType && userType === '1') {\r\n //userVideoInfo(config.COMMON.VIDEOUPDATE, row, $http);\r\n }\r\n //window.open(config.COMMON.VIDEOFILE + row.ModifiedFileName);\r\n window.open(\r\n `${process.env.PUBLIC_URL}/video/CPDVideo.html?CId=${row.CourseId}&VidComp=${row?.IsVideoCompleted}&VidStringFormat=${row?.VideoCompletedDateStringFormat}`\r\n );\r\n }\r\n }\r\n\r\n openModalWithItem(\r\n courseName,\r\n startDate,\r\n courseLocation,\r\n courseType,\r\n host,\r\n cpdFormat,\r\n venue,\r\n trainer,\r\n courseDescription,\r\n howToBook,\r\n courseFilePathItems,\r\n surveyLink\r\n ) {\r\n this.setState({\r\n listViewDataCourseName: courseName,\r\n listViewDatastartDate: startDate ? startDate : 'na',\r\n listViewDatacourseLocation: courseLocation ? courseLocation : 'na',\r\n listViewDatacourseType: courseType ? courseType : 'na',\r\n listViewDatahost: host ? host : 'na',\r\n listViewDatacpdFormat: cpdFormat ? cpdFormat : 'na',\r\n listViewDatavenue: venue ? venue : 'na',\r\n listViewDatatrainer: trainer ? trainer : 'na',\r\n listViewDatacourseDescription: courseDescription\r\n ? courseDescription\r\n : 'na',\r\n listViewModalShown: true,\r\n listViewDatahowToBook: howToBook,\r\n listViewDatacourseFilePathItems: courseFilePathItems,\r\n listViewDatasurveyLink: surveyLink,\r\n });\r\n }\r\n\r\n downloadExcel() {\r\n var fileType = 'application/vnd.ms-excel';\r\n var name;\r\n this.setState({ mainLoading: true });\r\n axios(Urls.FACE_TO_FACE_Excel_Download_URL, {\r\n responseType: 'blob',\r\n method: 'GET',\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization: 'bearer ' + localStorage.getItem('access_token'),\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n var blob = new Blob([response.data], { type: fileType });\r\n\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, name);\r\n } else {\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', 'ATICPD.xlsx');\r\n document.body.appendChild(link);\r\n link.click();\r\n }\r\n })\r\n .then((data) => {\r\n this.setState({ mainLoading: false });\r\n })\r\n .catch(console.log);\r\n }\r\n\r\n render() {\r\n const { currentIndex, currentScreenWidth } = this.state;\r\n if (this.state.unauthorized) {\r\n return ;\r\n }\r\n\r\n let listViewModalShownClose = () =>\r\n this.setState({ listViewModalShown: false });\r\n let approved_cpd_records;\r\n\r\n if (this.state.approved_cpd_records !== null) {\r\n approved_cpd_records = this.state.approved_cpd_records.map(\r\n (cpd_record, index) => (\r\n \r\n {currentScreenWidth <= 486 ? (\r\n
    \r\n \r\n

    \r\n this.handleAccordionToggle(index)}\r\n aria-controls=\"collapseOne\"\r\n >\r\n {cpd_record.CourseName}\r\n \r\n \r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    CPD Hours
    \r\n
    {cpd_record.Duration}h
    \r\n
    \r\n
    \r\n
    Trainer
    \r\n
    {cpd_record.Trainer}
    \r\n
    \r\n
    \r\n
    Location
    \r\n
    \r\n {cpd_record.LocationName}\r\n
    \r\n
    \r\n
    \r\n
    Start Date
    \r\n
    \r\n {cpd_record.StartDate\r\n ? moment(cpd_record.StartDate).format('ll')\r\n : 'na'}\r\n
    \r\n
    \r\n
    \r\n
    Venue
    \r\n
    {cpd_record.Venue}
    \r\n
    \r\n
    \r\n
    Host
    \r\n
    {cpd_record.HostName}
    \r\n
    \r\n
    \r\n
    Type
    \r\n
    \r\n {cpd_record.CPDTypeName}\r\n
    \r\n
    \r\n
    \r\n {\r\n this.openModalWithItem(\r\n cpd_record.CourseName,\r\n cpd_record.StartDate\r\n ? moment(cpd_record.StartDate).format('ll')\r\n : 'na',\r\n cpd_record.LocationName,\r\n cpd_record.CPDTypeName,\r\n cpd_record.HostName,\r\n cpd_record.CPDFormatName,\r\n cpd_record.Venue,\r\n cpd_record.Trainer,\r\n cpd_record.CourseDescription,\r\n cpd_record.HowToBook,\r\n cpd_record.CourseFilePathItems,\r\n cpd_record.SurveyLink\r\n );\r\n }}\r\n style={{\r\n fontSize: '20px',\r\n cursor: 'pointer',\r\n color: 'black',\r\n }}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n ) : (\r\n \r\n {cpd_record.CourseName}\r\n {cpd_record.LocationName}\r\n {cpd_record.Duration}h\r\n {cpd_record.HostName}\r\n {cpd_record.CPDTypeName}\r\n {cpd_record.Trainer}\r\n \r\n {cpd_record.StartDate\r\n ? moment(cpd_record.StartDate).format('ll')\r\n : 'na'}\r\n \r\n \r\n {\r\n this.openModalWithItem(\r\n cpd_record.CourseName,\r\n cpd_record.StartDate\r\n ? moment(cpd_record.StartDate).format('ll')\r\n : 'na',\r\n cpd_record.LocationName,\r\n cpd_record.CPDTypeName,\r\n cpd_record.HostName,\r\n cpd_record.CPDFormatName,\r\n cpd_record.Venue,\r\n cpd_record.Trainer,\r\n cpd_record.CourseDescription,\r\n cpd_record.HowToBook,\r\n cpd_record.CourseFilePathItems,\r\n cpd_record.SurveyLink\r\n );\r\n }}\r\n style={{\r\n fontSize: '20px',\r\n cursor: 'pointer',\r\n color: 'black',\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 return (\r\n
    \r\n {this.state.mainLoading && }\r\n
    \r\n
    \r\n \r\n {' '}\r\n Search\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.setState({ course_name: e.target.value })\r\n }\r\n value={this.state.course_name}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n this.setState({ location_name: e.target.value })\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.setState({ host: e.target.value })\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n this.setState({ start_date: e.target.value })\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n this.makeHttpRequestWithPage(1)}\r\n onKeyPress={() => this.makeHttpRequestWithPage(1)}\r\n type=\"Submit\"\r\n >\r\n Search\r\n \r\n this.clearSearchFilters()}\r\n >\r\n {' '}\r\n Clear\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n window.print()}\r\n className=\"btn btn-danger btn-circle btn-lg ng-scope\"\r\n tooltip=\"\"\r\n >\r\n \r\n \r\n {\r\n this.downloadExcel();\r\n }}\r\n style={{ marginLeft: '10px', lineHeight: '28px' }}\r\n className=\"btn btn-success btn-circle btn-lg \"\r\n >\r\n \r\n \r\n
    \r\n
    \r\n {' '}\r\n Show\r\n this.handlePaginationFilter(e)}\r\n >\r\n \r\n \r\n \r\n \r\n entries\r\n
    \r\n
    \r\n
    \r\n {this.state.mainLoading && }\r\n {currentScreenWidth <= 486 ? (\r\n \r\n {approved_cpd_records}\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 {approved_cpd_records}\r\n
    \r\n Course Name{' '}\r\n \r\n \r\n Location \r\n \r\n CPD Hours \r\n \r\n Host \r\n \r\n Type \r\n \r\n Trainer \r\n \r\n Start Date \r\n View
    \r\n
    \r\n )}\r\n\r\n {approved_cpd_records.length > 0 ? '' : this.state.emptyDivMsg}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(null, mapDispatchToProps)(FaceToFace);\r\n","import React from 'react';\r\nimport 'react-table/react-table.css';\r\nimport { Redirect } from 'react-router-dom';\r\nimport axios from 'axios';\r\nimport Pagination from 'react-js-pagination';\r\nimport $ from 'jquery';\r\nimport { LinearProgress } from 'react-md';\r\nimport '../../node_modules/react-md/dist/react-md.indigo-blue.min.css';\r\nimport ViewModal from '../cpdrecord/_modal/view';\r\nimport Loader from '../_components/loader';\r\nimport { Urls } from '../network/config';\r\nimport { connect } from 'react-redux';\r\nimport { removeData } from '../store/action';\r\nconst moment = require('moment');\r\n\r\nclass ApprovedCPDProviders extends React.Component {\r\n constructor() {\r\n super();\r\n this.handlePaginationFilter = this.handlePaginationFilter.bind(this);\r\n this.handlePageChange = this.handlePageChange.bind(this);\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.clearSearchFilters = this.clearSearchFilters.bind(this);\r\n this.downloadExcel = this.downloadExcel.bind(this);\r\n this.onSort = this.onSort.bind(this);\r\n\r\n this.state = {\r\n course_name: '',\r\n location_name: '',\r\n host: '',\r\n start_date: '',\r\n sort: {\r\n column: 'StartDate',\r\n direction: 'desc',\r\n },\r\n approved_cpd_records: [],\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 0,\r\n unauthorized: false,\r\n listViewModalShown: false,\r\n listViewDataCourseName: '',\r\n listViewDatastartDate: '',\r\n listViewDatacourseLocation: '',\r\n listViewDatacourseType: '',\r\n listViewDatahost: '',\r\n listViewDatacpdFormat: '',\r\n listViewDatavenue: '',\r\n listViewDatatrainer: '',\r\n listViewDatacourseDescription: '',\r\n mainLoading: false,\r\n emptyDivMsg:\r\n 'There is no data to show in the grid for the current selection.\\n' +\r\n \"If you can't find what you are looking for? Check out our online offerings in CPDgo.\",\r\n };\r\n }\r\n\r\n handleInputChange(name, value) {\r\n let newValue = value;\r\n if (name === 'start_date') {\r\n var mydate = moment(value, 'DD/MM/YYYY');\r\n let newDate = new Date(moment(mydate).format('MM/DD/YYYY'));\r\n newValue = newDate.toISOString();\r\n this.setState({\r\n start_date_iso: newValue,\r\n });\r\n }\r\n this.setState({\r\n [name]: value,\r\n });\r\n }\r\n\r\n handlePageChange(pageNumber) {\r\n this.setState({\r\n activePage: pageNumber,\r\n });\r\n this.makeHttpRequestWithPage(pageNumber);\r\n }\r\n\r\n componentDidMount() {\r\n setTimeout(() => {\r\n this.setState({\r\n mainLoading: false,\r\n });\r\n }, 1000);\r\n\r\n $('.datepicker').datepicker();\r\n this.makeHttpRequestWithPage(1);\r\n }\r\n\r\n makeHttpRequestWithPage(pageNumber, column, direction) {\r\n let reverse = this.state.sort.direction;\r\n let sortBy = this.state.sort.column;\r\n\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n\r\n if (column) {\r\n sortBy = column;\r\n }\r\n\r\n if (direction) {\r\n reverse = direction;\r\n }\r\n\r\n reverse = reverse === 'asc' ? false : true;\r\n\r\n let self = this;\r\n axios\r\n .get(Urls.Approved_CPD_URL, {\r\n params: {\r\n CourseName: this.state.course_name,\r\n HostName: this.state.host,\r\n LocationName: this.state.location_name,\r\n StartDate: this.state.start_date,\r\n reverse: reverse,\r\n sortBy: sortBy,\r\n page: pageNumber,\r\n pageSize: this.state.per_page,\r\n },\r\n method: 'GET',\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization: 'bearer ' + localStorage.getItem('access_token'),\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.setState({\r\n approved_cpd_records: data.Items,\r\n totalPages: data.TotalPages,\r\n activePage: data.Page,\r\n totalCount: data.TotalCount,\r\n mainLoading: false,\r\n });\r\n })\r\n .catch(function (error) {\r\n if (error) {\r\n if (error.response) {\r\n if (error.response.status === 401) {\r\n self.setState({\r\n unauthorized: true,\r\n mainLoading: false,\r\n });\r\n localStorage.setItem('failureMessage', 'Login Expired');\r\n self.props.signOut();\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n handlePaginationFilter(event) {\r\n let value = event.target.value;\r\n this.setState({\r\n per_page: value,\r\n mainLoading: true,\r\n });\r\n setTimeout(() => {\r\n this.makeHttpRequestWithPage(1);\r\n }, 1000);\r\n }\r\n\r\n clearSearchFilters() {\r\n this.setState({\r\n course_name: '',\r\n location_name: '',\r\n host: '',\r\n start_date: '',\r\n sort: {\r\n column: 'StartDate',\r\n direction: 'desc',\r\n },\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 0,\r\n });\r\n $('.datepicker').datepicker();\r\n\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n\r\n setTimeout(() => {\r\n this.makeHttpRequestWithPage(1);\r\n }, 1000);\r\n }\r\n\r\n onSort = (column) => (e) => {\r\n const direction = this.state.sort.column\r\n ? this.state.sort.direction === 'asc'\r\n ? 'desc'\r\n : 'asc'\r\n : 'desc';\r\n this.setState({\r\n sort: {\r\n column,\r\n direction,\r\n },\r\n });\r\n this.makeHttpRequestWithPage(1, column, direction);\r\n };\r\n\r\n setArrow = (column) => {\r\n let className = 'fa fa-sort';\r\n if (this.state.sort.column === column) {\r\n className += this.state.sort.direction === 'asc' ? '-asc' : '-desc';\r\n }\r\n return className;\r\n };\r\n\r\n openModalWithItem(\r\n courseName,\r\n startDate,\r\n courseLocation,\r\n courseType,\r\n host,\r\n cpdFormat,\r\n venue,\r\n trainer,\r\n courseDescription\r\n ) {\r\n this.setState({\r\n listViewDataCourseName: courseName,\r\n listViewDatastartDate: startDate ? startDate : 'na',\r\n listViewDatacourseLocation: courseLocation ? courseLocation : 'na',\r\n listViewDatacourseType: courseType ? courseType : 'na',\r\n listViewDatahost: host ? host : 'na',\r\n listViewDatacpdFormat: cpdFormat ? cpdFormat : 'na',\r\n listViewDatavenue: venue ? venue : 'na',\r\n listViewDatatrainer: trainer ? trainer : 'na',\r\n listViewDatacourseDescription: courseDescription\r\n ? courseDescription\r\n : 'na',\r\n listViewModalShown: true,\r\n });\r\n }\r\n\r\n downloadExcel() {\r\n var fileType = 'application/vnd.ms-excel';\r\n var name;\r\n this.setState({ mainLoading: true });\r\n axios(Urls.Excel_Approved_Download_URL, {\r\n responseType: 'blob',\r\n method: 'GET',\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization: 'bearer ' + localStorage.getItem('access_token'),\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n var blob = new Blob([response.data], { type: fileType });\r\n\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, name);\r\n } else {\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', 'ApprovedCPDProviders.xlsx');\r\n document.body.appendChild(link);\r\n link.click();\r\n }\r\n })\r\n .then((data) => {\r\n this.setState({ mainLoading: false });\r\n })\r\n .catch(console.log);\r\n }\r\n\r\n render() {\r\n if (this.state.unauthorized) {\r\n return ;\r\n }\r\n\r\n let listViewModalShownClose = () =>\r\n this.setState({ listViewModalShown: false });\r\n let approved_cpd_records;\r\n\r\n if (this.state.approved_cpd_records !== null) {\r\n approved_cpd_records = this.state.approved_cpd_records.map(\r\n (cpd_record, index) => (\r\n \r\n {cpd_record.CourseName}\r\n {cpd_record.LocationName}\r\n {cpd_record.Duration}h\r\n {cpd_record.HostName}\r\n {cpd_record.CPDTypeName}\r\n {cpd_record.Trainer}\r\n \r\n {cpd_record.StartDate\r\n ? moment(cpd_record.StartDate).format('ll')\r\n : 'na'}\r\n \r\n \r\n {\r\n this.openModalWithItem(\r\n cpd_record.CourseName,\r\n cpd_record.StartDate\r\n ? moment(cpd_record.StartDate).format('ll')\r\n : 'na',\r\n cpd_record.LocationName,\r\n cpd_record.CPDTypeName,\r\n cpd_record.HostName,\r\n cpd_record.CPDFormatName,\r\n cpd_record.Venue,\r\n cpd_record.Trainer,\r\n cpd_record.CourseDescription\r\n );\r\n }}\r\n style={{ fontSize: '20px', cursor: 'pointer', color: 'black' }}\r\n >\r\n \r\n \r\n \r\n \r\n )\r\n );\r\n }\r\n\r\n return (\r\n
    \r\n {this.state.mainLoading && }\r\n
    \r\n
    \r\n \r\n {' '}\r\n Search\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.setState({ course_name: e.target.value })\r\n }\r\n value={this.state.course_name}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n this.setState({ location_name: e.target.value })\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.setState({ host: e.target.value })\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n this.setState({ start_date: e.target.value })\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n this.makeHttpRequestWithPage(1)}\r\n >\r\n Search\r\n \r\n this.clearSearchFilters()}\r\n >\r\n {' '}\r\n Clear\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n window.print()}\r\n className=\"btn btn-danger btn-circle btn-lg ng-scope\"\r\n tooltip=\"\"\r\n >\r\n \r\n \r\n {\r\n this.downloadExcel();\r\n }}\r\n style={{ marginLeft: '10px', lineHeight: '28px' }}\r\n className=\"btn btn-success btn-circle btn-lg \"\r\n >\r\n \r\n \r\n
    \r\n
    \r\n {' '}\r\n Show\r\n this.handlePaginationFilter(e)}\r\n >\r\n \r\n \r\n \r\n \r\n entries\r\n
    \r\n
    \r\n
    \r\n {this.state.mainLoading && }\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 {approved_cpd_records}\r\n
    \r\n Course Name \r\n \r\n Location \r\n \r\n CPD Hours \r\n \r\n Host \r\n \r\n Type \r\n \r\n Trainer \r\n \r\n Start Date \r\n View
    \r\n {approved_cpd_records.length > 0 ? '' : this.state.emptyDivMsg}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(null, mapDispatchToProps)(ApprovedCPDProviders);\r\n","import React from 'react';\r\nimport { Modal, Button } from 'react-bootstrap';\r\n\r\nclass ViewModal extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.props.coursename}\r\n \r\n \r\n \r\n \r\n \r\n

    {this.props.startdate}

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

    {this.props.courselocation}

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

    {this.props.coursetype}

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

    {this.props.host}

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

    {this.props.cpdformat}

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

    {this.props.venue}

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

    {this.props.trainer}

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

    {this.props.description}

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default ViewModal;\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { removeData } from '../store/action';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { Calendar, momentLocalizer } from 'react-big-calendar';\r\nimport moment from 'moment';\r\nimport 'react-big-calendar/lib/css/react-big-calendar.css';\r\nimport { AdminUrls } from '../network/config';\r\nimport axios from 'axios';\r\nimport ViewModal from './_modal/view';\r\n\r\nconst localizer = momentLocalizer(moment);\r\n\r\nconst loadEvent_Url = AdminUrls.USER.CPDLIBRARY;\r\n\r\nclass Library extends React.Component {\r\n constructor() {\r\n super();\r\n this.myEventList = this.myEventList.bind(this);\r\n this.modalOpen = this.modalOpen.bind(this);\r\n this.listViewModalShownClose = this.listViewModalShownClose.bind(this);\r\n\r\n this.state = {\r\n knowledgeInfoModalShown: false,\r\n accountingInfoModalShown: false,\r\n atiCodeInfoModalShown: false,\r\n atiCodeProfessionalEthicsModalShown: false,\r\n unauthorized: false,\r\n events_info: [],\r\n currentDate: '',\r\n\r\n listViewModalShown: false,\r\n listViewDataCourseName: '',\r\n listViewDatastartDate: '',\r\n listViewDatacourseLocation: '',\r\n listViewDatacourseType: '',\r\n listViewDatahost: '',\r\n listViewDatacpdFormat: '',\r\n listViewDatavenue: '',\r\n listViewDatatrainer: '',\r\n listViewDatacourseDescription: '',\r\n };\r\n this.controller = new AbortController();\r\n }\r\n\r\n componentDidMount() {\r\n this.myEventList(new Date());\r\n }\r\n\r\n myEventList(date) {\r\n let c_date = date.getMonth() + 1 + '|' + date.getFullYear();\r\n\r\n axios\r\n .get(loadEvent_Url, {\r\n params: {\r\n page: 1,\r\n pageSize: 1,\r\n monthlyView: c_date,\r\n },\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n let data = response?.data?.Items;\r\n let arr = [];\r\n if (data && data.length) {\r\n for (let i = 0; i < data.length; i++) {\r\n let newdate = new Date(data[i]?.StartDate);\r\n let year = newdate.getFullYear();\r\n let mon = newdate.getMonth();\r\n let d = newdate.getDate();\r\n let h = newdate.getHours();\r\n let min = newdate.getMinutes();\r\n\r\n let obj = {\r\n data: data[i],\r\n title:\r\n data[i]?.CourseName +\r\n (h && h > 9\r\n ? ' (' + h + ':' + min + ')'\r\n : ' (' + h + '0:0' + min + ')'),\r\n allDay: false,\r\n start: new Date(year, mon, d, h, min),\r\n end: new Date(year, mon, d, h, min),\r\n };\r\n\r\n arr.push(obj);\r\n }\r\n this.setState({\r\n events_info: arr,\r\n });\r\n }\r\n })\r\n\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n modalOpen(e) {\r\n this.setState({\r\n listViewDataCourseName: e?.data?.CourseName,\r\n listViewDatastartDate: e?.data?.StartDate,\r\n listViewDatacourseLocation: e?.data?.Expr1,\r\n listViewDatacourseType: e?.data?.Description,\r\n listViewDatahost: e?.data?.Name,\r\n listViewDatacpdFormat: e?.data?.FormatName,\r\n listViewDatavenue: e?.data?.Venue,\r\n listViewDatatrainer: e?.data?.Trainer,\r\n listViewDatacourseDescription: e?.data?.CourseDescription,\r\n listViewModalShown: true,\r\n });\r\n }\r\n componentWillUnmount() {\r\n this.controller.abort();\r\n }\r\n listViewModalShownClose() {\r\n this.setState({ listViewModalShown: false });\r\n }\r\n render() {\r\n return (\r\n
    \r\n {' '}\r\n
    \r\n this.modalOpen(e)}\r\n onNavigate={(e) => this.myEventList(new Date(e))}\r\n messages={{\r\n agenda: 'MontlyCourseList',\r\n }}\r\n // views={[ 'month', 'week','day', 'agenda']}\r\n />\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(withRouter(Library));\r\n","import React from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Redirect, Route } from \"react-router-dom\";\r\nexport default function ProtectedRoute({ component: Component, ...rest }) {\r\n const Data = useSelector((state) => state?.access_token);\r\n\r\n if (Data && Data !== null) {\r\n return } />;\r\n // return ;\r\n } else {\r\n return ;\r\n }\r\n}\r\n","import axios from 'axios';\r\nimport React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport { AdminUrls } from '../../network/config';\r\nimport { removeData } from '../../store/action';\r\nimport Loader from '../../_components/loader';\r\n\r\nconst NumberOfCpd_Url = AdminUrls.ADMIN.NUMBEROFCPDQUEUE;\r\nconst cpdHome_Url = AdminUrls.COMMON.HOME;\r\n\r\nclass AdminHome extends React.Component {\r\n constructor() {\r\n super();\r\n this.numberOfQueue = this.numberOfQueue.bind(this);\r\n this.dashboardContentHandler = this.dashboardContentHandler.bind(this);\r\n\r\n this.state = {\r\n queuecount: '',\r\n dashboardContent: [],\r\n mainLoading: false,\r\n };\r\n this.controller = new AbortController();\r\n }\r\n\r\n componentDidMount() {\r\n this.numberOfQueue();\r\n this.dashboardContentHandler();\r\n }\r\n\r\n dashboardContentHandler() {\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n axios\r\n .get(cpdHome_Url, {\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n dashboardContent: response?.data,\r\n mainLoading: false,\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n numberOfQueue() {\r\n axios\r\n .get(NumberOfCpd_Url, {\r\n method: 'GET',\r\n withCredentials: true,\r\n signal: this.controller.signal,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n queuecount: response?.data,\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n componentWillUnmount() {\r\n this.controller.abort();\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.state.mainLoading && }\r\n {this.state.dashboardContent &&\r\n this.state.dashboardContent?.length\r\n ? this.state.dashboardContent.map((item, index) => {\r\n return (\r\n \r\n \r\n
    \r\n
    \r\n {item?.FeatureName}{' '}\r\n {item?.FeatureID === 3 ? (\r\n \r\n {this?.state?.queuecount}\r\n \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {item?.FeatureDesc}\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 mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AdminHome);\r\n","import React from 'react';\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport '../style.css';\r\n\r\nclass ViewModal extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {this.props.titlemodal}\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.props.handleTitleChange(e.target.value)}\r\n value={this.props.coursetitle}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.props.handleDescChange(e.target.value)}\r\n value={this.props.coursedesc}\r\n className=\"form-control\"\r\n id=\"Course Description\"\r\n rows=\"3\"\r\n >\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.props.handleLocChange(e.target.value)}\r\n >\r\n \r\n {this?.props?.course_Location?.length &&\r\n this?.props?.course_Location?.map((item, index) => {\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 this.props.handleVenueChange(e.target.value)}\r\n value={this.props.coursevenue}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.props.handleTypeChange(e.target.value)}\r\n >\r\n \r\n {this?.props?.cpd_Handle_Type?.length &&\r\n this?.props?.cpd_Handle_Type?.map((item, index) => {\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 this.props.handleFormatChange(e.target.value)}\r\n >\r\n \r\n {this?.props?.cpd_format?.length &&\r\n this?.props?.cpd_format?.map((item, index) => {\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 this.props.handleHostChange(e.target.value)}\r\n >\r\n \r\n {this?.props?.host?.length &&\r\n this?.props?.host?.map((item, index) => {\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 this.props.handleTrainerChange(e.target.value)}\r\n value={this.props.coursetrainer}\r\n />\r\n
    \r\n
    {' '}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.props.handleStartDateChange(e.target.value)\r\n }\r\n value={this?.props?.coursestartdate?.split('T')[0]}\r\n />\r\n
    \r\n
    {' '}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.props.handleCpdHourChange(e.target.value)}\r\n value={this.props.coursecpdhour}\r\n />\r\n \r\n this.props.handleCpdMinutesChange(e.target.value)\r\n }\r\n value={this.props.coursemin}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.props.handleCourseBookChange(e.target.value)\r\n }\r\n value={this.props.coursebook}\r\n className=\"form-control\"\r\n name=\"\"\r\n id=\"\"\r\n rows=\"3\"\r\n >\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.props.handleSurveyLinkChange(e.target.value)\r\n }\r\n value={this.props.coursesurveylink}\r\n />\r\n
    \r\n
    \r\n {this.props.addeditcoursebtn === true ? (\r\n <>\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.props?.file(\r\n e.target.files?.length && e.target.files[0]\r\n )\r\n }\r\n />\r\n
    \r\n
    \r\n \r\n \r\n Start upload\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 {this.props.filesData?.length\r\n ? this.props.filesData?.map((item, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n })\r\n : null}\r\n \r\n
    Document
    {item.FileName}\r\n \r\n this.props.handleDeleteFile(\r\n item.ID,\r\n item.CourseId\r\n )\r\n }\r\n >\r\n Delete\r\n \r\n \r\n \r\n this.props.handleDownloadFile(item.ID)\r\n }\r\n >\r\n Download\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n ) : null}\r\n
    \r\n
    \r\n {' '}\r\n this.props.listViewAdminOnly(e.target.checked)}\r\n />\r\n
    \r\n
    \r\n {' '}\r\n \r\n this.props.listViewInHouseOnly(e.target.checked)\r\n }\r\n />\r\n
    \r\n
    \r\n {this.props.inHouse === true ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.props.handleVenueChange(e.target.value)}\r\n // value={this.props.coursevenue}\r\n />\r\n
    \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n {' '}\r\n \r\n this.props.handlePaymentNeededChange(e.target.checked)\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.props.addeditcoursebtn === false ? (\r\n \r\n Add\r\n \r\n ) : (\r\n \r\n Submit\r\n \r\n )}\r\n\r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default ViewModal;\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport 'react-table/react-table.css';\r\nimport Pagination from 'react-js-pagination';\r\nimport { LinearProgress } from 'react-md';\r\nimport '../../../node_modules/react-md/dist/react-md.indigo-blue.min.css';\r\nimport 'bootstrap-datepicker/js/bootstrap-datepicker.js';\r\nimport 'bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css';\r\nimport ViewModal from './_modal/view';\r\nimport Loader from '../../_components/loader';\r\nimport { NotificationManager } from 'react-notifications';\r\nimport 'react-notifications/lib/notifications.css';\r\nimport { AdminUrls } from '../../network/config';\r\nimport './style.css';\r\nimport { connect } from 'react-redux';\r\nimport { removeData } from '../../store/action';\r\n\r\nconst moment = require('moment');\r\n\r\nconst Cpd_Url = AdminUrls.COMMON.CPDTYPE;\r\nconst LoadHost_Url = AdminUrls.COMMON.LOADHOST;\r\nconst MyCPDReport_URL = AdminUrls.COMMON.CPDLIBRARYEXCEL;\r\nconst cpd_Format_Url = AdminUrls.COMMON.CPDFORMAT;\r\nconst get_Course_Url = AdminUrls.COMMON.GETCOURSEFILE;\r\nconst course_Location_Url = AdminUrls.COMMON.COURSELOCATION;\r\nconst Library_Url = AdminUrls.ADMIN.CPDADMIN;\r\nconst Update_Url = AdminUrls.ADMIN.CPDADMINUPDATECOURSE;\r\nconst cpd_addCourse = AdminUrls.ADMIN.CPDADMINADDCOURSE;\r\nconst upload_Course_Url = AdminUrls.ADMIN.COURSEFILE;\r\nconst delete_Url = AdminUrls.ADMIN.DELETECOURSE;\r\nconst downloadFile_Url = AdminUrls.COMMON.COURSEFILEDOWNLOAD;\r\n\r\nclass AdminDash extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.handlePageChange = this.handlePageChange.bind(this);\r\n this.clearSearchFilters = this.clearSearchFilters.bind(this);\r\n this.searchData = this.searchData.bind(this);\r\n this.downloadExcel = this.downloadExcel.bind(this);\r\n this.archiveCourse = this.archiveCourse.bind(this);\r\n this.modalData = this.modalData.bind(this);\r\n this.handleCpdMinutesChange = this.handleCpdMinutesChange.bind(this);\r\n this.editCourse = this.editCourse.bind(this);\r\n\r\n this.handleTitleChange = this.handleTitleChange.bind(this);\r\n this.handleDescChange = this.handleDescChange.bind(this);\r\n this.handleLocChange = this.handleLocChange.bind(this);\r\n this.handleVenueChange = this.handleVenueChange.bind(this);\r\n this.handleTypeChange = this.handleTypeChange.bind(this);\r\n this.handleFormatChange = this.handleFormatChange.bind(this);\r\n this.handleHostChange = this.handleHostChange.bind(this);\r\n this.handleTrainerChange = this.handleTrainerChange.bind(this);\r\n this.handleSurveyLinkChange = this.handleSurveyLinkChange.bind(this);\r\n this.handleStartDateChange = this.handleStartDateChange.bind(this);\r\n this.handleCpdHourChange = this.handleCpdHourChange.bind(this);\r\n this.handleCourseBookChange = this.handleCourseBookChange.bind(this);\r\n this.handleAddData = this.handleAddData.bind(this);\r\n this.handleSwitchButton = this.handleSwitchButton.bind(this);\r\n this.getFormatLocData = this.getFormatLocData.bind(this);\r\n this.handleUpdateData = this.handleUpdateData.bind(this);\r\n this.handleUploadFile = this.handleUploadFile.bind(this);\r\n this.handleDeleteFile = this.handleDeleteFile.bind(this);\r\n this.handleDownloadFile = this.handleDownloadFile.bind(this);\r\n this.pdfDownload = this.pdfDownload.bind(this);\r\n this.handlePaymentNeededChange = this.handlePaymentNeededChange.bind(this);\r\n this.state = {\r\n listViewModalShown: false,\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 0,\r\n cpdType: '',\r\n loadHost: '',\r\n libraryData: [],\r\n sort: {\r\n column: 'StartDate',\r\n direction: 'desc',\r\n },\r\n course_name: '',\r\n location_name: '',\r\n cpd_type: '',\r\n start_date: '',\r\n host_name: '',\r\n cpd_format: '',\r\n course_Location: '',\r\n switchCheck: false,\r\n mainLoading: false,\r\n\r\n file: '',\r\n listViewDataCoursetitle: '',\r\n listViewDataCoursedesc: '',\r\n listViewDataCourselocation: '',\r\n listViewDataCoursevenue: '',\r\n listViewDataCoursetype: '',\r\n listViewDataCourseformat: '',\r\n listViewDataCoursehost: '',\r\n listViewDataCoursetrainer: '',\r\n listViewDataSurveyLink: '',\r\n listViewDataCoursestartdate: '',\r\n listViewDataCoursecpdhours: '',\r\n listViewDataCoursehowtobook: '',\r\n listViewDataCoursecpdMinutes: '',\r\n listViewAdminOnly: false,\r\n listViewInHouseOnly: false,\r\n addEditCourseBtn: false,\r\n editId: '',\r\n fileData: [],\r\n emptyDivMsg: 'There is no data to show in the grid.',\r\n titlemodal: '',\r\n listViewDataPaymentNeeded: false,\r\n };\r\n this.controller = new AbortController();\r\n }\r\n\r\n downloadExcel() {\r\n var fileType = 'application/vnd.ms-excel';\r\n var name;\r\n this.setState({ mainLoading: true });\r\n axios(MyCPDReport_URL, {\r\n responseType: 'blob',\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n var blob = new Blob([response.data], { type: fileType });\r\n\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, name);\r\n } else {\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', 'Library.xlsx');\r\n document.body.appendChild(link);\r\n link.click();\r\n }\r\n this.setState({ mainLoading: false });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n handlePageChange(pageNumber) {\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n let CPDTypeId = this.state.cpd_type;\r\n let CourseName = this.state.course_name;\r\n let HostId = this.state.host_name;\r\n let LocationName = this.state.location_name;\r\n if (CPDTypeId === '') {\r\n CPDTypeId = '';\r\n } else {\r\n CPDTypeId = 'CPDTypeId=' + this.state.cpd_type;\r\n }\r\n\r\n if (CourseName === '') {\r\n CourseName = '';\r\n } else {\r\n CourseName = 'CourseName=' + this.state.course_name;\r\n }\r\n if (HostId === '') {\r\n HostId = '';\r\n } else {\r\n HostId = 'HostId=' + this.state.host_name;\r\n }\r\n if (LocationName === '') {\r\n LocationName = '';\r\n } else {\r\n LocationName = 'LocationName=' + this.state.location_name;\r\n }\r\n\r\n this.setState({\r\n activePage: pageNumber,\r\n });\r\n this.getLibraryData(\r\n pageNumber,\r\n CPDTypeId,\r\n CourseName,\r\n HostId,\r\n LocationName\r\n );\r\n }\r\n componentDidMount() {\r\n this.getCpdType();\r\n this.getLoadCpd();\r\n }\r\n pdfDownload() {\r\n var fileType = 'application/pdf';\r\n this.setState({ mainLoading: true });\r\n\r\n var blob = new Blob(this?.state?.libraryData, { type: fileType });\r\n\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob);\r\n } else {\r\n const url = window.URL.createObjectURL(\r\n new Blob(this?.state?.libraryData, { type: fileType })\r\n );\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', 'Admin-Lib');\r\n document.body.appendChild(link);\r\n link.click();\r\n this.setState({ mainLoading: false });\r\n }\r\n }\r\n\r\n getCpdType() {\r\n axios\r\n .get(Cpd_Url, {\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.setState({\r\n cpdType: data,\r\n });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n // Get CPD\r\n getLoadCpd() {\r\n this.setState({ mainLoading: true });\r\n\r\n axios\r\n .get(LoadHost_Url, {\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.setState({\r\n loadHost: data,\r\n mainLoading: false,\r\n });\r\n\r\n this.getLibraryData(1, '', '', '', '');\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n // Get Library Data From Api\r\n getLibraryData(\r\n pages,\r\n CPDTypeId,\r\n CourseName,\r\n HostId,\r\n LocationName,\r\n column,\r\n direction\r\n ) {\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n\r\n let startDate = this.state.start_date;\r\n let reverse = this.state.sort.direction;\r\n let sortBy = this.state.sort.column;\r\n if (column) {\r\n sortBy = column;\r\n }\r\n\r\n if (direction) {\r\n reverse = direction;\r\n }\r\n reverse = reverse === 'asc' ? false : true;\r\n let obj = {\r\n page: pages,\r\n pageSize: this.state.per_page,\r\n reverse: reverse,\r\n sortBy: sortBy,\r\n };\r\n\r\n if (CPDTypeId) {\r\n obj.CPDTypeId = CPDTypeId;\r\n }\r\n if (CourseName) {\r\n obj.CourseName = CourseName;\r\n }\r\n if (HostId) {\r\n obj.HostId = HostId;\r\n }\r\n if (LocationName) {\r\n obj.LocationName = LocationName;\r\n }\r\n if (startDate) {\r\n obj.StartDate = moment(startDate).format('ll');\r\n }\r\n\r\n axios\r\n .get(Library_Url, {\r\n params: obj,\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n let _data = data?.Items;\r\n for (let i = 0; i < data?.Items.length; i++) {\r\n let hostData = this?.state?.loadHost?.find(\r\n (x) => x.ID === data?.Items[i].HostID\r\n );\r\n if (hostData) {\r\n _data[i].hostName = hostData.Name;\r\n }\r\n }\r\n\r\n this.setState({\r\n libraryData: _data,\r\n totalPages: data?.TotalPages,\r\n totalCount: data?.TotalCount,\r\n activePage: data?.Page,\r\n mainLoading: false,\r\n });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n // Search Data\r\n searchData() {\r\n let CPDTypeId = this.state.cpd_type;\r\n let CourseName = this.state.course_name;\r\n let HostId = this.state.host_name;\r\n let LocationName = this.state.location_name;\r\n let pages = this.state.activePage;\r\n\r\n this.getLibraryData(pages, CPDTypeId, CourseName, HostId, LocationName);\r\n }\r\n\r\n // Clear Search\r\n clearSearchFilters() {\r\n this.setState(\r\n {\r\n course_name: '',\r\n location_name: '',\r\n cpd_type: '',\r\n start_date: '',\r\n host_name: '',\r\n },\r\n () => {\r\n this.getLibraryData(1, '', '', '', '');\r\n }\r\n );\r\n }\r\n\r\n // Archive Course\r\n archiveCourse(id) {\r\n let article = {\r\n Active: false,\r\n CourseId: id,\r\n };\r\n\r\n axios\r\n .post(Update_Url, article, {\r\n withCredentials: true,\r\n signal: this.controller.signal,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n\r\n .then((response) => {\r\n NotificationManager.success(\r\n response?.data.CourseName,\r\n 'archived Successfully!'\r\n );\r\n\r\n // let dupData = this.state.libraryData;\r\n // let filtData = dupData.filter(\r\n // (x) => x.CourseId !== response.data.CourseId\r\n // );\r\n // this.setState({\r\n // libraryData: filtData,\r\n // });\r\n this.getLibraryData(this.state.activePage, '', '', '', '');\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n unarchiveCourse(id) {\r\n let article = {\r\n Active: true,\r\n CourseId: id,\r\n };\r\n\r\n axios\r\n .post(Update_Url, article, {\r\n withCredentials: true,\r\n credentials: 'include',\r\n signal: this.controller.signal,\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n\r\n .then((response) => {\r\n NotificationManager.success(\r\n response?.data.CourseName,\r\n 'unarchived Successfully!'\r\n );\r\n this.getLibraryData(this.state.activePage, '', '', '', '');\r\n // let dupData = this.state.libraryData;\r\n // let filtData = dupData.filter(\r\n // (x) => x.CourseId !== response.data.CourseId\r\n // );\r\n // this.setState({\r\n // libraryData: filtData,\r\n // });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n getFormatLocData() {\r\n axios\r\n .get(cpd_Format_Url, {\r\n method: 'GET',\r\n withCredentials: true,\r\n credentials: 'include',\r\n signal: this.controller.signal,\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.setState({\r\n cpd_format: data,\r\n });\r\n this.setState({\r\n listViewModalShown: true,\r\n });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n\r\n axios\r\n .get(course_Location_Url, {\r\n method: 'GET',\r\n withCredentials: true,\r\n credentials: 'include',\r\n signal: this.controller.signal,\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.setState({\r\n course_Location: data,\r\n });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n // Load Apis For Modal Feilds\r\n modalData() {\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n this.getFormatLocData();\r\n this.setState({\r\n file: '',\r\n listViewDataCoursetitle: '',\r\n listViewDataCoursedesc: '',\r\n listViewDataCourselocation: '',\r\n listViewDataCoursevenue: '',\r\n listViewDataCoursetype: '',\r\n listViewDataCourseformat: '',\r\n listViewDataCoursehost: '',\r\n listViewDataCoursetrainer: '',\r\n listViewDataSurveyLink: '',\r\n listViewDataCoursestartdate: '',\r\n listViewDataCoursecpdhours: '',\r\n listViewDataCoursehowtobook: '',\r\n listViewDataCoursecpdMinutes: '',\r\n listViewAdminOnly: false,\r\n listViewInHouseOnly: false,\r\n mainLoading: false,\r\n titlemodal: 'ADD CPD Course',\r\n addEditCourseBtn: false,\r\n switchCheck: false,\r\n paymentneeded: false,\r\n });\r\n }\r\n // Modal Input Onchange Feilds data\r\n handleTitleChange(e) {\r\n this.setState({\r\n listViewDataCoursetitle: e,\r\n });\r\n }\r\n handleDescChange(e) {\r\n this.setState({\r\n listViewDataCoursedesc: e,\r\n });\r\n }\r\n handleLocChange(e) {\r\n this.setState({\r\n listViewDataCourselocation: e,\r\n });\r\n }\r\n handleVenueChange(e) {\r\n this.setState({\r\n listViewDataCoursevenue: e,\r\n });\r\n }\r\n handleTypeChange(e) {\r\n this.setState({\r\n listViewDataCoursetype: e,\r\n });\r\n }\r\n handleFormatChange(e) {\r\n this.setState({\r\n listViewDataCourseformat: e,\r\n });\r\n }\r\n handleHostChange(e) {\r\n this.setState({\r\n listViewDataCoursehost: e,\r\n });\r\n }\r\n handleTrainerChange(e) {\r\n this.setState({\r\n listViewDataCoursetrainer: e,\r\n });\r\n }\r\n handleSurveyLinkChange(e) {\r\n this.setState({\r\n listViewDataSurveyLink: e,\r\n });\r\n }\r\n handleStartDateChange(e) {\r\n this.setState({\r\n listViewDataCoursestartdate: e,\r\n });\r\n }\r\n handleCpdHourChange(e) {\r\n this.setState({\r\n listViewDataCoursecpdhours: e,\r\n });\r\n }\r\n handleCourseBookChange(e) {\r\n this.setState({\r\n listViewDataCoursehowtobook: e,\r\n });\r\n }\r\n handleCpdMinutesChange(e) {\r\n this.setState({\r\n listViewDataCoursecpdMinutes: e,\r\n });\r\n }\r\n handleSwitchButton(e) {\r\n this.setState({\r\n switchCheck: e.target.checked,\r\n });\r\n }\r\n handlePaymentNeededChange(e) {\r\n this.setState({\r\n listViewDataPaymentNeeded: e,\r\n });\r\n }\r\n\r\n // END Modal Input Onchange Feilds data END\r\n\r\n // Add Data From Modal in Api\r\n handleAddData() {\r\n if (!this.state.listViewDataCoursetitle) {\r\n NotificationManager.error(\r\n 'Please use valid information for CourseTitle!'\r\n );\r\n return false;\r\n }\r\n\r\n if (!this.state.listViewDataCoursedesc) {\r\n NotificationManager.error('Please use valid information for Coursedesc!');\r\n return false;\r\n }\r\n\r\n if (!this.state.listViewDataCourselocation) {\r\n NotificationManager.error(\r\n 'Please use valid information for Courselocation!'\r\n );\r\n return false;\r\n }\r\n\r\n if (!this.state.listViewDataCoursevenue) {\r\n NotificationManager.error(\r\n 'Please use valid information for Coursevenue!'\r\n );\r\n return false;\r\n }\r\n\r\n if (!this.state.listViewDataCoursetype) {\r\n NotificationManager.error('Please use valid information for Coursetype!');\r\n return false;\r\n }\r\n\r\n if (!this.state.listViewDataCourseformat) {\r\n NotificationManager.error(\r\n 'Please use valid information for Courseformat!'\r\n );\r\n return false;\r\n }\r\n\r\n if (!this.state.listViewDataCoursehost) {\r\n NotificationManager.error(\r\n 'Please use valid information for course host!'\r\n );\r\n return false;\r\n }\r\n\r\n if (!this.state.listViewDataCoursestartdate) {\r\n NotificationManager.error(\r\n 'Please use valid information for course start date!'\r\n );\r\n return false;\r\n }\r\n\r\n if (\r\n !this.state.listViewDataCoursecpdMinutes &&\r\n !this.state.listViewDataCoursecpdhours\r\n ) {\r\n NotificationManager.error(\r\n 'Please use valid information for CPD hours or minutes!'\r\n );\r\n return false;\r\n }\r\n\r\n this.setState({ mainLoading: true });\r\n let active = this.state.switchCheck;\r\n let adminOnly = this.state.listViewAdminOnly;\r\n let obj = {\r\n CPDFormatId: +this.state.listViewDataCourseformat,\r\n CPDTypeId: +this.state.listViewDataCoursetype,\r\n CourseDescription: this.state.listViewDataCoursedesc,\r\n CourseName: this.state.listViewDataCoursetitle,\r\n DurationHours: +this.state.listViewDataCoursecpdhours,\r\n HostId: +this.state.listViewDataCoursehost,\r\n HowToBook: this.state.listViewDataCoursehowtobook,\r\n InHouseOnly: this.state.listViewInHouseOnly,\r\n LocationId: +this.state.listViewDataCourselocation,\r\n Minutes: +this.state.listViewDataCoursecpdMinutes,\r\n StartDate: this.state.listViewDataCoursestartdate,\r\n Trainer: this.state.listViewDataCoursetrainer,\r\n SurveyLink: this.state.listViewDataSurveyLink,\r\n Venue: this.state.listViewDataCoursevenue,\r\n PaymentNeeded: this.state.listViewDataPaymentNeeded,\r\n };\r\n\r\n if (active) {\r\n obj.Active = active;\r\n }\r\n if (adminOnly) {\r\n obj.AdminOnly = adminOnly;\r\n }\r\n\r\n axios\r\n .post(cpd_addCourse, obj, {\r\n withCredentials: true,\r\n credentials: 'include',\r\n signal: this.controller.signal,\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n\r\n .then((response) => {\r\n NotificationManager.success('Course Added Successfully');\r\n if (this.state.switchCheck === true) {\r\n let dupData = this.state.libraryData;\r\n dupData.push(response?.data);\r\n this.setState({\r\n libraryData: dupData,\r\n });\r\n }\r\n\r\n this.setState({\r\n listViewModalShown: false,\r\n mainLoading: false,\r\n });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n editCourse(id) {\r\n this.getFormatLocData();\r\n\r\n let dupData = this.state.libraryData;\r\n let i = dupData.findIndex((x) => x.CourseId === id);\r\n\r\n this.setState({\r\n editId: id,\r\n switchCheck: dupData[i].Active,\r\n addEditCourseBtn: true,\r\n listViewDataCoursetitle: dupData[i].CourseName,\r\n listViewDataCoursedesc: dupData[i].CourseDescription,\r\n listViewDataCourselocation: dupData[i].LocationID,\r\n listViewDataCoursevenue: dupData[i].Venue,\r\n listViewDataCoursetype: dupData[i].CPDTypeId,\r\n listViewDataCourseformat: dupData[i].CPDFormatId,\r\n listViewDataCoursehost: dupData[i].HostID,\r\n listViewDataCoursetrainer: dupData[i].Trainer,\r\n listViewDataSurveyLink: dupData[i].SurveyLink,\r\n listViewDataCoursestartdate: dupData[i].StartDate,\r\n listViewDataCoursecpdhours: dupData[i].DurationHours,\r\n listViewDataCoursehowtobook: dupData[i].HowToBook,\r\n listViewDataCoursecpdMinutes: dupData[i].DurationMins,\r\n listViewAdminOnly: dupData[i].AdminOnly,\r\n listViewInHouseOnly: dupData[i].InHouseOnly,\r\n listViewDataPaymentNeeded: dupData[i].PaymentNeeded,\r\n titlemodal: 'UPDATE CPD Course',\r\n });\r\n\r\n axios\r\n .get(`${get_Course_Url}${'?courseId=' + id}`, {\r\n method: 'GET',\r\n withCredentials: true,\r\n credentials: 'include',\r\n signal: this.controller.signal,\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n fileData: response?.data,\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n handleUpdateData() {\r\n let obj = {\r\n Active: this.state.switchCheck,\r\n AdminOnly: this.state.listViewAdminOnly,\r\n CPDFormatId: this.state.listViewDataCourseformat,\r\n CPDTypeId: this.state.listViewDataCoursetype,\r\n CourseDescription: this.state.listViewDataCoursedesc,\r\n CourseId: this.state.editId,\r\n CourseName: this.state.listViewDataCoursetitle,\r\n CourseType: null,\r\n DurationHours: this.state.listViewDataCoursecpdhours,\r\n EmployerId: null,\r\n HostId: this.state.listViewDataCoursehost,\r\n HostName: null,\r\n HowToBook: this.state.listViewDataCoursehowtobook,\r\n InHouseOnly: this.state.listViewInHouseOnly,\r\n LocationId: this.state.listViewDataCourselocation,\r\n LocationName: null,\r\n Minutes: this.state.listViewDataCoursecpdMinutes,\r\n StartDate: this.state.listViewDataCoursestartdate,\r\n Trainer: this.state.listViewDataCoursetrainer,\r\n SurveyLink: this.state.listViewDataSurveyLink,\r\n Venue: this.state.listViewDataCoursevenue,\r\n PaymentNeeded: this.state.listViewDataPaymentNeeded,\r\n };\r\n\r\n axios\r\n .post(Update_Url, obj, {\r\n withCredentials: true,\r\n credentials: 'include',\r\n signal: this.controller.signal,\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n\r\n .then((response) => {\r\n let dupData = [...this.state.libraryData];\r\n\r\n let i = dupData?.findIndex((x) => x?.CourseId === this.state.editId);\r\n if (i > -1) {\r\n dupData[i].Active = this.state.switchCheck;\r\n dupData[i].CourseName = this.state.listViewDataCoursetitle;\r\n dupData[i].Description = this.state.listViewDataCoursedesc;\r\n dupData[i].LocationID = this.state.listViewDataCourselocation;\r\n dupData[i].Venue = this.state.listViewDataCoursevenue;\r\n dupData[i].CPDTypeId = this.state.listViewDataCoursetype;\r\n dupData[i].CPDFormatId = this.state.listViewDataCourseformat;\r\n dupData[i].HostID = this.state.listViewDataCoursehost;\r\n dupData[i].Trainer = this.state.listViewDataCoursetrainer;\r\n dupData[i].SurveyLink = this.state.listViewDataSurveyLink;\r\n dupData[i].StartDate = this.state.listViewDataCoursestartdate;\r\n dupData[i].DurationHours = this.state.listViewDataCoursecpdhours;\r\n dupData[i].HowToBook = this.state.listViewDataCoursehowtobook;\r\n dupData[i].DurationMins = this.state.listViewDataCoursecpdMinutes;\r\n\r\n NotificationManager.success(\r\n response?.data.CourseName,\r\n 'Course updated successfully!'\r\n );\r\n\r\n this.setState({\r\n libraryData: dupData,\r\n addEditCoursebtn: false,\r\n listViewModalShown: false,\r\n listViewDataCoursetitle: '',\r\n listViewDataCoursedesc: '',\r\n listViewDataCourselocation: '',\r\n listViewDataCoursevenue: '',\r\n listViewDataCoursetype: '',\r\n listViewDataCourseformat: '',\r\n listViewDataCoursehost: '',\r\n listViewDataCoursetrainer: '',\r\n listViewDataSurveyLink: '',\r\n listViewDataCoursestartdate: '',\r\n listViewDataCoursecpdhours: '',\r\n listViewDataCoursehowtobook: '',\r\n listViewDataCoursecpdMinutes: '',\r\n });\r\n this.searchData();\r\n }\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n handleFile(e) {}\r\n\r\n handleUploadFile() {\r\n let data = new FormData();\r\n\r\n data.append('file', this.state.file);\r\n\r\n if (!this.state.file) {\r\n return NotificationManager.error('File not Selected');\r\n }\r\n\r\n axios\r\n .post(upload_Course_Url, data, {\r\n withCredentials: true,\r\n credentials: 'include',\r\n signal: this.controller.signal,\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n courseid: this.state.editId,\r\n },\r\n })\r\n\r\n .then((response) => {\r\n this.setState({ fileData: response?.data });\r\n\r\n NotificationManager.success('File uploaded Successfully!');\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n handleDeleteFile(feild_id, Course_id) {\r\n axios\r\n .get(delete_Url, {\r\n params: {\r\n fileId: feild_id,\r\n courseId: Course_id,\r\n },\r\n method: 'GET',\r\n withCredentials: true,\r\n credentials: 'include',\r\n signal: this.controller.signal,\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n let dupdata = [...this.state.fileData];\r\n let filt = dupdata.filter((x) => x.ID !== feild_id);\r\n this.setState({\r\n fileData: filt,\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n handleDownloadFile(id) {\r\n let dup = [...this.state.fileData];\r\n let findData = dup.find((x) => x.ID === id);\r\n\r\n axios\r\n .get(downloadFile_Url, {\r\n params: {\r\n name: findData?.ModifiedFileName,\r\n },\r\n method: 'GET',\r\n withCredentials: true,\r\n credentials: 'include',\r\n signal: this.controller.signal,\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n var blob = new Blob([response.data]);\r\n\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, findData?.ModifiedFileName);\r\n } else {\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', findData?.ModifiedFileName);\r\n document.body.appendChild(link);\r\n link.click();\r\n }\r\n });\r\n }\r\n\r\n onSort = (column) => (e) => {\r\n const direction = this.state.sort.column\r\n ? this.state.sort.direction === 'asc'\r\n ? 'desc'\r\n : 'asc'\r\n : 'desc';\r\n this.setState({\r\n sort: {\r\n column,\r\n direction,\r\n },\r\n });\r\n let pages = this.state.activePage;\r\n let CPDTypeId = this.state.cpd_type;\r\n let CourseName = this.state.course_name;\r\n let HostId = this.state.host_name;\r\n let LocationName = this.state.location_name;\r\n this.getLibraryData(\r\n pages,\r\n CPDTypeId,\r\n CourseName,\r\n HostId,\r\n LocationName,\r\n column,\r\n direction\r\n );\r\n };\r\n\r\n setArrow = (column) => {\r\n let className = 'fa fa-sort';\r\n if (this.state.sort.column === column) {\r\n className += this.state.sort.direction === 'asc' ? '-asc' : '-desc';\r\n }\r\n return className;\r\n };\r\n\r\n componentWillUnmount() {\r\n this.controller.abort();\r\n }\r\n\r\n render() {\r\n let listViewModalShownClose = () =>\r\n this.setState({ listViewModalShown: false, addEditCoursebtn: false });\r\n let libraryData;\r\n\r\n if (this?.state?.libraryData !== null) {\r\n libraryData = this?.state?.libraryData?.map((libraryItem, index) => {\r\n return (\r\n \r\n {libraryItem?.CourseName}\r\n {libraryItem?.Expr1}\r\n {libraryItem?.hostName}\r\n {libraryItem?.Venue}\r\n \r\n {libraryItem?.DurationHours}h{' '}\r\n {libraryItem?.DurationMins ? `${libraryItem?.DurationMins}m` : ''}\r\n \r\n\r\n {libraryItem?.Description}\r\n \r\n {libraryItem?.StartDate\r\n ? moment(libraryItem?.StartDate).format('ll')\r\n : 'na'}\r\n \r\n \r\n this.editCourse(libraryItem.CourseId)}\r\n className=\"button-custom\"\r\n >\r\n \r\n \r\n \r\n \r\n {libraryItem.Active === true ? (\r\n this.archiveCourse(libraryItem.CourseId)}\r\n >\r\n \r\n \r\n ) : (\r\n this.unarchiveCourse(libraryItem.CourseId)}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n {this.state.mainLoading && }\r\n
    \r\n
    \r\n
    \r\n \r\n {' '}\r\n Search\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.setState({ course_name: e.target.value })\r\n }\r\n value={this.state.course_name}\r\n onKeyDown={(e) => {\r\n if (e.key === 'Enter') {\r\n this.searchData();\r\n }\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n this.setState({ location_name: e.target.value })\r\n }\r\n onKeyDown={(e) => {\r\n if (e.key === 'Enter') {\r\n this.searchData();\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.setState({ cpd_type: e.target.value })\r\n }\r\n >\r\n \r\n {this.state.cpdType.length &&\r\n this.state?.cpdType?.map((item, index) => {\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 this.setState({ start_date: e.target.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 this.setState({ host_name: e.target.value })\r\n }\r\n >\r\n \r\n {this?.state?.loadHost?.length &&\r\n this?.state?.loadHost?.map((item, index) => {\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 Search\r\n \r\n \r\n {' '}\r\n Clear\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n window.print()}\r\n className=\"btn btn-danger btn-circle btn-lg \"\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 {this.state.mainLoading && }\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 {libraryData}\r\n
    \r\n Course Name \r\n \r\n Location \r\n \r\n Host \r\n \r\n Venue \r\n \r\n Duration \r\n \r\n Type \r\n \r\n Start Date \r\n
    \r\n {libraryData.length > 0 ? '' : this.state.emptyDivMsg}\r\n
    \r\n
    \r\n \r\n this.setState({ file: e })}\r\n handleDeleteFile={this.handleDeleteFile}\r\n handleDownloadFile={this.handleDownloadFile}\r\n listViewAdminOnly={(e) => this.setState({ listViewAdminOnly: e })}\r\n listViewInHouseOnly={(e) => this.setState({ listViewInHouseOnly: e })}\r\n titlemodal={this.state.titlemodal}\r\n paymentneeded={this.state.listViewDataPaymentNeeded}\r\n handlePaymentNeededChange={this.handlePaymentNeededChange}\r\n />\r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AdminDash);\r\n","import React from \"react\";\r\nimport { Modal, Button } from \"react-bootstrap\";\r\nimport { Doughnut } from \"react-chartjs-2\";\r\nimport \"./modal.css\";\r\nimport { Chart, ArcElement, Tooltip } from \"chart.js\";\r\nimport userIcon from \"../../../assets/Apps-User-icon.png\";\r\nChart.register(ArcElement);\r\nChart.register([Tooltip]);\r\n\r\nclass ViewModal extends React.Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n subject: \"\",\r\n query: \"\",\r\n };\r\n }\r\n render() {\r\n const state = {\r\n labels: [`CDP Hours Recorded: `, `CDP Hours Remaining: `],\r\n datasets: [\r\n {\r\n label: \"Rainfall\",\r\n backgroundColor: [\"#46BFBD\", \"#BC4B4B\"],\r\n data: [\r\n Math.abs(this.props.viewTotalRecorded),\r\n Math.ceil(8 - this.props.viewTotalRecorded),\r\n ],\r\n hoverOffset: 1,\r\n },\r\n ],\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!this.props.sendEmailStatus ? \"Member Snapshot\" : \"Contact\"}\r\n \r\n \r\n \r\n {!this.props.sendEmailStatus ? (\r\n <>\r\n
    \r\n \"usericon\"\r\n
    \r\n

    {this.props.viewUserName}

    \r\n\r\n

    {this.props.viewEmail}

    \r\n\r\n

    {this.props.viewStatus}

    \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 this.props.updatesubjectEmail(e.target.value);\r\n }}\r\n style={{}}\r\n />\r\n
    \r\n
    \r\n \r\n {\r\n this.props.updatequeryEmail(e.target.value);\r\n }}\r\n style={{}}\r\n defaultValue={\"\"}\r\n />\r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n Submit\r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n\r\n \r\n {!this.props.sendEmailStatus ? (\r\n \r\n ) : null}\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default ViewModal;\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport 'react-table/react-table.css';\r\nimport Pagination from 'react-js-pagination';\r\nimport { LinearProgress } from 'react-md';\r\nimport '../../../node_modules/react-md/dist/react-md.indigo-blue.min.css';\r\nimport 'bootstrap-datepicker/js/bootstrap-datepicker.js';\r\nimport 'bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css';\r\nimport ViewModal from './_modal/view';\r\nimport Loader from '../../_components/loader';\r\nimport { NotificationManager } from 'react-notifications';\r\nimport 'react-notifications/lib/notifications.css';\r\nimport { AdminUrls } from '../../network/config';\r\nimport './style.css';\r\nimport { removeData } from '../../store/action';\r\nimport { connect } from 'react-redux';\r\nimport userIcon from '../../assets/Apps-User-icon.png';\r\nimport noIcon from '../../assets/no-icon.png';\r\nimport tickIcon from '../../assets/good_or_tick.png';\r\nconst moment = require('moment');\r\n\r\nconst Member_Record_URL = AdminUrls.ADMIN.CPDMEMBER;\r\nconst Send_Email_URL = AdminUrls.ADMIN.SENDEMAIL;\r\nconst Upload_File = AdminUrls.ADMIN.FILEUPLOAD;\r\n\r\nclass MemberAdmin extends React.Component {\r\n constructor() {\r\n super();\r\n\r\n this.handlePageChange = this.handlePageChange.bind(this);\r\n this.clearSearchFilters = this.clearSearchFilters.bind(this);\r\n this.getMembersData = this.getMembersData.bind(this);\r\n this.sendEmail = this.sendEmail.bind(this);\r\n this.editViewHandler = this.editViewHandler.bind(this);\r\n this.viewMemberCpdHandler = this.viewMemberCpdHandler.bind(this);\r\n\r\n this.state = {\r\n start_date: '',\r\n dashboard_records: [],\r\n\r\n totalPages: 0,\r\n totalCount: 0,\r\n activePage: 1,\r\n sort: {\r\n column: 'StartDate',\r\n direction: 'desc',\r\n },\r\n\r\n listViewModalShown: false,\r\n listViewDataCourseName: '',\r\n listViewDatastartDate: '',\r\n listViewDatacourseLocation: '',\r\n listViewDatacourseType: '',\r\n listViewDatahost: '',\r\n listViewDatacpdFormata: '',\r\n listViewDatavenue: '',\r\n listViewDatatrainer: '',\r\n listViewDatacourseDescription: '',\r\n mainLoading: false,\r\n emptyDivMsg: 'There is no data to show in the grid.',\r\n per_page: 10,\r\n page: 1,\r\n userName: '',\r\n isComaplaint: '',\r\n memberId: '',\r\n year: '',\r\n allData: [],\r\n viewEmail: '',\r\n viewTotalRecorded: '',\r\n viewStatus: '',\r\n viewUserName: '',\r\n sendEmailStatus: false,\r\n subjectEmail: '',\r\n queryEmail: '',\r\n file: '',\r\n file_upload: null,\r\n memberAdminErrorMessages: null,\r\n };\r\n this.controller = new AbortController();\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n }\r\n\r\n handlePageChange(pageNumber) {\r\n this.setState(\r\n {\r\n activePage: pageNumber,\r\n },\r\n () => {\r\n this.getMembersData(this?.state?.activePage);\r\n }\r\n );\r\n }\r\n\r\n handleInputChange(event) {\r\n const target = event.target;\r\n const name = target.name;\r\n if (name === 'file_upload') {\r\n if (event.target.files.length > 0) {\r\n this.setState({\r\n [name]: event.target.files[0],\r\n file_name: event.target.files[0].name,\r\n });\r\n }\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.getMembersData(this.state.page, '');\r\n }\r\n\r\n getMembersData(pageNumber, years, column, direction) {\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n\r\n let year = this.state.year;\r\n let obj = {\r\n page: pageNumber,\r\n pageSize: this.state.per_page,\r\n };\r\n if (years) {\r\n obj.year = years;\r\n } else {\r\n obj.year = '';\r\n }\r\n\r\n let username = this.state.userName;\r\n let compliant = this.state.isComaplaint;\r\n let memberid = this.state.memberId;\r\n\r\n if (column) {\r\n obj.sortBy = column;\r\n }\r\n\r\n if (direction) {\r\n direction = direction === 'asc' ? false : true;\r\n obj.reverse = direction;\r\n }\r\n\r\n if (username) {\r\n obj.userName = username;\r\n }\r\n if (compliant) {\r\n if (compliant === 'Yes') {\r\n compliant = true;\r\n obj.isComaplaint = compliant;\r\n } else {\r\n compliant = false;\r\n obj.isComaplaint = compliant;\r\n }\r\n }\r\n if (memberid) {\r\n obj.memberId = memberid;\r\n }\r\n if (year) {\r\n obj.year = year;\r\n }\r\n\r\n axios\r\n .get(Member_Record_URL, {\r\n params: obj,\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n if (data) {\r\n this.setState({\r\n allData: data.Items,\r\n activePage: data.Page,\r\n pageSize: data.Count,\r\n totalCount: data.TotalCount,\r\n mainLoading: false,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n sendEmail() {\r\n let obj = {\r\n subject: this.state.subjectEmail,\r\n query: this.state.queryEmail,\r\n };\r\n axios\r\n .post(Send_Email_URL, obj, {\r\n withCredentials: true,\r\n credentials: 'include',\r\n signal: this.controller.signal,\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n\r\n .then((data) => {\r\n NotificationManager.success(`Email Sent`);\r\n })\r\n .catch((error) => {\r\n if (error.response.status === 401) {\r\n this.props.signOut();\r\n } else {\r\n NotificationManager.error(`Error! Feedback Failed. Try again.`);\r\n }\r\n });\r\n this.setState({\r\n listViewModalShown: false,\r\n sendEmailStatus: false,\r\n });\r\n }\r\n\r\n updatesubjectEmail = (subject) => {\r\n this.setState({ subjectEmail: subject });\r\n };\r\n updatequeryEmail = (query) => {\r\n this.setState({ queryEmail: query });\r\n };\r\n cancelUpload = () => {\r\n this.setState({ file: '' });\r\n };\r\n\r\n startUpload = () => {\r\n let blobFile = this.state.file_upload;\r\n let formData = new FormData();\r\n formData.append('file', blobFile);\r\n axios\r\n .post(Upload_File, formData, {\r\n processData: false,\r\n contentType: false,\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((data) => {\r\n NotificationManager.success(\r\n 'Success!',\r\n 'MyCPD Record Created Successfully'\r\n );\r\n })\r\n .catch((error) => {\r\n if (error && error?.response) {\r\n if (error.response.data && error.response.data.length > 0) {\r\n var x = '';\r\n for (const i in error.response.data) {\r\n x += error.response.data[i].ResultMessage + '-';\r\n }\r\n this.setState({ memberAdminErrorMessages: x });\r\n }\r\n }\r\n\r\n setTimeout(() => {\r\n this.setState({ memberAdminErrorMessages: null });\r\n }, 20000);\r\n\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n };\r\n\r\n clearSearchFilters() {\r\n this.setState(\r\n {\r\n allData: [],\r\n sort: {\r\n column: 'StartDate',\r\n direction: 'desc',\r\n },\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 0,\r\n year: '',\r\n memberId: '',\r\n isComaplaint: '',\r\n userName: '',\r\n mainLoading: false,\r\n },\r\n () => {\r\n this.getMembersData(1, '');\r\n }\r\n );\r\n }\r\n\r\n openModalWithItem() {\r\n this.setState({\r\n listViewDataCourseName: 'Member Snapshot',\r\n listViewModalShown: true,\r\n });\r\n }\r\n\r\n onSort = (column) => (e) => {\r\n const direction = this.state.sort.column\r\n ? this.state.sort.direction === 'asc'\r\n ? 'desc'\r\n : 'asc'\r\n : 'desc';\r\n this.setState({\r\n sort: {\r\n column,\r\n direction,\r\n },\r\n });\r\n this.getMembersData(1, '', column, direction);\r\n };\r\n\r\n setArrow = (column) => {\r\n let className = 'fa fa-sort';\r\n if (this.state.sort.column === column) {\r\n className += this.state.sort.direction === 'asc' ? '-asc' : '-desc';\r\n }\r\n return className;\r\n };\r\n\r\n editViewHandler(id, mode, item) {\r\n this.props.history.push({\r\n pathname: `myCpdRecord/${id}/${mode}`,\r\n state: item,\r\n });\r\n }\r\n\r\n viewMemberCpdHandler(id, userid) {\r\n let obj = {\r\n Id: id,\r\n uid: userid,\r\n };\r\n this.props.history.push({\r\n pathname: `my_cpd_report/${id}/${userid}`,\r\n state: obj,\r\n });\r\n }\r\n\r\n componentWillUnmount() {\r\n this.controller.abort();\r\n }\r\n\r\n render() {\r\n let listViewModalShownClose = () =>\r\n this.setState({ listViewModalShown: false });\r\n let dashboard_records;\r\n\r\n if (this.state.dashboard_records !== null) {\r\n dashboard_records = this.state.allData.map((dashboard_record, index) => {\r\n return (\r\n \r\n \r\n \"icon\"\r\n \r\n {dashboard_record.MemberNumber}\r\n {dashboard_record.username}\r\n \r\n \r\n {dashboard_record.Status}\r\n \r\n \r\n {moment(dashboard_record.userCompletionDate).format('ll')}\r\n \r\n {dashboard_record.IsCPDCompliant === 'False' ? (\r\n \"noIcon\"\r\n ) : (\r\n \"tickIcon\"\r\n )}\r\n \r\n {dashboard_record.Year}\r\n \r\n \r\n {\r\n this.openModalWithItem();\r\n this.setState({\r\n viewEmail: dashboard_record.Email,\r\n viewTotalRecorded: dashboard_record.TotalRecorded,\r\n viewStatus: dashboard_record.Status,\r\n viewUserName: dashboard_record.username,\r\n sendEmailStatus: false,\r\n });\r\n }}\r\n style={{\r\n fontSize: '21px',\r\n cursor: 'pointer',\r\n color: '#333333',\r\n }}\r\n >\r\n \r\n {' '}\r\n \r\n \r\n \r\n this.viewMemberCpdHandler(\r\n dashboard_record.MemberId,\r\n dashboard_record.UserId\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n this.editViewHandler(\r\n dashboard_record?.UserId,\r\n 'add',\r\n dashboard_record\r\n )\r\n }\r\n style={{\r\n fontSize: '21px',\r\n cursor: 'pointer',\r\n marginLeft: '10px',\r\n color: '#333333',\r\n border: '0px',\r\n background: 'transparent',\r\n }}\r\n >\r\n \r\n {' '}\r\n \r\n \r\n \r\n\r\n \r\n {\r\n this.openModalWithItem();\r\n this.setState({\r\n sendEmailStatus: true,\r\n viewEmail: dashboard_record.Email,\r\n });\r\n }}\r\n >\r\n {' '}\r\n \r\n \r\n \r\n \r\n );\r\n });\r\n }\r\n return (\r\n
    \r\n {this.state.mainLoading && }\r\n
    \r\n {this.state.memberAdminErrorMessages && (\r\n \r\n \r\n ×\r\n \r\n
    \r\n \r\n
    \r\n Error! {this.state.memberAdminErrorMessages}\r\n
    \r\n )}\r\n\r\n
    \r\n
    \r\n \r\n {' '}\r\n Search\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.setState({ userName: e.target.value })\r\n }\r\n onKeyDown={(e) => {\r\n if (e.key === 'Enter') {\r\n this.getMembersData(1);\r\n }\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.setState({ isComaplaint: e.target.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 \r\n\r\n \r\n this.setState({ memberId: e.target.value })\r\n }\r\n onKeyDown={(e) => {\r\n if (e.key === 'Enter') {\r\n this.getMembersData(1);\r\n }\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.setState({ year: e.target.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
    \r\n this.getMembersData(1)}\r\n >\r\n {' '}\r\n Search\r\n \r\n this.clearSearchFilters()}\r\n >\r\n {' '}\r\n Clear\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 Start upload\r\n \r\n \r\n \r\n Cancel upload\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n window.print()}\r\n className=\"btn btn-danger btn-circle btn-lg \"\r\n >\r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n {this.state.mainLoading && }\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 {dashboard_records}\r\n
    \r\n Membership Number{' '}\r\n \r\n \r\n User Name \r\n \r\n Status \r\n \r\n Completion Date{' '}\r\n \r\n CPD Compliant\r\n Year \r\n
    \r\n {dashboard_records.length > 0 ? '' : this.state.emptyDivMsg}\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MemberAdmin);\r\n","import React from \"react\";\r\nimport { Modal, Button } from \"react-bootstrap\";\r\n\r\nclass ViewModal extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.props.coursename}\r\n \r\n \r\n \r\n
    \r\n \r\n

    \r\n {new Date(this.props.startdate).toDateString()}\r\n

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

    \r\n {this.props.courselocation}\r\n

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

    \r\n {this.props.coursetype}\r\n

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

    {this.props.host}

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

    \r\n {this.props.cpdformat}\r\n

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

    {this.props.venue}

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

    \r\n {this.props.trainer}\r\n

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

    \r\n {this.props.description}\r\n

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default ViewModal;\r\n","import React from 'react';\r\nimport { Modal, Button } from 'react-bootstrap';\r\n\r\nclass OnHold extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.props.coursename}\r\n \r\n \r\n \r\n {this.props.commentList?.length > 0 && (\r\n
    \r\n
    \r\n \r\n \r\n \r\n Date\r\n Comments\r\n \r\n \r\n \r\n {this.props.commentList?.map((item) => (\r\n \r\n {item.CreatedDate}\r\n {item.Comment} \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.props.handleCommentsChange(e.target.value)}\r\n value={this.props.comments}\r\n placeholder=\"Your Query here\"\r\n >\r\n
    \r\n
    \r\n \r\n \r\n \r\n Submit\r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default OnHold;\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport 'react-table/react-table.css';\r\nimport Pagination from 'react-js-pagination';\r\nimport { LinearProgress } from 'react-md';\r\nimport '../../../node_modules/react-md/dist/react-md.indigo-blue.min.css';\r\nimport 'bootstrap-datepicker/js/bootstrap-datepicker.js';\r\nimport 'bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css';\r\nimport ViewModal from './_modals/view';\r\nimport OnHold from './_modals/onHold';\r\nimport Loader from '../../_components/loader';\r\nimport { NotificationManager } from 'react-notifications';\r\nimport 'react-notifications/lib/notifications.css';\r\nimport { AdminUrls } from '../../network/config';\r\nimport './style.css';\r\nimport { connect } from 'react-redux';\r\nimport { removeData } from '../../store/action';\r\nconst moment = require('moment');\r\n\r\nconst getAdminCpd_Url = AdminUrls.ADMIN.CPDACCREDITED;\r\nconst approveCpd_Url = AdminUrls.ADMIN.CPDACCREDITEDAR;\r\nconst cpdQueueUpdate_Url = AdminUrls.ADMIN.CPDQUEUEUPDATE;\r\nconst cpdQueuegetComments_Url = AdminUrls.COMMON.GETCPDQUEUECOMMENTS;\r\nconst downloadFiles_Url = AdminUrls.ADMIN.CPDACCRDFDOWNLOAD;\r\n\r\nclass AccredAdmin extends React.Component {\r\n constructor() {\r\n super();\r\n // moment(dashboard_record.userCompletionDate).format(\"ll\")\r\n this.clearSearchFilters = this.clearSearchFilters.bind(this);\r\n this.getLoadCpd = this.getLoadCpd.bind(this);\r\n this.searchCpdData = this.searchCpdData.bind(this);\r\n this.downloadFile = this.downloadFile.bind(this);\r\n this.selectCpdHandler = this.selectCpdHandler.bind(this);\r\n this.approvedCpdHandler = this.approvedCpdHandler.bind(this);\r\n this.rejectCpdHandler = this.rejectCpdHandler.bind(this);\r\n this.handlePageChange = this.handlePageChange.bind(this);\r\n this.handleCPDQueueUpdate = this.handleCPDQueueUpdate.bind(this);\r\n this.handleCommentsChange = this.handleCommentsChange.bind(this);\r\n this.getCommentListData = this.getCommentListData.bind(this);\r\n\r\n this.state = {\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 0,\r\n\r\n listViewModalShown: false,\r\n listViewDataCourseName: '',\r\n listViewDatastartDate: '',\r\n listViewDatacourseLocation: '',\r\n listViewDatacourseType: '',\r\n listViewDatahost: '',\r\n listViewDatacpdFormat: '',\r\n listViewDatavenue: '',\r\n listViewDatatrainer: '',\r\n listViewDatacourseDescription: '',\r\n\r\n listOnHoldShown: false,\r\n listViewDataComments: '',\r\n\r\n sort: {\r\n column: '',\r\n direction: '',\r\n },\r\n\r\n cpdUserName: '',\r\n cpdHostName: '',\r\n cpdCourseName: '',\r\n mainLoading: false,\r\n loadCpd: '',\r\n selectIdHandler: [],\r\n dupLoadCpd: [],\r\n emptyDivMsg: 'There is no data to show in the grid.',\r\n };\r\n this.controller = new AbortController();\r\n }\r\n\r\n componentDidMount() {\r\n this.getLoadCpd(1);\r\n }\r\n\r\n clearSearchFilters() {\r\n this.setState(\r\n {\r\n cpdUserName: '',\r\n cpdHostName: '',\r\n cpdCourseName: '',\r\n },\r\n () => {\r\n this.getLoadCpd(this?.state?.activePage);\r\n }\r\n );\r\n }\r\n\r\n openModalWithItem(id) {\r\n let dup = this.state?.loadCpd?.Items;\r\n\r\n let found = dup.find((x) => x.ID === id);\r\n\r\n if (found.ID === id) {\r\n this.setState({\r\n listViewDataCourseName: found.Name,\r\n listViewDatastartDate: found.StartDate,\r\n listViewDatacourseLocation: found.LocationName,\r\n listViewDatacourseType: found.CPDTypeDesc ? found.CPDTypeDesc : 'na',\r\n listViewDatahost: found.HostName ? found.HostName : 'na',\r\n listViewDatacpdFormat: found.CPDFormatName ? found.CPDFormatName : 'na',\r\n listViewDatavenue: found.Venue ? found.Venue : 'na',\r\n listViewDatatrainer: found.Trainer ? found.Trainer : 'na',\r\n listViewDatacourseDescription: found.Description\r\n ? found.Description\r\n : 'na',\r\n listViewModalShown: true,\r\n });\r\n }\r\n }\r\n\r\n openOnHoldModalWithItem(id) {\r\n this.getCommentListData(id);\r\n let dup = this.state?.loadCpd?.Items;\r\n let found = dup.find((x) => x.ID === id);\r\n if (found.ID === id) {\r\n this.setState({\r\n listViewId: found.ID,\r\n listViewDataCourseName: found.Name,\r\n listOnHoldShown: true,\r\n listViewDataComments: '',\r\n });\r\n }\r\n }\r\n\r\n getCommentListData(Id) {\r\n axios\r\n .get(cpdQueuegetComments_Url + '?ID=' + Id, {\r\n method: 'GET',\r\n withCredentials: true,\r\n credentials: 'include',\r\n signal: this.controller.signal,\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.setState({\r\n listViewCommentList: data,\r\n });\r\n this.setState({\r\n listOnHoldShown: true,\r\n });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n getLoadCpd(pageNumber) {\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n\r\n let sort = this.state.sort.column;\r\n let reverse = this.state.sort.direction;\r\n let name = this.state.cpdCourseName;\r\n let user_name = this.state.cpdUserName;\r\n let hostName = this.state.cpdHostName;\r\n\r\n let obj = {\r\n page: pageNumber,\r\n pageSize: this?.state?.per_page,\r\n };\r\n\r\n if (sort) {\r\n obj.sortBy = sort;\r\n }\r\n if (reverse) {\r\n reverse = reverse === 'asc' ? false : true;\r\n obj.reverse = reverse;\r\n }\r\n\r\n if (name) {\r\n obj.Name = name;\r\n }\r\n\r\n if (user_name) {\r\n obj.UserName = user_name;\r\n }\r\n if (hostName) {\r\n obj.Provider = hostName;\r\n }\r\n\r\n axios\r\n .get(getAdminCpd_Url, {\r\n params: obj,\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.setState({\r\n totalPages: data?.TotalPages,\r\n totalCount: data?.TotalCount,\r\n activePage: data?.Page,\r\n loadCpd: data,\r\n dupLoadCpd: data,\r\n mainLoading: false,\r\n });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n searchCpdData() {\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n\r\n this.getLoadCpd(this?.state?.activePage);\r\n }\r\n\r\n downloadFile(name) {\r\n if (name && name.toUpperCase() !== 'NO FILE UPLOADED') {\r\n var downloadPath = downloadFiles_Url + '?name=' + name;\r\n window.open(downloadPath, '_blank', '');\r\n }\r\n }\r\n\r\n selectCpdHandler(id) {\r\n let dupArr = this.state.selectIdHandler;\r\n\r\n let found = dupArr.find((x) => x === id);\r\n if (found) {\r\n return false;\r\n } else {\r\n dupArr.push(id);\r\n this.setState({\r\n selectIdHandler: dupArr,\r\n });\r\n }\r\n }\r\n\r\n handleCommentsChange(e) {\r\n this.setState({\r\n listViewDataComments: e,\r\n });\r\n }\r\n\r\n handleCPDQueueUpdate() {\r\n let obj = {\r\n ID: this.state.listViewId,\r\n Status: 8,\r\n Comments: this.state.listViewDataComments,\r\n };\r\n axios\r\n .post(cpdQueueUpdate_Url, obj, {\r\n method: 'POST',\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n NotificationManager.success(\r\n 'Request for further info sent successfully'\r\n );\r\n this.getLoadCpd(1);\r\n this.setState({\r\n mainLoading: false,\r\n listOnHoldShown: false,\r\n });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n approvedCpdHandler() {\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n let obj = {\r\n Ids: this.state?.selectIdHandler,\r\n Status: 3,\r\n };\r\n axios\r\n .post(approveCpd_Url, obj, {\r\n method: 'POST',\r\n withCredentials: true,\r\n signal: this.controller.signal,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n mainLoading: false,\r\n });\r\n NotificationManager.success('Approved Successfully!');\r\n this.getLoadCpd(1);\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n rejectCpdHandler() {\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n let obj = {\r\n Ids: this.state?.selectIdHandler,\r\n Status: 1,\r\n };\r\n axios\r\n .post(approveCpd_Url, obj, {\r\n method: 'POST',\r\n withCredentials: true,\r\n signal: this.controller.signal,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n NotificationManager.success('Reject Successfully');\r\n this.getLoadCpd(1);\r\n this.setState({\r\n mainLoading: false,\r\n });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n handlePageChange(pageNumber) {\r\n this.setState({\r\n activePage: pageNumber,\r\n });\r\n this.getLoadCpd(pageNumber);\r\n }\r\n\r\n onSort = (column) => (e) => {\r\n const direction = this.state.sort.column\r\n ? this.state.sort.direction === 'asc'\r\n ? 'desc'\r\n : 'asc'\r\n : 'desc';\r\n this.setState(\r\n {\r\n sort: {\r\n column,\r\n direction,\r\n },\r\n },\r\n () => {\r\n this.getLoadCpd(this.state.activePage);\r\n }\r\n );\r\n };\r\n\r\n setArrow = (column) => {\r\n let className = 'fa fa-sort';\r\n if (this.state.sort.column === column) {\r\n className += this.state.sort.direction === 'asc' ? '-asc' : '-desc';\r\n }\r\n return className;\r\n };\r\n\r\n componentWillUnmount() {\r\n this.controller.abort();\r\n }\r\n\r\n render() {\r\n let listViewModalShownClose = () =>\r\n this.setState({ listViewModalShown: false });\r\n let listOnHoldShownClose = () => this.setState({ listOnHoldShown: false });\r\n let loadCpds;\r\n\r\n if (this.state.loadCpd !== null) {\r\n loadCpds = this.state.loadCpd?.Items?.map((cpdItem, index) => {\r\n return (\r\n \r\n \r\n this.selectCpdHandler(cpdItem.ID)}\r\n />\r\n \r\n {cpdItem?.Name}\r\n {cpdItem?.TotalDuration}h\r\n {moment(cpdItem?.SubmittedDate).format('ll')}\r\n {cpdItem?.HostName}\r\n {!cpdItem?.FileName || cpdItem?.FileName === 'No File Uploaded' ? (\r\n {null}\r\n ) : (\r\n \r\n {' '}\r\n this.downloadFile(cpdItem.ModifiedFileName)}\r\n className=\"button-custom\"\r\n >\r\n \r\n \r\n \r\n )}\r\n {cpdItem.UserName}\r\n \r\n {cpdItem.Email}\r\n \r\n \r\n this.selectCpdHandler(cpdItem.ID)}\r\n />\r\n \r\n \r\n this.openModalWithItem(cpdItem.ID)}\r\n className=\"button-custom\"\r\n >\r\n \r\n \r\n \r\n \r\n this.openOnHoldModalWithItem(cpdItem.ID)}\r\n className=\"button-custom\"\r\n >\r\n \r\n \r\n \r\n \r\n {cpdItem?.WorkflowStepId === 8 && (\r\n \r\n )}\r\n {cpdItem?.WorkflowStepId === 9 && (\r\n \r\n )}\r\n \r\n \r\n );\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n {this.state.mainLoading && }\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.setState({ cpdUserName: e.target.value })\r\n }\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n this.searchCpdData()\r\n }\r\n }}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n this.setState({ cpdHostName: e.target.value })\r\n }\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n this.searchCpdData()\r\n }\r\n }}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n this.setState({ cpdCourseName: e.target.value })\r\n }\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n this.searchCpdData()\r\n }\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n Search\r\n \r\n this.clearSearchFilters()}\r\n >\r\n Clear\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {this.state.mainLoading && }\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 {loadCpds}\r\n
    \r\n Course\r\n \r\n \r\n Duration\r\n \r\n \r\n Submitted Date\r\n \r\n \r\n Host\r\n \r\n Attachment\r\n User\r\n \r\n Email AddressPublish
    \r\n {loadCpds?.length > 0 ? '' : this.state.emptyDivMsg}\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n Accept\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 mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AccredAdmin);\r\n","import React from \"react\";\r\nimport { Modal, Button } from \"react-bootstrap\";\r\nimport \"../style.css\";\r\n\r\nclass ViewModal extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n Host\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.props.name(e.target.value)}\r\n value={this.props.value_name}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.props.sortBy(e.target.value)}\r\n value={this.props.value_sort}\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 {this.props.addeditcoursebtn === false ? (\r\n \r\n ) : (\r\n \r\n Submit\r\n \r\n )}\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default ViewModal;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport \"react-table/react-table.css\";\r\nimport Pagination from \"react-js-pagination\";\r\nimport { LinearProgress } from \"react-md\";\r\nimport \"../../../node_modules/react-md/dist/react-md.indigo-blue.min.css\";\r\nimport \"bootstrap-datepicker/js/bootstrap-datepicker.js\";\r\nimport \"bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css\";\r\nimport ViewModal from \"./_modal/view\";\r\nimport Loader from \"../../_components/loader\";\r\nimport { NotificationManager } from \"react-notifications\";\r\nimport \"react-notifications/lib/notifications.css\";\r\nimport { AdminUrls } from \"../../network/config\";\r\nimport \"./style.css\";\r\nimport { removeData } from \"../../store/action\";\r\nimport { connect } from \"react-redux\";\r\nimport yesIcon from \"./assets/yes-icon.png\";\r\nimport noIcon from \"./assets/no-icon.png\";\r\n\r\nconst getCpdHost = AdminUrls.ADMIN.GETHOST;\r\nconst update_Host_Url = AdminUrls.ADMIN.UPDATEHOST;\r\n\r\nclass Host extends React.Component {\r\n constructor() {\r\n super();\r\n this.clearSearchFilters = this.clearSearchFilters.bind(this);\r\n this.getLoadCpd = this.getLoadCpd.bind(this);\r\n this.modalData = this.modalData.bind(this);\r\n this.editCourse = this.editCourse.bind(this);\r\n this.addDataHandler = this.addDataHandler.bind(this);\r\n this.updateDataHandler = this.updateDataHandler.bind(this);\r\n this.searchData = this.searchData.bind(this);\r\n\r\n this.state = {\r\n unauthorized: false,\r\n\r\n loadHost: [],\r\n dupLoadHost: [],\r\n username: \"\",\r\n sortBy: \"\",\r\n editId: \"\",\r\n emptyDivMsg: \"There is no data to show in the grid.\",\r\n mainLoading: false,\r\n listViewModalShown: false,\r\n handleSwitch: false,\r\n addEditCourseBtn: false,\r\n search_id: \"\",\r\n search_name: \"\",\r\n countId: \"\",\r\n };\r\n this.controller = new AbortController();\r\n }\r\n componentDidMount() {\r\n this.getLoadCpd();\r\n }\r\n\r\n getLoadCpd() {\r\n this.setState({ mainLoading: true });\r\n\r\n axios\r\n .get(getCpdHost, {\r\n method: \"GET\",\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: \"include\",\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.setState({\r\n loadHost: data,\r\n dupLoadHost: data,\r\n mainLoading: false,\r\n });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n modalData() {\r\n this.setState({\r\n listViewModalShown: true,\r\n });\r\n }\r\n\r\n addDataHandler() {\r\n if (!this.state.username) {\r\n NotificationManager.error(\"Username should not be empty\");\r\n return false;\r\n }\r\n if (!this.state.sortBy) {\r\n NotificationManager.error(\"Sortby should not be empty\");\r\n return false;\r\n }\r\n\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n let obj = {\r\n Active: this?.state?.handleSwitch,\r\n Name: this?.state?.username,\r\n SortOrder: +this?.state?.sortBy,\r\n };\r\n let objDup = {\r\n ID: this?.state?.dupLoadHost?.length + 1,\r\n Active: this?.state?.handleSwitch,\r\n Name: this?.state?.username,\r\n SortOrder: +this?.state?.sortBy,\r\n };\r\n\r\n axios\r\n .post(update_Host_Url, obj, {\r\n withCredentials: true,\r\n signal: this.controller.signal,\r\n credentials: \"include\",\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((response) => {\r\n NotificationManager.success(\"Host Added Successfully\");\r\n\r\n let dupData = [...this.state.dupLoadHost];\r\n dupData.push(objDup);\r\n\r\n this.setState({\r\n loadHost: dupData,\r\n dupLoadHost: dupData,\r\n listViewModalShown: false,\r\n mainLoading: false,\r\n });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n editCourse(id) {\r\n let dupData = this?.state?.loadHost;\r\n let i = dupData?.findIndex((x) => x?.ID === id);\r\n\r\n this.setState({\r\n editId: id,\r\n handleSwitch: dupData[i].Active,\r\n username: dupData[i].Name,\r\n sortBy: dupData[i].SortOrder,\r\n addEditCourseBtn: true,\r\n listViewModalShown: true,\r\n });\r\n }\r\n\r\n updateDataHandler() {\r\n if (!this.state.username) {\r\n NotificationManager.error(\"Username should not be empty\");\r\n return false;\r\n }\r\n if (!this.state.sortBy) {\r\n NotificationManager.error(\"Sortby should not be empty\");\r\n return false;\r\n }\r\n\r\n let obj = {\r\n ID: this?.state?.editId,\r\n Active: this?.state?.handleSwitch,\r\n Name: this?.state?.username,\r\n SortOrder: +this?.state?.sortBy,\r\n };\r\n axios\r\n .post(update_Host_Url, obj, {\r\n withCredentials: true,\r\n signal: this.controller.signal,\r\n credentials: \"include\",\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n\r\n .then((response) => {\r\n NotificationManager.success(\"Host Update Successfully\");\r\n let dupData = [...this.state.loadHost];\r\n let i = dupData?.findIndex((x) => x?.ID === this.state.editId);\r\n\r\n dupData[i].Active = this.state.handleSwitch;\r\n dupData[i].Name = this.state.username;\r\n dupData[i].SortOrder = +this.state.sortBy;\r\n\r\n this.setState({\r\n editId: \"\",\r\n handleSwitch: \"\",\r\n username: \"\",\r\n sortBy: \"\",\r\n addEditCourseBtn: false,\r\n listViewModalShown: false,\r\n });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n clearSearchFilters() {\r\n this.setState({\r\n loadHost: this.state.dupLoadHost,\r\n search_id: \"\",\r\n search_name: \"\",\r\n });\r\n }\r\n\r\n searchData(e) {\r\n let filtValue = e.target.value;\r\n let dup = [...this.state.dupLoadHost];\r\n\r\n if (!filtValue) {\r\n this.setState({\r\n loadHost: this.state.dupLoadHost,\r\n search_id: \"\",\r\n search_name: \"\",\r\n });\r\n } else {\r\n let filteredData = dup.filter((item) => {\r\n return (\r\n item.ID.toString().includes(filtValue) ||\r\n item.Name.toString().includes(filtValue)\r\n );\r\n });\r\n if (e.target.id === \"name\") {\r\n this.setState({\r\n loadHost: filteredData,\r\n search_name: e?.target?.value,\r\n });\r\n } else {\r\n this.setState({\r\n loadHost: filteredData,\r\n search_id: e?.target?.value,\r\n });\r\n }\r\n }\r\n }\r\n componentWillUnmount() {\r\n this.controller.abort();\r\n }\r\n\r\n render() {\r\n let listViewModalShownClose = () =>\r\n this.setState({\r\n listViewModalShown: false,\r\n addEditCourseBtn: false,\r\n username: \"\",\r\n sortBy: \"\",\r\n handleSwitch: false,\r\n });\r\n let loadHost;\r\n\r\n if (this.state.loadHost !== null) {\r\n loadHost = this.state.loadHost?.map((loadHost, index) => {\r\n return (\r\n \r\n {loadHost?.ID}\r\n {loadHost?.Name}\r\n {loadHost?.SortOrder}\r\n \r\n {loadHost?.Active === true ? (\r\n \"yesIcon\"\r\n ) : (\r\n \"noIcon\"\r\n )}\r\n \r\n \r\n this.editCourse(loadHost.ID)}\r\n className=\"button-custom\"\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n {this.state.mainLoading && }\r\n
    \r\n
    \r\n
    \r\n \r\n {\" \"}\r\n Search\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n this.searchData(e)}\r\n value={this.state.search_name}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n this.searchData(e)}\r\n />\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {\" \"}\r\n Search\r\n \r\n this.clearSearchFilters()}\r\n >\r\n {\" \"}\r\n Clear\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 {this.state.mainLoading && }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loadHost}\r\n
    Host IdNameSort OrderActive
    \r\n {loadHost?.length > 0 ? \"\" : this.state.emptyDivMsg}\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n this.setState({ username: e })}\r\n sortBy={(e) => this.setState({ sortBy: e })}\r\n handleswitch={(e) => this.setState({ handleSwitch: e })}\r\n onHide={listViewModalShownClose}\r\n addhandler={this.addDataHandler}\r\n updatehandler={this.updateDataHandler}\r\n />\r\n
    \r\n );\r\n }\r\n}\r\nconst mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Host);\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport \"react-table/react-table.css\";\r\nimport { LinearProgress } from \"react-md\";\r\nimport \"../../../node_modules/react-md/dist/react-md.indigo-blue.min.css\";\r\nimport \"bootstrap-datepicker/js/bootstrap-datepicker.js\";\r\nimport \"bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css\";\r\nimport Loader from \"../../_components/loader\";\r\nimport \"react-notifications/lib/notifications.css\";\r\nimport { AdminUrls } from \"../../network/config\";\r\nimport \"./style.css\";\r\nimport { removeData } from \"../../store/action\";\r\nimport { connect } from \"react-redux\";\r\n\r\nconst getCpdHost = AdminUrls.ADMIN.GETUSERDETAILS;\r\n\r\nclass UserManagment extends React.Component {\r\n constructor() {\r\n super();\r\n this.clearSearchFilters = this.clearSearchFilters.bind(this);\r\n this.getLoadCpd = this.getLoadCpd.bind(this);\r\n this.modalData = this.modalData.bind(this);\r\n this.editCourse = this.editCourse.bind(this);\r\n this.searchData = this.searchData.bind(this);\r\n\r\n this.state = {\r\n unauthorized: false,\r\n\r\n loadHost: [],\r\n dupLoadHost: [],\r\n username: \"\",\r\n sortBy: \"\",\r\n editId: \"\",\r\n emptyDivMsg: \"There is no data to show in the grid.\",\r\n mainLoading: false,\r\n listViewModalShown: false,\r\n handleSwitch: false,\r\n addEditCourseBtn: false,\r\n search_email: \"\",\r\n search_name: \"\",\r\n countId: \"\",\r\n };\r\n this.controller = new AbortController();\r\n }\r\n\r\n componentDidMount() {\r\n this.getLoadCpd();\r\n }\r\n\r\n getLoadCpd() {\r\n this.setState({ mainLoading: true });\r\n\r\n axios\r\n .get(getCpdHost, {\r\n method: \"GET\",\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: \"include\",\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.setState({\r\n loadHost: data,\r\n dupLoadHost: data,\r\n mainLoading: false,\r\n });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n modalData() {\r\n this.props.history.push(\"/register\");\r\n }\r\n\r\n editCourse(id) {\r\n this.props.history.push(`/register/${id}`);\r\n }\r\n\r\n clearSearchFilters() {\r\n this.setState({\r\n loadHost: this.state.dupLoadHost,\r\n search_email: \"\",\r\n search_name: \"\",\r\n });\r\n }\r\n\r\n searchData(e) {\r\n let filtValue = e?.target?.value;\r\n let dup = [...this.state.dupLoadHost];\r\n\r\n if (!filtValue) {\r\n this.setState({\r\n loadHost: this.state.dupLoadHost,\r\n search_email: \"\",\r\n search_name: \"\",\r\n });\r\n } else {\r\n let filteredData = dup?.filter((item) => {\r\n return (\r\n item?.Email?.includes(filtValue) ||\r\n item?.UserName?.includes(filtValue)\r\n );\r\n });\r\n if (e?.target?.id === \"name\") {\r\n this.setState({\r\n loadHost: filteredData,\r\n search_name: e?.target?.value,\r\n });\r\n } else {\r\n this.setState({\r\n loadHost: filteredData,\r\n search_email: e?.target?.value,\r\n });\r\n }\r\n }\r\n }\r\n componentWillUnmount() {\r\n this.controller.abort();\r\n }\r\n render() {\r\n let loadHost;\r\n\r\n if (this.state.loadHost !== null) {\r\n loadHost = this.state.loadHost?.map((loadHost, index) => {\r\n return (\r\n \r\n {loadHost?.UserName}\r\n {loadHost?.Email}\r\n {loadHost?.FirstName}\r\n {loadHost?.Surname}\r\n {loadHost?.LastLoginTime}\r\n {loadHost?.EmployerName}\r\n\r\n \r\n this.editCourse(loadHost?.UserId)}\r\n className=\"button-custom\"\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n {this.state.mainLoading && }\r\n
    \r\n
    \r\n
    \r\n \r\n {\" \"}\r\n Search\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n this.searchData(e)}\r\n value={this.state.search_name}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n this.searchData(e)}\r\n />\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {\" \"}\r\n Search\r\n \r\n this.clearSearchFilters()}\r\n >\r\n {\" \"}\r\n Clear\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 {this.state.mainLoading && }\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 {loadHost}\r\n
    UserNameEmailFirstNameSurnameLastLoginTimeEmployerName
    \r\n {loadHost?.length > 0 ? \"\" : this.state.emptyDivMsg}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\nconst mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UserManagment);\r\n","import React from 'react';\r\n\r\nimport { withRouter } from 'react-router-dom';\r\nimport 'react-table/react-table.css';\r\nimport '../../../node_modules/react-md/dist/react-md.indigo-blue.min.css';\r\nimport 'bootstrap-datepicker/js/bootstrap-datepicker.js';\r\nimport 'bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css';\r\n\r\nimport 'react-notifications/lib/notifications.css';\r\n\r\nimport './style.css';\r\n\r\nclass AdminSettings extends React.Component {\r\n render() {\r\n const host = () => {\r\n this.props.history.push('/host');\r\n };\r\n\r\n const userManagment = () => {\r\n this.props.history.push('/usermanagment');\r\n };\r\n const videoAccess = () => {\r\n this.props.history.push('/videoaccess');\r\n };\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    Host

    \r\n

    Host information can be modified here

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

    User Managment

    \r\n

    External User can be added here

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

    Member Video Access

    \r\n

    Member video access can be granted

    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(AdminSettings);\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport { withRouter } from 'react-router-dom';\r\nimport 'react-table/react-table.css';\r\nimport { LinearProgress } from 'react-md';\r\nimport '../../../node_modules/react-md/dist/react-md.indigo-blue.min.css';\r\nimport 'bootstrap-datepicker/js/bootstrap-datepicker.js';\r\nimport 'bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css';\r\nimport Loader from '../../_components/loader';\r\nimport 'react-notifications/lib/notifications.css';\r\nimport { AdminUrls } from '../../network/config';\r\nimport './style.css';\r\nimport { removeData } from '../../store/action';\r\nimport { connect } from 'react-redux';\r\n\r\nconst CpdReport_Url = AdminUrls.ADMIN.CPDCOMPLIANTINFO;\r\nconst CpdYear_Url = AdminUrls.ADMIN.GETCPDYEARS;\r\nconst loadReport_Url = AdminUrls.COMMON.GETREPORTLIST;\r\n\r\nclass CpdReport extends React.Component {\r\n constructor() {\r\n super();\r\n this.yearChangeHandler = this.yearChangeHandler.bind(this);\r\n this.getCpdReport = this.getCpdReport.bind(this);\r\n this.loadCpdData = this.loadCpdData.bind(this);\r\n this.handleClickEye = this.handleClickEye.bind(this);\r\n this.getCpdYear = this.getCpdYear.bind(this);\r\n\r\n this.state = {\r\n year: new Date().getFullYear(),\r\n mainLoading: false,\r\n cpdCompliant: '',\r\n cpdCompliantPercentage: '',\r\n eightPlusHrRecorded: '',\r\n eightPlusHrRecordedPercentage: '',\r\n fifteenMinutesToThreeHrPercentage: '',\r\n fifteenMinutesToThreeHrRecorded: '',\r\n fourToFiveHrRecorded: '',\r\n fourToFiveHrRecordedPercentage: '',\r\n nonCPDCompliantPercentage: '',\r\n nonCPDCompliant: '',\r\n systemUsage: '',\r\n systemUsagePercentage: '',\r\n totalMembers: '',\r\n loadCpdReport: [],\r\n selectYear: new Date().getFullYear().toString(),\r\n emptyDivMsg: 'There is no data to show in the grid.',\r\n cpdYear: [],\r\n };\r\n this.controller = new AbortController();\r\n }\r\n\r\n componentDidMount() {\r\n this.loadCpdData();\r\n this.getCpdReport(this.state?.selectYear);\r\n this.getCpdYear();\r\n }\r\n\r\n compliantReport = (id) => {\r\n this.props.history.push(`/compliantreport/${id}`);\r\n };\r\n individualReport = () => {\r\n this.props.history.push({\r\n pathname: '/individualuserreport',\r\n state: +this.state?.selectYear,\r\n });\r\n };\r\n systemUsageReport = () => {\r\n this.props.history.push({\r\n pathname: '/systemusagereport',\r\n state: +this.state?.selectYear,\r\n });\r\n };\r\n yearChangeHandler(e) {\r\n this.setState({ selectYear: e.target.value });\r\n\r\n this.getCpdReport(e.target.value);\r\n }\r\n\r\n getCpdReport(years) {\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n axios\r\n .get(CpdReport_Url, {\r\n params: {\r\n Year: years,\r\n },\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n let dup = response?.data;\r\n dup.map((item) =>\r\n this.setState({\r\n cpdCompliant: item?.CPDCompliant,\r\n cpdCompliantPercentage: item?.CPDCompliantPercentage,\r\n eightPlusHrRecorded: item?.EightPlusHrRecorded,\r\n eightPlusHrRecordedPercentage: item?.EightPlusHrRecordedPercentage,\r\n fifteenMinutesToThreeHrPercentage:\r\n item?.FifteenMinutesToThreeHrPercentage,\r\n fifteenMinutesToThreeHrRecorded:\r\n item?.FifteenMinutesToThreeHrRecorded,\r\n fourToFiveHrRecorded: item?.FourToFiveHrRecorded,\r\n fourToFiveHrRecordedPercentage:\r\n item?.FourToFiveHrRecordedPercentage,\r\n nonCPDCompliantPercentage: item?.NoNCPDCompliantPercentage,\r\n nonCPDCompliant: item?.NonCPDCompliant,\r\n systemUsage: item?.SystemUsage,\r\n systemUsagePercentage: item?.SystemUsagePercentage,\r\n totalMembers: item?.TotalMembers,\r\n mainLoading: false,\r\n })\r\n );\r\n })\r\n\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n loadCpdData() {\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n axios\r\n .get(loadReport_Url, {\r\n method: 'GET',\r\n withCredentials: true,\r\n credentials: 'include',\r\n signal: this.controller.signal,\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n loadCpdReport: response?.data,\r\n mainLoading: false,\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n handleClickEye(id) {\r\n if (id === 'CPD0001') {\r\n this.props.history.push({\r\n pathname: '/individualuserreport',\r\n state: +this.state?.selectYear,\r\n });\r\n }\r\n if (id === 'CPD0002' || id === 'CPD0003') {\r\n this.props.history.push(`/compliantreport/${id}`);\r\n }\r\n if (id === 'CPD0004') {\r\n this.props.history.push(`/randomreport`);\r\n }\r\n if (id === 'CPD0005') {\r\n this.props.history.push({\r\n pathname: '/systemusagereport',\r\n state: +this.state?.selectYear,\r\n });\r\n }\r\n\r\n if (id === 'CPD0006' || id === 'CPD0007' || id === 'CPD0008') {\r\n this.props.history.push(`/recordedzerohour/${id}`);\r\n }\r\n if (id === 'CPD0009') {\r\n this.props.history.push({\r\n pathname: '/affiliatereport',\r\n state: +this.state?.selectYear,\r\n });\r\n }\r\n }\r\n\r\n getCpdYear() {\r\n axios\r\n .get(CpdYear_Url, {\r\n method: 'GET',\r\n withCredentials: true,\r\n credentials: 'include',\r\n signal: this.controller.signal,\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n cpdYear: response?.data,\r\n });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n componentWillUnmount() {\r\n this.controller.abort();\r\n }\r\n\r\n render() {\r\n let loadCpdReport;\r\n\r\n if (this.state.loadCpdReport !== null) {\r\n loadCpdReport = this.state.loadCpdReport.map((cpdReportItem, index) => {\r\n return (\r\n \r\n {cpdReportItem.ReportId}\r\n {cpdReportItem.ReportName}\r\n {cpdReportItem.ReportDescription}\r\n \r\n this.handleClickEye(cpdReportItem.ReportId)}\r\n className=\"button-custom\"\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n {this.state.mainLoading && }\r\n\r\n
    \r\n
    \r\n Year\r\n this.yearChangeHandler(e)}\r\n id=\"sel1\"\r\n >\r\n {this?.state?.cpdYear &&\r\n this?.state?.cpdYear.map((item, index) => {\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 {this.state?.cpdCompliantPercentage}% / {this.state?.cpdCompliant}\r\n
    \r\n \r\n {' '}\r\n
    \r\n
    \r\n
    \r\n
    \r\n CPD Compliant\r\n \r\n {this?.state?.selectYear}{' '}\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?.nonCPDCompliantPercentage}% /{' '}\r\n {this.state?.nonCPDCompliant}\r\n
    \r\n \r\n {' '}\r\n
    \r\n
    \r\n
    \r\n
    \r\n CPD Non Compliant\r\n \r\n {this?.state?.selectYear}{' '}\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?.eightPlusHrRecordedPercentage}% /{' '}\r\n {this.state?.eightPlusHrRecorded}\r\n
    \r\n \r\n {' '}\r\n
    \r\n
    \r\n
    \r\n
    \r\n 8hr+ Recorded\r\n \r\n {this?.state?.selectYear}{' '}\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?.systemUsagePercentage}% / {this.state?.systemUsage}\r\n
    \r\n \r\n {' '}\r\n
    \r\n
    \r\n
    \r\n
    \r\n System Usage\r\n \r\n {this?.state?.selectYear}{' '}\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?.fifteenMinutesToThreeHrPercentage}% /{' '}\r\n {this.state?.fifteenMinutesToThreeHrRecorded}\r\n
    \r\n \r\n {' '}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Recorded 15m-3hr\r\n \r\n {this?.state?.selectYear}{' '}\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?.systemUsagePercentage}% / {this.state?.systemUsage}\r\n
    \r\n \r\n {' '}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Recorded 4h-5hr\r\n \r\n {this?.state?.selectYear}{' '}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {this.state.mainLoading && }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loadCpdReport}\r\n
    Report IDReport NameReport DescriptionView
    \r\n {loadCpdReport.length > 0 ? '' : this.state.emptyDivMsg}\r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(withRouter(CpdReport));\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport 'react-table/react-table.css';\r\nimport Pagination from 'react-js-pagination';\r\nimport { LinearProgress } from 'react-md';\r\nimport { MenuItem, Dropdown } from 'react-bootstrap';\r\nimport '../../../node_modules/react-md/dist/react-md.indigo-blue.min.css';\r\nimport 'bootstrap-datepicker/js/bootstrap-datepicker.js';\r\nimport 'bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css';\r\nimport Loader from '../../_components/loader';\r\nimport 'react-notifications/lib/notifications.css';\r\nimport { AdminUrls } from '../../network/config';\r\nimport './style.css';\r\nimport { connect } from 'react-redux';\r\nimport { removeData } from '../../store/action';\r\nimport yesIcon from '../host/assets/yes-icon.png';\r\nimport noIcon from '../host/assets/no-icon.png';\r\nconst moment = require('moment');\r\n\r\nconst cpdCompliantReport_Url = AdminUrls.ADMIN.CPDCOMPLAIANCEREPORT;\r\nconst cpdDownloadExcel = AdminUrls.ADMIN.COMPLIANTEXCEL;\r\n\r\nclass CompliantReport extends React.Component {\r\n constructor() {\r\n super();\r\n\r\n this.handlePageChange = this.handlePageChange.bind(this);\r\n\r\n this.clearSearchFilters = this.clearSearchFilters.bind(this);\r\n\r\n this.downloadExcel = this.downloadExcel.bind(this);\r\n\r\n this.getCpdCompliantReport = this.getCpdCompliantReport.bind(this);\r\n this.searchData = this.searchData.bind(this);\r\n this.pageChange = this.pageChange.bind(this);\r\n\r\n this.state = {\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 0,\r\n unauthorized: false,\r\n cpdId: '',\r\n cpdBool: '',\r\n cpdMemberNum: '',\r\n cpdEmail: '',\r\n cpdUsername: '',\r\n cpdYear: '',\r\n loadCpdCompliant: [],\r\n mainLoading: false,\r\n emptyDivMsg: 'There is no data to show in the grid.',\r\n sort: {\r\n column: 'CompletionDate',\r\n direction: 'desc',\r\n },\r\n };\r\n this.controller = new AbortController();\r\n }\r\n\r\n downloadExcel(year) {\r\n var fileType = 'application/vnd.ms-excel';\r\n var name;\r\n this.setState({ mainLoading: true });\r\n axios(cpdDownloadExcel, {\r\n params: {\r\n reportId: this.state.cpdId,\r\n Year: year,\r\n },\r\n responseType: 'blob',\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n var blob = new Blob([response.data], { type: fileType });\r\n\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, name);\r\n } else {\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', 'CompliantReport.xlsx');\r\n document.body.appendChild(link);\r\n link.click();\r\n }\r\n })\r\n .then((data) => {\r\n this.setState({ mainLoading: false });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n handlePageChange(pageNumber) {\r\n this.setState({\r\n activePage: pageNumber,\r\n });\r\n this.getCpdCompliantReport(pageNumber);\r\n }\r\n\r\n pageChange(pageQty) {\r\n this.setState(\r\n {\r\n per_page: pageQty,\r\n },\r\n () => {\r\n this.getCpdCompliantReport(this.state.activePage, this?.state?.cpdBool);\r\n }\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n let id = this.props.match.params.reportid;\r\n\r\n if (id === 'CPD0002') {\r\n this.getCpdCompliantReport(1, true);\r\n this.setState({\r\n cpdBool: true,\r\n cpdId: this.props.match.params.reportid,\r\n });\r\n }\r\n if (id === 'CPD0003') {\r\n this.getCpdCompliantReport(1, false);\r\n this.setState({\r\n cpdBool: false,\r\n cpdId: this.props.match.params.reportid,\r\n });\r\n }\r\n }\r\n\r\n clearSearchFilters() {\r\n this.setState({\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 0,\r\n unauthorized: false,\r\n cpdEmail: '',\r\n cpdMemberNum: '',\r\n cpdUsername: '',\r\n cpdYear: '',\r\n });\r\n setTimeout(() => {\r\n this.getCpdCompliantReport(1, this.state.cpdBool);\r\n }, 1000);\r\n }\r\n\r\n getCpdCompliantReport(active, cpdBool, column, direction) {\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n let reverse = this.state.sort.direction;\r\n let sortBy = this.state.sort.column;\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n if (column) {\r\n sortBy = column;\r\n }\r\n\r\n if (direction) {\r\n reverse = direction;\r\n }\r\n reverse = reverse === 'asc' ? false : true;\r\n axios\r\n .get(cpdCompliantReport_Url, {\r\n params: {\r\n IsCPDCompliant: cpdBool,\r\n page: active,\r\n pageSize: this.state.per_page,\r\n reverse: reverse,\r\n sortBy: sortBy,\r\n },\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n loadCpdCompliant: response?.data?.Items,\r\n activePage: response?.data?.Page,\r\n totalCount: response?.data?.TotalCount,\r\n totalPages: response?.data?.TotalPages,\r\n mainLoading: false,\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n searchData() {\r\n let userNames = this.state.cpdUsername;\r\n let email = this.state.cpdEmail;\r\n let year = this.state.cpdYear;\r\n let pages = this.state.activePage;\r\n let memberNumbers = this.state.cpdMemberNum;\r\n\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n\r\n let obj = {\r\n IsCPDCompliant: this.state.cpdBool,\r\n page: pages,\r\n pageSize: this.state.per_page,\r\n };\r\n\r\n if (userNames) {\r\n obj.UserName = userNames;\r\n }\r\n\r\n if (email) {\r\n obj.Email = email;\r\n }\r\n if (year) {\r\n obj.Year = year;\r\n }\r\n if (memberNumbers) {\r\n obj.MemberNumber = memberNumbers;\r\n }\r\n\r\n axios\r\n .get(cpdCompliantReport_Url, {\r\n params: obj,\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n loadCpdCompliant: response?.data?.Items,\r\n activePage: response?.data?.Page,\r\n totalCount: response?.data?.TotalCount,\r\n totalPages: response?.data?.TotalPages,\r\n mainLoading: false,\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n onSort = (column) => (e) => {\r\n const direction = this.state.sort.column\r\n ? this.state.sort.direction === 'asc'\r\n ? 'desc'\r\n : 'asc'\r\n : 'desc';\r\n this.setState({\r\n sort: {\r\n column,\r\n direction,\r\n },\r\n });\r\n this.getCpdCompliantReport(\r\n this.state.activePage,\r\n this.state.cpdBool,\r\n column,\r\n direction\r\n );\r\n };\r\n\r\n setArrow = (column) => {\r\n let className = 'fa fa-sort';\r\n if (this.state.sort.column === column) {\r\n className += this.state.sort.direction === 'asc' ? '-asc' : '-desc';\r\n }\r\n return className;\r\n };\r\n\r\n componentWillUnmount() {\r\n this.controller.abort();\r\n }\r\n\r\n render() {\r\n let loadCpdCompliant;\r\n\r\n if (this.state?.loadCpdCompliant !== null) {\r\n loadCpdCompliant = this.state?.loadCpdCompliant?.map((item, index) => {\r\n return (\r\n \r\n {item?.MemberNumber}\r\n {item?.username}\r\n {item?.Email}\r\n \r\n {item?.IsCPDCompliant === true ? (\r\n \"yesIcon\"\r\n ) : (\r\n \"noIcon\"\r\n )}\r\n \r\n {item?.CPDYear}\r\n {item?.Duration}\r\n {item?.RemainingDuration}\r\n \r\n {item?.DeclaredDate\r\n ? moment(item?.DeclaredDate).format('ll')\r\n : 'na'}\r\n \r\n \r\n );\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n {this.state.mainLoading && }\r\n
    \r\n
    \r\n
    \r\n \r\n {' '}\r\n Search\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.setState({ cpdUsername: e.target.value })\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.setState({ cpdEmail: e.target.value })\r\n }\r\n id=\"email\"\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n this.setState({ cpdMemberNum: e.target.value })\r\n }\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n this.setState({\r\n cpdYear: e.target.value,\r\n })\r\n }\r\n id=\"sel1\"\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 Search\r\n \r\n \r\n {' '}\r\n Clear\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n window.print()}\r\n className=\"btn btn-danger btn-circle btn-lg \"\r\n >\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.downloadExcel('All');\r\n }}\r\n eventKey=\"4\"\r\n >\r\n All\r\n \r\n {\r\n this.downloadExcel(2022);\r\n }}\r\n eventKey=\"3\"\r\n >\r\n 2022\r\n \r\n {\r\n this.downloadExcel(2023);\r\n }}\r\n eventKey=\"4\"\r\n >\r\n 2023\r\n \r\n {\r\n this.downloadExcel(2024);\r\n }}\r\n eventKey=\"5\"\r\n >\r\n 2024\r\n \r\n {\r\n this.downloadExcel(2025);\r\n }}\r\n eventKey=\"6\"\r\n >\r\n 2025\r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Show{' '}\r\n this.pageChange(e.target.value)}\r\n >\r\n \r\n \r\n \r\n {' '}\r\n entries\r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.state.mainLoading && }\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 {loadCpdCompliant}\r\n
    \r\n Member Number{' '}\r\n \r\n \r\n User Name \r\n \r\n Email \r\n CPD Compliant\r\n Year \r\n \r\n Completed Hours \r\n \r\n Remaining Hours{' '}\r\n \r\n \r\n Declared Date{' '}\r\n \r\n
    \r\n {loadCpdCompliant?.length > 0 ? '' : this.state.emptyDivMsg}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\nconst mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CompliantReport);\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport 'react-table/react-table.css';\r\nimport Pagination from 'react-js-pagination';\r\nimport { LinearProgress } from 'react-md';\r\nimport { MenuItem, Dropdown } from 'react-bootstrap';\r\nimport '../../../node_modules/react-md/dist/react-md.indigo-blue.min.css';\r\nimport 'bootstrap-datepicker/js/bootstrap-datepicker.js';\r\nimport 'bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css';\r\nimport Loader from '../../_components/loader';\r\nimport 'react-notifications/lib/notifications.css';\r\nimport { AdminUrls } from '../../network/config';\r\nimport './style.css';\r\nimport { connect } from 'react-redux';\r\nimport { removeData } from '../../store/action';\r\nimport yesIcon from '../host/assets/yes-icon.png';\r\nimport noIcon from '../host/assets/no-icon.png';\r\n\r\nconst moment = require('moment');\r\n\r\nconst individualUserExcelDownload = AdminUrls.ADMIN.INDIVIDUALUSEREXCEL;\r\nconst cpdIndividual_Url = AdminUrls.ADMIN.CPDINDIVIDUALREPORT;\r\nconst cpdAttachDownload_Url = AdminUrls.ADMIN.REPORTDOWNLOAD;\r\nconst cpdLocked_Url = AdminUrls.ADMIN.UPDATELOCKEDSTATUS;\r\nconst LoadHost_Url = AdminUrls.COMMON.LOADHOST;\r\n\r\nclass CompliantReport extends React.Component {\r\n constructor() {\r\n super();\r\n\r\n this.handlePageChange = this.handlePageChange.bind(this);\r\n this.clearSearchFilters = this.clearSearchFilters.bind(this);\r\n this.downloadExcel = this.downloadExcel.bind(this);\r\n this.getCpdCompliantReport = this.getCpdCompliantReport.bind(this);\r\n this.searchData = this.searchData.bind(this);\r\n this.handleDownloadFile = this.handleDownloadFile.bind(this);\r\n this.cpdLockedHandler = this.cpdLockedHandler.bind(this);\r\n this.cpdUnLockedHandler = this.cpdUnLockedHandler.bind(this);\r\n this.editViewHandler = this.editViewHandler.bind(this);\r\n this.pageChange = this.pageChange.bind(this);\r\n\r\n this.state = {\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 0,\r\n unauthorized: false,\r\n cpdId: '',\r\n cpdBool: '',\r\n cpdMemberNum: '',\r\n cpdCourseName: '',\r\n cpdUsername: '',\r\n cpdYear: '',\r\n cpdHostName: '',\r\n loadCpdIndividual: [],\r\n loadHost: [],\r\n mainLoading: false,\r\n emptyDivMsg: 'There is no data to show in the grid.',\r\n sort: {\r\n column: 'WorkflowStamp',\r\n direction: 'desc',\r\n },\r\n yearCpd: '',\r\n };\r\n this.controller = new AbortController();\r\n }\r\n\r\n downloadExcel(year) {\r\n var fileType = 'application/vnd.ms-excel';\r\n var name;\r\n this.setState({ mainLoading: true });\r\n axios(individualUserExcelDownload, {\r\n params: {\r\n reportId: this.state.cpdId,\r\n Year: year,\r\n },\r\n responseType: 'blob',\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n name = 'individualuserReport.xlsx';\r\n var header = response.headers['content-disposition'];\r\n if (header) {\r\n name = header.split('=')[1].replace(/\\\"/gi, '');\r\n }\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n var blob = new Blob([response.data], { type: fileType });\r\n window.navigator.msSaveOrOpenBlob(blob, name);\r\n } else {\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n //link.setAttribute('download', 'individualuserreport.xlsx');\r\n link.setAttribute('download', name);\r\n document.body.appendChild(link);\r\n link.click();\r\n }\r\n })\r\n .then((data) => {\r\n this.setState({ mainLoading: false });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n handlePageChange(pageNumber) {\r\n this.setState({\r\n activePage: pageNumber,\r\n });\r\n this.getCpdCompliantReport(pageNumber, this?.state?.yearCpd);\r\n }\r\n\r\n pageChange(pageQty) {\r\n this.setState(\r\n {\r\n per_page: pageQty,\r\n },\r\n () => {\r\n this.getCpdCompliantReport(\r\n this?.state?.activePage,\r\n this?.state?.yearCpd\r\n );\r\n }\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n this.setState(\r\n {\r\n yearCpd: this.props.location?.state,\r\n },\r\n this.getLoadCpd()\r\n );\r\n }\r\n\r\n clearSearchFilters() {\r\n this.setState(\r\n {\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 0,\r\n unauthorized: false,\r\n cpdCourseName: '',\r\n cpdMemberNum: '',\r\n cpdUsername: '',\r\n cpdHostName: '',\r\n cpdYear: '',\r\n },\r\n () => {\r\n this.getCpdCompliantReport(1, this?.state?.yearCpd);\r\n }\r\n );\r\n }\r\n\r\n getCpdCompliantReport(active, year, column, direction) {\r\n let reverse = this.state.sort.direction;\r\n let sortBy = this.state.sort.column;\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n if (column) {\r\n sortBy = column;\r\n }\r\n\r\n if (direction) {\r\n reverse = direction;\r\n }\r\n reverse = reverse === 'asc' ? false : true;\r\n axios\r\n .get(cpdIndividual_Url, {\r\n params: {\r\n Year: year,\r\n page: active,\r\n pageSize: this.state.per_page,\r\n reverse: reverse,\r\n sortBy: sortBy,\r\n },\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n loadCpdIndividual: response?.data?.Items,\r\n activePage: response?.data?.Page,\r\n totalCount: response?.data?.TotalCount,\r\n totalPages: response?.data?.TotalPages,\r\n mainLoading: false,\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n searchData() {\r\n let userNames = this.state.cpdUsername;\r\n let CourseName = this.state.cpdCourseName;\r\n let year = this.state.cpdYear;\r\n let memberNumbers = this.state.cpdMemberNum;\r\n let host = this.state.cpdHostName;\r\n let pages = this.state.activePage;\r\n\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n\r\n let obj = {\r\n Year: new Date().getFullYear(),\r\n reverse: true,\r\n sortBy: 'WorkflowStamp',\r\n page: pages,\r\n pageSize: this.state.per_page,\r\n };\r\n\r\n if (userNames) {\r\n obj.UserName = userNames;\r\n }\r\n\r\n if (CourseName) {\r\n obj.CourseName = CourseName;\r\n }\r\n if (year) {\r\n obj.Year = year;\r\n }\r\n if (memberNumbers) {\r\n obj.MemberNumber = memberNumbers;\r\n }\r\n if (host) {\r\n obj.HostId = host;\r\n }\r\n\r\n axios\r\n .get(cpdIndividual_Url, {\r\n params: obj,\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n loadCpdIndividual: response?.data?.Items,\r\n activePage: response?.data?.Page,\r\n totalCount: response?.data?.TotalCount,\r\n totalPages: response?.data?.TotalPages,\r\n mainLoading: false,\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n getLoadCpd() {\r\n this.setState({ mainLoading: true });\r\n\r\n axios\r\n .get(LoadHost_Url, {\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.setState({\r\n loadHost: data,\r\n mainLoading: false,\r\n });\r\n\r\n this.getCpdCompliantReport(1, this?.state?.yearCpd);\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n handleDownloadFile(id) {\r\n let dup = [...this.state.loadCpdIndividual];\r\n let findData = dup.find((x) => x.CPDWorkflowId === id);\r\n axios\r\n .get(cpdAttachDownload_Url, {\r\n params: {\r\n name: findData?.AttachmentName,\r\n },\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n var blob = new Blob([response?.data]);\r\n\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, findData?.AttachmentName);\r\n } else {\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', findData?.AttachmentName);\r\n document.body.appendChild(link);\r\n link.click();\r\n }\r\n });\r\n }\r\n\r\n cpdLockedHandler(id) {\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n\r\n axios\r\n .get(cpdLocked_Url, {\r\n params: {\r\n workflowId: id,\r\n isLocked: true,\r\n },\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.setState({\r\n mainLoading: false,\r\n });\r\n\r\n this.getCpdCompliantReport(\r\n this.state.activePage,\r\n new Date().getFullYear()\r\n );\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n cpdUnLockedHandler(id) {\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n\r\n axios\r\n .get(cpdLocked_Url, {\r\n params: {\r\n workflowId: id,\r\n isLocked: false,\r\n },\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.setState({\r\n mainLoading: false,\r\n });\r\n\r\n this.getCpdCompliantReport(this.state.activePage, 2024);\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n editViewHandler(id, mode, item) {\r\n this.props.history.push({\r\n pathname: `myCpdRecord/${id}/${mode}`,\r\n state: item,\r\n });\r\n }\r\n\r\n onSort = (column) => (e) => {\r\n const direction = this.state.sort.column\r\n ? this.state.sort.direction === 'asc'\r\n ? 'desc'\r\n : 'asc'\r\n : 'desc';\r\n this.setState({\r\n sort: {\r\n column,\r\n direction,\r\n },\r\n });\r\n this.getCpdCompliantReport(\r\n this.state.activePage,\r\n this?.state?.yearCpd,\r\n column,\r\n direction\r\n );\r\n };\r\n\r\n setArrow = (column) => {\r\n let className = 'fa fa-sort';\r\n if (this.state.sort.column === column) {\r\n className += this.state.sort.direction === 'asc' ? '-asc' : '-desc';\r\n }\r\n return className;\r\n };\r\n\r\n componentWillUnmount() {\r\n this.controller.abort();\r\n }\r\n\r\n render() {\r\n let loadCpdIndividual;\r\n\r\n if (this.state?.loadCpdIndividual !== null) {\r\n loadCpdIndividual = this.state?.loadCpdIndividual?.map((item, index) => {\r\n return (\r\n \r\n {item?.MemberNumber}\r\n {item?.username}\r\n \r\n {item?.IsCPDCompliant === 'true' ? (\r\n \"yesIcon\"\r\n ) : (\r\n \"noIcon\"\r\n )}\r\n \r\n {item?.CPDYear}\r\n {item?.CPDTypeName}\r\n {item?.CourseName}\r\n {item?.Venue}\r\n {item?.Trainer}\r\n \r\n {item?.CompletionDate\r\n ? moment(item?.CompletionDate).format('ll')\r\n : 'na'}\r\n \r\n {item?.Hours}\r\n {item?.Minutes}\r\n \r\n {item?.FileName ? (\r\n this.handleDownloadFile(item?.CPDWorkflowId)}\r\n className=\"icon-individual\"\r\n data-toggle=\"tooltip\"\r\n title={item?.AttachmentName}\r\n >\r\n \r\n \r\n ) : null}\r\n \r\n \r\n {item?.IsLocked === false ? (\r\n <>\r\n \r\n this.editViewHandler(item?.CPDWorkflowId, 'edit', item)\r\n }\r\n >\r\n \r\n \r\n this.cpdLockedHandler(item?.CPDWorkflowId)}\r\n >\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n this.editViewHandler(item?.CPDWorkflowId, 'view', item)\r\n }\r\n >\r\n \r\n \r\n this.cpdUnLockedHandler(item?.CPDWorkflowId)}\r\n title=\"Unlock Cpd\"\r\n >\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n {this.state.mainLoading && }\r\n
    \r\n
    \r\n
    \r\n \r\n {' '}\r\n Search\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.setState({ cpdUsername: e.target.value })\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.setState({ cpdCourseName: e.target.value })\r\n }\r\n id=\"CourseName\"\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n this.setState({ cpdMemberNum: e.target.value })\r\n }\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n this.setState({\r\n cpdYear: e.target.value,\r\n })\r\n }\r\n id=\"sel1\"\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.setState({ cpdHostName: e.target.value })\r\n }\r\n value={this.state.cpdHostName}\r\n >\r\n \r\n {this?.state?.loadHost?.length &&\r\n this?.state?.loadHost?.map((item, index) => {\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 Search\r\n \r\n \r\n {' '}\r\n Clear\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n window.print()}\r\n className=\"btn btn-danger btn-circle btn-lg \"\r\n >\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.downloadExcel('All');\r\n }}\r\n eventKey=\"4\"\r\n >\r\n All\r\n \r\n {\r\n this.downloadExcel(2022);\r\n }}\r\n eventKey=\"3\"\r\n >\r\n 2022\r\n \r\n {\r\n this.downloadExcel(2023);\r\n }}\r\n eventKey=\"4\"\r\n >\r\n 2023\r\n \r\n {\r\n this.downloadExcel(2024);\r\n }}\r\n eventKey=\"5\"\r\n >\r\n 2024\r\n \r\n {\r\n this.downloadExcel(2025);\r\n }}\r\n eventKey=\"6\"\r\n >\r\n 2025\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Show{' '}\r\n this.pageChange(e.target.value)}\r\n >\r\n \r\n \r\n \r\n {' '}\r\n entries\r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.state.mainLoading && }\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 {loadCpdIndividual}\r\n
    \r\n Member Number{' '}\r\n \r\n \r\n User Name \r\n CPD Compliant \r\n Year \r\n \r\n CPDType \r\n \r\n Course \r\n \r\n Venue \r\n \r\n Trainer \r\n \r\n Completion Date{' '}\r\n \r\n \r\n Hours \r\n \r\n Minutes \r\n AttachmentView/Edit
    \r\n {loadCpdIndividual?.length > 0 ? '' : this.state.emptyDivMsg}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\nconst mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CompliantReport);\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport 'react-table/react-table.css';\r\nimport Pagination from 'react-js-pagination';\r\nimport { LinearProgress } from 'react-md';\r\nimport { MenuItem, Dropdown } from 'react-bootstrap';\r\nimport '../../../node_modules/react-md/dist/react-md.indigo-blue.min.css';\r\nimport 'bootstrap-datepicker/js/bootstrap-datepicker.js';\r\nimport 'bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css';\r\nimport Loader from '../../_components/loader';\r\nimport 'react-notifications/lib/notifications.css';\r\nimport { AdminUrls } from '../../network/config';\r\nimport './style.css';\r\nimport { connect } from 'react-redux';\r\nimport { removeData } from '../../store/action';\r\n\r\nconst systemUser_Url = AdminUrls.ADMIN.REPORTUSERLOGININFO;\r\nconst cpdDownloadExcel = AdminUrls.ADMIN.USERLOGININFOEXCEL;\r\n\r\nclass SystemUsageReport extends React.Component {\r\n constructor() {\r\n super();\r\n this.handlePageChange = this.handlePageChange.bind(this);\r\n this.clearSearchFilters = this.clearSearchFilters.bind(this);\r\n this.downloadExcel = this.downloadExcel.bind(this);\r\n this.getCpdCompliantReport = this.getCpdCompliantReport.bind(this);\r\n this.searchData = this.searchData.bind(this);\r\n this.pageChange = this.pageChange.bind(this);\r\n\r\n this.state = {\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 0,\r\n unauthorized: false,\r\n cpdId: '',\r\n cpdBool: '',\r\n cpdMemberNum: '',\r\n cpdEmail: '',\r\n cpdUsername: '',\r\n cpdYear: '',\r\n loadCpdCompliant: [],\r\n mainLoading: false,\r\n emptyDivMsg: 'There is no data to show in the grid.',\r\n sort: {\r\n column: 'MemberNumber',\r\n direction: 'desc',\r\n },\r\n yearCpd: '',\r\n };\r\n this.controller = new AbortController();\r\n }\r\n\r\n downloadExcel(year) {\r\n let date = new Date();\r\n let newDate = date.getTime();\r\n var fileType = 'application/vnd.ms-excel';\r\n var name;\r\n this.setState({ mainLoading: true });\r\n axios(cpdDownloadExcel, {\r\n params: {\r\n Year: year,\r\n },\r\n responseType: 'blob',\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n var blob = new Blob([response.data], { type: fileType });\r\n\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, name);\r\n } else {\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', `SystemUsageReport${newDate}.xlsx`);\r\n document.body.appendChild(link);\r\n link.click();\r\n }\r\n })\r\n .then((data) => {\r\n this.setState({ mainLoading: false });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n handlePageChange(pageNumber) {\r\n this.setState({\r\n activePage: pageNumber,\r\n });\r\n this.getCpdCompliantReport(pageNumber);\r\n }\r\n\r\n componentDidMount() {\r\n this.setState(\r\n {\r\n yearCpd: this.props.location.state,\r\n },\r\n () => {\r\n this.getCpdCompliantReport(1, this.props.location.state);\r\n }\r\n );\r\n }\r\n\r\n clearSearchFilters() {\r\n this.setState({\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 0,\r\n unauthorized: false,\r\n cpdMemberNum: '',\r\n cpdUsername: '',\r\n });\r\n setTimeout(() => {\r\n this.getCpdCompliantReport(1, this?.state?.yearCpd);\r\n }, 1000);\r\n }\r\n\r\n getCpdCompliantReport(active, year, column, direction) {\r\n let reverse = this.state.sort.direction;\r\n let sortBy = this.state.sort.column;\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n if (column) {\r\n sortBy = column;\r\n }\r\n\r\n if (direction) {\r\n reverse = direction;\r\n }\r\n reverse = reverse === 'asc' ? false : true;\r\n\r\n axios\r\n .get(systemUser_Url, {\r\n params: {\r\n Year: year,\r\n page: active,\r\n pageSize: this.state.per_page,\r\n reverse: reverse,\r\n sortBy: sortBy,\r\n },\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n loadCpdCompliant: response?.data?.Items,\r\n activePage: response?.data?.Page,\r\n totalCount: response?.data?.TotalCount,\r\n totalPages: response?.data?.TotalPages,\r\n mainLoading: false,\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n searchData() {\r\n let userNames = this.state.cpdUsername;\r\n\r\n let pages = this.state.activePage;\r\n let memberNumbers = this.state.cpdMemberNum;\r\n\r\n let obj = {\r\n page: pages,\r\n pageSize: this.state.per_page,\r\n reverse: false,\r\n };\r\n\r\n if (userNames) {\r\n obj.UserName = userNames;\r\n }\r\n\r\n if (memberNumbers) {\r\n obj.MemberNumber = memberNumbers;\r\n }\r\n\r\n axios\r\n .get(systemUser_Url, {\r\n params: obj,\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n loadCpdCompliant: response?.data?.Items,\r\n activePage: response?.data?.Page,\r\n totalCount: response?.data?.TotalCount,\r\n totalPages: response?.data?.TotalPages,\r\n mainLoading: false,\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n onSort = (column) => (e) => {\r\n const direction = this.state.sort.column\r\n ? this.state.sort.direction === 'asc'\r\n ? 'desc'\r\n : 'asc'\r\n : 'desc';\r\n this.setState({\r\n sort: {\r\n column,\r\n direction,\r\n },\r\n });\r\n this.getCpdCompliantReport(\r\n this.state.activePage,\r\n this?.state?.yearCpd,\r\n column,\r\n direction\r\n );\r\n };\r\n\r\n setArrow = (column) => {\r\n let className = 'fa fa-sort';\r\n if (this.state.sort.column === column) {\r\n className += this.state.sort.direction === 'asc' ? '-asc' : '-desc';\r\n }\r\n return className;\r\n };\r\n\r\n pageChange(pageQty) {\r\n this.setState(\r\n {\r\n per_page: pageQty,\r\n },\r\n () => {\r\n this.getCpdCompliantReport(this.state.activePage);\r\n }\r\n );\r\n }\r\n\r\n componentWillUnmount() {\r\n this.controller.abort();\r\n }\r\n\r\n render() {\r\n let loadCpdCompliant;\r\n\r\n if (this.state?.loadCpdCompliant !== null) {\r\n loadCpdCompliant = this.state?.loadCpdCompliant?.map((item, index) => {\r\n return (\r\n \r\n {item?.MemberNumber}\r\n {item?.username}\r\n {item?.Email}\r\n\r\n {item?.CountryName}\r\n {item?.DistrictSociety}\r\n \r\n {item?.LastLoginTime\r\n ? new Date(item?.LastLoginTime).toLocaleString()\r\n : 'na'}\r\n \r\n {item?.EmployerName ? item?.EmployerName : 'na'}\r\n {item?.ExternalId}\r\n \r\n );\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n {this.state.mainLoading && }\r\n
    \r\n
    \r\n
    \r\n \r\n {' '}\r\n Search\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.setState({ cpdUsername: e.target.value })\r\n }\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n this.setState({ cpdMemberNum: e.target.value })\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {' '}\r\n Search\r\n \r\n \r\n {' '}\r\n Clear\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n window.print()}\r\n className=\"btn btn-danger btn-circle btn-lg \"\r\n >\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.downloadExcel('All');\r\n }}\r\n eventKey=\"4\"\r\n >\r\n All\r\n \r\n {\r\n this.downloadExcel(2022);\r\n }}\r\n eventKey=\"3\"\r\n >\r\n 2022\r\n \r\n {\r\n this.downloadExcel(2023);\r\n }}\r\n eventKey=\"4\"\r\n >\r\n 2023\r\n \r\n {\r\n this.downloadExcel(2024);\r\n }}\r\n eventKey=\"5\"\r\n >\r\n 2024\r\n \r\n {\r\n this.downloadExcel(2025);\r\n }}\r\n eventKey=\"6\"\r\n >\r\n 2025\r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Show{' '}\r\n this.pageChange(e.target.value)}\r\n >\r\n \r\n \r\n \r\n {' '}\r\n entries\r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.state.mainLoading && }\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 {loadCpdCompliant}\r\n
    \r\n Member Number{' '}\r\n \r\n \r\n User Name \r\n \r\n Email \r\n \r\n CountryName \r\n \r\n DistrictSociety{' '}\r\n \r\n \r\n Last Login Time{' '}\r\n \r\n \r\n Employer \r\n \r\n ExternalId \r\n
    \r\n {loadCpdCompliant?.length > 0 ? '' : this.state.emptyDivMsg}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\nconst mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SystemUsageReport);\r\n","import React from \"react\";\r\nimport \"react-table/react-table.css\";\r\nimport axios from \"axios\";\r\nimport \"./style.css\";\r\nimport { NotificationManager } from \"react-notifications\";\r\nimport { removeData } from \"../../store/action\";\r\nimport { connect } from \"react-redux\";\r\nimport { AdminUrls } from \"../../network/config\";\r\n\r\nconst register_Url = AdminUrls.AUTH.REGISTER;\r\nconst getCpdHost = AdminUrls.ADMIN.GETUSERDETAILS;\r\nconst updateExternal_Url = AdminUrls.ADMIN.UPDATEEXTERNALUSER;\r\n\r\nclass RegisterForm extends React.Component {\r\n constructor() {\r\n super();\r\n this.accountRegisterHandler = this.accountRegisterHandler.bind(this);\r\n this.getLoadCpd = this.getLoadCpd.bind(this);\r\n this.accountEditHandler = this.accountEditHandler.bind(this);\r\n\r\n this.state = {\r\n loadHost: [],\r\n dupLoadHost: [],\r\n registerUsername: \"\",\r\n registerFirstName: \"\",\r\n registerSurname: \"\",\r\n registerPassword: \"\",\r\n registerConfirmPassword: \"\",\r\n registerEmail: \"\",\r\n registerRole: \"\",\r\n registerEmployerDetail: \"\",\r\n editsId: \"\",\r\n bool: false,\r\n };\r\n this.controller = new AbortController();\r\n }\r\n\r\n componentDidMount() {\r\n let editId = this.props.match.params.workFlowId;\r\n if (editId) {\r\n this.getLoadCpd(editId);\r\n this.setState({\r\n editsId: editId,\r\n });\r\n }\r\n }\r\n\r\n accountRegisterHandler() {\r\n if (!this.state.registerUsername) {\r\n return NotificationManager.error(\"Username should not be Empty!\");\r\n }\r\n if (!this.state.registerFirstName) {\r\n return NotificationManager.error(\"FirstName should not be Empty!\");\r\n }\r\n if (!this.state.registerSurname) {\r\n return NotificationManager.error(\"Surname should not be Empty!\");\r\n }\r\n if (!this.state.registerEmail) {\r\n return NotificationManager.error(\"Email should not be Empty!\");\r\n }\r\n if (!this.state.registerConfirmPassword) {\r\n return NotificationManager.error(\"Confirm Password should not be Empty!\");\r\n }\r\n if (!this.state.registerPassword) {\r\n return NotificationManager.error(\"Username should not be Empty!\");\r\n }\r\n if (!this.state.registerRole) {\r\n return NotificationManager.error(\"Role should not be Empty!\");\r\n }\r\n if (this.state.registerPassword !== this.state.registerConfirmPassword) {\r\n return NotificationManager.error(\"Confirm Password not matched!\");\r\n } else {\r\n let obj = {\r\n UserName: this.state.registerUsername,\r\n FirstName: this.state.registerFirstName,\r\n Surname: this.state.registerSurname,\r\n Email: this.state.registerEmail,\r\n ConfirmPassword: this.state.registerConfirmPassword,\r\n Password: this.state.registerPassword,\r\n RoleName: this.state.registerRole,\r\n EmployerId: \"\",\r\n EmployerName: \"\",\r\n UserId: \"\",\r\n };\r\n\r\n axios\r\n .post(register_Url, obj, {\r\n method: \"POST\",\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: \"include\",\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.props.history.push(\"/usermanagment\");\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n }\r\n\r\n getLoadCpd(editId) {\r\n this.setState({ mainLoading: true });\r\n\r\n axios\r\n .get(getCpdHost, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n credentials: \"include\",\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n let dup = [...data];\r\n\r\n let foundData = dup?.find((x) => x.UserId === editId);\r\n\r\n this.setState({\r\n registerUsername: foundData.UserName,\r\n registerFirstName: foundData.FirstName,\r\n registerSurname: foundData.Surname,\r\n registerEmail: foundData.Email,\r\n registerRole: foundData.Role,\r\n bool: true,\r\n });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n accountEditHandler() {\r\n let obj = {\r\n UserName: this.state.registerUsername,\r\n FirstName: this.state.registerFirstName,\r\n Surname: this.state.registerSurname,\r\n Email: this.state.registerEmail,\r\n RoleName: this.state.registerRole,\r\n EmployerId: \"\",\r\n EmployerName: \"\",\r\n UserId: this.state.editsId,\r\n };\r\n\r\n axios\r\n .post(updateExternal_Url, obj, {\r\n method: \"POST\",\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: \"include\",\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.props.history.push(\"/usermanagment\");\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n componentWillUnmount() {\r\n this.controller.abort();\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Admin Section\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n /^\\S*$/.test(e.target.value) &&\r\n this.setState({ registerUsername: e.target.value })\r\n }\r\n value={this.state.registerUsername}\r\n type=\"text\"\r\n placeholder=\"Enter Username\"\r\n className=\"form-control\"\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.setState({ registerFirstName: e.target.value })\r\n }\r\n value={this.state.registerFirstName}\r\n type=\"text\"\r\n placeholder=\"Enter First Name\"\r\n className=\"form-control\"\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.setState({ registerSurname: e.target.value })\r\n }\r\n value={this.state.registerSurname}\r\n type=\"text\"\r\n placeholder=\"Enter Surname\"\r\n className=\"form-control\"\r\n />\r\n
    \r\n
    \r\n {this.state.bool === false ? (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.setState({\r\n registerPassword: e.target.value,\r\n })\r\n }\r\n value={this.state.registerPassword}\r\n type=\"password\"\r\n placeholder=\"Enter Password\"\r\n className=\"form-control\"\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.setState({\r\n registerConfirmPassword: e.target.value,\r\n })\r\n }\r\n value={this.state.registerConfirmPassword}\r\n type=\"password\"\r\n placeholder=\"Enter Confirm Password\"\r\n className=\"form-control\"\r\n />\r\n
    \r\n
    \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.setState({ registerEmail: e.target.value })\r\n }\r\n value={this.state.registerEmail}\r\n type=\"email\"\r\n placeholder=\"Enter Email\"\r\n className=\"form-control\"\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.setState({ registerRole: e.target.value })\r\n }\r\n value={this.state.registerRole}\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.setState({\r\n registerEmployerDetail: e.target.value,\r\n })\r\n }\r\n value={this.state.registerEmployerDetail}\r\n type=\"Employer Detail\"\r\n placeholder=\"Enter Employer Detail\"\r\n className=\"form-control\"\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n {this.state.bool === false ? (\r\n \r\n Submit\r\n \r\n ) : (\r\n \r\n Submit\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 mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(RegisterForm);\r\n","import React from 'react';\r\nimport 'react-table/react-table.css';\r\nimport { Redirect } from 'react-router-dom';\r\nimport $ from 'jquery';\r\nimport axios from 'axios';\r\nimport { NotificationManager } from 'react-notifications';\r\nimport 'bootstrap-datepicker/js/bootstrap-datepicker.js';\r\nimport 'bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css';\r\nimport { AdminUrls } from '../../network/config';\r\nimport { removeData } from '../../store/action';\r\nimport { connect } from 'react-redux';\r\nimport Select from 'react-select';\r\n\r\nconst moment = require('moment');\r\n\r\nconst MAX_DATE = new Date();\r\nlet default_date_completed = '';\r\n\r\nconst getCourse_Url = AdminUrls.COMMON.GETCOURSESBYCPDTYPE;\r\nconst updateMember_Url = AdminUrls.USER.WORKFLOWUPDATE;\r\nconst addMember_Url = AdminUrls.USER.WORKFLOWADD;\r\nconst fileUpload_Url = AdminUrls.USER.FILEUPLOAD;\r\n\r\n//On view load: Call member info, types, formats, hosts, locations api. Fill data for first step automatically\r\nclass FormCPD extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n const {\r\n match: { params },\r\n } = this.props;\r\n\r\n this.state = {\r\n mode: params.mode,\r\n workFlowId: params.workFlowId,\r\n currentStep: 1,\r\n host_list: [],\r\n member_info: [],\r\n types: [],\r\n formats: [],\r\n locations: [],\r\n courses: [],\r\n uid: '',\r\n cpd_type_id: 1,\r\n MemberId: null,\r\n course_company: '',\r\n course_format: 'Online',\r\n course_id: '',\r\n course_name: '',\r\n course_detail: [],\r\n course_description: '',\r\n venue: '',\r\n cpd_hours: '',\r\n cpd_mins: 0,\r\n cpd_year: new Date().getFullYear(),\r\n date_completed: null,\r\n start_date_iso: '',\r\n file_upload: null,\r\n file_name: null,\r\n host_id: '',\r\n trainer: '',\r\n location_id: '',\r\n is_declared: false,\r\n third_tab_active: false,\r\n unauthorized: false,\r\n redirectDashboard: false,\r\n member_id: '',\r\n };\r\n this.controller = new AbortController();\r\n this.handlePrevStep = this.handlePrevStep.bind(this);\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.handleNextStep = this.handleNextStep.bind(this);\r\n this.handleSaveRecord = this.handleSaveRecord.bind(this);\r\n this.fetchMemberInfo = this.fetchMemberInfo.bind(this);\r\n this.fetchTypes = this.fetchTypes.bind(this);\r\n this.fetchFormats = this.fetchFormats.bind(this);\r\n this.fetchHosts = this.fetchHosts.bind(this);\r\n this.fetchLocations = this.fetchLocations.bind(this);\r\n this.fetchCourses = this.fetchCourses.bind(this);\r\n this.fetchCourseDetail = this.fetchCourseDetail.bind(this);\r\n this.handleFileUpload = this.handleFileUpload.bind(this);\r\n this.fetchCPDRecord = this.fetchCPDRecord.bind(this);\r\n this.makeThirdTabActive = this.makeThirdTabActive.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n $('.datepicker').datepicker({\r\n autoclose: true,\r\n todayHighlight: true,\r\n maxDate: new Date(),\r\n });\r\n\r\n let dataMember = this.props.location.state;\r\n let id_u = this.props.match?.params?.workFlowId;\r\n\r\n if (this.state.mode === 'edit' || this.state.mode === 'view') {\r\n if (dataMember) {\r\n this.setState(\r\n {\r\n member_id: this.props?.location?.state?.UserId,\r\n workFlowId: dataMember?.CPDWorkflowId,\r\n course_format: dataMember?.CPDFormatId,\r\n course_company: dataMember?.Company,\r\n uid: dataMember?.UserId,\r\n cpd_type_id: dataMember?.CPDTypeId,\r\n course_description: dataMember?.CourseDescription,\r\n venue: dataMember?.Venue,\r\n cpd_hours: dataMember?.Hours,\r\n cpd_mins: dataMember?.Minutes,\r\n cpd_year: dataMember?.CPDYear,\r\n file_name: dataMember?.FileName,\r\n host_id: dataMember?.HostId,\r\n trainer: dataMember?.Trainer,\r\n location_id: dataMember?.LocationId,\r\n course_id: dataMember?.CourseId,\r\n course_name: dataMember?.CourseName,\r\n start_date_iso: dataMember?.CompletionDate,\r\n is_declared: dataMember?.IsDeclared,\r\n date_completed: dataMember?.CompletionDate.split('T')[0],\r\n },\r\n () => {\r\n this.makeThirdTabActive();\r\n this.fetchTypes();\r\n this.fetchFormats();\r\n this.fetchHosts();\r\n this.fetchLocations();\r\n this.fetchCourses();\r\n this.fetchMemberInfo(dataMember?.UserId);\r\n // this.fetchCPDRecord();\r\n }\r\n );\r\n }\r\n }\r\n if (this.state.mode === 'add') {\r\n this.setState({\r\n member_id: this.props?.location?.state?.UserId,\r\n UserId: this?.props?.location?.state?.Id,\r\n });\r\n this.fetchMemberInfo(id_u);\r\n this.fetchTypes();\r\n this.fetchFormats();\r\n this.fetchHosts();\r\n this.fetchLocations();\r\n this.fetchCourses();\r\n }\r\n }\r\n fetchTypes() {\r\n let self = this;\r\n axios\r\n .get(AdminUrls.USER.CPDTYPE, {\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n if (data) {\r\n self.setState({ types: data });\r\n }\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n fetchMemberInfo(memberId) {\r\n let self = this;\r\n axios\r\n .get(AdminUrls.USER.GETMEMBERINFO, {\r\n params: {\r\n memID: memberId,\r\n },\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n if (data) {\r\n self.setState({\r\n member_info: data,\r\n MemberId: data.MemberId,\r\n });\r\n }\r\n })\r\n .catch(function (error) {\r\n if (error) {\r\n if (error.response) {\r\n if (error.response.status === 401) {\r\n self.setState({\r\n unauthorized: true,\r\n });\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n fetchFormats() {\r\n let self = this;\r\n axios\r\n .get(AdminUrls.COMMON.CPDFORMAT, {\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n if (data) {\r\n self.setState({ formats: data });\r\n }\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n fetchHosts() {\r\n let self = this;\r\n // Hosts List\r\n axios\r\n .get(AdminUrls.COMMON.LOADHOST, {\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n if (data) {\r\n self.setState({ host_list: data });\r\n }\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n fetchLocations() {\r\n let self = this;\r\n axios\r\n .get(AdminUrls.COMMON.COURSELOCATION, {\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n if (data) {\r\n self.setState({ locations: data });\r\n }\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n fetchCourses(TypeId, checkStates) {\r\n let self = this;\r\n let cpd_type_id = this.state.cpd_type_id;\r\n if (TypeId) {\r\n cpd_type_id = TypeId;\r\n }\r\n\r\n if (checkStates !== 'edit' && TypeId != null) {\r\n this.setState({\r\n cpd_type_id: TypeId,\r\n course_format: 'Online',\r\n course_id: '',\r\n course_name: '',\r\n course_description: '',\r\n venue: '',\r\n cpd_hours: '',\r\n cpd_mins: 0,\r\n cpd_year: new Date().getFullYear(),\r\n date_completed: '',\r\n start_date_iso: '',\r\n file_upload: null,\r\n file_name: null,\r\n host_id: '',\r\n trainer: '',\r\n location_id: '',\r\n courses_option: [],\r\n selectedOptionCourses: null,\r\n });\r\n }\r\n\r\n axios\r\n .get(getCourse_Url, {\r\n params: {\r\n CPDTypeId: cpd_type_id,\r\n },\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n if (data.Items) {\r\n let courses_option = [];\r\n data.Items.map((item, key) =>\r\n courses_option.push({\r\n key: item.CourseId,\r\n value: item.CourseName,\r\n text: item.CourseName,\r\n // value: item.CourseId,\r\n label: item.CourseName,\r\n })\r\n );\r\n self.setState({\r\n courses: data.Items,\r\n courses_option: courses_option,\r\n selectedOptionCourses: {\r\n label: this.state.course_name,\r\n value: this.state.course_id,\r\n },\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n fetchCourseDetail(CourseId) {\r\n let self = this;\r\n let course_id = this.state.course_id;\r\n if (CourseId) {\r\n course_id = CourseId;\r\n }\r\n\r\n axios\r\n .get(AdminUrls.COMMON.GETCOURSEBYID, {\r\n params: {\r\n CourseId: course_id,\r\n },\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n if (data) {\r\n self.setState({\r\n course_detail: data,\r\n course_id: CourseId,\r\n course_name: data?.CourseName,\r\n course_format: data?.CPDFormatId,\r\n course_description: data?.CourseDescription,\r\n venue: data?.Venue,\r\n cpd_hours: data?.DurationHours,\r\n cpd_mins: data?.Minutes !== null ? data.Minutes : 0,\r\n cpd_year:\r\n data?.CPDYear !== null ? data.CPDYear : new Date().getFullYear(),\r\n trainer: data?.Trainer,\r\n host_id: data?.HostId,\r\n location_id: data?.LocationId,\r\n file_upload: null,\r\n file_name: null,\r\n course_company: data?.HostName,\r\n });\r\n\r\n this.makeThirdTabActive();\r\n }\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n handlePrevStep() {\r\n this.setState({\r\n currentStep: this.state.currentStep - 1,\r\n });\r\n }\r\n\r\n handleNextStep() {\r\n this.setState({\r\n currentStep: this.state.currentStep + 1,\r\n });\r\n }\r\n\r\n makeThirdTabActive() {\r\n if (this.state.cpd_type_id === '4') {\r\n if (\r\n this.state.cpd_type_id !== '' &&\r\n this.state.course_name !== '' &&\r\n this.state.course_format !== '' &&\r\n this.state.course_description !== '' &&\r\n this.state.venue !== '' &&\r\n this.state.cpd_hours !== '' &&\r\n this.state.file_name !== null &&\r\n this.state.date_completed !== ''\r\n ) {\r\n this.setState({\r\n third_tab_active: true,\r\n });\r\n } else {\r\n this.setState({\r\n third_tab_active: false,\r\n });\r\n }\r\n } else {\r\n if (\r\n this.state.cpd_type_id !== '' &&\r\n this.state.course_id !== '' &&\r\n this.state.course_description !== '' &&\r\n this.state.venue !== '' &&\r\n this.state.cpd_hours !== '' &&\r\n this.state.file_name !== null &&\r\n this.state.date_completed !== ''\r\n ) {\r\n this.setState({\r\n third_tab_active: true,\r\n });\r\n } else {\r\n this.setState({\r\n third_tab_active: false,\r\n });\r\n }\r\n }\r\n }\r\n\r\n handleSaveRecord() {\r\n if (this.state.mode === 'edit') {\r\n axios\r\n .post(\r\n updateMember_Url,\r\n {\r\n CPDFormatId: this.state.course_format,\r\n CPDTypeId: this.state.cpd_type_id,\r\n CPDWorkflowId: this.state.workFlowId,\r\n CPDYear: this.state.cpd_year,\r\n Company: this.state.course_company,\r\n CompletionDate: this.state.start_date_iso,\r\n CourseId: this.state.course_id,\r\n CourseMode: 1,\r\n CourseName: this.state.course_name,\r\n Description: this.state.course_description,\r\n FileName: this.state.file_name,\r\n HostId: this.state.host_id,\r\n HostName: this.state.course_company,\r\n Hours: +this.state.cpd_hours,\r\n IsDeclared: this.state.is_declared,\r\n LocationId: this.state.location_id,\r\n MemberId: this.state.MemberId,\r\n Minutes: this.state.cpd_mins,\r\n Trainer: this.state.trainer,\r\n Venue: this.state.venue,\r\n },\r\n {\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n }\r\n )\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.handleFileUpload(data);\r\n let obj = {\r\n Id: this.state.MemberId,\r\n uid: this.state.UserId ?? this.state.member_id,\r\n };\r\n this.props.history.push({\r\n pathname: `/my_cpd_report/${obj?.Id}/${obj?.uid}`,\r\n state: obj,\r\n });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n } else {\r\n if (window.confirm('Are you sure you want to save?')) {\r\n var cpdyear = new Date().getFullYear();\r\n if (this.state.cpd_year) {\r\n cpdyear = this.state.cpd_year;\r\n }\r\n axios\r\n .post(\r\n addMember_Url,\r\n {\r\n CPDFormatId: +this.state.course_format,\r\n CPDTypeId: +this.state.cpd_type_id,\r\n CPDWorkflowId: 0,\r\n CPDYear: +cpdyear,\r\n Company: this.state.course_company,\r\n CompletionDate: this.state.start_date_iso,\r\n CourseId: +this.state.course_id,\r\n CourseMode: '',\r\n CourseName: this?.state?.course_name,\r\n Description: this.state.course_description,\r\n FileName: this.state.file_name,\r\n HostId: +this.state.host_id,\r\n HostName: this.state.course_company,\r\n Hours: +this.state.cpd_hours,\r\n IsDeclared: this.state.is_declared,\r\n LocationId: +this.state.location_id,\r\n MemberId: this.state.MemberId,\r\n Minutes: this.state.cpd_mins,\r\n Trainer: this.state.trainer,\r\n Venue: this.state.venue,\r\n },\r\n {\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` +\r\n this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n }\r\n )\r\n .then((response) => response?.data)\r\n .then((data) => {\r\n this.handleFileUpload(data);\r\n let obj = {\r\n Id: this.state.MemberId,\r\n uid: this.state.member_id,\r\n };\r\n this.props.history.push({\r\n pathname: `/my_cpd_report/${obj?.Id}/${\r\n obj?.uid ?? this.state.workFlowId\r\n }`, // need to review this\r\n state: obj,\r\n });\r\n })\r\n .catch((error) => {\r\n NotificationManager.error(error.response?.data);\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n }\r\n\r\n // this.props.history.push(\"/home\");\r\n }\r\n\r\n handleFileUpload(record) {\r\n let blobFile = this.state.file_upload;\r\n let formData = new FormData();\r\n formData.append('file', blobFile);\r\n\r\n axios\r\n .post(fileUpload_Url, formData, {\r\n processData: false,\r\n contentType: false,\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n\r\n workflowreqid: record.CPDWorkflowId,\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n NotificationManager.success(\r\n 'Success!',\r\n 'MyCPD Record Created Successfully'\r\n );\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n handleCourseNameChange(selectedOption) {\r\n this.setState({ selectedOption }, () =>\r\n console.log(`Option selected:`, this.state.selectedOption)\r\n );\r\n }\r\n\r\n handleChangeDropdown = (e) => {\r\n this.setState({\r\n course_name: e.label,\r\n course_id: e.key,\r\n selectedOptionCourses: e,\r\n });\r\n this.fetchCourseDetail(e.key);\r\n };\r\n\r\n handleInputChange(event, field_name) {\r\n if (field_name === 'date_completed') {\r\n let newValue = new Date(event?.target?.value).toISOString();\r\n default_date_completed = '';\r\n\r\n // var mydate = moment(newValue, \"DD/MM/YYYY\");\r\n // let newDate = new Date(moment(mydate).format(\"MM/DD/YYYY\"));\r\n // newValue = newDate.toISOString();\r\n\r\n this.setState({\r\n start_date_iso: newValue,\r\n date_completed: event?.target?.value,\r\n });\r\n } else {\r\n var value = '';\r\n var name = '';\r\n const target = event.target;\r\n if (target && target.value) {\r\n value = target.value;\r\n }\r\n if (target && target.name) {\r\n name = target.name;\r\n }\r\n\r\n if (name === 'file_upload') {\r\n if (event.target.files.length > 0) {\r\n this.setState({\r\n [name]: event.target.files[0],\r\n file_name: event.target.files[0].name,\r\n });\r\n }\r\n } else if (name === 'is_declared') {\r\n this.setState({\r\n is_declared: target.checked,\r\n });\r\n } else {\r\n this.setState({\r\n [name]: value,\r\n });\r\n }\r\n\r\n if (name === 'cpd_type_id') {\r\n this.fetchCourses(value);\r\n }\r\n\r\n if (name === 'course_id') {\r\n this.fetchCourseDetail(value);\r\n }\r\n }\r\n\r\n setTimeout(() => {\r\n this.makeThirdTabActive();\r\n }, 500);\r\n }\r\n\r\n fetchCPDRecord() {\r\n let self = this;\r\n\r\n axios\r\n .get(AdminUrls.USER.MEMBERCPD, {\r\n params: {\r\n page: 1,\r\n pageSize: 10,\r\n reverse: true,\r\n sortBy: 'CPDWorkflowId',\r\n limit: this.state.workFlowId,\r\n },\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n if (data.Items) {\r\n data.Items.forEach((element) => {\r\n default_date_completed = moment(element.CompletionDate)\r\n .format('DD/MM/YYYY')\r\n .toString();\r\n if (element.CPDWorkflowId === self.state.workFlowId) {\r\n self.setState({\r\n cpd_type_id: element.CPDTypeId,\r\n course_format: element.CPDFormatId,\r\n course_id: element.CourseId,\r\n course_name: element.CourseName,\r\n course_description: element.CourseDescription,\r\n venue: element.Venue,\r\n cpd_hours: element.Hours,\r\n cpd_mins: element.Minutes ? element.Minutes : 0,\r\n cpd_year: element.CPDYear ? element.CPDYear : 2025,\r\n date_completed: element.CompletionDate,\r\n start_date_iso: element.CompletionDate,\r\n file_name: element.FileName,\r\n host_id: element.HostId,\r\n trainer: element.Trainer,\r\n location_id: element.LocationId,\r\n is_declared: element.IsDeclared,\r\n });\r\n this.fetchCourses(element.CPDTypeId, 'edit');\r\n setTimeout(() => {\r\n this.makeThirdTabActive();\r\n }, 500);\r\n }\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n componentWillUnmount() {\r\n this.controller.abort();\r\n }\r\n\r\n render() {\r\n if (this.state.unauthorized) {\r\n return ;\r\n }\r\n\r\n if (this.state.redirectDashboard) {\r\n return ;\r\n }\r\n\r\n let ListItemOne,\r\n ListItemTwo,\r\n ListItemThree,\r\n currentActiveClass,\r\n nextTabClass,\r\n prevTabClass;\r\n currentActiveClass = 'current';\r\n prevTabClass = 'done';\r\n nextTabClass = 'default';\r\n\r\n if (this.state.mode === 'edit') {\r\n currentActiveClass = 'editing';\r\n nextTabClass = 'done';\r\n }\r\n\r\n if (this.state.currentStep === 1) {\r\n ListItemOne = (\r\n
  • \r\n Submitter Details\r\n
  • \r\n );\r\n ListItemTwo = (\r\n
  • \r\n Confirm CPD Activity Details\r\n
  • \r\n );\r\n ListItemThree = (\r\n
  • \r\n CPD Details\r\n
  • \r\n );\r\n } else if (this.state.currentStep === 2) {\r\n ListItemOne = (\r\n
  • \r\n this.setState({ currentStep: 1 })} href=\"#\">\r\n Submitter Details\r\n \r\n
  • \r\n );\r\n ListItemTwo = (\r\n
  • \r\n Confirm CPD Activity Details\r\n
  • \r\n );\r\n ListItemThree = (\r\n
  • \r\n CPD Details\r\n
  • \r\n );\r\n } else if (this.state.currentStep === 3) {\r\n ListItemOne = (\r\n
  • \r\n this.setState({ currentStep: 1 })} href=\"#\">\r\n Submitter Details\r\n \r\n
  • \r\n );\r\n ListItemTwo = (\r\n
  • \r\n this.setState({ currentStep: 2 })} href=\"#\">\r\n Confirm CPD Activity Details\r\n \r\n
  • \r\n );\r\n ListItemThree = (\r\n
  • \r\n CPD Details\r\n
  • \r\n );\r\n }\r\n\r\n return (\r\n
    \r\n {this?.state?.mode === 'edit' || this?.state?.mode === 'add' ? (\r\n
    \r\n
      \r\n {ListItemOne}\r\n {ListItemTwo}\r\n {ListItemThree}\r\n
    \r\n
    \r\n \r\n
    \r\n
    Submitter Details
    \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 Membership Number\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 Next step \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n Confirm CPD Activity Details\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n CPD Type\r\n \r\n \r\n \r\n {this.state.types.map((item, key) => (\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {this.state.cpd_type_id !== '4' ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {this.state.formats.map((item, key) => (\r\n \r\n {item.Name}\r\n \r\n ))}\r\n \r\n
    \r\n\r\n
    \r\n \r\n Description\r\n \r\n \r\n \r\n \r\n Please include a full course\r\n description/outline/agenda. Submission will be\r\n rejected if not enough detail to approve is\r\n provided.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Venue\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n CPD Hours\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 this.handleInputChange(value, 'date_completed');\r\n }}\r\n value={this.state.date_completed}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n {this.state.file_name && this.state.file_name}\r\n \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n \r\n Previous step\r\n \r\n \r\n Next step \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
    CPD Details
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {this.state.host_list.map((item, key) => (\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.locations.map((item, key) => (\r\n \r\n ))}\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n I declare this CPD is relevant to my role and in\r\n accordance with the ATI CPD Guidelines and Rules.\r\n \r\n
    \r\n\r\n
    \r\n \r\n Previous step\r\n \r\n \r\n Save{' '}\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 {ListItemOne}\r\n {ListItemTwo}\r\n {ListItemThree}\r\n
    \r\n
    \r\n \r\n
    \r\n
    Submitter Details
    \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 Membership Number\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 Next step \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n Confirm CPD Activity Details\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n CPD Type\r\n \r\n \r\n \r\n {this.state.types.map((item, key) => (\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {this.state.cpd_type_id !== '4' ? (\r\n \r\n \r\n {this.state.courses.map((item, key) => (\r\n \r\n {item.CourseName}\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.formats.map((item, key) => (\r\n \r\n {item.Name}\r\n \r\n ))}\r\n \r\n
    \r\n\r\n
    \r\n \r\n Description\r\n \r\n \r\n \r\n \r\n Please include a full course\r\n description/outline/agenda. Submission will be\r\n rejected if not enough detail to approve is\r\n provided.\r\n \r\n \r\n
    \r\n
    \r\n \r\n Venue\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n CPD Hours\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 this.handleInputChange(value, 'date_completed');\r\n }}\r\n value={this.state?.date_completed}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n {this.state.file_name\r\n ? this.state.file_name\r\n : 'Choose a file please'}\r\n {/* */}\r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n \r\n Previous step\r\n \r\n \r\n Next step \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
    CPD Details
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {this.state.host_list.map((item, key) => (\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.locations.map((item, key) => (\r\n \r\n ))}\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n I declare this CPD is relevant to my role and in\r\n accordance with the ATI CPD Guidelines and Rules.\r\n \r\n
    \r\n\r\n
    \r\n \r\n Previous step\r\n \r\n \r\n Save{' '}\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 mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(FormCPD);\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport 'react-table/react-table.css';\r\nimport Pagination from 'react-js-pagination';\r\nimport { LinearProgress } from 'react-md';\r\nimport { MenuItem, Dropdown } from 'react-bootstrap';\r\nimport '../../../node_modules/react-md/dist/react-md.indigo-blue.min.css';\r\nimport 'bootstrap-datepicker/js/bootstrap-datepicker.js';\r\nimport 'bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css';\r\nimport Loader from '../../_components/loader';\r\nimport 'react-notifications/lib/notifications.css';\r\nimport { AdminUrls } from '../../network/config';\r\nimport './style.css';\r\nimport { connect } from 'react-redux';\r\nimport { removeData } from '../../store/action';\r\nconst moment = require('moment');\r\nconst recordZero_Url = AdminUrls.ADMIN.RECORDEDZEROHOUR;\r\nconst cpdDownloadExcel = AdminUrls.ADMIN.RECORDEDZEROHOUREXCEL;\r\n\r\nclass RecordedZeroHour extends React.Component {\r\n constructor() {\r\n super();\r\n this.handlePageChange = this.handlePageChange.bind(this);\r\n this.clearSearchFilters = this.clearSearchFilters.bind(this);\r\n this.downloadExcel = this.downloadExcel.bind(this);\r\n this.getCpdRecordZero = this.getCpdRecordZero.bind(this);\r\n this.searchData = this.searchData.bind(this);\r\n this.pageChange = this.pageChange.bind(this);\r\n\r\n this.state = {\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 0,\r\n unauthorized: false,\r\n cpdId: '',\r\n cpdBool: '',\r\n cpdMemberNum: '',\r\n cpdEmail: '',\r\n cpdUsername: '',\r\n cpdYear: '',\r\n loadZeroRecord: [],\r\n mainLoading: false,\r\n emptyDivMsg: 'There is no data to show in the grid.',\r\n sort: {\r\n column: 'MemberNumber',\r\n direction: 'desc',\r\n },\r\n yearCpd: '',\r\n queryType: '',\r\n selectYear: '',\r\n };\r\n this.controller = new AbortController();\r\n }\r\n pageChange(pageQty) {\r\n this.setState({\r\n per_page: pageQty,\r\n });\r\n setTimeout(() => {\r\n this.getCpdRecordZero(this.state.activePage, this.state.queryType);\r\n }, 1000);\r\n }\r\n\r\n downloadExcel(year) {\r\n let dat = new Date();\r\n let newd = dat.getTime();\r\n\r\n var fileType = 'application/vnd.ms-excel';\r\n var name;\r\n this.setState({ mainLoading: true });\r\n axios(cpdDownloadExcel, {\r\n params: {\r\n reportId: this?.state?.cpdId,\r\n year: year,\r\n },\r\n responseType: 'blob',\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n var blob = new Blob([response.data], { type: fileType });\r\n\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, name);\r\n } else {\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', `NotEngagedReport2021${newd}.xlsx`);\r\n document.body.appendChild(link);\r\n link.click();\r\n }\r\n })\r\n .then((data) => {\r\n this.setState({ mainLoading: false });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n handlePageChange(pageNumber) {\r\n this.setState({\r\n activePage: pageNumber,\r\n });\r\n this.getCpdRecordZero(pageNumber, this.state.queryType);\r\n }\r\n\r\n componentDidMount() {\r\n let id = this.props.match.params.recordId;\r\n if (id === 'CPD0006') {\r\n this.setState(\r\n {\r\n queryType: 1,\r\n cpdId: id,\r\n },\r\n this.getCpdRecordZero(1, 1)\r\n );\r\n }\r\n if (id === 'CPD0007' || id === 'CPD0008') {\r\n this.setState(\r\n {\r\n queryType: 2,\r\n cpdId: id,\r\n },\r\n this.getCpdRecordZero(1, 2)\r\n );\r\n }\r\n }\r\n\r\n clearSearchFilters() {\r\n this.setState(\r\n {\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 0,\r\n unauthorized: false,\r\n cpdMemberNum: '',\r\n selectYear: '',\r\n },\r\n () => {\r\n this.getCpdRecordZero(1, this.state.queryType);\r\n }\r\n );\r\n }\r\n\r\n getCpdRecordZero(active, query, column, direction) {\r\n let reverse = this.state.sort.direction;\r\n let sortBy = this.state.sort.column;\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n if (column) {\r\n sortBy = column;\r\n }\r\n\r\n if (direction) {\r\n reverse = direction;\r\n }\r\n reverse = reverse === 'asc' ? false : true;\r\n\r\n axios\r\n .get(recordZero_Url, {\r\n params: {\r\n QueryType: query,\r\n page: active,\r\n pageSize: this.state.per_page,\r\n reverse: reverse,\r\n sortBy: sortBy,\r\n },\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n loadZeroRecord: response?.data?.Items,\r\n activePage: response?.data?.Page,\r\n totalCount: response?.data?.TotalCount,\r\n totalPages: response?.data?.TotalPages,\r\n mainLoading: false,\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n searchData() {\r\n let pages = this.state.activePage;\r\n let memberNumbers = this.state.cpdMemberNum;\r\n let selectyear = this.state.selectYear;\r\n let reverse = this.state.sort.direction;\r\n\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n\r\n reverse = reverse === 'asc' ? false : true;\r\n let obj = {\r\n QueryType: this?.state?.queryType,\r\n page: pages,\r\n pageSize: this.state.per_page,\r\n reverse: reverse,\r\n sortBy: this?.state?.sort?.column,\r\n };\r\n\r\n if (selectyear) {\r\n obj.Year = selectyear;\r\n }\r\n\r\n if (memberNumbers) {\r\n obj.MemberNumber = memberNumbers;\r\n }\r\n\r\n axios\r\n .get(recordZero_Url, {\r\n params: obj,\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n loadZeroRecord: response?.data?.Items,\r\n activePage: response?.data?.Page,\r\n totalCount: response?.data?.TotalCount,\r\n totalPages: response?.data?.TotalPages,\r\n mainLoading: false,\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n onSort = (column) => (e) => {\r\n const direction = this.state.sort.column\r\n ? this.state.sort.direction === 'asc'\r\n ? 'desc'\r\n : 'asc'\r\n : 'desc';\r\n this.setState({\r\n sort: {\r\n column,\r\n direction,\r\n },\r\n });\r\n this.getCpdRecordZero(\r\n this.state.activePage,\r\n this?.state?.queryType,\r\n column,\r\n direction\r\n );\r\n };\r\n\r\n setArrow = (column) => {\r\n let className = 'fa fa-sort';\r\n if (this.state.sort.column === column) {\r\n className += this.state.sort.direction === 'asc' ? '-asc' : '-desc';\r\n }\r\n return className;\r\n };\r\n\r\n componentWillUnmount() {\r\n this.controller.abort();\r\n }\r\n\r\n render() {\r\n let loadZeroRecord;\r\n\r\n if (this.state?.loadZeroRecord !== null) {\r\n loadZeroRecord = this.state?.loadZeroRecord?.map((item, index) => {\r\n return (\r\n \r\n {item?.MemberNumber}\r\n {item?.UserName}\r\n {item?.Email ? item?.Email : 'na'}\r\n\r\n \r\n {item?.LastLoginTime\r\n ? moment(item?.LastLoginTime).format('ll')\r\n : 'na'}\r\n \r\n {item?.Status}\r\n\r\n \r\n {item?.DateOfTermination\r\n ? moment(item?.DateOfTermination).format('ll')\r\n : 'na'}\r\n \r\n \r\n );\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n {this.state.mainLoading && }\r\n
    \r\n
    \r\n
    \r\n \r\n {' '}\r\n Search\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.setState({ cpdMemberNum: e.target.value })\r\n }\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n this.setState({ selectYear: e.target.value })\r\n }\r\n id=\"sel1\"\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 Search\r\n \r\n \r\n {' '}\r\n Clear\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n window.print()}\r\n className=\"btn btn-danger btn-circle btn-lg \"\r\n >\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.downloadExcel('All');\r\n }}\r\n eventKey=\"4\"\r\n >\r\n All\r\n \r\n {\r\n this.downloadExcel(2022);\r\n }}\r\n eventKey=\"3\"\r\n >\r\n 2022\r\n \r\n {\r\n this.downloadExcel(2023);\r\n }}\r\n eventKey=\"4\"\r\n >\r\n 2023\r\n \r\n {\r\n this.downloadExcel(2024);\r\n }}\r\n eventKey=\"5\"\r\n >\r\n 2024\r\n \r\n {\r\n this.downloadExcel(2025);\r\n }}\r\n eventKey=\"6\"\r\n >\r\n 2025\r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Show{' '}\r\n this.pageChange(e.target.value)}\r\n >\r\n \r\n \r\n \r\n {' '}\r\n entries\r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.state.mainLoading && }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loadZeroRecord}\r\n
    \r\n Member Number{' '}\r\n \r\n \r\n User \r\n \r\n Email \r\n \r\n LastLoginTime{' '}\r\n \r\n \r\n Status \r\n \r\n DateOfTermination{' '}\r\n \r\n
    \r\n {loadZeroRecord?.length > 0 ? '' : this.state.emptyDivMsg}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\nconst mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(RecordedZeroHour);\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport { withRouter } from 'react-router-dom';\r\nimport 'react-table/react-table.css';\r\nimport Pagination from 'react-js-pagination';\r\nimport { LinearProgress } from 'react-md';\r\nimport { MenuItem, Dropdown } from 'react-bootstrap';\r\nimport '../../../node_modules/react-md/dist/react-md.indigo-blue.min.css';\r\nimport 'bootstrap-datepicker/js/bootstrap-datepicker.js';\r\nimport 'bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css';\r\nimport Loader from '../../_components/loader';\r\nimport { NotificationManager } from 'react-notifications';\r\nimport 'react-notifications/lib/notifications.css';\r\nimport { AdminUrls } from '../../network/config';\r\nimport { connect } from 'react-redux';\r\nimport { removeData } from '../../store/action';\r\nimport './style.css';\r\n\r\nconst moment = require('moment');\r\n\r\nconst LoadHost_Url = AdminUrls.COMMON.LOADHOST;\r\nconst excelDownload_Url = AdminUrls.COMMON.CPDMEMBERPDF;\r\nconst memberHours_Url = AdminUrls.USER.MEMBERCPDHOURS;\r\nconst memberCpd_Url = AdminUrls.USER.MEMBERCPD;\r\nconst delete_Url = AdminUrls.USER.DELETEMEMBERCPD;\r\nvar currentYear = new Date().getFullYear();\r\n\r\nclass MyCpdReport extends React.Component {\r\n constructor() {\r\n super();\r\n\r\n this.handlePageChange = this.handlePageChange.bind(this);\r\n this.clearSearchFilters = this.clearSearchFilters.bind(this);\r\n this.deleteCPDRecord = this.deleteCPDRecord.bind(this);\r\n this.downloadExcel = this.downloadExcel.bind(this);\r\n this.getLoadCpd = this.getLoadCpd.bind(this);\r\n this.getMemberHour = this.getMemberHour.bind(this);\r\n this.getMemberCpd = this.getMemberCpd.bind(this);\r\n this.searchData = this.searchData.bind(this);\r\n this.editViewHandler = this.editViewHandler.bind(this);\r\n this.addViewHandler = this.addViewHandler.bind(this);\r\n\r\n this.state = {\r\n host_dict: {},\r\n host_list: [],\r\n overdue_hours: 0,\r\n overdue_minutes: 0,\r\n required_hours: 0,\r\n total_hours: 0,\r\n total_minutes: 0,\r\n start_date_iso: '',\r\n start_date: '',\r\n dashboard_records: [],\r\n course_name: '',\r\n host_name: '',\r\n location_name: '',\r\n host_id: '',\r\n year: new Date().getFullYear(),\r\n dashBoxYear: '',\r\n date_selected: '',\r\n sort: {\r\n column: 'CourseName',\r\n direction: 'desc',\r\n },\r\n unauthorized: false,\r\n\r\n memId: '',\r\n cpdDate: '',\r\n cpdCourseName: '',\r\n cpdLocationName: '',\r\n cpdHostName: '',\r\n UserId: '',\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 1,\r\n mainLoading: false,\r\n emptyDivMsg: 'There is no data to show in the grid.',\r\n loadHost: [],\r\n cpdYear: currentYear,\r\n };\r\n this.controller = new AbortController();\r\n }\r\n\r\n downloadExcel(year) {\r\n var fileType = 'application/vnd.ms-excel';\r\n var name;\r\n this.setState({ mainLoading: true });\r\n axios(excelDownload_Url, {\r\n params: {\r\n UserName: this?.state?.UserId,\r\n Year: year,\r\n },\r\n responseType: 'blob',\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n var blob = new Blob([response.data], { type: fileType });\r\n\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, name);\r\n } else {\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', 'MyCPDReport.pdf');\r\n document.body.appendChild(link);\r\n link.click();\r\n }\r\n })\r\n .then((data) => {\r\n this.setState({ mainLoading: false });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n handlePageChange(pageNumber) {\r\n this.setState(\r\n {\r\n activePage: pageNumber,\r\n },\r\n () => {\r\n this.getMemberCpd();\r\n }\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n const { memberId, userId } = this.props.match.params;\r\n this.setState(\r\n {\r\n UserId: userId,\r\n memId: memberId,\r\n },\r\n () => {\r\n this.getMemberCpd();\r\n this.getMemberHour();\r\n }\r\n );\r\n this.getLoadCpd();\r\n }\r\n\r\n getLoadCpd() {\r\n this.setState({ mainLoading: true });\r\n\r\n axios\r\n .get(LoadHost_Url, {\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.setState({\r\n loadHost: data,\r\n mainLoading: false,\r\n });\r\n\r\n this.getCpdCompliantReport(1, this?.state?.yearCpd);\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n clearSearchFilters() {\r\n this.setState(\r\n {\r\n mainLoading: true,\r\n dashboard_records: [],\r\n cpdYear: currentYear,\r\n sort: {\r\n column: 'StartDate',\r\n direction: 'desc',\r\n },\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 1,\r\n unauthorized: false,\r\n cpdDate: '',\r\n cpdCourseName: '',\r\n cpdLocationName: '',\r\n cpdHostName: '',\r\n },\r\n () => {\r\n this.getMemberCpd();\r\n }\r\n );\r\n }\r\n\r\n onSort = (column) => (e) => {\r\n const direction = this.state.sort.column\r\n ? this.state.sort.direction === 'asc'\r\n ? 'desc'\r\n : 'asc'\r\n : 'desc';\r\n this.setState(\r\n {\r\n sort: {\r\n column,\r\n direction,\r\n },\r\n },\r\n () => {\r\n this.getMemberCpd();\r\n }\r\n );\r\n };\r\n\r\n setArrow = (column) => {\r\n let className = 'fa fa-sort';\r\n if (this.state.sort.column === column) {\r\n className += this.state.sort.direction === 'asc' ? '-asc' : '-desc';\r\n }\r\n return className;\r\n };\r\n\r\n deleteCPDRecord(workflowId) {\r\n if (window.confirm('Are you sure you want to delete?')) {\r\n axios\r\n .get(delete_Url, {\r\n params: {\r\n workflowId: workflowId,\r\n },\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.getMemberCpd();\r\n NotificationManager.success('CPD record Deleted');\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n }\r\n\r\n searchData() {\r\n this.getMemberCpd();\r\n this.getMemberHour();\r\n }\r\n\r\n getMemberHour() {\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n axios\r\n .get(memberHours_Url, {\r\n params: {\r\n Year: this?.state?.cpdYear ? this?.state?.cpdYear : currentYear,\r\n UserName: this?.state?.UserId ? this.state?.UserId : '',\r\n },\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.setState({\r\n mainLoading: false,\r\n dashBoxYear: this.state.cpdYear ? this.state.cpdYear : currentYear,\r\n overdue_hours: data[0].OverdueHours,\r\n overdue_minutes: data[0].OverdueMinutes,\r\n required_hours: data[0].RequiredHours,\r\n total_hours: data[0].TotalHours,\r\n total_minutes: data[0].TotalMinutes,\r\n });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n getMemberCpd() {\r\n let reverse = this.state.sort.direction;\r\n let sortBy = this.state.sort.column;\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n\r\n reverse = reverse === 'asc' ? false : true;\r\n let locationName = this.state.cpdLocationName;\r\n let CourseName = this.state.cpdCourseName;\r\n let year = this.state.cpdYear;\r\n let DateMem = this.state.cpdDate;\r\n let host = this.state.cpdHostName;\r\n if (!year) {\r\n year = currentYear;\r\n }\r\n let obj = {\r\n Year: year,\r\n UserName: this.state?.UserId,\r\n page: this?.state?.activePage,\r\n pageSize: this.state.per_page,\r\n reverse: reverse,\r\n sortBy: sortBy,\r\n };\r\n\r\n if (locationName) {\r\n obj.LocationName = locationName;\r\n }\r\n\r\n if (CourseName) {\r\n obj.CourseName = CourseName;\r\n }\r\n if (year) {\r\n obj.Year = year;\r\n } else {\r\n }\r\n if (DateMem) {\r\n obj.Date = DateMem;\r\n }\r\n if (host) {\r\n obj.HostId = host;\r\n }\r\n\r\n axios\r\n .get(memberCpd_Url, {\r\n params: obj,\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.setState({\r\n dashboard_records: data?.Items,\r\n totalPages: data?.TotalPages,\r\n activePage: data?.Page,\r\n totalCount: data?.TotalCount,\r\n mainLoading: false,\r\n });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n editViewHandler(id, mode, item) {\r\n if (this.state.memId) {\r\n item.UserId = this.state.memId;\r\n }\r\n this.props.history.push({\r\n pathname: `/myCpdRecord/${id}/edit`,\r\n state: item,\r\n });\r\n }\r\n\r\n addViewHandler(id, mode) {\r\n this.props.history.push({\r\n pathname: `/myCpdRecord/${id}/add`,\r\n });\r\n }\r\n\r\n componentWillUnmount() {\r\n this.controller.abort();\r\n }\r\n\r\n render() {\r\n let dashboard_records;\r\n\r\n if (this.state.dashboard_records !== null) {\r\n dashboard_records = this.state.dashboard_records.map(\r\n (dashboard_record, index) => {\r\n return (\r\n \r\n {dashboard_record.CPDTypeName}\r\n {dashboard_record.CourseName}\r\n \r\n {dashboard_record.Hours}h{' '}\r\n {dashboard_record.Minutes ? `${dashboard_record.Minutes}m` : ''}\r\n \r\n \r\n {dashboard_record.CompletionDate\r\n ? moment(dashboard_record.CompletionDate).format('ll')\r\n : 'na'}\r\n \r\n {dashboard_record.Venue}\r\n {dashboard_record.Trainer}\r\n \r\n {this?.state?.loadHost?.length &&\r\n this?.state?.loadHost\r\n ?.filter((item) => item.ID === dashboard_record.HostId)\r\n .map((item) => item.Name)}\r\n \r\n \r\n {dashboard_record.StartDate\r\n ? moment(dashboard_record.StartDate).format('ll')\r\n : 'na'}\r\n \r\n \r\n {dashboard_record.CourseId === 0 &&\r\n !dashboard_record.CourseId ? (\r\n \r\n ) : (\r\n \r\n \r\n this.editViewHandler(\r\n dashboard_record?.CPDWorkflowId,\r\n 'edit',\r\n dashboard_record\r\n )\r\n }\r\n >\r\n \r\n {' '}\r\n \r\n \r\n \r\n this.deleteCPDRecord(dashboard_record.CPDWorkflowId)\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 return (\r\n
    \r\n {this.state.mainLoading && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {this.state.required_hours}{' '}\r\n Hour\r\n
    \r\n \r\n {' '}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Required\r\n \r\n {this.state.dashBoxYear}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {this.state.overdue_hours > 0 ? this.state.overdue_hours : '0'}{' '}\r\n \r\n Hour{' '}\r\n {this.state.overdue_minutes > 0\r\n ? this.state.overdue_minutes\r\n : '0'}{' '}\r\n Mins\r\n \r\n
    \r\n \r\n {' '}\r\n
    \r\n
    \r\n \r\n
    \r\n Remaining\r\n \r\n {this.state.dashBoxYear}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {this.state.total_hours}{' '}\r\n \r\n Hour {this.state.total_minutes} Mins\r\n \r\n
    \r\n \r\n {' '}\r\n
    \r\n
    \r\n \r\n
    \r\n Completed\r\n \r\n {this.state.dashBoxYear}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n {' '}\r\n Search\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.setState({ cpdCourseName: e.target.value })\r\n }\r\n id=\"CourseName\"\r\n onKeyDown={(e) => {\r\n if (e.key === 'Enter') {\r\n this.searchData();\r\n }\r\n }}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n this.setState({\r\n cpdYear: e.target.value,\r\n })\r\n }\r\n id=\"sel1\"\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.setState({ cpdLocationName: e.target.value })\r\n }\r\n onKeyDown={(e) => {\r\n if (e.key === 'Enter') {\r\n this.searchData();\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.setState({ cpdDate: e.target.value })\r\n }\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n this.setState({ cpdHostName: e.target.value })\r\n }\r\n value={this.state.cpdHostName}\r\n >\r\n \r\n {this?.state?.loadHost?.length &&\r\n this?.state?.loadHost?.map((item, index) => {\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 Search\r\n \r\n \r\n {' '}\r\n Clear\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n window.print()}\r\n className=\"btn btn-danger btn-circle btn-lg \"\r\n >\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.downloadExcel('All');\r\n }}\r\n eventKey=\"4\"\r\n >\r\n All\r\n \r\n {\r\n this.downloadExcel(2022);\r\n }}\r\n eventKey=\"3\"\r\n >\r\n 2022\r\n \r\n {\r\n this.downloadExcel(2023);\r\n }}\r\n eventKey=\"4\"\r\n >\r\n 2023\r\n \r\n {\r\n this.downloadExcel(2024);\r\n }}\r\n eventKey=\"5\"\r\n >\r\n 2024\r\n \r\n {\r\n this.downloadExcel(2025);\r\n }}\r\n eventKey=\"6\"\r\n >\r\n 2025\r\n \r\n \r\n \r\n\r\n this.addViewHandler(this?.state?.memId, 'add')}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {this.state.mainLoading && }\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 {dashboard_records}\r\n
    \r\n Course Type \r\n \r\n Course \r\n \r\n Completed Hours \r\n \r\n Completion Date\r\n \r\n \r\n Venue \r\n \r\n Trainer \r\n \r\n Host \r\n \r\n Start Date \r\n Actions
    \r\n {dashboard_records.length > 0 ? '' : this.state.emptyDivMsg}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(withRouter(MyCpdReport));\r\n","import React from \"react\";\r\nimport { Modal, Button } from \"react-bootstrap\";\r\n\r\nclass ViewModal extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.props.coursename}\r\n \r\n \r\n \r\n
    \r\n \r\n

    \r\n {new Date(this.props.startdate).toDateString()}\r\n

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

    \r\n {this.props.courselocation}\r\n

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

    \r\n {this.props.coursetype}\r\n

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

    {this.props.host}

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

    \r\n {this.props.cpdformat}\r\n

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

    {this.props.venue}

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

    \r\n {this.props.trainer}\r\n

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

    \r\n {this.props.description}\r\n

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default ViewModal;\r\n","import React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { removeData } from \"../../store/action\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Calendar, momentLocalizer } from \"react-big-calendar\";\r\nimport moment from \"moment\";\r\nimport \"react-big-calendar/lib/css/react-big-calendar.css\";\r\nimport { AdminUrls } from \"../../network/config\";\r\nimport axios from \"axios\";\r\nimport ViewModal from \"./_modals/view\";\r\n\r\nconst localizer = momentLocalizer(moment);\r\n\r\nconst loadEvent_Url = AdminUrls.ADMIN.CPDADMIN;\r\n\r\nclass MonthlyView extends React.Component {\r\n constructor() {\r\n super();\r\n this.myEventList = this.myEventList.bind(this);\r\n this.modalOpen = this.modalOpen.bind(this);\r\n this.listViewModalShownClose = this.listViewModalShownClose.bind(this);\r\n\r\n this.state = {\r\n knowledgeInfoModalShown: false,\r\n accountingInfoModalShown: false,\r\n atiCodeInfoModalShown: false,\r\n atiCodeProfessionalEthicsModalShown: false,\r\n unauthorized: false,\r\n events_info: [],\r\n currentDate: \"\",\r\n\r\n listViewModalShown: false,\r\n listViewDataCourseName: \"\",\r\n listViewDatastartDate: \"\",\r\n listViewDatacourseLocation: \"\",\r\n listViewDatacourseType: \"\",\r\n listViewDatahost: \"\",\r\n listViewDatacpdFormat: \"\",\r\n listViewDatavenue: \"\",\r\n listViewDatatrainer: \"\",\r\n listViewDatacourseDescription: \"\",\r\n };\r\n this.controller = new AbortController();\r\n }\r\n\r\n componentDidMount() {\r\n this.myEventList(new Date());\r\n }\r\n\r\n myEventList(date) {\r\n let c_date = date.getMonth() + 1 + \"|\" + date.getFullYear();\r\n\r\n axios\r\n .get(loadEvent_Url, {\r\n params: {\r\n page: 1,\r\n pageSize: 1,\r\n monthlyView: c_date,\r\n },\r\n method: \"GET\",\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: \"include\",\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((response) => {\r\n let data = response?.data?.Items;\r\n let arr = [];\r\n if (data && data.length) {\r\n for (let i = 0; i < data.length; i++) {\r\n let newdate = new Date(data[i]?.StartDate);\r\n let year = newdate.getFullYear();\r\n let mon = newdate.getMonth();\r\n let d = newdate.getDate();\r\n let h = newdate.getHours();\r\n let min = newdate.getMinutes();\r\n\r\n let obj = {\r\n data: data[i],\r\n title:\r\n data[i]?.CourseName +\r\n (h && h > 9\r\n ? \" (\" + h + \":\" + min + \")\"\r\n : \" (\" + h + \"0:0\" + min + \")\"),\r\n allDay: false,\r\n start: new Date(year, mon, d, h, min),\r\n end: new Date(year, mon, d, h, min),\r\n };\r\n\r\n arr.push(obj);\r\n }\r\n this.setState({\r\n events_info: arr,\r\n });\r\n }\r\n })\r\n\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n modalOpen(e) {\r\n this.setState({\r\n listViewDataCourseName: e?.data?.CourseName,\r\n listViewDatastartDate: e?.data?.StartDate,\r\n listViewDatacourseLocation: e?.data?.Expr1,\r\n listViewDatacourseType: e?.data?.Description,\r\n listViewDatahost: e?.data?.Name,\r\n listViewDatacpdFormat: e?.data?.FormatName,\r\n listViewDatavenue: e?.data?.Venue,\r\n listViewDatatrainer: e?.data?.Trainer,\r\n listViewDatacourseDescription: e?.data?.CourseDescription,\r\n listViewModalShown: true,\r\n });\r\n }\r\n componentWillUnmount() {\r\n this.controller.abort();\r\n }\r\n listViewModalShownClose() {\r\n this.setState({ listViewModalShown: false });\r\n }\r\n render() {\r\n return (\r\n
    \r\n {\" \"}\r\n
    \r\n this.modalOpen(e)}\r\n onNavigate={(e) => this.myEventList(new Date(e))}\r\n />\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(withRouter(MonthlyView));\r\n","import axios from 'axios';\r\nimport { AdminUrls } from '../network/config';\r\n\r\nconst apiCall = {\r\n getCpdYear() {\r\n return axios.get(AdminUrls.ADMIN.GETCPDYEARS, {\r\n method: 'GET',\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization: 'bearer ' + localStorage.Access_Token,\r\n 'Content-Type': 'application/json',\r\n },\r\n });\r\n },\r\n};\r\n\r\nexport { apiCall };\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport 'react-table/react-table.css';\r\nimport Pagination from 'react-js-pagination';\r\nimport { LinearProgress } from 'react-md';\r\nimport '../../../node_modules/react-md/dist/react-md.indigo-blue.min.css';\r\nimport 'bootstrap-datepicker/js/bootstrap-datepicker.js';\r\nimport 'bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css';\r\nimport Loader from '../../_components/loader';\r\nimport 'react-notifications/lib/notifications.css';\r\nimport { AdminUrls } from '../../network/config';\r\n// import \"./style.css\";\r\nimport { connect } from 'react-redux';\r\nimport { removeData } from '../../store/action';\r\nimport noIcon from '../../assets/no-icon.png';\r\nimport tickIcon from '../../assets/newYes.png';\r\nimport moment from 'moment';\r\nimport { apiCall } from '../../Services/API';\r\n\r\nconst randomCompliant_Url = AdminUrls.ADMIN.CPDRANDCOMPLAIANCEREPORT;\r\nconst cpdDownloadExcel = AdminUrls.ADMIN.RANDOMCOMPLIANTEXCEL;\r\n\r\nclass RandomReport extends React.Component {\r\n constructor() {\r\n super();\r\n this.handlePageChange = this.handlePageChange.bind(this);\r\n this.clearSearchFilters = this.clearSearchFilters.bind(this);\r\n this.downloadExcel = this.downloadExcel.bind(this);\r\n this.getCpdCompliantReport = this.getCpdCompliantReport.bind(this);\r\n\r\n this.pageChange = this.pageChange.bind(this);\r\n this.viewMemberCpdHandler = this.viewMemberCpdHandler.bind(this);\r\n this.yearOptionDropdown = this.yearOptionDropdown.bind(this);\r\n\r\n this.state = {\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 0,\r\n unauthorized: false,\r\n cpdYear: new Date().getFullYear().toString(),\r\n loadCpdCompliant: [],\r\n mainLoading: false,\r\n emptyDivMsg: 'There is no data to show in the grid.',\r\n sort: {\r\n column: 'MemberNumber',\r\n direction: 'desc',\r\n },\r\n yearCpd: '',\r\n };\r\n this.controller = new AbortController();\r\n }\r\n\r\n downloadExcel() {\r\n let date = new Date();\r\n let newDate = date.getTime();\r\n var fileType = 'application/vnd.ms-excel';\r\n var name;\r\n this.setState({ mainLoading: true });\r\n axios(cpdDownloadExcel, {\r\n responseType: 'blob',\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n var blob = new Blob([response.data], { type: fileType });\r\n\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, name);\r\n } else {\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', `RandomCompliantReport${newDate}.xlsx`);\r\n document.body.appendChild(link);\r\n link.click();\r\n }\r\n })\r\n .then((data) => {\r\n this.setState({ mainLoading: false });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n handlePageChange(pageNumber) {\r\n this.setState({\r\n activePage: pageNumber,\r\n });\r\n this.getCpdCompliantReport(pageNumber);\r\n }\r\n\r\n componentDidMount() {\r\n this.getCpdCompliantReport(1);\r\n this.yearOptionDropdown();\r\n }\r\n\r\n clearSearchFilters() {\r\n this.setState(\r\n {\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 0,\r\n unauthorized: false,\r\n cpdYear: '',\r\n },\r\n () => {\r\n this.getCpdCompliantReport(1);\r\n }\r\n );\r\n }\r\n\r\n getCpdCompliantReport(active, column, direction) {\r\n let reverse = this.state.sort.direction;\r\n let sortBy = this.state.sort.column;\r\n let year = this.state.cpdYear;\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n if (column) {\r\n sortBy = column;\r\n }\r\n\r\n if (direction) {\r\n reverse = direction;\r\n }\r\n reverse = reverse === 'asc' ? false : true;\r\n let obj = {\r\n page: active,\r\n pageSize: this.state.per_page,\r\n reverse: reverse,\r\n sortBy: sortBy,\r\n };\r\n\r\n if (year) {\r\n obj.Year = year;\r\n } else {\r\n obj.Year = new Date().getFullYear();\r\n }\r\n\r\n axios\r\n .get(randomCompliant_Url, {\r\n params: obj,\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n loadCpdCompliant: response?.data?.Items,\r\n activePage: response?.data?.Page,\r\n totalCount: response?.data?.TotalCount,\r\n totalPages: response?.data?.TotalPages,\r\n mainLoading: false,\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n onSort = (column) => (e) => {\r\n const direction = this.state.sort.column\r\n ? this.state.sort.direction === 'asc'\r\n ? 'desc'\r\n : 'asc'\r\n : 'desc';\r\n this.setState({\r\n sort: {\r\n column,\r\n direction,\r\n },\r\n });\r\n this.getCpdCompliantReport(this.state.activePage, column, direction);\r\n };\r\n\r\n async yearOptionDropdown() {\r\n apiCall\r\n .getCpdYear()\r\n .then((response) => {\r\n this.setState({\r\n CPDYearList: response?.data,\r\n });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n } else {\r\n this.setState({\r\n CPDYearList: ['2022', '2023', '2024', '2025'],\r\n });\r\n }\r\n });\r\n }\r\n\r\n setArrow = (column) => {\r\n let className = 'fa fa-sort';\r\n if (this.state.sort.column === column) {\r\n className += this.state.sort.direction === 'asc' ? '-asc' : '-desc';\r\n }\r\n return className;\r\n };\r\n\r\n pageChange(pageQty) {\r\n this.setState(\r\n {\r\n per_page: pageQty,\r\n },\r\n () => {\r\n this.getCpdCompliantReport(this.state.activePage);\r\n }\r\n );\r\n }\r\n\r\n viewMemberCpdHandler(id, userid) {\r\n let obj = {\r\n Id: id,\r\n uid: userid,\r\n };\r\n this.props.history.push({\r\n pathname: '/my_cpd_report',\r\n state: obj,\r\n });\r\n }\r\n\r\n componentWillUnmount() {\r\n this.controller.abort();\r\n }\r\n\r\n render() {\r\n let loadCpdCompliant;\r\n //\r\n if (this.state?.loadCpdCompliant !== null) {\r\n loadCpdCompliant = this.state?.loadCpdCompliant?.map((item, index) => {\r\n return (\r\n \r\n {item?.MemberNumber}\r\n {item?.username}\r\n {item?.Email}\r\n\r\n \r\n {item?.IsCPDCompliant === 'False' ? (\r\n \"noIcon\"\r\n ) : (\r\n \"tickIcon\"\r\n )}\r\n \r\n {item?.CPDYear}\r\n\r\n {item?.Duration ? item?.Duration : 'na'}\r\n \r\n \r\n {item?.Status}\r\n \r\n \r\n {/* */}\r\n {moment(item?.CompletionDate).format('ll')}\r\n \r\n \r\n this.viewMemberCpdHandler(item?.MemberId, item?.UserId)\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n {this.state.mainLoading && }\r\n
    \r\n
    \r\n
    \r\n \r\n {' '}\r\n Search\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.setState({\r\n cpdYear: e.target.value,\r\n })\r\n }\r\n id=\"sel1\"\r\n >\r\n {/* \r\n \r\n \r\n \r\n */}\r\n {/* {this.state.CPDYearList} */}\r\n {this?.state?.CPDYearList &&\r\n this?.state?.CPDYearList.map((item) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n this.getCpdCompliantReport(1)}\r\n >\r\n {' '}\r\n Search\r\n \r\n \r\n {' '}\r\n Clear\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n window.print()}\r\n className=\"btn btn-danger btn-circle btn-lg \"\r\n >\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n this.getCpdCompliantReport(1)}\r\n className=\"btn btn-primary btn-circle btn-lg \"\r\n >\r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Show{' '}\r\n this.pageChange(e.target.value)}\r\n >\r\n \r\n \r\n \r\n {' '}\r\n entries\r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.state.mainLoading && }\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 {loadCpdCompliant}\r\n
    \r\n Member Number{' '}\r\n \r\n \r\n User Name \r\n \r\n Email \r\n CPD Compliant \r\n Year \r\n \r\n CPD Hours Recorded{' '}\r\n \r\n \r\n Status \r\n \r\n Declared Date{' '}\r\n \r\n
    \r\n {loadCpdCompliant?.length > 0 ? '' : this.state.emptyDivMsg}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\nconst mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(RandomReport);\r\n","import axios from 'axios';\r\nimport React from 'react';\r\nimport { Redirect, withRouter } from 'react-router-dom';\r\nimport { NotificationManager } from 'react-notifications';\r\nimport { connect } from 'react-redux';\r\nimport { storeData } from '../store/action';\r\nimport { AdminUrls } from '../network/config';\r\n\r\nconst queryString = require('query-string');\r\n\r\nconst access_URL = AdminUrls.AUTH.ACCESSTOKEN;\r\n\r\nclass App extends React.Component {\r\n constructor() {\r\n super();\r\n this.dashboardContentHandler = this.dashboardContentHandler.bind(this);\r\n\r\n this.state = {\r\n SourceUser: '',\r\n token: '',\r\n navrole: 'Member',\r\n submitted: false,\r\n login: false,\r\n login_error: false,\r\n queuecount: '',\r\n dashboardContent: [],\r\n mainLoading: false,\r\n };\r\n this.controller = new AbortController();\r\n\r\n const item = window.location.href;\r\n\r\n const values = item.substring(item.indexOf('?') + 1);\r\n\r\n let queries = queryString.parse(values);\r\n this.state.token = queries.token;\r\n this.state.SourceUser = queries.SourceUser;\r\n // this.setState({ SourceUser: queries.SourceUser, token: queries.token });\r\n //console.log(this.state);\r\n }\r\n\r\n dashboardContentHandler() {\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n axios\r\n .get(\r\n access_URL +\r\n '?externalAccessToken=' +\r\n this.state.token +\r\n '&provider=ATI&sourceUser=' +\r\n this.state.SourceUser,\r\n {\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n }\r\n )\r\n .then((response) => {\r\n if (response.data) {\r\n // save data to local storage\r\n localStorage.setItem('access_token', response.data.access_token);\r\n localStorage.setItem('displayName', response.data.displayName);\r\n localStorage.setItem('expires_in', response.data.expires_in);\r\n localStorage.setItem('role', response.data.role);\r\n localStorage.setItem('source', response.data?.source);\r\n localStorage.setItem(\r\n 'successMessage',\r\n 'Hello ' + response.data.displayName\r\n );\r\n\r\n //Login user to site\r\n this.setState({\r\n login: true,\r\n mainLoading: false,\r\n });\r\n\r\n this.props.addData(\r\n response.data.access_token,\r\n response.data.displayName,\r\n response.data.role,\r\n response.data.token_type\r\n );\r\n }\r\n })\r\n\r\n .catch((error) => {});\r\n }\r\n\r\n componentDidMount() {\r\n this.dashboardContentHandler();\r\n let successMessage = localStorage.getItem('successMessage');\r\n // console.log(this.props.user);\r\n if (successMessage) {\r\n localStorage.removeItem('successMessage');\r\n NotificationManager.success(successMessage, 'Login Successful');\r\n }\r\n }\r\n\r\n render() {\r\n if (this.state.login) {\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\nconst mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n addData: (access_token, displayName, role, token_type) =>\r\n dispatch(storeData(access_token, displayName, role, token_type)),\r\n };\r\n};\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(App));\r\n\r\n//export default connect(mapStateToProps)(servicelogin);\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport 'react-table/react-table.css';\r\nimport Pagination from 'react-js-pagination';\r\nimport { LinearProgress } from 'react-md';\r\nimport { MenuItem, Dropdown } from 'react-bootstrap';\r\nimport '../../../node_modules/react-md/dist/react-md.indigo-blue.min.css';\r\nimport 'bootstrap-datepicker/js/bootstrap-datepicker.js';\r\nimport 'bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css';\r\nimport Loader from '../../_components/loader';\r\nimport 'react-notifications/lib/notifications.css';\r\nimport { AdminUrls } from '../../network/config';\r\nimport './style.css';\r\nimport { connect } from 'react-redux';\r\nimport { removeData } from '../../store/action';\r\n\r\nconst moment = require('moment');\r\n\r\nconst cpdDownloadExcel = AdminUrls.ADMIN.INDIVIDUALAFFILIATEEXCEL;\r\nconst cpdIndividual_Url = AdminUrls.ADMIN.REPORTINDIVIDUALAFFILIATECPD;\r\nconst cpdAttachDownload_Url = AdminUrls.ADMIN.REPORTDOWNLOAD;\r\nconst LoadHost_Url = AdminUrls.COMMON.LOADHOST;\r\n\r\nclass AffiliateReport extends React.Component {\r\n constructor() {\r\n super();\r\n\r\n this.handlePageChange = this.handlePageChange.bind(this);\r\n this.clearSearchFilters = this.clearSearchFilters.bind(this);\r\n this.downloadExcel = this.downloadExcel.bind(this);\r\n this.getCpdAffiliateReport = this.getCpdAffiliateReport.bind(this);\r\n this.searchData = this.searchData.bind(this);\r\n this.handleDownloadFile = this.handleDownloadFile.bind(this);\r\n this.pageChange = this.pageChange.bind(this);\r\n\r\n this.state = {\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 0,\r\n unauthorized: false,\r\n cpdId: '',\r\n cpdBool: '',\r\n cpdMemberNum: '',\r\n cpdCourseName: '',\r\n cpdUsername: '',\r\n cpdYear: '',\r\n cpdHostName: '',\r\n loadCpdIndividual: [],\r\n loadHost: [],\r\n mainLoading: false,\r\n emptyDivMsg: 'There is no data to show in the grid.',\r\n sort: {\r\n column: 'WorkflowStamp',\r\n direction: 'desc',\r\n },\r\n yearCpd: '',\r\n };\r\n this.controller = new AbortController();\r\n }\r\n\r\n downloadExcel(year) {\r\n var fileType = 'application/vnd.ms-excel';\r\n var name;\r\n this.setState({ mainLoading: true });\r\n axios(cpdDownloadExcel, {\r\n params: {\r\n reportId: this.state.cpdId,\r\n Year: year,\r\n },\r\n responseType: 'blob',\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n var blob = new Blob([response.data], { type: fileType });\r\n\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, name);\r\n } else {\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', 'AffiliateReport.xlsx');\r\n document.body.appendChild(link);\r\n link.click();\r\n }\r\n })\r\n .then((data) => {\r\n this.setState({ mainLoading: false });\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n handlePageChange(pageNumber) {\r\n this.setState({\r\n activePage: pageNumber,\r\n });\r\n this.getCpdAffiliateReport(pageNumber, this?.state?.yearCpd);\r\n }\r\n\r\n pageChange(pageQty) {\r\n this.setState(\r\n {\r\n per_page: pageQty,\r\n },\r\n () => {\r\n this.getCpdAffiliateReport(\r\n this?.state?.activePage,\r\n this?.state?.yearCpd\r\n );\r\n }\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n this.setState(\r\n {\r\n yearCpd: this.props.location?.state,\r\n },\r\n this.getLoadCpd()\r\n );\r\n }\r\n\r\n clearSearchFilters() {\r\n this.setState(\r\n {\r\n totalPages: 0,\r\n totalCount: 0,\r\n per_page: 10,\r\n activePage: 0,\r\n unauthorized: false,\r\n cpdCourseName: '',\r\n cpdMemberNum: '',\r\n cpdUsername: '',\r\n cpdHostName: '',\r\n cpdYear: '',\r\n },\r\n () => {\r\n this.getCpdAffiliateReport(1, this?.state?.yearCpd);\r\n }\r\n );\r\n }\r\n\r\n getCpdAffiliateReport(active, year, column, direction) {\r\n let reverse = this.state.sort.direction;\r\n let sortBy = this.state.sort.column;\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n if (column) {\r\n sortBy = column;\r\n }\r\n\r\n if (direction) {\r\n reverse = direction;\r\n }\r\n reverse = reverse === 'asc' ? false : true;\r\n axios\r\n .get(cpdIndividual_Url, {\r\n params: {\r\n Year: year,\r\n page: active,\r\n pageSize: this.state.per_page,\r\n reverse: reverse,\r\n sortBy: sortBy,\r\n },\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n loadCpdIndividual: response?.data?.Items,\r\n activePage: response?.data?.Page,\r\n totalCount: response?.data?.TotalCount,\r\n totalPages: response?.data?.TotalPages,\r\n mainLoading: false,\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n searchData() {\r\n let userNames = this.state.cpdUsername;\r\n let CourseName = this.state.cpdCourseName;\r\n let year = this.state.cpdYear;\r\n let memberNumbers = this.state.cpdMemberNum;\r\n let host = this.state.cpdHostName;\r\n let pages = this.state.activePage;\r\n\r\n this.setState({\r\n mainLoading: true,\r\n });\r\n\r\n let obj = {\r\n Year: new Date().getFullYear(),\r\n reverse: true,\r\n sortBy: 'WorkflowStamp',\r\n page: pages,\r\n pageSize: this.state.per_page,\r\n };\r\n\r\n if (userNames) {\r\n obj.UserName = userNames;\r\n }\r\n\r\n if (CourseName) {\r\n obj.CourseName = CourseName;\r\n }\r\n if (year) {\r\n obj.Year = year;\r\n }\r\n if (memberNumbers) {\r\n obj.MemberNumber = memberNumbers;\r\n }\r\n if (host) {\r\n obj.HostId = host;\r\n }\r\n\r\n axios\r\n .get(cpdIndividual_Url, {\r\n params: obj,\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n loadCpdIndividual: response?.data?.Items,\r\n activePage: response?.data?.Page,\r\n totalCount: response?.data?.TotalCount,\r\n totalPages: response?.data?.TotalPages,\r\n mainLoading: false,\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n getLoadCpd() {\r\n this.setState({ mainLoading: true });\r\n\r\n axios\r\n .get(LoadHost_Url, {\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n this.setState({\r\n loadHost: data,\r\n mainLoading: false,\r\n });\r\n\r\n this.getCpdAffiliateReport(1, this?.state?.yearCpd);\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n }\r\n\r\n handleDownloadFile(id) {\r\n let dup = [...this.state.loadCpdIndividual];\r\n let findData = dup.find((x) => x.CPDWorkflowId === id);\r\n axios\r\n .get(cpdAttachDownload_Url, {\r\n params: {\r\n name: findData?.AttachmentName,\r\n },\r\n method: 'GET',\r\n signal: this.controller.signal,\r\n withCredentials: true,\r\n credentials: 'include',\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n var blob = new Blob([response?.data]);\r\n\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, findData?.AttachmentName);\r\n } else {\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', findData?.AttachmentName);\r\n document.body.appendChild(link);\r\n link.click();\r\n }\r\n });\r\n }\r\n\r\n onSort = (column) => (e) => {\r\n const direction = this.state.sort.column\r\n ? this.state.sort.direction === 'asc'\r\n ? 'desc'\r\n : 'asc'\r\n : 'desc';\r\n this.setState({\r\n sort: {\r\n column,\r\n direction,\r\n },\r\n });\r\n this.getCpdAffiliateReport(\r\n this.state.activePage,\r\n this?.state?.yearCpd,\r\n column,\r\n direction\r\n );\r\n };\r\n\r\n setArrow = (column) => {\r\n let className = 'fa fa-sort';\r\n if (this.state.sort.column === column) {\r\n className += this.state.sort.direction === 'asc' ? '-asc' : '-desc';\r\n }\r\n return className;\r\n };\r\n\r\n componentWillUnmount() {\r\n this.controller.abort();\r\n }\r\n\r\n render() {\r\n let loadCpdIndividual;\r\n\r\n if (this.state?.loadCpdIndividual !== null) {\r\n loadCpdIndividual = this.state?.loadCpdIndividual?.map((item, index) => {\r\n return (\r\n \r\n {item?.MemberNumber}\r\n {item?.username}\r\n {item?.CPDYear}\r\n {item?.CPDTypeName}\r\n {item?.CourseName}\r\n {item?.Venue}\r\n {item?.Trainer}\r\n \r\n {item?.CompletionDate\r\n ? moment(item?.CompletionDate).format('ll')\r\n : 'na'}\r\n \r\n {item?.Hours}\r\n {item?.Minutes}\r\n \r\n );\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n {this.state.mainLoading && }\r\n
    \r\n
    \r\n
    \r\n \r\n {' '}\r\n Search\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.setState({ cpdUsername: e.target.value })\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.setState({ cpdCourseName: e.target.value })\r\n }\r\n id=\"CourseName\"\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n this.setState({ cpdMemberNum: e.target.value })\r\n }\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n this.setState({\r\n cpdYear: e.target.value,\r\n })\r\n }\r\n id=\"sel1\"\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.setState({ cpdHostName: e.target.value })\r\n }\r\n value={this.state.cpdHostName}\r\n >\r\n \r\n {this?.state?.loadHost?.length &&\r\n this?.state?.loadHost?.map((item, index) => {\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 Search\r\n \r\n \r\n {' '}\r\n Clear\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n window.print()}\r\n className=\"btn btn-danger btn-circle btn-lg \"\r\n >\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.downloadExcel('All');\r\n }}\r\n eventKey=\"4\"\r\n >\r\n All\r\n \r\n {\r\n this.downloadExcel(2022);\r\n }}\r\n eventKey=\"3\"\r\n >\r\n 2022\r\n \r\n {\r\n this.downloadExcel(2023);\r\n }}\r\n eventKey=\"4\"\r\n >\r\n 2023\r\n \r\n {\r\n this.downloadExcel(2024);\r\n }}\r\n eventKey=\"5\"\r\n >\r\n 2024\r\n \r\n {\r\n this.downloadExcel(2025);\r\n }}\r\n eventKey=\"6\"\r\n >\r\n 2025\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Show{' '}\r\n this.pageChange(e.target.value)}\r\n >\r\n \r\n \r\n \r\n {' '}\r\n entries\r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.state.mainLoading && }\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 {loadCpdIndividual}\r\n
    \r\n Affiliate Number{' '}\r\n \r\n \r\n User Name \r\n \r\n Year \r\n \r\n CPDType \r\n \r\n Course \r\n \r\n Venue \r\n \r\n Trainer \r\n \r\n Completion Date{' '}\r\n \r\n \r\n Hours \r\n \r\n Minutes \r\n
    \r\n {loadCpdIndividual?.length > 0 ? '' : this.state.emptyDivMsg}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\nconst mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AffiliateReport);\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport { NotificationManager } from 'react-notifications';\r\nimport 'react-notifications/lib/notifications.css';\r\nimport { AdminUrls } from '../../network/config';\r\nimport './style.css';\r\nimport { removeData } from '../../store/action';\r\nimport { connect } from 'react-redux';\r\n\r\nconst Upload_File = AdminUrls.ADMIN.VIDEOACCESSFILEUPLOAD;\r\n\r\nclass VideoAccess extends React.Component {\r\n constructor() {\r\n super();\r\n\r\n this.state = {\r\n unauthorized: false,\r\n file_upload: null,\r\n };\r\n this.controller = new AbortController();\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n }\r\n componentDidMount() {}\r\n\r\n cancelUpload = () => {\r\n this.setState({ file: '' });\r\n };\r\n\r\n handleInputChange(event) {\r\n const target = event.target;\r\n const name = target.name;\r\n if (name === 'file_upload') {\r\n if (event.target.files.length > 0) {\r\n this.setState({\r\n [name]: event.target.files[0],\r\n file_name: event.target.files[0].name,\r\n });\r\n }\r\n }\r\n }\r\n startUpload = () => {\r\n let blobFile = this.state.file_upload;\r\n let formData = new FormData();\r\n formData.append('file', blobFile);\r\n\r\n axios\r\n .post(Upload_File, formData, {\r\n processData: false,\r\n contentType: false,\r\n headers: {\r\n Authorization:\r\n `${this.props.user.token_type} ` + this.props.user.access_token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response.data)\r\n .then((data) => {\r\n NotificationManager.success(\r\n 'Success!',\r\n 'MyCPD Record Created Successfully'\r\n );\r\n })\r\n .catch((error) => {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n this.props.signOut();\r\n }\r\n });\r\n };\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n Start upload\r\n \r\n \r\n \r\n Cancel upload\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\nconst mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n signOut: () => dispatch(removeData()),\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(VideoAccess);\r\n","import React from 'react';\r\nimport { Switch, Route, withRouter, HashRouter } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport Login from '../login/index';\r\nimport Home from '../home/index.js'; // home page for members/Affilates\r\nimport Dashboard from '../cpdrecord/index.js';\r\nimport CPDGO from '../cpdgo/index.js';\r\nimport mycpd from '../mycpd';\r\nimport FaceToFace from '../face_to_face_cpd';\r\nimport ApprovedCPDProviders from '../approved_cpd_providers';\r\nimport Library from '../library';\r\nimport ProtectedRoute from '../components/ProtectedRoute';\r\n\r\nimport AdminDashboad from '../../src/Admin/home'; // home page for staff\r\nimport CpdAdmin from '../../src/Admin/cpdadmin';\r\n\r\nimport MemberAdmin from '../../src/Admin/memberAdmin';\r\nimport AccredAdmin from '../../src/Admin/accredtadmin';\r\nimport Host from '../../src/Admin/host';\r\nimport UserManagment from '../../src/Admin/usermanagement';\r\nimport AdminSettings from '../../src/Admin/adminsettings';\r\nimport CpdReport from '../../src/Admin/cpdreport';\r\nimport CompliantReport from '../../src/Admin/compliantreport';\r\nimport IndividualUserReport from '../../src/Admin/individualuserreport';\r\nimport SystemUsageReport from '../../src/Admin/systemusagereport';\r\nimport RegisterForm from '../../src/Admin/formregister';\r\nimport FormCPD from '../../src/Admin/recordcpd';\r\nimport RecordedZeroHour from '../Admin/recordzerohour';\r\nimport MyCpdReport from '../Admin/mycpdreport';\r\nimport MonthlyView from '../Admin/monthlyview';\r\nimport RandomReport from '../Admin/randomreport';\r\nimport servicelogin from '../servicelogin/index';\r\nimport AffiliateReport from '../Admin/affiliatereport';\r\nimport VideoAccess from '../Admin/videoaccess';\r\n\r\nclass App extends React.Component {\r\n render() {\r\n // const currentURL = window.location.href;\r\n // const currentPath = currentURL.split(\"/\")[4];\r\n const user = this.props.user.access_token;\r\n const role = this.props.user.role;\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {role === 'Staff' ? (\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\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 mapStateToProps = (state) => {\r\n return {\r\n user: state,\r\n };\r\n};\r\nexport default connect(mapStateToProps, null)(withRouter(App));\r\n","const initialState = {\r\n access_token: \"\",\r\n displayName: \"\",\r\n role: \"\",\r\n token_type: \"\",\r\n};\r\nconst reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case \"ADD_DATA\": {\r\n return {\r\n ...state,\r\n access_token: action.access_token,\r\n displayName: action.displayName,\r\n role: action.role,\r\n token_type: action.token_type,\r\n };\r\n }\r\n case \"REMOVE_DATA\": {\r\n return {\r\n ...state,\r\n access_token: null,\r\n displayName: null,\r\n role: null,\r\n token_type: null,\r\n };\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n};\r\n\r\nexport default reducer;\r\n","import { createStore } from \"redux\";\r\nimport reducer from \"./reducer\";\r\nimport { persistStore, persistReducer } from \"redux-persist\";\r\nimport storage from \"redux-persist/lib/storage\";\r\n\r\nconst persistConfig = {\r\n key: \"root\",\r\n storage,\r\n};\r\n\r\nconst persistedReducer = persistReducer(persistConfig, reducer);\r\n\r\nconst store = createStore(persistedReducer);\r\nlet persistor = persistStore(store);\r\n// let persistor = persistStore(store);\r\n\r\nexport default store;\r\nexport { persistor };","import React from 'react';\r\nimport { Redirect, Link } from 'react-router-dom';\r\nimport axios from 'axios';\r\nimport Header from '../src/components/Header';\r\nimport FeedbackModal from './feedback/_modals/modal';\r\nimport AboutUsModal from './about-us/_modals/about-us';\r\nimport { LinearProgress } from 'react-md';\r\nimport { NotificationContainer } from 'react-notifications';\r\nimport 'react-notifications/lib/notifications.css';\r\nimport Router from '../src/config/router';\r\nimport { Urls } from './network/config';\r\nimport { Provider } from 'react-redux';\r\nimport store from '../src/store';\r\nimport { persistor } from '../src/store';\r\nimport { PersistGate } from 'redux-persist/integration/react';\r\n\r\nclass App extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n quickNavShown: false,\r\n password: '',\r\n submitted: false,\r\n feedBackModalShown: false,\r\n aboutUsModalShown: false,\r\n logout: false,\r\n mainLoading: true,\r\n navrole: '',\r\n };\r\n\r\n this.makeSignOutRequest = this.makeSignOutRequest.bind(this);\r\n this.controller = new AbortController();\r\n }\r\n\r\n componentDidMount() {\r\n setTimeout(() => {\r\n this.setState({\r\n mainLoading: false,\r\n });\r\n }, 1000);\r\n }\r\n\r\n makeSignOutRequest(event) {\r\n let self = this;\r\n event.preventDefault();\r\n this.setState({ mainLoading: true });\r\n axios\r\n .get(Urls.SignOut_URL, {\r\n method: 'GET',\r\n withCredentials: true,\r\n signal: this.controller.signal,\r\n credentials: 'include',\r\n headers: {\r\n Authorization: 'bearer ' + localStorage.getItem('access_token'),\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => response)\r\n .then((response) => {\r\n self.setState({\r\n logout: true,\r\n mainLoading: false,\r\n });\r\n if (\r\n localStorage &&\r\n localStorage.source &&\r\n localStorage.source === '1'\r\n ) {\r\n window.close();\r\n } else {\r\n localStorage.setItem('successMessage', 'Logout Successful');\r\n }\r\n window.location.reload();\r\n })\r\n .catch(console.log);\r\n }\r\n\r\n updatequickNav = (value, role) => {\r\n this.setState({ quickNavShown: value, navrole: role });\r\n };\r\n\r\n updatefeedBackModalShown = (value) => {\r\n this.setState({ feedBackModalShown: value });\r\n };\r\n\r\n updateAboutUsModalShown = (value) => {\r\n this.setState({ aboutUsModalShown: value });\r\n };\r\n\r\n componentWillUnmount() {\r\n this.controller.abort();\r\n }\r\n\r\n render() {\r\n let feedBackModalShownClose = () =>\r\n this.setState({ feedBackModalShown: false });\r\n let aboutUsModalShownClose = () =>\r\n this.setState({ aboutUsModalShown: false });\r\n if (this.state.logout) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n
    \r\n {this.state.mainLoading && }\r\n \r\n\r\n \r\n {this?.state?.navrole === 'Member' ? (\r\n
      \r\n
    • \r\n {\r\n this.setState({ quickNavShown: false });\r\n }}\r\n className=\"nav-link\"\r\n >\r\n Home\r\n \r\n
    • \r\n
    • \r\n {\r\n this.setState({ quickNavShown: false });\r\n }}\r\n className=\"nav-link\"\r\n >\r\n MyCPD Dashboard \r\n \r\n
    • \r\n
    • \r\n {\r\n this.setState({ quickNavShown: false });\r\n }}\r\n className=\"nav-link\"\r\n >\r\n Record MyCPD \r\n \r\n
    • \r\n
    • \r\n {\r\n this.setState({ quickNavShown: false });\r\n }}\r\n className=\"nav-link\"\r\n >\r\n ATI CPD \r\n \r\n
    • \r\n
    • \r\n {\r\n this.setState({ quickNavShown: false });\r\n }}\r\n className=\"nav-link\"\r\n >\r\n CPDgo \r\n \r\n
    • \r\n
    • \r\n {\r\n this.setState({ quickNavShown: false });\r\n }}\r\n className=\"nav-link\"\r\n >\r\n Professional Exams and Further Education{' '}\r\n \r\n \r\n
    • \r\n
    • \r\n {\r\n this.setState({ quickNavShown: false });\r\n }}\r\n className=\"nav-link\"\r\n >\r\n CPD Calendar \r\n \r\n
    • \r\n
    • \r\n {\r\n this.setState({ quickNavShown: false });\r\n }}\r\n className=\"nav-link\"\r\n >\r\n Close \r\n \r\n
    • \r\n
    \r\n ) : this?.state?.navrole === 'Staff' ? (\r\n
      \r\n
    • \r\n {\r\n this.setState({ quickNavShown: false });\r\n }}\r\n className=\"nav-link\"\r\n >\r\n CPD Admin Dashboard and Library\r\n \r\n \r\n
    • \r\n
    • \r\n {\r\n this.setState({ quickNavShown: false });\r\n }}\r\n className=\"nav-link\"\r\n >\r\n Member Accounts \r\n \r\n
    • \r\n
    • \r\n {\r\n this.setState({ quickNavShown: false });\r\n }}\r\n className=\"nav-link\"\r\n >\r\n Approved CPD Provider Queue{' '}\r\n \r\n \r\n
    • \r\n
    • \r\n {\r\n this.setState({ quickNavShown: false });\r\n }}\r\n className=\"nav-link\"\r\n >\r\n Monthly View \r\n \r\n
    • \r\n
    • \r\n {\r\n this.setState({ quickNavShown: false });\r\n }}\r\n className=\"nav-link\"\r\n >\r\n Reporting \r\n \r\n
    • \r\n
    • \r\n {\r\n this.setState({ quickNavShown: false });\r\n }}\r\n className=\"nav-link\"\r\n >\r\n User Mangement \r\n \r\n
    • \r\n\r\n
    • \r\n {\r\n this.setState({ quickNavShown: false });\r\n }}\r\n className=\"nav-link\"\r\n >\r\n Close \r\n \r\n
    • \r\n
    \r\n ) : (\r\n
      \r\n
    • \r\n {\r\n this.setState({ quickNavShown: false });\r\n }}\r\n className=\"nav-link\"\r\n >\r\n Home\r\n \r\n
    • \r\n
    • \r\n {\r\n this.setState({ quickNavShown: false });\r\n }}\r\n className=\"nav-link\"\r\n >\r\n MyCPD Dashboard \r\n \r\n
    • \r\n
    • \r\n {\r\n this.setState({ quickNavShown: false });\r\n }}\r\n className=\"nav-link\"\r\n >\r\n ATI CPD \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\nexport default App;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\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 subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\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 function register(config) {\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.href);\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/facebook/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. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\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 // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\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, config) {\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 const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\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 // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\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 React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport './css/bootstrap/bootstrap.min.css';\r\nimport './css/common/default.css';\r\nimport './css/common/react-wizard.css';\r\nimport './css/custom.css';\r\nimport './css/common/bootstrap-float-label.css';\r\nimport '../node_modules/font-awesome/css/font-awesome.min.css';\r\nimport 'jquery/src/jquery';\r\nimport '../node_modules/bootstrap/dist/js/bootstrap';\r\n\r\n// import '../node_modules/jquery/dist/jquery.min.js';\r\n// import '../node_modules/bootstrap/dist/js/bootstrap.min.js';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\nimport { HashRouter, Route } from 'react-router-dom';\r\n// basename should be MyCPDApp for app\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\n//\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAYAAAAIXrg4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAldJREFUSIntlc9uElEUxr97BAIUWdjavoE+ACzqaspGxkiaJhS1JtBqY+MDaFwSVo3GFyDxXysmDWAwddFpWBTiQk26Ux9BZdG6UAYqGc91UZgOA6UMa77VzPnz+86dOzMXGGssq0LZkDuUDbmd9IhBSSWvBIh8SRZiAUCYgAsAwIxDIuxLcMmtc66cKuuODSJFdY2FWO9AT5XkA0jxaC+hvRjKIJQNuQNTF18RxO2BYJtY8iYmj1arkaphjbvshaPAAdRJUAq//BLAijVB1ptIUV0bZXIDfImBbwCW5wrqcl8DJa8EWIh1p/C5L7N3PsR3f/4zZAQsv0qIJ7HtmL/HgMiXPHND+8AzmQwDwLlG8w+T+EGE6XrLWOoxaL+KI8GVl4qXgv53BFwFAAGYLOsehLsg4O9O4ACiZpGQJosAIJFPeLoej0TVo/NlKfHUMRwAmGbS6TTZV2DCXQ3jejlV1iuLOw87JkPDbSIAKNwotJhxeMyHRw/6TOO2yS2H8Fqn1vySI2+vaZ0GKfHR25SqltR+2zuHmVwC7yvxnXlzBcdBLnWuhcCVv16xq75Wg07h7alNlmng1jkHyQc4ycxaTYaFA1xrGhNbFrMTRQrqXZB4bmv47ALPG3Btng0HmGWymtByfQ0AQClGN0hQqruJG0Tkt9f2SMpne4vaPWuo9zWdPFoFsNFVNCR8is/ft4dPPXCUYnQFkh4TYXowmWsS4kElrr3plx14ZMa2Y/56y1gSwAKEDINppp2qScK+AEpNY2Lr081ic/AQQyqdTlPnFzDWWKb+AwN0FhnbgVd8AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAYAAAAIXrg4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAqBJREFUSIntlU1PE1EUht9zpRoNbjCC2CnE3wBrpixMXGhkASZooDMSG+Naw4Z2CpgY/4IhzEDahIVJN+5Y2Nm56NI/IFNiNbDioyGFe1yUuUxn+kXc9l3NnXPu895z75k7QF99BVWeSMfKE+nYdeZQp+Af/d1gHbUFBs8QeBIkhgBAShwKoMyCiwOx8/zobv7k2gbetJkmKT/50HaSkAeCaFn77mz2ZFCeSMceDNYdEF52AkfEvB3H+BK5q+fB1yKc58Mly1Mwb3fjSsYWgBqIFj3sbYTjTQbetJn24STomeY6KWasdlh1Zsy1DZL8HEBNEFKVpJEKpqgtahzoyS+QGALztuY6KtHTzRwRrGY4spprr/vDim4WGovD3xt3Y4/i376cNlVQR21BHSjRoqebOT+WcO1cqBIrCPeS5rp/ZoIwjOP6fGSLGDzTVBrBam3COa1krwXhBKwE515AKpbaooqeOmzVksxYTbh2Lvy+HfxSVa1kj6oKfs7N3WzX7+FKeoBDAiNsWUIZdBMRcy95Lef6D3tT5oEQuNcixwrueVBe0lgjUCYa4d9ayXkIBCoQQDmah2z4QL2kocaJkpNl5oi5BCnWVRcJLjbDORNuRQJWCJRpMnEdK/wxCoZiKYOB2HleQh4Ajc9fc52PYbg/JlDG0w0FTbh2DsyFy2FVnh3tRAxGd/MngmgZAAThxf6U8bgVXJkQZf3u2tNTT8A82ygcH8Z+fK1dLSakim5sgWgRQA2MYtdblbkA5lkIcQvAhlay3wTDkTaNY3zp8oa83dOVTfTKh8fvH7+NhNvNq+ivDQn+LAjDXSyqEvR+rLRZaBXs+Mvcf5q+g+P6/AXkjICYlMAIAAhwVYLKglGUZ0c7wT3/L7FlCf8K6KsvpX8leyc1Peg10AAAAABJRU5ErkJggg==\""],"sourceRoot":""}