{"version":3,"sources":["constant/action-types.js","config.js","reducers/reducer-jwt.js","reducers/reducer-auth.js","reducers/reducer-myProfile.js","reducers/reducer-snackbar.js","reducers/reducer-orgunit.js","reducers/reducer-permissions.js","reducers/reducer-userProfiles.js","reducers/reducer-orguser.js","reducers/reducer-notification.js","reducers/reducer-work.js","reducers/reducer-document.js","reducers/reducer-workorder.js","reducers/reducer-course.js","reducers/reducer-courseuser.js","reducers/reducer-examuser.js","reducers/reducer-question.js","reducers/reducer-exam.js","reducers/reducer-event.js","reducers/reducer-examinstance.js","reducers/reducer-config.js","reducers/reducer-appuser.js","utils/index.js","store/configureStore.js","reducers/index.js","actions/action-permissions.js","components/common/CommonFunctions.js","actions/action-snackbar.js","actions/action-config.js","components/common/OrgunitCard.js","actions/action-orgunit.js","components/common/SearchField.js","components/common/Loader.js","actions/index.js","components/assets/images/ces/ces-logo.png","components/layout/SidebarBiz.js","components/layout/SidebarInv.js","components/layout/SidebarCP.js","components/assets/images/booking.png","components/assets/images/notification2.png","components/assets/images/docs.png","components/layout/Sidebar.js","components/assets/images/diagram.png","components/assets/images/orgusers.png","components/assets/images/group.png","components/assets/images/board.png","components/assets/images/queue.png","components/assets/images/settings.png","components/layout/SidebarRoot.js","components/layout/SidebarSystem.js","components/layout/Header.js","components/layout/Footer.js","components/assets/images/ces/ces-logo-dark.png","components/common/CommonSnackBar.js","components/layout/HeaderInv.js","components/layout/HeaderBiz.js","components/layout/SidebarWrapper.js","components/pages/Orgunit/Orgunit.js","components/common/FormButton.js","components/pages/Orgunit/RegisterOrgunit.js","components/pages/Orgunit/EditOrgunitDetails.js","components/common/CommonConfirm.js","actions/action-course.js","actions/action-userProfiles.js","actions/action-courseuser.js","actions/action-examuser.js","actions/action-exam.js","components/common/CommonDelete.js","components/pages/Orgunit/OrgunitDetails.js","components/common/UserCard.js","actions/action-orguser.js","components/pages/UserManagement/OrgUsers.js","actions/action-appuser.js","components/common/PolicyCard.js","components/common/AppPolicyCard.js","components/pages/UserManagement/OrgUserDetails.js","components/pages/UserManagement/Users.js","components/FormErrors.js","components/utility/FormValidation.js","components/pages/UserManagement/CreateUser.js","components/pages/UserManagement/UserDetails.js","components/pages/UserManagement/EditUser.js","actions/action-jwt.js","actions/action-auth.js","actions/action-myProfile.js","components/auth/LogIn.js","components/auth/Register.js","components/auth/ForgotPassword.js","components/auth/ForgotPasswordVerification.js","components/auth/ChangePassword.js","components/assets/images/edwinImages/Completed.png","components/auth/ChangePasswordConfirm.js","components/assets/images/bannerimg.png","components/pages/Post/CourseCardPublic.js","components/assets/images/edwinImages/Bannerimage.png","components/pages/Home.js","components/assets/images/edwinImages/vision.png","components/assets/images/edwinImages/mission.png","components/assets/images/edwinImages/dashusermanagement.png","components/assets/images/edwinImages/dashhome.png","components/assets/images/edwinImages/dashmembership.png","components/assets/images/edwinImages/dashonlineeducation.png","components/pages/Dashboard.js","components/assets/images/edwinImages/user.png","components/common/MyProfileComponet.js","components/pages/MyProfile.js","components/auth/Welcome.js","components/pages/ThankYouPage.js","components/pages/Help.js","components/pages/PageNotFound.js","components/assets/images/Channel-Partners.png","components/assets/images/Buisness.png","components/assets/images/ivestor.png","components/assets/images/serviceProvider.png","components/assets/images/Manageuser.png","components/assets/images/Notification.png","components/assets/images/ibc-logo.png","components/pages/UserPage/PaymentPopup.js","components/pages/UserPage/PaymentPage.js","components/pages/UserPage/ActionCard.js","components/assets/images/edwinImages/welcomecard.jpg","components/assets/images/edwinImages/moneycard.jpg","components/assets/images/edwinImages/shopcard.jpg","components/pages/UserPage/PackageCard.js","components/assets/images/edwinImages/fundingcard.jpg","components/assets/images/edwinImages/donecard.jpg","components/pages/UserPage/RegisterForm.js","components/pages/UserPage/UnSubscribedUser.js","components/pages/UserHome.js","actions/action-notification.js","components/pages/Notification/NotificationDetails.js","components/pages/Notification/Notifications.js","components/pages/PermissionError.js","components/pages/UserManagement/EditOrgUser.js","components/pages/UserManagement/CreateOrgUser.js","components/pages/Orgunit/OrgPlan.js","actions/action-document.js","components/pages/Document/DocumentDetails.js","components/common/CommonPopUp.js","components/common/DocumentUploader.js","components/pages/Document/DocumentBoard.js","components/pages/Post/CourseCard.js","components/assets/images/edwinImages/certificationbanner.png","components/assets/images/edwinImages/homebanner.png","components/assets/images/edwinImages/buildings.png","components/pages/Post/CourseDash.js","components/pages/Post/MyCourseCard.js","components/pages/Post/MyCourseDash.js","components/pages/Post/SubscriptionDash.js","components/pages/Post/ExamCard.js","components/pages/Post/ExamDash.js","components/pages/Post/MyExamCard.js","components/pages/Post/MyExamDash.js","components/pages/Post/ExamSubscriptionDash.js","actions/action-examinstance.js","components/pages/Post/ExamInstances.js","components/pages/UserPage/Slate.js","components/pages/Vod/Player.js","components/pages/Post/ChapterCardAdmin.js","components/pages/Post/CourseDetails.js","components/pages/Post/QuestionCardAdmin.js","components/pages/Post/ExamDetails.js","actions/action-cl-question.js","components/pages/Post/ManageQuestions.js","components/pages/Post/CourseLineTest.js","components/pages/Post/CoursePublicDetails.js","components/pages/Post/MyCourseDetails.js","actions/action-event.js","components/pages/Post/ExamTimer.js","components/pages/Post/MyExamDetails.js","components/pages/Post/MyExamResult.js","components/pages/Post/ExamPre.js","components/pages/Post/ExamPost.js","components/pages/Config/ConfigDetails.js","components/pages/Config/ConfigDash.js","components/pages/Orgunit/OrgHome.js","components/assets/images/edwinImages/objects-messages.svg","components/assets/images/edwinImages/objects-lightbulb.svg","components/assets/images/edwinImages/24-hours.png","components/pages/UserPage/Support.js","components/assets/images/edwinImages/email.png","components/assets/images/edwinImages/tasks.png","components/pages/UserPage/CompanyProfile.js","components/assets/images/edwinImages/registrationcomplete.png","components/common/ProgressCircle.js","components/pages/UserPage/RegistartionCompleted.js","components/pages/Post/CreateCourse.js","components/pages/Post/CreateExam.js","components/pages/Post/ExamViewEvents.js","App.js","serviceWorker.js","index.js"],"names":["RESET_STATE","SET_ALL_PERMISSIONS","SET_ACTIVE_TEAMID","SET_ACTIVE_OUID","SET_USER_ROLES","SET_ACTIVE_OUID_CHAIN","CLEAR_ACTIVE_OUID_CHAIN","LOGIN_REQUSTED","LOGIN_SUCCESS","LOGIN_FAILED","JWT_SET","UN_JWT_SET","JWT_ERRORED","SHOW_SNACKBAR","HIDE_SNACKBAR","GET_MY_PROFILE_DETAILS_REQUESTED","GET_MY_PROFILE_DETAILS_SUCCESS","GET_MY_PROFILE_DETAILS_ERRORED","GET_ALL_ORGUSER_REQUESTED","GET_ALL_ORGUSER_SUCCESS","GET_ALL_ORGUSER_ERRORED","GET_ORG_USER_DETAILS_REQUESTED","GET_ORG_USER_DETAILS_SUCCESS","GET_ORG_USER_DETAILS_ERRORED","UPDATE_ORG_USER_REQUESTED","UPDATE_ORG_USER_SUCCESS","UPDATE_ORG_USER_ERRORED","CREATE_ORG_USER_REQUESTED","CREATE_ORG_USER_SUCCESS","CREATE_ORG_USER_ERRORED","CREATE_USER_PROFILE_REQUESTED","CREATE_USER_PROFILE_SUCCESS","CREATE_USER_PROFILE_ERRORED","UPDATE_USER_PROFILE_REQUESTED","UPDATE_USER_PROFILE_SUCCESS","UPDATE_USER_PROFILE_ERRORED","GET_USER_PROFILE_DETAILS_REQUESTED","GET_USER_PROFILE_DETAILS_SUCCESS","GET_USER_PROFILE_DETAILS_ERRORED","GET_ALL_USER_PROFILES_REQUESTED","GET_ALL_USER_PROFILES_SUCCESS","GET_ALL_USER_PROFILES_ERRORED","DELETE_USER_PROFILE_REQUESTED","DELETE_USER_PROFILE_SUCCESS","DELETE_USER_PROFILE_ERRORED","REGISTER_Orgunit_REQUESTED","REGISTER_Orgunit_SUCCESS","REGISTER_Orgunit_ERRORED","GET_ALL_Orgunit_REQUESTED","GET_ALL_Orgunit_SUCCESS","GET_ALL_Orgunit_ERRORED","GET_Orgunit_DETAILS_REQUESTED","GET_Orgunit_DETAILS_SUCCESS","GET_Orgunit_DETAILS_ERRORED","UPDATE_Orgunit_DETAILS_REQUESTED","UPDATE_Orgunit_DETAILS_SUCCESS","UPDATE_Orgunit_DETAILS_ERRORED","DELETE_Orgunit_REQUESTED","DELETE_Orgunit_SUCCESS","DELETE_Orgunit_ERRORED","GET_ORG_PLAN_DETAILS_REQUESTED","GET_ORG_PLAN_DETAILS_SUCCESS","GET_ORG_PLAN_DETAILS_ERRORED","GET_ALL_NOTIFICATION_REQUESTED","GET_ALL_NOTIFICATION_SUCCESS","GET_ALL_NOTIFICATION_ERRORED","UPDATE_NOTIFICATION_ERRORED","UPDATE_NOTIFICATION_SUCCESS","UPDATE_NOTIFICATION_REQUESTED","GET_ALL_WORK_REQUESTED","GET_ALL_WORK_SUCCESS","GET_ALL_WORK_ERRORED","CREATE_OR_UPDATE_WORK_REQUESTED","CREATE_OR_UPDATE_WORK_SUCCESS","CREATE_OR_UPDATE_WORK_ERRORED","GET_WORK_DETAILS_REQUESTED","GET_WORK_DETAILS_SUCCESS","GET_WORK_DETAILS_ERRORED","DELETE_WORK_REQUESTED","DELETE_WORK_SUCCESS","DELETE_WORK_ERRORED","CREATE_OR_UPDATE_WORKLINE_REQUESTED","CREATE_OR_UPDATE_WORKLINE_SUCCESS","CREATE_OR_UPDATE_WORKLINE_ERRORED","GET_ALL_WORKLINE_REQUESTED","GET_ALL_WORKLINE_SUCCESS","GET_ALL_WORKLINE_ERRORED","CREATE_DOCUMENT_REQUESTED","CREATE_DOCUMENT_SUCCESS","CREATE_DOCUMENT_ERRORED","GET_ALL_DOCUMENTS_REQUESTED","GET_ALL_DOCUMENTS_SUCCESS","GET_ALL_DOCUMENTS_ERRORED","DOCUMENT_UPLOAD_REQUESTED","DOCUMENT_UPLOAD_SUCCESS","DOCUMENT_UPLOAD_ERRORED","CREATE_OR_UPDATE_CONFIGS_REQUESTED","CREATE_OR_UPDATE_CONFIGS_SUCCESS","CREATE_OR_UPDATE_CONFIGS_ERRORED","GET_ALL_ACTIVE_CONFIGS_REQUESTED","GET_ALL_ACTIVE_CONFIGS_SUCCESS","GET_ALL_ACTIVE_CONFIGS_ERRORED","GET_ALL_DEPLOYED_CONFIGS_REQUESTED","GET_ALL_DEPLOYED_CONFIGS_SUCCESS","GET_ALL_DEPLOYED_CONFIGS_ERRORED","SET_ACTIVE_OUID_CONFIGS_REQUESTED","SET_ACTIVE_OUID_CONFIGS_SUCCESS","SET_ACTIVE_OUID_CONFIGS_ERRORED","CREATE_APP_USER_REQUESTED","CREATE_APP_USER_SUCCESS","CREATE_APP_USER_ERRORED","GET_APP_USER_DETAILS_REQUESTED","GET_APP_USER_DETAILS_SUCCESS","GET_APP_USER_DETAILS_ERRORED","GET_ALL_APP_USER_REQUESTED","GET_ALL_APP_USER_SUCCESS","GET_ALL_APP_USER_ERRORED","DELETE_APP_USER_REQUESTED","DELETE_APP_USER_SUCCESS","DELETE_APP_USER_ERRORED","CREATE_WORKORDER_REQUESTED","CREATE_WORKORDER_SUCCESS","CREATE_WORKORDER_ERRORED","GET_ALL_WORKORDERS_REQUESTED","GET_ALL_WORKORDERS_SUCCESS","GET_ALL_WORKORDERS_ERRORED","GET_WORKORDER_REQUESTED","GET_WORKORDER_SUCCESS","GET_WORKORDER_ERRORED","CREATE_COURSE_REQUESTED","CREATE_COURSE_SUCCESS","CREATE_COURSE_ERRORED","UPDATE_COURSE_REQUESTED","UPDATE_COURSE_SUCCESS","UPDATE_COURSE_ERRORED","GET_COURSES_REQUESTED","GET_COURSES_SUCCESS","GET_COURSES_ERRORED","GET_COURSE_REQUESTED","GET_COURSE_SUCCESS","GET_COURSE_ERRORED","DELETE_COURSE_REQUESTED","DELETE_COURSE_SUCCESS","DELETE_COURSE_ERRORED","CREATE_COURSEUSER_SUCCESS","CREATE_COURSEUSER_ERRORED","CREATE_COURSEUSER_REQUESTED","GET_COURSEUSERS_REQUESTED","GET_COURSEUSERS_SUCCESS","GET_COURSEUSERS_ERRORED","GET_COURSEUSER_REQUESTED","GET_COURSEUSER_SUCCESS","GET_COURSEUSER_ERRORED","DELETE_COURSEUSER_REQUESTED","DELETE_COURSEUSER_SUCCESS","DELETE_COURSEUSER_ERRORED","CREATE_OR_UPDATE_COURSELINE_REQUESTED","CREATE_OR_UPDATE_COURSELINE_SUCCESS","CREATE_OR_UPDATE_COURSELINE_ERRORED","GET_COURSELINES_REQUESTED","GET_COURSELINES_SUCCESS","GET_COURSELINES_ERRORED","CREATE_OR_UPDATE_EXAMLINE_REQUESTED","CREATE_OR_UPDATE_EXAMLINE_SUCCESS","CREATE_OR_UPDATE_EXAMLINE_ERRORED","GET_EXAMLINES_REQUESTED","GET_EXAMLINES_SUCCESS","GET_EXAMLINES_ERRORED","CREATE_CL_QUESTION_REQUESTED","CREATE_CL_QUESTION_ERRORED","CREATE_CL_QUESTION_SUCCESS","GET_CL_QUESTIONS_REQUESTED","GET_CL_QUESTIONS_SUCCESS","GET_CL_QUESTIONS_ERRORED","DELETE_CL_QUESTION_REQUESTED","DELETE_CL_QUESTION_SUCCESS","DELETE_CL_QUESTION_ERRORED","CREATE_EXAMUSER_SUCCESS","CREATE_EXAMUSER_ERRORED","CREATE_EXAMUSER_REQUESTED","GET_EXAMUSERS_REQUESTED","GET_EXAMUSERS_SUCCESS","GET_EXAMUSERS_ERRORED","GET_EXAMUSER_REQUESTED","GET_EXAMUSER_SUCCESS","GET_EXAMUSER_ERRORED","DELETE_EXAMUSER_REQUESTED","DELETE_EXAMUSER_SUCCESS","DELETE_EXAMUSER_ERRORED","CREATE_EXAM_SUCCESS","CREATE_EXAM_ERRORED","CREATE_EXAM_REQUESTED","UPDATE_EXAM_SUCCESS","UPDATE_EXAM_ERRORED","UPDATE_EXAM_REQUESTED","GET_EXAMS_REQUESTED","GET_EXAMS_SUCCESS","GET_EXAMS_ERRORED","GET_EXAM_REQUESTED","GET_EXAM_SUCCESS","GET_EXAM_ERRORED","DELETE_EXAM_REQUESTED","DELETE_EXAM_SUCCESS","DELETE_EXAM_ERRORED","CREATE_EXAMINSTANCE_REQUESTED","CREATE_EXAMINSTANCE_SUCCESS","CREATE_EXAMINSTANCE_ERRORED","UPDATE_EXAMINSTANCE_REQUESTED","UPDATE_EXAMINSTANCE_SUCCESS","UPDATE_EXAMINSTANCE_ERRORED","GET_EXAMINSTANCES_REQUESTED","GET_EXAMINSTANCE_REQUESTED","GET_EXAMINSTANCES_SUCCESS","GET_EXAMINSTANCES_ERRORED","GET_EXAMINSTANCE_SUCCESS","GET_EXAMINSTANCE_ERRORED","UPDATE_EXAMLINEINSTANCE_REQUESTED","UPDATE_EXAMLINEINSTANCE_SUCCESS","UPDATE_EXAMLINEINSTANCE_ERRORED","GET_EXAMLINEINSTANCES_REQUESTED","GET_EXAMLINEINSTANCES_SUCCESS","GET_EXAMLINEINSTANCES_ERRORED","GET_EXAMLINEINSTANCE_REQUESTED","GET_EXAMLINEINSTANCE_SUCCESS","GET_EXAMLINEINSTANCE_ERRORED","CREATE_EVENT_REQUESTED","CREATE_EVENT_SUCCESS","CREATE_EVENT_ERRORED","GET_EVENTS_REQUESTED","GET_EVENTS_SUCCESS","GET_EVENTS_ERRORED","dev","api","invokeUrl","coursesUrl","woUrl","cognito","REGION","USER_POOL_ID","APP_CLIENT_ID","payemntSecretName","razorpayId","config","process","trim","MAX_ATTACHMENT_SIZE","initialState","apiEndpoint","coursesApiEndpoint","userSession","credentials","error","jwt","state","type","payload","console","log","session","signInUserSession","idToken","jwtToken","defaultState","showGlobalLoader","auth_state","action","details","myProfile","snackbarOpen","snackbarMessage","snackbarType","snackbar","orgunits","OrgunitDetails","orgPlanDetails","bizOrgunits","cpOrgunits","invOrgunits","orgunit","items","policies","teamPolicies","appPolicies","activeOuid","activeTeamId","userRoles","units","activeOuidChain","activeOuidType","permission","permissions","id","roles","data","ouidChain","userProfileDetails","userProfiles","userProfile","orgUserDetails","orgUserProfiles","orgUserProfile","notifications","notification","works","workDetails","showGlobalLoaderWorkline","worklines","worklineDetails","work","JSON","stringify","showUploadLoader","documents","documentDetails","document","workorder","workorders","booking","courses","coursesDetails","showGlobalLoaderCourseline","courselines","courselineDetails","course","courseDetails","courseUsers","courseUser","courseuser","examUsers","examUser","examuser","questions","question","exams","showGlobalLoaderExamline","examlines","examlineDetails","examDetails","exam","events","event","showGlobalLoaderExamlineinstance","showGlobalLoaderExamlineinstances","examlineinstances","examlineinstanceDetails","examinstanceDetails","examinstances","examinstance","activeOuidConfigs","activeOuidCoreConfigs","allActiveConfigs","deployedConfigs","configDetails","find","identifier","appUserDetails","appUserProfiles","appUserProfile","store","history","createBrowserHistory","router","connectRouter","Reducers","Object","assign","profile","allReducers","combineReducers","rootReducer","resultState","fieldNamesStart","clearState","keys","map","key","filter","keyPart","startsWith","length","cleanState","sagaMiddleware","createSagaMiddleware","configureStore","reduxDevToolsExtCompose","window","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","composeEnhancers","compose","createStore","applyMiddleware","thunk","routerMiddleware","setAllPermissions","setActiveOuid","setUserRole","setActiveOuidChain","dispatch","a","getState","url","axiosHeader","headers","Authorization","axios","then","response","catch","err","userRoleCheck","includes","i","policy","role","split","userRole","push","Statement","Effect","Action","Principal","permissionsCheck","requestedAction","ouid","userHeighestRole","ouidRole","RedirectFunc","timeFormat","date","date1Stamp","Date","isNaN","toLocaleString","isEmptyJson","value","constructor","downloadFromUrl","name","fetch","resp","blob","URL","createObjectURL","createElement","style","display","href","download","body","appendChild","click","revokeObjectURL","alert","updateQueryStringParameter","viewType","newurl","location","protocol","host","pathname","pushState","path","currentUrlParams","URLSearchParams","search","delete","set","toString","showSnackbar","hideSnackbar","setActiveOiudConfigs","useStyles","makeStyles","root","minWidth","maxWidth","marginRight","marginBottom","padding","justifyContent","position","backgroundColor","boxShadow","borderRadius","transition","OrchProfileCard","fontSize","avatar","title","pos","CardActions","OrgunitCard","props","Orgunit","classes","Icontooltip","withStyles","tooltip","Tooltip","handleOrgChange","home","deafaultUrl","Card","className","Button","variant","onClick","markedForDeletion","emailId","mobile","disableSpacing","IconButton","update_Orgunit_success","update_Orgunit","entityRules","enitityRule","entity","publishToApiTopic","actions","indexOf","get_all_Orgunit","get_orgunit_details","delete_Orgunit","theme","alignItems","width","input","marginLeft","spacing","flex","iconButton","divider","height","margin","SearchField","onChangeFunc","onChange","Paper","component","InputBase","placeholder","inputProps","Loader","CircularProgress","resetState","drawerWidth","appBar","zIndex","drawer","transitions","create","easing","sharp","duration","leavingScreen","appBarShift","enteringScreen","menuButton","hide","flexShrink","whiteSpace","marginTop","drawerOpen","drawerClose","overflowX","breakpoints","up","toolbar","mixins","content","flexGrow","drawerHeader","grow","sectionDesktop","sectionMobile","nested","paddingLeft","linkText","fontWeight","color","ActiveItem","background","connect","useTheme","React","useState","innerWidth","open","setOpen","anchorProfile","setAnchorProfile","openProfile","Boolean","isAuthenticated","auth","useEffect","setActiveOuidValue","Dropdownopen","setDropdownOpen","handleProfileClose","handleLogOut","preventDefault","Auth","signOut","setAuthStatus","setUser","message","CssBaseline","AppBar","clsx","Toolbar","edge","src","Logo","alt","currentTarget","anchorEl","anchorOrigin","vertical","horizontal","keepMounted","transformOrigin","onClose","MenuItem","username","Drawer","paper","sx","boxSizing","direction","List","MenuList","ListItem","button","ListItemIcon","ListItemText","primary","Divider","Collapse","in","timeout","unmountOnExit","disablePadding","easeOut","drawerPaper","anchor","Link","to","link","top","select","borderColor","icon","fill","activeOuidValue","handleDropDown","target","orgUnits","newLink","text","utilities","Docs","Booking","renderMenuIcon","require","default","Typography","noWrap","FormControl","Select","labelId","activeOuidExist","renderOuids","item","index","renderMenuTtem","Badge","badgeContent","applications","appPath","userName","logo","navlinks","headerRightWrapper","Mobilelink","flexDirection","paddingTop","MobileLinkItem","elevation","footer","textAlign","footerLogo","footerLink","Alert","handleSnackClose","Snackbar","autoHideDuration","severity","SidebarWrapper","this","renderSidebar","SidebarRoot","SidebarSystem","Component","orgunitsToShow","unregisterHistoryListener","listen","fetchDetailsBasedOnUrl","fetchDetails","setState","urlOuid","keyword","searchPattern","RegExp","term","join","match","status","meta","file","f","uploadURL","files","postHeader","uploadresponse","e","renderOrgunit","FormButton","RegisterOrgunit","handleSubmit","register_Orgunit","onInputChange","description","Box","px","py","TextField","helperText","EditOrgunitDetails","bind","newOrgunitDetails","keyName","keyIndex","htmlFor","Input","readOnly","renderDetails","DialogText","CommentInputWrapper","PrimaryButtonroot","SecondaryButtonroot","confirmBox","closeConfirmBox","handleClose","Dialog","fullWidth","DialogContent","DialogContentText","DialogActions","label","SecondaryButtonrlabel","PrimaryButtonrlabel","get_courses_requested","get_courses_success","get_courses_errored","get_courses","category","get_course","get_course_requested","get_course_success","get_course_errored","get_course_public","delete_course","delete_course_requested","delete_course_success","delete_course_errored","create_update_courseline","courselineId","method","get_courselines_requested","get_courselines_success","get_courselines_errored","get_courselines","courseid","get_courselines_public","delete_course_line","create_user_profile","update_user_profile","get_user_profile_details","orgUserCreate","delete_delete_user_profile","get_courseusers_requested","get_courseusers_success","get_courseusers_errored","delete_course_user","delete_courseuser_requested","courseuserid","encodeURIComponent","delete_courseuser_success","delete_courseuser_errored","get_examusers_requested","get_examusers_success","get_examusers_errored","get_all_exam_users","delete_exam_user","delete_examuser_requested","examuserid","delete_examuser_success","delete_examuser_errored","update_exam","get_exams_requested","get_exams_success","get_exams_errored","get_exams","get_exam_requested","get_exam_success","get_exam_errored","delete_exam","delete_exam_requested","delete_exam_success","delete_exam_errored","create_update_examline","examlineId","get_examlines","examid","CommonDelete","deleteConfirmFunc","confirmation","deleteItem","get_all_orguesr","get_org_user_details","OrgUsers","usersToShow","users","row","TableRow","TableCell","scope","replace","email","phone_number","user","TableContainer","Table","TableHead","TableBody","renderUsers","create_app_user","appId","get_all_app_user","PolicyCard","deletePolicy","editable","policyDetails","AppPolicyCard","context","OrgUserDetails","userDetails","newPolicy","attachingPolicy","orgUnitType","orgUnitOuid","orgUnitRole","errors","orgUnitsToShow","deleteAppRole","renderApplicationPolicy","Users","get_all_user_profile_details","cognitoStatus","FormErrors","formerrors","blankfield","passwordmatch","apierrors","validateForm","inputs","getElementsByClassName","classList","contains","remove","hasOwnProperty","getElementById","add","firstname","lastname","verificationcode","password","oldpassword","newpassword","confirmpassword","CreateUser","clearErrorState","Validate","signUp","attributes","signUpResponse","newUserDetails","UserDetails","EditUser","splice","setJwt","login_requested","login_success","login_failed","get_profile_details","LogIn","redirection","signIn","decodedToken","allPolicy","defaultUrl","checkRedirection","get","LoginImage","onSubmit","Register","ForgotPassword","forgotPasswordHandler","forgotPassword","ForgotPasswordVerification","passwordVerificationHandler","forgotPasswordSubmit","ChangePassword","currentAuthenticatedUser","changePassword","ChangePasswordConfirmation","Completed","media","CourseCardPublic","Post","CardActionArea","CardMedia","image","featuredImage","CardContent","gutterBottom","summary","substring","Home","coursesToShow","Name","Email","Phone","Message","get_courses_public","PostList","targetOrg","requestId","deadline","phone","homeBanner","Dashboard","subscription","usermanagement","MyProfileImg","MyProfileDataItem","paddingBottom","MyProfileData","MyProfileDataLabel","MyProfileComponet","profileDetails","Profile","MyProfile","Welcome","ThankYouPage","channelPartner","fucntionName","componentDidMount","MiniDrawer","right","border","componentToPassDown","PaymentPage","packageDetails","paymentOrder","setPaymentOrder","agree","setAgree","placeOrder","amount","currency","showRazorPay","Promise","resolve","script","onload","onerror","res","options","paymentSucess","rzp1","Razorpay","on","code","source","step","reason","metadata","order_id","payment_id","subscriptionStatus","paymentDetails","bizRegistrationStatus","reload","minHeight","left","CardHeading","overflow","packageCardBg","bottom","eyebrow","packageCardContent","heading","packagePrice","alignSelf","PackageCard","payment","setPayment","activeStep","setActiveStep","Set","skipped","setSkipped","steps","handleNext","newSkipped","has","values","prevActiveStep","instructions","Money","Shop","getStepContent","active","circle","completed","backgroundImage","formControl","UnSubscribedUser","UserHome","defaultOrgType","update_notification","notifId","notif","closeNotifDash","update","newData","updateNotificationDetails","notifName","notifDetail","createdDate","dueDate","notifActionName","columns","field","headerName","valueGetter","params","getValue","Notifications","notificationsToShow","selectionModel","notifDash","currentNotif","allStatus","get_all_notification","newRows","newRow","setNOtifDash","setSelectionModel","checked","FormControlLabel","control","Checkbox","handleCheckChange","rows","renderNotifications","pageSize","checkboxSelection","disableSelectionOnClick","onCellClick","openNotifDash","hideFooterSelectedRowCount","onSelectionModelChange","selection","lastElement","pop","PermissionError","EditOrgUser","roleChange","newRoles","renderOrgUnitRoles","coreConfig","appChange","appRoleChange","applicationRole","renderApplicationList","renderApplicationRoles","application","oldAppUserProfiles","appRoleMappings","appRole","newAppRoleMappings","appExist","appPolicyExistInOldData","applicationDetails","delete_app_user","deleteAppRoleFormMapping","update_org_user_profile","InputLabel","appid","CreateOrgUser","searchUser","userDetailsExist","userNameExists","create_org_user","orgRoleChange","parse","OrgPlan","get_org_plan_details","TextareaAutosize","create_document","get_document_signed_url","getURL","closeDetails","getDownloadUrl","rerender","setFile","setDetails","onFileUpload","fileName","uploadFile","signedUrlData","Key","workColumns","DocumentBoard","documentListToShow","tabValue","showDocumentDetails","currentDocument","upload","get_all_documents_by_ouid","prevState","handleUploadBox","renderDocument","openDetails","element","signedUrl","renderEditButton","CourseCard","CourseDash","renderAddButton","renderPosts","posts","post","MyCourseCard","courseData","MyCourseDash","get_my_subc_courses","selectedUserName","selectedCourseId","selectedCourse","selectedCourseData","SubscriptionDash","addSubscription","create_course_user","courseUserPayload","courseId","courseOptionsToShow","userOptionsToShow","courseUsersToShow","get_all_course_users","opt","courseOption","userOption","courseList","classNamePrefix","isClearable","isSearchable","handleCourseOnChange","courseusers","createdBy","userList","handleUserOnChange","renderCourses","renderCourseUsers","bookInParent","ExamCard","ExamDash","examsToShow","MyExamCard","fiveMinutesLater","toISOString","slice","examStartTime","examinstanceid","examData","MyExamDash","get_my_subc_exams","selectedExamId","selectedExam","selectedExamData","selectedStartTime","ExamSubscriptionDash","create_exam_user","examUserPayload","examId","examOptionsToShow","examUsersToShow","examOption","examList","handleExamOnChange","examusers","renderExams","InputLabelProps","shrink","min","required","renderExamUsers","submit_examinstance","get_examinstance","get_examinstances_requested","get_examinstances_success","get_examinstances_errored","get_examinstance_requested","get_examinstance_success","get_examinstance_errored","get_examinstance_result","get_examlineinstances","examinstanceId","get_examlineinstance","get_examlineinstance_requested","get_examlineinstance_success","get_examlineinstance_errored","ExamInstances","getExamInstances","get_examinstances_by_examuser","get_examinstances_by_examid","examInstancesToShow","result","totalMarks","maxMarks","passed","renderExamInstances","Player","urlSrc","playerRef","useRef","percentCurrent","fireOnVideoStart","timeupdate","current","currentTime","handlePercent","Math","ceil","fireOnVideoEnd","addEventListener","autoPlay","controls","hlsConfig","lowLatencyMode","startPosition","ChapterCardAdmin","editChapterVisibility","setEditChapterVisibility","courseVideo","sequenceNumber","previewable","defaultValue","multiline","minRows","selected","handleSave","CourseDetails","renderCourselines","currentSelection","forEach","currentVideo","currentSequenceNumber","currentSummary","currentTitle","renderCourselinesForAdmin","sort","b","newchapterTitle","newChapterPreviewable","addChapterVisibility","editCourseVisibility","fetchPublicDetails","newchapterVideo","newchapterFeaturedImage","newchapterSummary","newchapterSequenceNumber","setAddChapterVisibility","visibility","courseeditdetails","setEditCourseVisibility","renderCourseEditForm","addChapter","renderCourse","QuestionCardAdmin","editQuestionVisibility","setEditQuestionVisibility","questionImage","answer1","answer1Marks","answer2","answer2Marks","answer3","answer3Marks","answer4","answer4Marks","ExamDetails","handleAllowRetakesChange","option","examAllowRetakes","renderExamlines","currentQuestionSequenceNumber","currentQuestion","renderExamlinesForAdmin","newquestionQuestion","newquestionSequenceNumber","newquestionFeaturedImage","newquestionAnswer1","newquestionAnswer1Marks","newquestionAnswer2","newquestionAnswer2Marks","newquestionAnswer3","newquestionAnswer3Marks","newquestionAnswer4","newquestionAnswer4Marks","examTitle","examSummary","examFeaturedImage","examStatus","examSequenceNumber","examPassMarks","examMaxMarks","preExamText","postExamText","examDurationMinutes","addQuestionVisibility","editExamVisibility","get_exam","passMarks","setAddQuestionVisibility","setEditExamVisibility","exameditdetails","renderExamEditForm","addQuestion","renderExam","create_cl_question","get_cl_questions","ManageQuestions","currentCourselineId","currentQuestionText","currentAnswerOption1","currentAnswerOption2","currentAnswerOption3","currentAnswerOption4","currentAnswerOptions","questionText","answerOptions","newQuestionText","answerText","newAnswerOption1","isCorrect","newAnswerOption1Correctness","newAnswerOption2","newAnswerOption2Correctness","newAnswerOption3","newAnswerOption3Correctness","newAnswerOption4","newAnswerOption4Correctness","newSequenceNumber","answer","renderQuestionList","CourseLineTest","CoursePublicDetails","scrollTo","behavior","subcEmail","subcName","subcPhone","createWorkorder","createOpenWorkorder","courseTitle","MyCourseDetails","currentIdentifier","timeCounter","time","padStart","startTime","currentTimeinEpoc","floor","now","timeSinceExamStart","timeLeftCalculated","timeLeft","setTimeLeft","intervalRef","inputRef","setInterval","clearInterval","submitExamInstance","startTimer","minutes","seconds","videoConstraints","facingMode","MyExamDetails","renderQuestion","examlineinstance","currentItem","selectedAnswer","answerChanged","gotoPrevious","gotoNext","renderQuestionMeta","currentQ","currentIndex","maxQ","submitExam","handleCancel","handleSubmitClickOpen","renderSubmit","DialogTitle","autoFocus","webcamRef","createRef","examlineinstanceId","answerValue","update_selectedanswer","create_event","imageSrc","getScreenshot","groupObjectId","groupType","questionId","answerSelected","previousIndex","nextIndex","audio","screenshotFormat","ref","size","renderExamInstance","MyExamResult","modifiedBy","modifiedDate","toUTCString","renderExamInstanceResult","ExamPre","start_examinstance","startExam","renderExamPreText","ExamPost","gotoMyExams","Textarea","tableDeployColumns","tableActiveColumns","ConfigDash","activeConfigsToShow","deployedConfigsToShow","showDeployedDetails","showActiveDetails","currentDeployedConfig","selectionModelDeployed","selectionModelActive","get_all_active_configs","get_all_deployed_configs","currentActiveConfig","configs","currentConfig","splitedKey","create_or_update_configs","ETag","exist","uploadedDate","renderDeploylist","openDeployDetails","setSelectionModelDeployed","handleActivate","renderActivelist","openActiveDetails","setSelectionModelActive","OrgHome","Support","investor","Faq","Call","CompanyProfile","Business","GSTNumber","CircularProgressWithLabel","round","CircularStatic","progress","setProgress","timer","prevProgress","RegistartionCompleted","setTimeout","CompletedImage","CreateCourse","postDetails","create_course","newPostDetails","random","categoriesToshow","newValue","CreateExam","create_exam","ExamViewEvents","eventsToShow","get_events","renderEvents","App","isAuthenticating","authenticated","currentSession","intervalId","authProps","Router","Switch","Route","exact","render","ChangePasswordConfirm","hostname","createTheme","palette","main","contrastText","secondary","light","contrastThreshold","tonalOffset","typography","Amplify","configure","mandatorySignIn","region","userPoolId","userPoolWebClientId","ReactDOM","ThemeProvider","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.5496efe5.chunk.js","sourcesContent":["export const RESET_STATE = \"RESET_STATE\";\r\n\r\nexport const SET_ALL_PERMISSIONS = \"SET_ALL_PERMISSIONS\";\r\nexport const PERMISSIONS_HAS_ERRORED = \"PERMISSIONS_HAS_ERRORED\";\r\nexport const SET_ACTIVE_TEAMID = \"SET_ACTIVE_TEAMID\";\r\nexport const SET_ACTIVE_OUID = \"SET_ACTIVE_OUID\";\r\nexport const SET_USER_ROLES = \"SET_USER_ROLES\";\r\nexport const SET_ACTIVE_OUID_CHAIN = \"SET_ACTIVE_OUID_CHAIN\";\r\nexport const CLEAR_ACTIVE_OUID_CHAIN = \"CLEAR_ACTIVE_OUID_CHAIN\";\r\n\r\nexport const LOGIN_REQUSTED = \"LOGIN_REQUSTED\";\r\nexport const LOGIN_SUCCESS = \"LOGIN_SUCCESS\";\r\nexport const LOGIN_FAILED = \"LOGIN_FAILED\";\r\n\r\nexport const JWT_SET = \"JWT_SET\";\r\nexport const UN_JWT_SET = \"UN_JWT_SET\";\r\nexport const JWT_ERRORED = \"JWT_ERRORED\";\r\n\r\nexport const SHOW_SNACKBAR = \"SHOW_SNACKBAR\";\r\nexport const HIDE_SNACKBAR = \"HIDE_SNACKBAR\";\r\n\r\nexport const GET_MY_PROFILE_DETAILS_REQUESTED =\r\n \"GET_MY_PROFILE_DETAILS_REQUESTED\";\r\nexport const GET_MY_PROFILE_DETAILS_SUCCESS = \"GET_MY_PROFILE_DETAILS_SUCCESS\";\r\nexport const GET_MY_PROFILE_DETAILS_ERRORED = \"GET_MY_PROFILE_DETAILS_ERRORED\";\r\n\r\nexport const GET_ALL_ORGUSER_REQUESTED = \"GET_ALL_ORGUSER_REQUESTED\";\r\nexport const GET_ALL_ORGUSER_SUCCESS = \"GET_ALL_ORGUSER_SUCCESS\";\r\nexport const GET_ALL_ORGUSER_ERRORED = \"GET_ALL_ORGUSER_ERRORED\";\r\n\r\nexport const GET_ORG_USER_DETAILS_REQUESTED = \"GET_ORG_USER_DETAILS_REQUESTED\";\r\nexport const GET_ORG_USER_DETAILS_SUCCESS = \"GET_ORG_USER_DETAILS_SUCCESS\";\r\nexport const GET_ORG_USER_DETAILS_ERRORED = \"GET_ORG_USER_DETAILS_ERRORED\";\r\n\r\nexport const UPDATE_ORG_USER_REQUESTED = \"UPDATE_ORG_USER_REQUESTED\";\r\nexport const UPDATE_ORG_USER_SUCCESS = \"UPDATE_ORG_USER_SUCCESS\";\r\nexport const UPDATE_ORG_USER_ERRORED = \"UPDATE_ORG_USER_ERRORED\";\r\n\r\nexport const CREATE_ORG_USER_REQUESTED = \"CREATE_ORG_USER_REQUESTED\";\r\nexport const CREATE_ORG_USER_SUCCESS = \"CREATE_ORG_USER_SUCCESS\";\r\nexport const CREATE_ORG_USER_ERRORED = \"CREATE_ORG_USER_ERRORED\";\r\n\r\nexport const CREATE_USER_PROFILE_REQUESTED = \"CREATE_USER_PROFILE_REQUESTED\";\r\nexport const CREATE_USER_PROFILE_SUCCESS = \"CREATE_USER_PROFILE_SUCCESS\";\r\nexport const CREATE_USER_PROFILE_ERRORED = \"CREATE_USER_PROFILE_ERRORED\";\r\n\r\nexport const UPDATE_USER_PROFILE_REQUESTED = \"UPDATE_USER_PROFILE_REQUESTED\";\r\nexport const UPDATE_USER_PROFILE_SUCCESS = \"UPDATE_USER_PROFILE_SUCCESS\";\r\nexport const UPDATE_USER_PROFILE_ERRORED = \"UPDATE_USER_PROFILE_ERRORED\";\r\n\r\nexport const GET_USER_PROFILE_DETAILS_REQUESTED =\r\n \"GET_USER_PROFILE_DETAILS_REQUESTED\";\r\nexport const GET_USER_PROFILE_DETAILS_SUCCESS =\r\n \"GET_USER_PROFILE_DETAILS_SUCCESS\";\r\nexport const GET_USER_PROFILE_DETAILS_ERRORED =\r\n \"GET_USER_PROFILE_DETAILS_ERRORED\";\r\n\r\nexport const GET_ALL_USER_PROFILES_REQUESTED =\r\n \"GET_ALL_USER_PROFILES_REQUESTED\";\r\nexport const GET_ALL_USER_PROFILES_SUCCESS = \"GET_ALL_USER_PROFILES_SUCCESS\";\r\nexport const GET_ALL_USER_PROFILES_ERRORED = \"GET_ALL_USER_PROFILES_ERRORED\";\r\n\r\nexport const DELETE_USER_PROFILE_REQUESTED = \"DELETE_USER_PROFILE_REQUESTED\";\r\nexport const DELETE_USER_PROFILE_SUCCESS = \"DELETE_USER_PROFILE_SUCCESS\";\r\nexport const DELETE_USER_PROFILE_ERRORED = \"DELETE_USER_PROFILE_ERRORED\";\r\n\r\nexport const REGISTER_TENANT_REQUESTED = \"REGISTER_CHANNEL_PARTNER_REQUESTED\";\r\nexport const REGISTER_TENANT_SUCCESS = \"REGISTER_CHANNEL_PARTNER_SUCCESS\";\r\nexport const REGISTER_TENANT_ERRORED = \"REGISTER_CHANNEL_PARTNER_ERRORED\";\r\n\r\nexport const GET_ALL_TENANT_REQUESTED = \"GET_ALL_CHANNEL_PARTNER_REQUESTED\";\r\nexport const GET_ALL_TENANT_SUCCESS = \"GET_ALL_CHANNEL_PARTNER_SUCCESS\";\r\nexport const GET_ALL_TENANT_ERRORED = \"GET_ALL_CHANNEL_PARTNER_ERRORED\";\r\n\r\nexport const GET_TENANT_DETAILS_REQUESTED =\r\n \"GET_CHANNEL_PARTNER_DETAILS_REQUESTED\";\r\nexport const GET_TENANT_DETAILS_SUCCESS = \"GET_CHANNEL_PARTNER_DETAILS_SUCCESS\";\r\nexport const GET_TENANT_DETAILS_ERRORED = \"GET_CHANNEL_PARTNER_DETAILS_ERRORED\";\r\n\r\nexport const UPDATE_TENANT_DETAILS_REQUESTED =\r\n \"UPDATE_CHANNEL_PARTNER_DETAILS_REQUESTED\";\r\nexport const UPDATE_TENANT_DETAILS_SUCCESS =\r\n \"UPDATE_CHANNEL_PARTNER_DETAILS_SUCCESS\";\r\nexport const UPDATE_TENANT_DETAILS_ERRORED =\r\n \"UPDATE_CHANNEL_PARTNER_DETAILS_ERRORED\";\r\n\r\nexport const DELETE_TENANT_REQUESTED = \"DELETE_CHANNEL_PARTNER_REQUESTED\";\r\nexport const DELETE_TENANT_SUCCESS = \"DELETE_CHANNEL_PARTNER_SUCCESS\";\r\nexport const DELETE_TENANT_ERRORED = \"DELETE_CHANNEL_PARTNER_ERRORED\";\r\n\r\nexport const REGISTER_Orgunit_REQUESTED = \"REGISTER_Orgunit_REQUESTED\";\r\nexport const REGISTER_Orgunit_SUCCESS = \"REGISTER_Orgunit_SUCCESS\";\r\nexport const REGISTER_Orgunit_ERRORED = \"REGISTER_Orgunit_ERRORED\";\r\n\r\nexport const GET_ALL_Orgunit_REQUESTED = \"GET_ALL_Orgunit_REQUESTED\";\r\nexport const GET_ALL_Orgunit_SUCCESS = \"GET_ALL_Orgunit_SUCCESS\";\r\nexport const GET_ALL_Orgunit_ERRORED = \"GET_ALL_Orgunit_ERRORED\";\r\n\r\nexport const GET_Orgunit_DETAILS_REQUESTED = \"GET_Orgunit_DETAILS_REQUESTED\";\r\nexport const GET_Orgunit_DETAILS_SUCCESS = \"GET_Orgunit_DETAILS_SUCCESS\";\r\nexport const GET_Orgunit_DETAILS_ERRORED = \"GET_Orgunit_DETAILS_ERRORED\";\r\n\r\nexport const UPDATE_Orgunit_DETAILS_REQUESTED =\r\n \"UPDATE_Orgunit_DETAILS_REQUESTED\";\r\nexport const UPDATE_Orgunit_DETAILS_SUCCESS = \"UPDATE_Orgunit_DETAILS_SUCCESS\";\r\nexport const UPDATE_Orgunit_DETAILS_ERRORED = \"UPDATE_Orgunit_DETAILS_ERRORED\";\r\n\r\nexport const DELETE_Orgunit_REQUESTED = \"DELETE_Orgunit_REQUESTED\";\r\nexport const DELETE_Orgunit_SUCCESS = \"DELETE_Orgunit_SUCCESS\";\r\nexport const DELETE_Orgunit_ERRORED = \"DELETE_Orgunit_ERRORED\";\r\n\r\nexport const GET_ORG_PLAN_DETAILS_REQUESTED = \"GET_ORG_PLAN_DETAILS_REQUESTED\";\r\nexport const GET_ORG_PLAN_DETAILS_SUCCESS = \"GET_ORG_PLAN_DETAILS_SUCCESS\";\r\nexport const GET_ORG_PLAN_DETAILS_ERRORED = \"GET_ORG_PLAN_DETAILS_ERRORED\";\r\n\r\nexport const GET_ALL_NOTIFICATION_REQUESTED = \"GET_ALL_NOTIFICATION_REQUESTED\";\r\nexport const GET_ALL_NOTIFICATION_SUCCESS = \"GET_ALL_NOTIFICATION_SUCCESS\";\r\nexport const GET_ALL_NOTIFICATION_ERRORED = \"GET_ALL_NOTIFICATION_ERRORED\";\r\nexport const UPDATE_NOTIFICATION_ERRORED = \"UPDATE_NOTIFICATION_ERRORED\";\r\nexport const UPDATE_NOTIFICATION_SUCCESS = \"UPDATE_NOTIFICATION_SUCCESS\";\r\nexport const UPDATE_NOTIFICATION_REQUESTED = \"UPDATE_NOTIFICATION_REQUESTED\";\r\n\r\nexport const GET_ALL_WORK_REQUESTED = \"GET_ALL_WORK_REQUESTED\";\r\nexport const GET_ALL_WORK_SUCCESS = \"GET_ALL_WORK_SUCCESS\";\r\nexport const GET_ALL_WORK_ERRORED = \"GET_ALL_WORK_ERRORED\";\r\n\r\nexport const CREATE_OR_UPDATE_WORK_REQUESTED =\r\n \"CREATE_OR_UPDATE_WORK_REQUESTED\";\r\nexport const CREATE_OR_UPDATE_WORK_SUCCESS = \"CREATE_OR_UPDATE_WORK_SUCCESS\";\r\nexport const CREATE_OR_UPDATE_WORK_ERRORED = \"CREATE_OR_UPDATE_WORK_ERRORED\";\r\n\r\nexport const GET_WORK_DETAILS_REQUESTED = \"GET_WORK_DETAILS_REQUESTED\";\r\nexport const GET_WORK_DETAILS_SUCCESS = \"GET_WORK_DETAILS_SUCCESS\";\r\nexport const GET_WORK_DETAILS_ERRORED = \"GET_WORK_DETAILS_ERRORED\";\r\n\r\nexport const DELETE_WORK_REQUESTED = \"DELETE_WORK_REQUESTED\";\r\nexport const DELETE_WORK_SUCCESS = \"DELETE_WORK_SUCCESS\";\r\nexport const DELETE_WORK_ERRORED = \"DELETE_WORK_ERRORED\";\r\n\r\nexport const CREATE_OR_UPDATE_WORKLINE_REQUESTED =\r\n \"CREATE_OR_UPDATE_WORKLINE_REQUESTED\";\r\nexport const CREATE_OR_UPDATE_WORKLINE_SUCCESS =\r\n \"CREATE_OR_UPDATE_WORKLINE_SUCCESS\";\r\nexport const CREATE_OR_UPDATE_WORKLINE_ERRORED =\r\n \"CREATE_OR_UPDATE_WORKLINE_ERRORED\";\r\n\r\nexport const GET_ALL_WORKLINE_REQUESTED = \"GET_ALL_WORKLINE_REQUESTED\";\r\nexport const GET_ALL_WORKLINE_SUCCESS = \"GET_ALL_WORKLINE_SUCCESS\";\r\nexport const GET_ALL_WORKLINE_ERRORED = \"GET_ALL_WORKLINE_ERRORED\";\r\n\r\nexport const GET_ALL_TEAMS_REQUESTED = \"GET_ALL_TEAMS_REQUESTED\";\r\nexport const GET_ALL_TEAMS_SUCCESS = \"GET_ALL_TEAMS_SUCCESS\";\r\nexport const GET_ALL_TEAMS_ERRORED = \"GET_ALL_TEAMS_ERRORED\";\r\n\r\nexport const CREATE_DOCUMENT_REQUESTED = \"CREATE_DOCUMENT_REQUESTED\";\r\nexport const CREATE_DOCUMENT_SUCCESS = \"CREATE_DOCUMENT_SUCCESS\";\r\nexport const CREATE_DOCUMENT_ERRORED = \"CREATE_DOCUMENT_ERRORED\";\r\n\r\nexport const GET_ALL_DOCUMENTS_REQUESTED = \"GET_ALL_DOCUMENT_REQUESTED\";\r\nexport const GET_ALL_DOCUMENTS_SUCCESS = \"GET_ALL_DOCUMENT_SUCCESS\";\r\nexport const GET_ALL_DOCUMENTS_ERRORED = \"GET_ALL_DOCUMENT_ERRORED\";\r\n\r\nexport const DOCUMENT_UPLOAD_REQUESTED = \"DOCUMENT_UPLOAD_REQUESTED\";\r\nexport const DOCUMENT_UPLOAD_SUCCESS = \"DOCUMENT_UPLOAD_SUCCESS\";\r\nexport const DOCUMENT_UPLOAD_ERRORED = \"DOCUMENT_UPLOAD_ERRORED\";\r\n\r\nexport const CREATE_OR_UPDATE_CONFIGS_REQUESTED =\r\n \"CREATE_OR_UPDATE_CONFIGS_REQUESTED\";\r\nexport const CREATE_OR_UPDATE_CONFIGS_SUCCESS =\r\n \"CREATE_OR_UPDATE_CONFIGS_SUCCESS\";\r\nexport const CREATE_OR_UPDATE_CONFIGS_ERRORED =\r\n \"CREATE_OR_UPDATE_CONFIGS_ERRORED\";\r\n\r\nexport const GET_ALL_ACTIVE_CONFIGS_REQUESTED =\r\n \"GET_ALL_ACTIVE_CONFIGS_REQUESTED\";\r\nexport const GET_ALL_ACTIVE_CONFIGS_SUCCESS = \"GET_ALL_ACTIVE_CONFIGS_SUCCESS\";\r\nexport const GET_ALL_ACTIVE_CONFIGS_ERRORED = \"GET_ALL_ACTIVE_CONFIGS_ERRORED\";\r\n\r\nexport const GET_ALL_DEPLOYED_CONFIGS_REQUESTED =\r\n \"GET_ALL_DEPLOYED_CONFIGS_REQUESTED\";\r\nexport const GET_ALL_DEPLOYED_CONFIGS_SUCCESS =\r\n \"GET_ALL_DEPLOYED_CONFIGS_SUCCESS\";\r\nexport const GET_ALL_DEPLOYED_CONFIGS_ERRORED =\r\n \"GET_ALL_DEPLOYED_CONFIGS_ERRORED\";\r\n\r\nexport const SET_ACTIVE_OUID_CONFIGS_REQUESTED =\r\n \"SET_ACTIVE_OUID_CONFIGS_REQUESTED\";\r\nexport const SET_ACTIVE_OUID_CONFIGS_SUCCESS =\r\n \"SET_ACTIVE_OUID_CONFIGS_SUCCESS\";\r\nexport const SET_ACTIVE_OUID_CONFIGS_ERRORED =\r\n \"SET_ACTIVE_OUID_CONFIGS_ERRORED\";\r\n\r\nexport const CREATE_APP_USER_REQUESTED = \"CREATE_APP_USER_REQUESTED\";\r\nexport const CREATE_APP_USER_SUCCESS = \"CREATE_APP_USER_SUCCESS\";\r\nexport const CREATE_APP_USER_ERRORED = \"CREATE_APP_USER_ERRORED\";\r\n\r\nexport const GET_APP_USER_DETAILS_REQUESTED = \"GET_APP_USER_DETAILS_REQUESTED\";\r\nexport const GET_APP_USER_DETAILS_SUCCESS = \"GET_APP_USER_DETAILS_SUCCESS\";\r\nexport const GET_APP_USER_DETAILS_ERRORED = \"GET_APP_USER_DETAILS_ERRORED\";\r\n\r\nexport const GET_ALL_APP_USER_REQUESTED = \"GET_ALL_APP_USER_REQUESTED\";\r\nexport const GET_ALL_APP_USER_SUCCESS = \"GET_ALL_APP_USER_SUCCESS\";\r\nexport const GET_ALL_APP_USER_ERRORED = \"GET_ALL_APP_USER_ERRORED\";\r\n\r\nexport const DELETE_APP_USER_REQUESTED = \"DELETE_APP_USER_REQUESTED\";\r\nexport const DELETE_APP_USER_SUCCESS = \"DELETE_APP_USER_SUCCESS\";\r\nexport const DELETE_APP_USER_ERRORED = \"DELETE_APP_USER_ERRORED\";\r\n\r\nexport const CREATE_WORKORDER_REQUESTED = \"CREATE_WORKORDER_REQUESTED\";\r\nexport const CREATE_WORKORDER_SUCCESS = \"CREATE_WORKORDER_SUCCESS\";\r\nexport const CREATE_WORKORDER_ERRORED = \"CREATE_WORKORDER_ERRORED\";\r\nexport const GET_ALL_WORKORDERS_REQUESTED = \"GET_ALL_WORKORDERS_REQUESTED\";\r\nexport const GET_ALL_WORKORDERS_SUCCESS = \"GET_ALL_WORKORDERS_SUCCESS\";\r\nexport const GET_ALL_WORKORDERS_ERRORED = \"GET_ALL_WORKORDERS_ERRORED\";\r\nexport const GET_WORKORDER_REQUESTED = \"GET_WORKORDER_REQUESTED\";\r\nexport const GET_WORKORDER_SUCCESS = \"GET_WORKORDER_SUCCESS\";\r\nexport const GET_WORKORDER_ERRORED = \"GET_WORKORDER_ERRORED\";\r\nexport const CREATE_COURSE_REQUESTED = \"CREATE_COURSE_REQUESTED\";\r\n\r\nexport const CREATE_COURSE_SUCCESS = \"CREATE_COURSE_SUCCESS\";\r\nexport const CREATE_COURSE_ERRORED = \"CREATE_COURSE_ERRORED\";\r\nexport const UPDATE_COURSE_REQUESTED = \"UPDATE_COURSE_REQUESTED\";\r\n\r\nexport const UPDATE_COURSE_SUCCESS = \"UPDATE_COURSE_SUCCESS\";\r\nexport const UPDATE_COURSE_ERRORED = \"UPDATE_COURSE_ERRORED\";\r\nexport const GET_COURSES_REQUESTED = \"GET_COURSES_REQUESTED\";\r\nexport const GET_COURSES_SUCCESS = \"GET_COURSES_SUCCESS\";\r\nexport const GET_COURSES_ERRORED = \"GET_COURSES_ERRORED\";\r\n\r\nexport const GET_COURSE_REQUESTED = \"GET_COURSE_REQUESTED\";\r\n\r\nexport const GET_COURSE_SUCCESS = \"GET_COURSE_SUCCESS\";\r\nexport const GET_COURSE_ERRORED = \"GET_COURSE_ERRORED\";\r\n\r\nexport const DELETE_COURSE_REQUESTED = \"DELETE_COURSE_REQUESTED\";\r\nexport const DELETE_COURSE_SUCCESS = \"DELETE_COURSE_SUCCESS\";\r\nexport const DELETE_COURSE_ERRORED = \"DELETE_COURSE_ERRORED\";\r\n\r\nexport const CREATE_COURSEUSER_SUCCESS = \"CREATE_COURSEUSER_SUCCESS\";\r\nexport const CREATE_COURSEUSER_ERRORED = \"CREATE_COURSEUSER_ERRORED\";\r\nexport const CREATE_COURSEUSER_REQUESTED = \"CREATE_COURSEUSER_REQUESTED\";\r\n\r\nexport const GET_COURSEUSERS_REQUESTED = \"GET_COURSEUSERS_REQUESTED\";\r\nexport const GET_COURSEUSERS_SUCCESS = \"GET_COURSEUSERS_SUCCESS\";\r\nexport const GET_COURSEUSERS_ERRORED = \"GET_COURSEUSERS_ERRORED\";\r\n\r\nexport const GET_COURSEUSER_REQUESTED = \"GET_COURSEUSER_REQUESTED\";\r\nexport const GET_COURSEUSER_SUCCESS = \"GET_COURSEUSER_SUCCESS\";\r\nexport const GET_COURSEUSER_ERRORED = \"GET_COURSEUSER_ERRORED\";\r\n\r\nexport const DELETE_COURSEUSER_REQUESTED = \"DELETE_COURSEUSER_REQUESTED\";\r\nexport const DELETE_COURSEUSER_SUCCESS = \"DELETE_COURSEUSER_SUCCESS\";\r\nexport const DELETE_COURSEUSER_ERRORED = \"DELETE_COURSEUSER_ERRORED\";\r\n\r\nexport const CREATE_OR_UPDATE_COURSELINE_REQUESTED =\r\n \"CREATE_OR_UPDATE_COURSELINE_REQUESTED\";\r\nexport const CREATE_OR_UPDATE_COURSELINE_SUCCESS =\r\n \"CREATE_OR_UPDATE_COURSELINE_SUCCESS\";\r\nexport const CREATE_OR_UPDATE_COURSELINE_ERRORED =\r\n \"CREATE_OR_UPDATE_COURSELINE_ERRORED\";\r\nexport const GET_COURSELINES_REQUESTED = \"GET_COURSELINES_REQUESTED\";\r\nexport const GET_COURSELINES_SUCCESS = \"GET_COURSELINES_SUCCESS\";\r\nexport const GET_COURSELINES_ERRORED = \"GET_COURSELINES_ERRORED\";\r\n\r\nexport const CREATE_OR_UPDATE_EXAMLINE_REQUESTED =\r\n \"CREATE_OR_UPDATE_EXAMLINE_REQUESTED\";\r\nexport const CREATE_OR_UPDATE_EXAMLINE_SUCCESS =\r\n \"CREATE_OR_UPDATE_EXAMLINE_SUCCESS\";\r\nexport const CREATE_OR_UPDATE_EXAMLINE_ERRORED =\r\n \"CREATE_OR_UPDATE_EXAMLINE_ERRORED\";\r\nexport const GET_EXAMLINES_REQUESTED = \"GET_EXAMLINES_REQUESTED\";\r\nexport const GET_EXAMLINES_SUCCESS = \"GET_EXAMLINES_SUCCESS\";\r\nexport const GET_EXAMLINES_ERRORED = \"GET_EXAMLINES_ERRORED\";\r\n\r\nexport const DELETE_DOCUMENT_REQUESTED = \"DELETE_DOCUMENT_REQUESTED\";\r\nexport const DELETE_DOCUMENT_SUCCESS = \"DELETE_DOCUMENT_SUCCESS\";\r\nexport const DELETE_DOCUMENT_ERRORED = \"DELETE_DOCUMENT_ERRORED\";\r\n\r\nexport const CREATE_TAG_REQUESTED = \"CREATE_TAG_REQUESTED\";\r\nexport const CREATE_TAG_SUCCESS = \"CREATE_TAG_SUCCESS\";\r\nexport const CREATE_TAG_ERRORED = \"CREATE_TAG_ERRORED\";\r\n\r\nexport const CREATE_CL_QUESTION_REQUESTED = \"CREATE_CL_QUESTION_REQUESTED\";\r\nexport const CREATE_CL_QUESTION_ERRORED = \"CREATE_CL_QUESTION_ERRORED\";\r\nexport const CREATE_CL_QUESTION_SUCCESS = \"CREATE_CL_QUESTION_SUCCESS\";\r\n\r\nexport const GET_CL_QUESTIONS_REQUESTED = \"GET_CL_QUESTIONS_REQUESTED\";\r\nexport const GET_CL_QUESTIONS_SUCCESS = \"GET_CL_QUESTIONS_SUCCESS\";\r\nexport const GET_CL_QUESTIONS_ERRORED = \"GET_CL_QUESTIONS_ERRORED\";\r\n\r\nexport const DELETE_CL_QUESTION_REQUESTED = \"DELETE_CL_QUESTION_REQUESTED\";\r\nexport const DELETE_CL_QUESTION_SUCCESS = \"DELETE_CL_QUESTION_SUCCESS\";\r\nexport const DELETE_CL_QUESTION_ERRORED = \"DELETE_CL_QUESTION_ERRORED\";\r\n\r\nexport const CREATE_EXAMUSER_SUCCESS = \"CREATE_EXAMUSER_SUCCESS\";\r\nexport const CREATE_EXAMUSER_ERRORED = \"CREATE_EXAMUSER_ERRORED\";\r\nexport const CREATE_EXAMUSER_REQUESTED = \"CREATE_EXAMUSER_REQUESTED\";\r\n\r\nexport const GET_EXAMUSERS_REQUESTED = \"GET_EXAMUSERS_REQUESTED\";\r\nexport const GET_EXAMUSERS_SUCCESS = \"GET_EXAMUSERS_SUCCESS\";\r\nexport const GET_EXAMUSERS_ERRORED = \"GET_EXAMUSERS_ERRORED\";\r\n\r\nexport const GET_EXAMUSER_REQUESTED = \"GET_EXAMUSER_REQUESTED\";\r\nexport const GET_EXAMUSER_SUCCESS = \"GET_EXAMUSER_SUCCESS\";\r\nexport const GET_EXAMUSER_ERRORED = \"GET_EXAMUSER_ERRORED\";\r\n\r\nexport const DELETE_EXAMUSER_REQUESTED = \"DELETE_EXAMUSER_REQUESTED\";\r\nexport const DELETE_EXAMUSER_SUCCESS = \"DELETE_EXAMUSER_SUCCESS\";\r\nexport const DELETE_EXAMUSER_ERRORED = \"DELETE_EXAMUSER_ERRORED\";\r\n\r\nexport const CREATE_EXAM_SUCCESS = \"CREATE_EXAM_SUCCESS\";\r\nexport const CREATE_EXAM_ERRORED = \"CREATE_EXAM_ERRORED\";\r\nexport const CREATE_EXAM_REQUESTED = \"CREATE_EXAM_REQUESTED\";\r\n\r\nexport const UPDATE_EXAM_SUCCESS = \"UPDATE_EXAM_SUCCESS\";\r\nexport const UPDATE_EXAM_ERRORED = \"UPDATE_EXAM_ERRORED\";\r\nexport const UPDATE_EXAM_REQUESTED = \"UPDATE_EXAM_REQUESTED\";\r\n\r\nexport const GET_EXAMS_REQUESTED = \"GET_EXAMS_REQUESTED\";\r\nexport const GET_EXAMS_SUCCESS = \"GET_EXAMS_SUCCESS\";\r\nexport const GET_EXAMS_ERRORED = \"GET_EXAMS_ERRORED\";\r\n\r\nexport const GET_EXAM_REQUESTED = \"GET_EXAM_REQUESTED\";\r\nexport const GET_EXAM_SUCCESS = \"GET_EXAM_SUCCESS\";\r\nexport const GET_EXAM_ERRORED = \"GET_EXAM_ERRORED\";\r\n\r\nexport const DELETE_EXAM_REQUESTED = \"DELETE_EXAM_REQUESTED\";\r\nexport const DELETE_EXAM_SUCCESS = \"DELETE_EXAM_SUCCESS\";\r\nexport const DELETE_EXAM_ERRORED = \"DELETE_EXAM_ERRORED\";\r\n\r\nexport const CREATE_EXAMINSTANCE_REQUESTED = \"CREATE_EXAMINSTANCE_REQUESTED\";\r\nexport const CREATE_EXAMINSTANCE_SUCCESS = \"CREATE_EXAMINSTANCE_SUCCESS\";\r\nexport const CREATE_EXAMINSTANCE_ERRORED = \"CREATE_EXAMINSTANCE_ERRORED\";\r\nexport const UPDATE_EXAMINSTANCE_REQUESTED = \"UPDATE_EXAMINSTANCE_REQUESTED\";\r\nexport const UPDATE_EXAMINSTANCE_SUCCESS = \"UPDATE_EXAMINSTANCE_SUCCESS\";\r\n\r\nexport const UPDATE_EXAMINSTANCE_ERRORED = \"UPDATE_EXAMINSTANCE_ERRORED\";\r\nexport const GET_EXAMINSTANCES_REQUESTED = \"GET_EXAMINSTANCES_REQUESTED\";\r\n\r\nexport const GET_EXAMINSTANCE_REQUESTED = \"GET_EXAMINSTANCE_REQUESTED\";\r\n\r\nexport const GET_EXAMINSTANCES_SUCCESS = \"GET_EXAMINSTANCES_SUCCESS\";\r\nexport const GET_EXAMINSTANCES_ERRORED = \"GET_EXAMINSTANCES_ERRORED\";\r\nexport const GET_EXAMINSTANCE_SUCCESS = \"GET_EXAMINSTANCE_SUCCESS\";\r\n\r\nexport const GET_EXAMINSTANCE_ERRORED = \"GET_EXAMINSTANCE_ERRORED\";\r\nexport const UPDATE_EXAMLINEINSTANCE_REQUESTED =\r\n \"UPDATE_EXAMLINEINSTANCE_REQUESTED\";\r\nexport const UPDATE_EXAMLINEINSTANCE_SUCCESS =\r\n \"UPDATE_EXAMLINEINSTANCE_SUCCESS\";\r\nexport const UPDATE_EXAMLINEINSTANCE_ERRORED =\r\n \"UPDATE_EXAMLINEINSTANCE_ERRORED\";\r\nexport const GET_EXAMLINEINSTANCES_REQUESTED =\r\n \"GET_EXAMLINEINSTANCES_REQUESTED\";\r\n\r\nexport const GET_EXAMLINEINSTANCES_SUCCESS = \"GET_EXAMLINEINSTANCES_SUCCESS\";\r\nexport const GET_EXAMLINEINSTANCES_ERRORED = \"GET_EXAMLINEINSTANCES_ERRORED\";\r\n\r\nexport const GET_EXAMLINEINSTANCE_REQUESTED = \"GET_EXAMLINEINSTANCE_REQUESTED\";\r\n\r\nexport const GET_EXAMLINEINSTANCE_SUCCESS = \"GET_EXAMLINEINSTANCE_SUCCESS\";\r\nexport const GET_EXAMLINEINSTANCE_ERRORED = \"GET_EXAMLINEINSTANCE_ERRORED\";\r\n\r\nexport const CREATE_EVENT_REQUESTED = \"CREATE_EVENT_REQUESTED\";\r\nexport const CREATE_EVENT_SUCCESS = \"CREATE_EVENT_SUCCESS\";\r\nexport const CREATE_EVENT_ERRORED = \"CREATE_EVENT_ERRORED\";\r\nexport const GET_EVENTS_REQUESTED = \"GET_EVENTS_REQUESTED\";\r\nexport const GET_EVENTS_SUCCESS = \"GET_EVENTS_SUCCESS\";\r\nexport const GET_EVENTS_ERRORED = \"GET_EVENTS_ERRORED\";\r\n","const dev = {\r\n api: {\r\n invokeUrl: \"https://74udikyx6b.execute-api.eu-west-2.amazonaws.com/dev\",\r\n coursesUrl: \"https://9pxmy7egh6.execute-api.eu-west-2.amazonaws.com/dev\",\r\n woUrl: \"https://sni1mg4xql.execute-api.eu-west-2.amazonaws.com/dev\",\r\n },\r\n cognito: {\r\n REGION: \"eu-west-2\",\r\n USER_POOL_ID: \"eu-west-2_pApwzdSKZ\",\r\n APP_CLIENT_ID: \"43a1utognucnoa1rjbr25mu8eb\",\r\n },\r\n payemntSecretName: \"ibc_razorpay\",\r\n razorpayId: \"rzp_test_pOy0pZDFzJ8md8\",\r\n};\r\n\r\nconst test = {\r\n api: {\r\n invokeUrl: \"https://74udikyx6b.execute-api.eu-west-2.amazonaws.com/dev\",\r\n coursesUrl: \"https://9pxmy7egh6.execute-api.eu-west-2.amazonaws.com/dev\",\r\n woUrl: \"https://sni1mg4xql.execute-api.eu-west-2.amazonaws.com/dev\",\r\n },\r\n cognito: {\r\n REGION: \"eu-west-2\",\r\n USER_POOL_ID: \"eu-west-2_pApwzdSKZ\",\r\n APP_CLIENT_ID: \"43a1utognucnoa1rjbr25mu8eb\",\r\n },\r\n payemntSecretName: \"ibc_razorpay\",\r\n razorpayId: \"rzp_test_pOy0pZDFzJ8md8\",\r\n};\r\n\r\nconst prod = {\r\n api: {\r\n invokeUrl: \"https://7qnpzneorb.execute-api.eu-west-2.amazonaws.com/prod\",\r\n coursesUrl: \"https://o21locbvl0.execute-api.eu-west-2.amazonaws.com/prod\",\r\n woUrl: \"\",\r\n },\r\n cognito: {\r\n REGION: \"eu-west-2\",\r\n USER_POOL_ID: \"eu-west-2_X8LhiA1tw\",\r\n APP_CLIENT_ID: \"2uh4bbq5d852urrfeuaolh7i3f\",\r\n },\r\n payemntSecretName: \"\",\r\n razorpayId: \"\",\r\n};\r\n\r\nlet config = dev;\r\nif (process.env.REACT_APP_STAGE) {\r\n switch (process.env.REACT_APP_STAGE.trim()) {\r\n case \"dev\":\r\n config = dev;\r\n break;\r\n case \"test\":\r\n config = test;\r\n break;\r\n case \"prod\":\r\n config = prod;\r\n break;\r\n default:\r\n config = dev;\r\n break;\r\n }\r\n}\r\n\r\nexport default {\r\n // Add common config values here\r\n MAX_ATTACHMENT_SIZE: 5000000,\r\n ...config,\r\n};\r\n","import { JWT_SET, UN_JWT_SET, JWT_ERRORED } from \"../constant/action-types\";\r\nimport config from \"../config\";\r\n\r\nconst initialState = {\r\n api: {\r\n apiEndpoint: `${config.api.invokeUrl}`,\r\n coursesApiEndpoint: `${config.api.coursesUrl}`,\r\n woUrl: `${config.api.woUrl}`,\r\n userSession: \"\",\r\n credentials: \"\",\r\n error: null,\r\n },\r\n};\r\n\r\nexport function jwt(state = initialState, { type, payload }) {\r\n switch (type) {\r\n case JWT_SET:\r\n console.log(\r\n \"JWT_SET\",\r\n payload.session.signInUserSession.idToken.jwtToken\r\n );\r\n return {\r\n ...state,\r\n api: {\r\n apiEndpoint: `${config.api.invokeUrl}`,\r\n coursesApiEndpoint: `${config.api.coursesUrl}`,\r\n woUrl: `${config.api.woUrl}`,\r\n userSession: payload,\r\n credentials: payload.session.signInUserSession,\r\n error: null,\r\n },\r\n };\r\n\r\n case UN_JWT_SET:\r\n console.log(\"UN_JWT_SET\");\r\n return {\r\n ...state,\r\n api: {\r\n apiEndpoint: `${config.api.invokeUrl}`,\r\n coursesApiEndpoint: `${config.api.coursesUrl}`,\r\n woUrl: `${config.api.woUrl}`,\r\n userSession: \"\",\r\n credentials: \"\",\r\n error: null,\r\n },\r\n };\r\n\r\n case JWT_ERRORED:\r\n return {\r\n ...state,\r\n api: {\r\n credentials: \"\",\r\n error: payload.error,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","/* eslint-disable import/prefer-default-export */\r\nimport { \r\n LOGIN_REQUSTED,\r\n LOGIN_SUCCESS,\r\n LOGIN_FAILED\r\n } from '../constant/action-types';\r\n \r\n const defaultState = {\r\n showGlobalLoader: false,\r\n };\r\n // The Default Filter.\r\n export function auth_state(state = defaultState, action) {\r\n switch (action.type) {\r\n case LOGIN_REQUSTED:\r\n console.log(\"LOGIN_REQUSTED\");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n \r\n case LOGIN_SUCCESS:\r\n console.log(\"LOGIN_SUCCESS\");\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case LOGIN_FAILED:\r\n console.log(\"LOGIN_FAILED\");\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n \r\n default:\r\n return state;\r\n }\r\n }\r\n ","import { \r\n GET_MY_PROFILE_DETAILS_REQUESTED, \r\n GET_MY_PROFILE_DETAILS_SUCCESS,\r\n GET_MY_PROFILE_DETAILS_ERRORED,\r\n } from '../constant/action-types';\r\n\r\nconst defaultState = {\r\n showGlobalLoader: false,\r\n details : {},\r\n error:{}\r\n};\r\n\r\nexport function myProfile(state = defaultState, action) {\r\n switch (action.type) {\r\n case GET_MY_PROFILE_DETAILS_REQUESTED:\r\n console.log(\"GET_MY_PROFILE_DETAILS_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n details :{}\r\n };\r\n \r\n case GET_MY_PROFILE_DETAILS_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n details : action.payload\r\n };\r\n\r\n case GET_MY_PROFILE_DETAILS_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error\r\n };\r\n \r\n default:\r\n return state;\r\n }\r\n}","import {\r\n SHOW_SNACKBAR,\r\n HIDE_SNACKBAR,\r\n} from '../constant/action-types';\r\n\r\nconst defaultState = {\r\n snackbarOpen: false,\r\n snackbarMessage: '',\r\n snackbarType: '',\r\n};\r\n\r\nexport const snackbar = (state = defaultState, action) => {\r\n switch (action.type) {\r\n case SHOW_SNACKBAR: {\r\n console.log('Action :', action.payload);\r\n const { snackbarMessage, snackbarType } = action.payload;\r\n\r\n return {\r\n ...state,\r\n snackbarOpen: true,\r\n snackbarMessage,\r\n snackbarType,\r\n };\r\n }\r\n\r\n case HIDE_SNACKBAR: {\r\n return {\r\n ...state,\r\n snackbarOpen: false,\r\n snackbarMessage: '',\r\n snackbarType: '',\r\n };\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n};\r\n","import {\r\n REGISTER_Orgunit_REQUESTED,\r\n REGISTER_Orgunit_SUCCESS,\r\n REGISTER_Orgunit_ERRORED,\r\n GET_ALL_Orgunit_REQUESTED,\r\n GET_ALL_Orgunit_SUCCESS,\r\n GET_ALL_Orgunit_ERRORED,\r\n GET_Orgunit_DETAILS_REQUESTED,\r\n GET_Orgunit_DETAILS_SUCCESS,\r\n GET_Orgunit_DETAILS_ERRORED,\r\n UPDATE_Orgunit_DETAILS_REQUESTED,\r\n UPDATE_Orgunit_DETAILS_SUCCESS,\r\n UPDATE_Orgunit_DETAILS_ERRORED,\r\n DELETE_Orgunit_REQUESTED,\r\n DELETE_Orgunit_SUCCESS,\r\n DELETE_Orgunit_ERRORED,\r\n GET_ORG_PLAN_DETAILS_REQUESTED,\r\n GET_ORG_PLAN_DETAILS_SUCCESS,\r\n GET_ORG_PLAN_DETAILS_ERRORED,\r\n} from \"../constant/action-types\";\r\n\r\nconst defaultState = {\r\n showGlobalLoader: false,\r\n orgunits: [],\r\n OrgunitDetails: {},\r\n orgPlanDetails: {},\r\n error: {},\r\n bizOrgunits: [],\r\n cpOrgunits: [],\r\n invOrgunits: [],\r\n};\r\n\r\nexport function orgunit(state = defaultState, { type, payload }) {\r\n switch (type) {\r\n case REGISTER_Orgunit_REQUESTED:\r\n console.log(\"REGISTER_Orgunit_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case REGISTER_Orgunit_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case REGISTER_Orgunit_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: payload,\r\n };\r\n\r\n case GET_ALL_Orgunit_REQUESTED:\r\n // console.log(\"GET_ALL_Orgunit_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n orgunits: [],\r\n };\r\n\r\n case GET_ALL_Orgunit_SUCCESS:\r\n // console.log(\"GET_ALL_Orgunit_SUCCESS : \", JSON.stringify(payload));\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n orgunits: payload.items,\r\n };\r\n\r\n case GET_ALL_Orgunit_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: payload,\r\n };\r\n\r\n case GET_Orgunit_DETAILS_REQUESTED:\r\n // console.log(\"GET_Orgunit_DETAILS_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n OrgunitDetails: {},\r\n };\r\n\r\n case GET_Orgunit_DETAILS_SUCCESS:\r\n // console.log(\"GET_Orgunit_DETAILS_SUCCESS : \", JSON.stringify(payload));\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n OrgunitDetails: payload,\r\n };\r\n\r\n case GET_Orgunit_DETAILS_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: payload,\r\n };\r\n\r\n case UPDATE_Orgunit_DETAILS_REQUESTED:\r\n // console.log(\"UPDATE_Orgunit_DETAILS_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case UPDATE_Orgunit_DETAILS_SUCCESS:\r\n // console.log(\"UPDATE_Orgunit_DETAILS_SUCCESS : \", JSON.stringify(payload));\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case UPDATE_Orgunit_DETAILS_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: payload,\r\n };\r\n\r\n case DELETE_Orgunit_REQUESTED:\r\n // console.log(\"DELETE_Orgunit_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case DELETE_Orgunit_SUCCESS:\r\n // console.log(\"DELETE_Orgunit_SUCCESS : \", JSON.stringify(payload));\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case DELETE_Orgunit_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: payload,\r\n };\r\n\r\n case GET_ORG_PLAN_DETAILS_REQUESTED:\r\n // console.log(\"GET_ORG_PLAN_DETAILS_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n orgPlanDetails: {},\r\n };\r\n\r\n case GET_ORG_PLAN_DETAILS_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n orgPlanDetails: payload,\r\n };\r\n\r\n case GET_ORG_PLAN_DETAILS_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: payload,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n","/* eslint-disable import/prefer-default-export */\r\nimport { \r\n SET_ALL_PERMISSIONS,\r\n SET_ACTIVE_OUID,\r\n SET_USER_ROLES,\r\n SET_ACTIVE_OUID_CHAIN,\r\n CLEAR_ACTIVE_OUID_CHAIN,\r\n SET_ACTIVE_TEAMID,\r\n} from '../constant/action-types';\r\n\r\nconst defaultState = {\r\n policies: [],\r\n teamPolicies: [],\r\n appPolicies: [],\r\n activeOuid:'',\r\n activeTeamId:'',\r\n userRoles :[],\r\n units:[],\r\n activeOuidChain:[],\r\n activeOuidType:'',\r\n};\r\n// The Default Filter.\r\nexport function permission(state = defaultState, action) {\r\n switch (action.type) {\r\n case SET_ALL_PERMISSIONS:\r\n console.log(\"SET_ALL_PERMISSIONS :::\",action.permissions);\r\n return {\r\n ...state,\r\n policies: action.permissions.policies,\r\n teamPolicies: action.permissions.teamPolicies,\r\n appPolicies: action.permissions.appPolicies,\r\n };\r\n\r\n case SET_ACTIVE_OUID:\r\n console.log(\"SET_AACTIVE_OUID\");\r\n return {\r\n ...state,\r\n activeOuid: action.id,\r\n };\r\n\r\n case SET_ACTIVE_TEAMID:\r\n console.log(\"SET_ACTIVE_TEAMID\");\r\n return {\r\n ...state,\r\n activeTeamId: action.id,\r\n };\r\n \r\n case SET_USER_ROLES:\r\n console.log(\"SET_USER_ROLES\");\r\n return {\r\n ...state,\r\n userRoles: action.roles,\r\n units: action.units,\r\n };\r\n\r\n case SET_ACTIVE_OUID_CHAIN:\r\n console.log(\"SET_ACTIVE_OUID_CHAIN\");\r\n return {\r\n ...state,\r\n activeOuidChain: action.data.ouidChain,\r\n activeOuidType: action.data.type\r\n };\r\n case CLEAR_ACTIVE_OUID_CHAIN:\r\n console.log(\"CLEAR_ACTIVE_OUID_CHAIN\");\r\n return {\r\n ...state,\r\n activeOuidChain: [],\r\n activeOuidType:''\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n CREATE_USER_PROFILE_REQUESTED,\r\n CREATE_USER_PROFILE_SUCCESS,\r\n CREATE_USER_PROFILE_ERRORED,\r\n UPDATE_USER_PROFILE_REQUESTED,\r\n UPDATE_USER_PROFILE_SUCCESS,\r\n UPDATE_USER_PROFILE_ERRORED,\r\n GET_USER_PROFILE_DETAILS_REQUESTED,\r\n GET_USER_PROFILE_DETAILS_SUCCESS,\r\n GET_USER_PROFILE_DETAILS_ERRORED,\r\n GET_ALL_USER_PROFILES_REQUESTED,\r\n GET_ALL_USER_PROFILES_SUCCESS,\r\n GET_ALL_USER_PROFILES_ERRORED,\r\n DELETE_USER_PROFILE_REQUESTED,\r\n DELETE_USER_PROFILE_SUCCESS,\r\n DELETE_USER_PROFILE_ERRORED\r\n} from '../constant/action-types';\r\n\r\nconst defaultState = {\r\n showGlobalLoader: false,\r\n userProfileDetails: {},\r\n userProfiles: [],\r\n error: {}\r\n};\r\n\r\nexport function userProfile(state = defaultState, action) {\r\n switch (action.type) {\r\n\r\n case CREATE_USER_PROFILE_REQUESTED:\r\n console.log(\"CREATE_USER_PROFILE_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case CREATE_USER_PROFILE_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case CREATE_USER_PROFILE_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error\r\n };\r\n\r\n case UPDATE_USER_PROFILE_REQUESTED:\r\n console.log(\"UPDATE_USER_PROFILE_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case UPDATE_USER_PROFILE_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case UPDATE_USER_PROFILE_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error\r\n };\r\n\r\n case GET_USER_PROFILE_DETAILS_REQUESTED:\r\n console.log(\"GET_USER_PROFILE_DETAILS_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n userProfileDetails: {}\r\n };\r\n\r\n case GET_USER_PROFILE_DETAILS_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n userProfileDetails: action.payload\r\n };\r\n\r\n case GET_USER_PROFILE_DETAILS_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error\r\n };\r\n\r\n case GET_ALL_USER_PROFILES_REQUESTED:\r\n console.log(\"GET_ALL_USER_PROFILES_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n userProfiles: []\r\n };\r\n\r\n case GET_ALL_USER_PROFILES_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n userProfiles: action.payload.items\r\n };\r\n\r\n case GET_ALL_USER_PROFILES_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error\r\n };\r\n\r\n\r\n case DELETE_USER_PROFILE_REQUESTED:\r\n // console.log(\"DELETE_USER_PROFILE_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case DELETE_USER_PROFILE_SUCCESS:\r\n // console.log(\"DELETE_USER_PROFILE_SUCCESS : \", JSON.stringify(payload));\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case DELETE_USER_PROFILE_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.payload\r\n };\r\n\r\n\r\n default:\r\n return state;\r\n }\r\n}","import {\r\n GET_ALL_ORGUSER_REQUESTED,\r\n GET_ALL_ORGUSER_SUCCESS,\r\n GET_ALL_ORGUSER_ERRORED,\r\n GET_ORG_USER_DETAILS_REQUESTED,\r\n GET_ORG_USER_DETAILS_SUCCESS,\r\n GET_ORG_USER_DETAILS_ERRORED,\r\n UPDATE_ORG_USER_REQUESTED,\r\n UPDATE_ORG_USER_SUCCESS,\r\n UPDATE_ORG_USER_ERRORED,\r\n CREATE_ORG_USER_REQUESTED,\r\n CREATE_ORG_USER_SUCCESS,\r\n CREATE_ORG_USER_ERRORED,\r\n} from '../constant/action-types';\r\n\r\nconst defaultState = {\r\n showGlobalLoader: false,\r\n orgUserDetails: {},\r\n orgUserProfiles: [],\r\n error: {}\r\n};\r\n\r\nexport function orgUserProfile(state = defaultState, action) {\r\n switch (action.type) {\r\n\r\n case GET_ALL_ORGUSER_REQUESTED:\r\n console.log(\"GET_ALL_ORGUSER_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n orgUserProfiles: []\r\n };\r\n\r\n case GET_ALL_ORGUSER_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n orgUserProfiles: action.payload.items\r\n };\r\n\r\n case GET_ALL_ORGUSER_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error\r\n };\r\n\r\n case GET_ORG_USER_DETAILS_REQUESTED:\r\n console.log(\"GET_ORG_USER_DETAILS_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n orgUserDetails: {}\r\n };\r\n\r\n case GET_ORG_USER_DETAILS_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n orgUserDetails: action.payload\r\n };\r\n\r\n case GET_ORG_USER_DETAILS_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error\r\n };\r\n\r\n case UPDATE_ORG_USER_REQUESTED:\r\n console.log(\"UPDATE_ORG_USER_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case UPDATE_ORG_USER_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case UPDATE_ORG_USER_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error\r\n };\r\n\r\n\r\n case CREATE_ORG_USER_REQUESTED:\r\n console.log(\"CREATE_ORG_USER_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case CREATE_ORG_USER_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case CREATE_ORG_USER_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { \r\n GET_ALL_NOTIFICATION_REQUESTED,\r\n GET_ALL_NOTIFICATION_SUCCESS,\r\n GET_ALL_NOTIFICATION_ERRORED,\r\n UPDATE_NOTIFICATION_REQUESTED,\r\n UPDATE_NOTIFICATION_SUCCESS,\r\n UPDATE_NOTIFICATION_ERRORED,\r\n } from '../constant/action-types';\r\n\r\nconst defaultState = {\r\n showGlobalLoader: false,\r\n notifications: [],\r\n error:{}\r\n};\r\n\r\nexport function notification(state = defaultState, { type, payload }) {\r\n switch (type) { \r\n case GET_ALL_NOTIFICATION_REQUESTED:\r\n // console.log(\"GET_ALL_NOTIFICATION_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n notifications: []\r\n };\r\n \r\n case GET_ALL_NOTIFICATION_SUCCESS:\r\n // console.log(\"GET_ALL_INVESTOR_SUCCESS : \", JSON.stringify(payload));\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n notifications : payload.items\r\n };\r\n \r\n case GET_ALL_NOTIFICATION_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: payload\r\n };\r\n case UPDATE_NOTIFICATION_REQUESTED:\r\n // console.log(\"UPDATE_NOTIFICATION_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n \r\n case UPDATE_NOTIFICATION_SUCCESS:\r\n // console.log(\"UPDATE_NOTIFICATION_SUCCESS : \", JSON.stringify(payload));\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n \r\n case UPDATE_NOTIFICATION_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: payload\r\n };\r\n \r\n default:\r\n return state;\r\n }\r\n}","import {\r\n GET_ALL_WORK_REQUESTED,\r\n GET_ALL_WORK_SUCCESS,\r\n GET_ALL_WORK_ERRORED,\r\n CREATE_OR_UPDATE_WORK_REQUESTED,\r\n CREATE_OR_UPDATE_WORK_SUCCESS,\r\n CREATE_OR_UPDATE_WORK_ERRORED,\r\n GET_WORK_DETAILS_REQUESTED,\r\n GET_WORK_DETAILS_SUCCESS,\r\n GET_WORK_DETAILS_ERRORED,\r\n DELETE_WORK_REQUESTED,\r\n DELETE_WORK_SUCCESS,\r\n DELETE_WORK_ERRORED,\r\n CREATE_OR_UPDATE_WORKLINE_REQUESTED,\r\n CREATE_OR_UPDATE_WORKLINE_SUCCESS,\r\n CREATE_OR_UPDATE_WORKLINE_ERRORED,\r\n GET_ALL_WORKLINE_REQUESTED,\r\n GET_ALL_WORKLINE_SUCCESS,\r\n GET_ALL_WORKLINE_ERRORED,\r\n} from '../constant/action-types';\r\n\r\nconst defaultState = {\r\n showGlobalLoader: false,\r\n works: [],\r\n workDetails: {},\r\n showGlobalLoaderWorkline: false,\r\n worklines: [],\r\n worklineDetails: {},\r\n error: {},\r\n};\r\n\r\nexport function work(state = defaultState, action) {\r\n switch (action.type) {\r\n case GET_ALL_WORK_REQUESTED:\r\n console.log(\"GET_ALL_WORK_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case GET_ALL_WORK_SUCCESS:\r\n console.log(\"GET_ALL_WORK_SUCCESS : \", JSON.stringify(action.payload));\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n works: action.payload.items\r\n };\r\n\r\n case GET_ALL_WORK_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.payload\r\n };\r\n\r\n case CREATE_OR_UPDATE_WORK_REQUESTED:\r\n console.log(\"CREATE_OR_UPDATE_WORK_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case CREATE_OR_UPDATE_WORK_SUCCESS:\r\n console.log(\"CREATE_OR_UPDATE_WORK_SUCCESS : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case CREATE_OR_UPDATE_WORK_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error\r\n };\r\n\r\n case GET_WORK_DETAILS_REQUESTED:\r\n console.log(\"GET_WORK_DETAILS_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n workDetails: {}\r\n };\r\n\r\n case GET_WORK_DETAILS_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n workDetails: action.payload\r\n };\r\n\r\n case GET_WORK_DETAILS_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error\r\n };\r\n\r\n case DELETE_WORK_REQUESTED:\r\n // console.log(\"DELETE_WORK_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case DELETE_WORK_SUCCESS:\r\n // console.log(\"DELETE_WORK_SUCCESS : \", JSON.stringify(payload));\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case DELETE_WORK_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.payload\r\n };\r\n\r\n case CREATE_OR_UPDATE_WORKLINE_REQUESTED:\r\n console.log(\"CREATE_OR_UPDATE_WORKLINE_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoaderWorkline: true,\r\n };\r\n\r\n case CREATE_OR_UPDATE_WORKLINE_SUCCESS:\r\n console.log(\"CREATE_OR_UPDATE_WORKLINE_SUCCESS : \");\r\n return {\r\n ...state,\r\n showGlobalLoaderWorkline: false,\r\n };\r\n\r\n case CREATE_OR_UPDATE_WORKLINE_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoaderWorkline: false,\r\n error: action.error\r\n };\r\n\r\n case GET_ALL_WORKLINE_REQUESTED:\r\n // console.log(\"GET_ALL_WORKLINE_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoaderWorkline: true,\r\n worklines: []\r\n };\r\n \r\n case GET_ALL_WORKLINE_SUCCESS:\r\n // console.log(\"GET_ALL_WORKLINE_SUCCESS : \", JSON.stringify(payload));\r\n return {\r\n ...state,\r\n showGlobalLoaderWorkline: false,\r\n worklines: action.payload.items\r\n };\r\n \r\n case GET_ALL_WORKLINE_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoaderWorkline: false,\r\n error: action.payload\r\n };\r\n default:\r\n return {...state}\r\n }\r\n}","import {\r\n CREATE_DOCUMENT_REQUESTED,\r\n CREATE_DOCUMENT_SUCCESS,\r\n CREATE_DOCUMENT_ERRORED,\r\n GET_ALL_DOCUMENTS_REQUESTED,\r\n GET_ALL_DOCUMENTS_SUCCESS,\r\n GET_ALL_DOCUMENTS_ERRORED,\r\n DOCUMENT_UPLOAD_REQUESTED,\r\n DOCUMENT_UPLOAD_SUCCESS,\r\n DOCUMENT_UPLOAD_ERRORED,\r\n} from \"../constant/action-types\";\r\n\r\nconst initialState = {\r\n showGlobalLoader: false,\r\n showUploadLoader: false,\r\n documents: [],\r\n documentDetails: {},\r\n error: {},\r\n};\r\n\r\nexport function document(state = initialState, { type, payload }) {\r\n switch (type) {\r\n case DOCUMENT_UPLOAD_REQUESTED:\r\n console.log(\"DOCUMENT_UPLOAD_REQUESTED : \");\r\n return {\r\n ...state,\r\n showUploadLoader: true,\r\n };\r\n\r\n case DOCUMENT_UPLOAD_SUCCESS:\r\n console.log(\"DOCUMENT_UPLOAD_SUCCESS : \");\r\n\r\n return {\r\n ...state,\r\n showUploadLoader: false,\r\n };\r\n\r\n case DOCUMENT_UPLOAD_ERRORED:\r\n console.log(\"DOCUMENT_UPLOAD_ERRORED : \");\r\n\r\n return {\r\n ...state,\r\n showUploadLoader: false,\r\n error: payload,\r\n };\r\n\r\n case CREATE_DOCUMENT_REQUESTED:\r\n console.log(\"CREATE_DOCUMENT_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case CREATE_DOCUMENT_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case CREATE_DOCUMENT_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: payload,\r\n };\r\n\r\n case GET_ALL_DOCUMENTS_REQUESTED:\r\n // console.log(\"GET_ALL_DOCUMENTS_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n documents: [],\r\n };\r\n\r\n case GET_ALL_DOCUMENTS_SUCCESS:\r\n // console.log(\"GET_ALL_DOCUMENTS_SUCCESS : \", JSON.stringify(payload));\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n documents: payload.items,\r\n };\r\n\r\n case GET_ALL_DOCUMENTS_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: payload,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n CREATE_WORKORDER_REQUESTED,\r\n CREATE_WORKORDER_SUCCESS,\r\n CREATE_WORKORDER_ERRORED,\r\n GET_ALL_WORKORDERS_REQUESTED,\r\n GET_ALL_WORKORDERS_SUCCESS,\r\n GET_ALL_WORKORDERS_ERRORED,\r\n GET_WORKORDER_REQUESTED,\r\n GET_WORKORDER_SUCCESS,\r\n GET_WORKORDER_ERRORED,\r\n} from \"../constant/action-types\";\r\n\r\nconst initialState = {\r\n showGlobalLoader: false,\r\n workorder: {},\r\n workorders: [],\r\n error: {},\r\n};\r\n\r\nexport function workorder(state = initialState, { type, payload }) {\r\n switch (type) {\r\n case CREATE_WORKORDER_REQUESTED:\r\n return {\r\n ...state,\r\n workorder: {},\r\n };\r\n\r\n case CREATE_WORKORDER_SUCCESS:\r\n console.log(\"CREATE_WORKORDER_SUCCESS\", JSON.stringify(payload));\r\n return {\r\n ...state,\r\n workorder: payload,\r\n };\r\n\r\n case CREATE_WORKORDER_ERRORED:\r\n return {\r\n ...state,\r\n error: payload,\r\n };\r\n\r\n case GET_ALL_WORKORDERS_REQUESTED:\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n workorders: [],\r\n };\r\n\r\n case GET_ALL_WORKORDERS_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n workorders: payload.items,\r\n };\r\n\r\n case GET_ALL_WORKORDERS_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: payload,\r\n };\r\n\r\n case GET_WORKORDER_REQUESTED:\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n booking: {},\r\n };\r\n\r\n case GET_WORKORDER_SUCCESS:\r\n console.log(\"GET__WORKORDER__SUCCESS : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n booking: payload.items,\r\n };\r\n\r\n case GET_WORKORDER_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: payload,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n CREATE_COURSE_REQUESTED,\r\n CREATE_COURSE_SUCCESS,\r\n CREATE_COURSE_ERRORED,\r\n UPDATE_COURSE_REQUESTED,\r\n UPDATE_COURSE_SUCCESS,\r\n UPDATE_COURSE_ERRORED,\r\n GET_COURSES_REQUESTED,\r\n GET_COURSES_SUCCESS,\r\n GET_COURSES_ERRORED,\r\n GET_COURSE_REQUESTED,\r\n GET_COURSE_SUCCESS,\r\n GET_COURSE_ERRORED,\r\n DELETE_COURSE_REQUESTED,\r\n DELETE_COURSE_SUCCESS,\r\n DELETE_COURSE_ERRORED,\r\n CREATE_OR_UPDATE_COURSELINE_REQUESTED,\r\n CREATE_OR_UPDATE_COURSELINE_SUCCESS,\r\n CREATE_OR_UPDATE_COURSELINE_ERRORED,\r\n GET_COURSELINES_REQUESTED,\r\n GET_COURSELINES_SUCCESS,\r\n GET_COURSELINES_ERRORED,\r\n} from \"../constant/action-types\";\r\n\r\nconst defaultState = {\r\n showGlobalLoader: true,\r\n courses: [],\r\n coursesDetails: {},\r\n showGlobalLoaderCourseline: true,\r\n courselines: [],\r\n courselineDetails: {},\r\n error: {},\r\n};\r\n\r\nexport function course(state = defaultState, action) {\r\n switch (action.type) {\r\n case GET_COURSES_REQUESTED:\r\n console.log(\"GET_COURSES_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case GET_COURSES_SUCCESS:\r\n console.log(\"GET_COURSES_SUCCESS : \", JSON.stringify(action.payload));\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n courses: action.payload.items,\r\n };\r\n\r\n case GET_COURSES_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.payload,\r\n };\r\n\r\n case CREATE_COURSE_REQUESTED:\r\n console.log(\"CREATE_COURSE_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case CREATE_COURSE_SUCCESS:\r\n console.log(\"CREATE_COURSE_SUCCESS : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case CREATE_COURSE_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error,\r\n };\r\n\r\n case UPDATE_COURSE_REQUESTED:\r\n console.log(\"UPDATE_COURSE_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case UPDATE_COURSE_SUCCESS:\r\n console.log(\"UPDATE_COURSE_SUCCESS : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case UPDATE_COURSE_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error,\r\n };\r\n\r\n case GET_COURSE_REQUESTED:\r\n console.log(\"GET_COURSE_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n courseDetails: {},\r\n };\r\n\r\n case GET_COURSE_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n courseDetails: action.payload,\r\n };\r\n\r\n case GET_COURSE_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error,\r\n };\r\n\r\n case DELETE_COURSE_REQUESTED:\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case DELETE_COURSE_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case DELETE_COURSE_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.payload,\r\n };\r\n\r\n case CREATE_OR_UPDATE_COURSELINE_REQUESTED:\r\n console.log(\"CREATE_OR_UPDATE_COURSELINE_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoaderCourseline: true,\r\n };\r\n\r\n case CREATE_OR_UPDATE_COURSELINE_SUCCESS:\r\n console.log(\"CREATE_OR_UPDATE_COURSELINE_SUCCESS : \");\r\n return {\r\n ...state,\r\n showGlobalLoaderCourseline: false,\r\n };\r\n\r\n case CREATE_OR_UPDATE_COURSELINE_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoaderCourseline: false,\r\n error: action.error,\r\n };\r\n\r\n case GET_COURSELINES_REQUESTED:\r\n return {\r\n ...state,\r\n showGlobalLoaderCourseline: true,\r\n courselines: [],\r\n };\r\n\r\n case GET_COURSELINES_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoaderCourseline: false,\r\n courselines: action.payload.items,\r\n };\r\n\r\n case GET_COURSELINES_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoaderCourseline: false,\r\n error: action.payload,\r\n };\r\n default:\r\n return { ...state };\r\n }\r\n}\r\n","import {\r\n CREATE_COURSEUSER_REQUESTED,\r\n CREATE_COURSEUSER_SUCCESS,\r\n CREATE_COURSEUSER_ERRORED,\r\n GET_COURSEUSERS_REQUESTED,\r\n GET_COURSEUSERS_SUCCESS,\r\n GET_COURSEUSERS_ERRORED,\r\n GET_COURSEUSER_REQUESTED,\r\n GET_COURSEUSER_SUCCESS,\r\n GET_COURSEUSER_ERRORED,\r\n DELETE_COURSEUSER_REQUESTED,\r\n DELETE_COURSEUSER_SUCCESS,\r\n DELETE_COURSEUSER_ERRORED,\r\n} from \"../constant/action-types\";\r\n\r\nconst defaultState = {\r\n showGlobalLoader: true,\r\n courseUsers: [],\r\n courseUser: {},\r\n error: {},\r\n};\r\n\r\nexport function courseuser(state = defaultState, action) {\r\n switch (action.type) {\r\n case GET_COURSEUSERS_REQUESTED:\r\n console.log(\"GET_COURSEUSERS_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case GET_COURSEUSERS_SUCCESS:\r\n console.log(\"GET_COURSEUSERS_SUCCESS : \", JSON.stringify(action.payload));\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n courseUsers: action.payload.items,\r\n };\r\n\r\n case GET_COURSEUSERS_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.payload,\r\n };\r\n\r\n case CREATE_COURSEUSER_REQUESTED:\r\n console.log(\"CREATE_COURSEUSER_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case CREATE_COURSEUSER_SUCCESS:\r\n console.log(\"CREATE_COURSEUSER_SUCCESS : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case CREATE_COURSEUSER_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error,\r\n };\r\n\r\n case GET_COURSEUSER_REQUESTED:\r\n console.log(\"GET_COURSEUSER_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n courseUser: {},\r\n };\r\n\r\n case GET_COURSEUSER_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n courseUser: action.payload,\r\n };\r\n\r\n case GET_COURSEUSER_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error,\r\n };\r\n\r\n case DELETE_COURSEUSER_REQUESTED:\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case DELETE_COURSEUSER_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case DELETE_COURSEUSER_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.payload,\r\n };\r\n\r\n default:\r\n return { ...state };\r\n }\r\n}\r\n","import {\r\n CREATE_EXAMUSER_REQUESTED,\r\n CREATE_EXAMUSER_SUCCESS,\r\n CREATE_EXAMUSER_ERRORED,\r\n GET_EXAMUSERS_REQUESTED,\r\n GET_EXAMUSERS_SUCCESS,\r\n GET_EXAMUSERS_ERRORED,\r\n GET_EXAMUSER_REQUESTED,\r\n GET_EXAMUSER_SUCCESS,\r\n GET_EXAMUSER_ERRORED,\r\n DELETE_EXAMUSER_REQUESTED,\r\n DELETE_EXAMUSER_SUCCESS,\r\n DELETE_EXAMUSER_ERRORED,\r\n} from \"../constant/action-types\";\r\n\r\nconst defaultState = {\r\n showGlobalLoader: true,\r\n examUsers: [],\r\n examUser: {},\r\n error: {},\r\n};\r\n\r\nexport function examuser(state = defaultState, action) {\r\n switch (action.type) {\r\n case GET_EXAMUSERS_REQUESTED:\r\n console.log(\"GET_EXAMUSERS_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case GET_EXAMUSERS_SUCCESS:\r\n console.log(\"GET_EXAMUSERS_SUCCESS : \", JSON.stringify(action.payload));\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n examUsers: action.payload.items,\r\n };\r\n\r\n case GET_EXAMUSERS_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.payload,\r\n };\r\n\r\n case CREATE_EXAMUSER_REQUESTED:\r\n console.log(\"CREATE_EXAMUSER_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case CREATE_EXAMUSER_SUCCESS:\r\n console.log(\"CREATE_EXAMUSER_SUCCESS : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case CREATE_EXAMUSER_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error,\r\n };\r\n\r\n case GET_EXAMUSER_REQUESTED:\r\n console.log(\"GET_EXAMUSER_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n examUser: {},\r\n };\r\n\r\n case GET_EXAMUSER_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n examUser: action.payload,\r\n };\r\n\r\n case GET_EXAMUSER_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error,\r\n };\r\n\r\n case DELETE_EXAMUSER_REQUESTED:\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case DELETE_EXAMUSER_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case DELETE_EXAMUSER_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.payload,\r\n };\r\n\r\n default:\r\n return { ...state };\r\n }\r\n}\r\n","import {\r\n CREATE_CL_QUESTION_REQUESTED,\r\n CREATE_CL_QUESTION_SUCCESS,\r\n CREATE_CL_QUESTION_ERRORED,\r\n GET_CL_QUESTIONS_REQUESTED,\r\n GET_CL_QUESTIONS_SUCCESS,\r\n GET_CL_QUESTIONS_ERRORED,\r\n DELETE_CL_QUESTION_REQUESTED,\r\n DELETE_CL_QUESTION_SUCCESS,\r\n DELETE_CL_QUESTION_ERRORED,\r\n} from \"../constant/action-types\";\r\n\r\nconst defaultState = {\r\n showGlobalLoader: false,\r\n questions: [],\r\n error: {},\r\n};\r\n\r\nexport function question(state = defaultState, action) {\r\n switch (action.type) {\r\n case GET_CL_QUESTIONS_REQUESTED:\r\n console.log(\"GET_CL_QUESTIONS_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case GET_CL_QUESTIONS_SUCCESS:\r\n console.log(\r\n \"GET_CL_QUESTIONS_SUCCESS : \",\r\n JSON.stringify(action.payload)\r\n );\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n questions: action.payload.items,\r\n };\r\n\r\n case GET_CL_QUESTIONS_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.payload,\r\n };\r\n\r\n case CREATE_CL_QUESTION_REQUESTED:\r\n console.log(\"CREATE_CL_QUESTION_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case CREATE_CL_QUESTION_SUCCESS:\r\n console.log(\"CREATE_CL_QUESTION_SUCCESS : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case CREATE_CL_QUESTION_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error,\r\n };\r\n\r\n case DELETE_CL_QUESTION_REQUESTED:\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case DELETE_CL_QUESTION_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case DELETE_CL_QUESTION_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.payload,\r\n };\r\n\r\n default:\r\n return { ...state };\r\n }\r\n}\r\n","import {\r\n CREATE_EXAM_REQUESTED,\r\n CREATE_EXAM_SUCCESS,\r\n CREATE_EXAM_ERRORED,\r\n UPDATE_EXAM_REQUESTED,\r\n UPDATE_EXAM_SUCCESS,\r\n UPDATE_EXAM_ERRORED,\r\n GET_EXAMS_REQUESTED,\r\n GET_EXAMS_SUCCESS,\r\n GET_EXAMS_ERRORED,\r\n GET_EXAM_REQUESTED,\r\n GET_EXAM_SUCCESS,\r\n GET_EXAM_ERRORED,\r\n DELETE_EXAM_REQUESTED,\r\n DELETE_EXAM_SUCCESS,\r\n DELETE_EXAM_ERRORED,\r\n CREATE_OR_UPDATE_EXAMLINE_REQUESTED,\r\n CREATE_OR_UPDATE_EXAMLINE_SUCCESS,\r\n CREATE_OR_UPDATE_EXAMLINE_ERRORED,\r\n GET_EXAMLINES_REQUESTED,\r\n GET_EXAMLINES_SUCCESS,\r\n GET_EXAMLINES_ERRORED,\r\n} from \"../constant/action-types\";\r\n\r\nconst defaultState = {\r\n showGlobalLoader: true,\r\n exams: [],\r\n showGlobalLoaderExamline: true,\r\n examlines: [],\r\n examlineDetails: {},\r\n examDetails: {},\r\n error: {},\r\n};\r\n\r\nexport function exam(state = defaultState, action) {\r\n switch (action.type) {\r\n case GET_EXAMS_REQUESTED:\r\n console.log(\"GET_EXAMS_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case GET_EXAMS_SUCCESS:\r\n console.log(\"GET_EXAMS_SUCCESS : \", JSON.stringify(action.payload));\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n exams: action.payload.items,\r\n };\r\n\r\n case GET_EXAMS_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.payload,\r\n };\r\n\r\n case CREATE_EXAM_REQUESTED:\r\n console.log(\"CREATE_EXAM_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case CREATE_EXAM_SUCCESS:\r\n console.log(\"CREATE_EXAM_SUCCESS : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case CREATE_EXAM_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error,\r\n };\r\n\r\n case UPDATE_EXAM_REQUESTED:\r\n console.log(\"UPDATE_EXAM_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case UPDATE_EXAM_SUCCESS:\r\n console.log(\"UPDATE_EXAM_SUCCESS : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case UPDATE_EXAM_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error,\r\n };\r\n\r\n case GET_EXAM_REQUESTED:\r\n console.log(\"GET_EXAM_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n examDetails: {},\r\n };\r\n\r\n case GET_EXAM_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n examDetails: action.payload,\r\n };\r\n\r\n case GET_EXAM_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error,\r\n };\r\n\r\n case DELETE_EXAM_REQUESTED:\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case DELETE_EXAM_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case DELETE_EXAM_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.payload,\r\n };\r\n\r\n case CREATE_OR_UPDATE_EXAMLINE_REQUESTED:\r\n console.log(\"CREATE_OR_UPDATE_EXAMLINE_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoaderExamline: true,\r\n };\r\n\r\n case CREATE_OR_UPDATE_EXAMLINE_SUCCESS:\r\n console.log(\"CREATE_OR_UPDATE_EXAMLINE_SUCCESS : \");\r\n return {\r\n ...state,\r\n showGlobalLoaderExamline: false,\r\n };\r\n\r\n case CREATE_OR_UPDATE_EXAMLINE_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoaderExamline: false,\r\n error: action.error,\r\n };\r\n\r\n case GET_EXAMLINES_REQUESTED:\r\n return {\r\n ...state,\r\n showGlobalLoaderExamline: true,\r\n examlines: [],\r\n };\r\n\r\n case GET_EXAMLINES_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoaderExamline: false,\r\n examlines: action.payload.items,\r\n };\r\n\r\n case GET_EXAMLINES_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoaderExamline: false,\r\n error: action.payload,\r\n };\r\n default:\r\n return { ...state };\r\n }\r\n}\r\n","import {\r\n CREATE_EVENT_REQUESTED,\r\n CREATE_EVENT_SUCCESS,\r\n CREATE_EVENT_ERRORED,\r\n GET_EVENTS_REQUESTED,\r\n GET_EVENTS_SUCCESS,\r\n GET_EVENTS_ERRORED,\r\n} from \"../constant/action-types\";\r\n\r\nconst defaultState = {\r\n showGlobalLoader: true,\r\n events: [],\r\n error: {},\r\n};\r\n\r\nexport function event(state = defaultState, action) {\r\n switch (action.type) {\r\n case GET_EVENTS_REQUESTED:\r\n console.log(\"GET_EVENTS_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case GET_EVENTS_SUCCESS:\r\n console.log(\"GET_EVENTS_SUCCESS : \", JSON.stringify(action.payload));\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n events: action.payload.items,\r\n };\r\n\r\n case GET_EVENTS_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.payload,\r\n };\r\n\r\n case CREATE_EVENT_REQUESTED:\r\n console.log(\"CREATE_EVENT_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case CREATE_EVENT_SUCCESS:\r\n console.log(\"CREATE_EVENT_SUCCESS : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case CREATE_EVENT_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error,\r\n };\r\n default:\r\n return { ...state };\r\n }\r\n}\r\n","import {\r\n CREATE_EXAMINSTANCE_REQUESTED,\r\n CREATE_EXAMINSTANCE_SUCCESS,\r\n CREATE_EXAMINSTANCE_ERRORED,\r\n UPDATE_EXAMINSTANCE_REQUESTED,\r\n UPDATE_EXAMINSTANCE_SUCCESS,\r\n UPDATE_EXAMINSTANCE_ERRORED,\r\n GET_EXAMINSTANCES_REQUESTED,\r\n GET_EXAMINSTANCES_SUCCESS,\r\n GET_EXAMINSTANCES_ERRORED,\r\n GET_EXAMINSTANCE_REQUESTED,\r\n GET_EXAMINSTANCE_SUCCESS,\r\n GET_EXAMINSTANCE_ERRORED,\r\n UPDATE_EXAMLINEINSTANCE_REQUESTED,\r\n UPDATE_EXAMLINEINSTANCE_SUCCESS,\r\n UPDATE_EXAMLINEINSTANCE_ERRORED,\r\n GET_EXAMLINEINSTANCES_REQUESTED,\r\n GET_EXAMLINEINSTANCES_SUCCESS,\r\n GET_EXAMLINEINSTANCES_ERRORED,\r\n GET_EXAMLINEINSTANCE_REQUESTED,\r\n GET_EXAMLINEINSTANCE_SUCCESS,\r\n GET_EXAMLINEINSTANCE_ERRORED,\r\n} from \"../constant/action-types\";\r\n\r\nconst defaultState = {\r\n showGlobalLoader: true,\r\n showGlobalLoaderExamlineinstance: true,\r\n showGlobalLoaderExamlineinstances: true,\r\n examlineinstances: [],\r\n examlineinstanceDetails: {},\r\n examinstanceDetails: {},\r\n examinstances: [],\r\n error: {},\r\n};\r\n\r\nexport function examinstance(state = defaultState, action) {\r\n switch (action.type) {\r\n case GET_EXAMINSTANCES_REQUESTED:\r\n console.log(\"GET_EXAMINSTANCES_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case GET_EXAMINSTANCES_SUCCESS:\r\n console.log(\r\n \"GET_EXAMINSTANCES_SUCCESS : \",\r\n JSON.stringify(action.payload)\r\n );\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n examinstances: action.payload.items,\r\n };\r\n\r\n case GET_EXAMINSTANCES_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.payload,\r\n };\r\n\r\n case CREATE_EXAMINSTANCE_REQUESTED:\r\n console.log(\"CREATE_EXAMINSTANCE_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case CREATE_EXAMINSTANCE_SUCCESS:\r\n console.log(\"CREATE_EXAMINSTANCE_SUCCESS : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case CREATE_EXAMINSTANCE_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error,\r\n };\r\n\r\n case UPDATE_EXAMINSTANCE_REQUESTED:\r\n console.log(\"UPDATE_EXAMINSTANCE_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case UPDATE_EXAMINSTANCE_SUCCESS:\r\n console.log(\"UPDATE_EXAMINSTANCE_SUCCESS : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case UPDATE_EXAMINSTANCE_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error,\r\n };\r\n\r\n case GET_EXAMINSTANCE_REQUESTED:\r\n console.log(\"GET_EXAMINSTANCE_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n examinstanceDetails: {},\r\n };\r\n\r\n case GET_EXAMINSTANCE_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n examinstanceDetails: action.payload,\r\n };\r\n\r\n case GET_EXAMINSTANCE_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error,\r\n };\r\n\r\n case UPDATE_EXAMLINEINSTANCE_REQUESTED:\r\n console.log(\"UPDATE_EXAMLINEINSTANCE_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoaderExamlineinstance: true,\r\n };\r\n\r\n case UPDATE_EXAMLINEINSTANCE_SUCCESS:\r\n console.log(\"UPDATE_EXAMLINEINSTANCE_SUCCESS : \");\r\n return {\r\n ...state,\r\n showGlobalLoaderExamlineinstance: false,\r\n };\r\n\r\n case UPDATE_EXAMLINEINSTANCE_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoaderExamlineinstance: false,\r\n error: action.error,\r\n };\r\n\r\n case GET_EXAMLINEINSTANCES_REQUESTED:\r\n return {\r\n ...state,\r\n showGlobalLoaderExamlineinstances: true,\r\n examlineinstances: [],\r\n };\r\n\r\n case GET_EXAMLINEINSTANCES_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoaderExamlineinstances: false,\r\n examlineinstances: action.payload.items,\r\n };\r\n\r\n case GET_EXAMLINEINSTANCES_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoaderExamlineinstances: false,\r\n error: action.payload,\r\n };\r\n\r\n case GET_EXAMLINEINSTANCE_REQUESTED:\r\n return {\r\n ...state,\r\n showGlobalLoaderExamlineinstance: true,\r\n examlineinstanceDetails: {},\r\n };\r\n\r\n case GET_EXAMLINEINSTANCE_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoaderExamlineinstance: false,\r\n examlineinstanceDetails: action.payload,\r\n };\r\n\r\n case GET_EXAMLINEINSTANCE_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoaderExamlineinstance: false,\r\n error: action.payload,\r\n };\r\n default:\r\n return { ...state };\r\n }\r\n}\r\n","import {\r\n CREATE_OR_UPDATE_CONFIGS_REQUESTED,\r\n CREATE_OR_UPDATE_CONFIGS_SUCCESS,\r\n CREATE_OR_UPDATE_CONFIGS_ERRORED,\r\n GET_ALL_ACTIVE_CONFIGS_REQUESTED,\r\n GET_ALL_ACTIVE_CONFIGS_SUCCESS,\r\n GET_ALL_ACTIVE_CONFIGS_ERRORED,\r\n GET_ALL_DEPLOYED_CONFIGS_REQUESTED,\r\n GET_ALL_DEPLOYED_CONFIGS_SUCCESS,\r\n GET_ALL_DEPLOYED_CONFIGS_ERRORED,\r\n SET_ACTIVE_OUID_CONFIGS_REQUESTED,\r\n SET_ACTIVE_OUID_CONFIGS_SUCCESS,\r\n SET_ACTIVE_OUID_CONFIGS_ERRORED,\r\n} from '../constant/action-types';\r\n\r\nconst defaultState = {\r\n showGlobalLoader: false,\r\n activeOuidConfigs :[],\r\n activeOuidCoreConfigs:{},\r\n allActiveConfigs: [],\r\n deployedConfigs: [],\r\n configDetails: {},\r\n error: {}\r\n};\r\n\r\nexport function config(state = defaultState, { type, payload }) {\r\n switch (type) {\r\n\r\n case CREATE_OR_UPDATE_CONFIGS_REQUESTED:\r\n // console.log(\"CREATE_OR_UPDATE_CONFIGS_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n allActiveConfigs: []\r\n };\r\n\r\n case CREATE_OR_UPDATE_CONFIGS_SUCCESS:\r\n // console.log(\"CREATE_OR_UPDATE_CONFIGS_SUCCESS : \", JSON.stringify(payload));\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case CREATE_OR_UPDATE_CONFIGS_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: payload\r\n };\r\n\r\n case GET_ALL_ACTIVE_CONFIGS_REQUESTED:\r\n // console.log(\"GET_ALL_ACTIVE_CONFIGS_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n allActiveConfigs: []\r\n };\r\n\r\n case GET_ALL_ACTIVE_CONFIGS_SUCCESS:\r\n // console.log(\"GET_ALL_ACTIVE_CONFIGS_SUCCESS : \", JSON.stringify(payload));\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n allActiveConfigs: payload.items\r\n };\r\n\r\n case GET_ALL_ACTIVE_CONFIGS_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: payload\r\n };\r\n\r\n case SET_ACTIVE_OUID_CONFIGS_REQUESTED:\r\n // console.log(\"SET_ACTIVE_OUID_CONFIGS_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n activeOuidConfigs: [],\r\n activeOuidCoreConfigs: {}\r\n };\r\n \r\n case SET_ACTIVE_OUID_CONFIGS_SUCCESS:\r\n // console.log(\"SET_ACTIVE_OUID_CONFIGS_SUCCESS : \", JSON.stringify(payload));\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n activeOuidConfigs: payload.items,\r\n activeOuidCoreConfigs: (payload.items.find(({ data }) => data.identifier === 'core')) ? payload.items.find(({ data }) => data.identifier === 'core') : {}\r\n };\r\n \r\n case SET_ACTIVE_OUID_CONFIGS_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: payload,\r\n activeOuidCoreConfigs:{},\r\n };\r\n\r\n case GET_ALL_DEPLOYED_CONFIGS_REQUESTED:\r\n // console.log(\"GET_ALL_DEPLOYED_CONFIGS_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n deployedConfigs: []\r\n };\r\n\r\n case GET_ALL_DEPLOYED_CONFIGS_SUCCESS:\r\n // console.log(\"GET_ALL_DEPLOYED_CONFIGS_SUCCESS : \", JSON.stringify(payload));\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n deployedConfigs: payload.items\r\n };\r\n\r\n case GET_ALL_DEPLOYED_CONFIGS_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: payload\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}","import {\r\n CREATE_APP_USER_REQUESTED,\r\n CREATE_APP_USER_SUCCESS,\r\n CREATE_APP_USER_ERRORED,\r\n GET_APP_USER_DETAILS_REQUESTED,\r\n GET_APP_USER_DETAILS_SUCCESS,\r\n GET_APP_USER_DETAILS_ERRORED,\r\n GET_ALL_APP_USER_REQUESTED,\r\n GET_ALL_APP_USER_SUCCESS,\r\n GET_ALL_APP_USER_ERRORED,\r\n DELETE_APP_USER_REQUESTED,\r\n DELETE_APP_USER_SUCCESS,\r\n DELETE_APP_USER_ERRORED,\r\n} from '../constant/action-types';\r\n\r\nconst defaultState = {\r\n showGlobalLoader: false,\r\n appUserDetails: {},\r\n appUserProfiles: [],\r\n error: {}\r\n};\r\n\r\nexport function appUserProfile(state = defaultState, action) {\r\n switch (action.type) {\r\n\r\n case CREATE_APP_USER_REQUESTED:\r\n console.log(\"CREATE_APP_USER_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case CREATE_APP_USER_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case CREATE_APP_USER_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error\r\n };\r\n\r\n case GET_APP_USER_DETAILS_REQUESTED:\r\n console.log(\"GET_APP_USER_DETAILS_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n appUserDetails: {}\r\n };\r\n\r\n case GET_APP_USER_DETAILS_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n appUserDetails: action.payload\r\n };\r\n\r\n case GET_APP_USER_DETAILS_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error\r\n };\r\n\r\n case GET_ALL_APP_USER_REQUESTED:\r\n console.log(\"GET_ALL_APP_USER_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n appUserProfiles: []\r\n };\r\n\r\n case GET_ALL_APP_USER_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n appUserProfiles: action.payload.items\r\n };\r\n\r\n case GET_ALL_APP_USER_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error\r\n };\r\n\r\n case DELETE_APP_USER_REQUESTED:\r\n console.log(\"DELETE_APP_USER_REQUESTED : \");\r\n return {\r\n ...state,\r\n showGlobalLoader: true,\r\n };\r\n\r\n case DELETE_APP_USER_SUCCESS:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n };\r\n\r\n case DELETE_APP_USER_ERRORED:\r\n return {\r\n ...state,\r\n showGlobalLoader: false,\r\n error: action.error\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}","/**\r\n * Function for removing items from application state\r\n * @param {*} state\r\n * @param {*} fieldNamesStart - array of field names patterns,\r\n * used as argument for `startsWith()` function for comporation\r\n */\r\n\r\nexport const cleanState = (state = {}, fieldNamesStart = []) => {\r\n const clearState = {};\r\n Object.keys(state).map((key) => {\r\n if (fieldNamesStart.filter((keyPart) => key.startsWith(keyPart)).length === 0) {\r\n clearState[key] = state[key];\r\n }\r\n return null;\r\n });\r\n return clearState;\r\n};\r\n","import { createStore, applyMiddleware, compose } from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport { routerMiddleware } from 'connected-react-router';\r\nimport createSagaMiddleware from 'redux-saga';\r\nimport rootReducer, { history } from '../reducers';\r\n\r\nexport const sagaMiddleware = createSagaMiddleware();\r\n\r\nlet store;\r\n\r\nexport default function configureStore(initialState) {\r\n const reduxDevToolsExtCompose = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;\r\n const env = process.env.NODE_ENV && process.env.NODE_ENV.trim();\r\n const composeEnhancers = (env === 'development' && reduxDevToolsExtCompose) || compose;\r\n\r\n if (store) {\r\n return store;\r\n }\r\n\r\n store = createStore(\r\n rootReducer,\r\n initialState,\r\n composeEnhancers(\r\n applyMiddleware(\r\n thunk,\r\n routerMiddleware(history),\r\n sagaMiddleware,\r\n ),\r\n ),\r\n );\r\n\r\n return store;\r\n}\r\n","import { createBrowserHistory } from \"history\";\r\nimport { connectRouter } from \"connected-react-router\";\r\nimport { combineReducers } from \"redux\";\r\nimport * as jwt from \"./reducer-jwt\";\r\nimport * as auth_state from \"./reducer-auth\";\r\nimport * as profile from \"./reducer-myProfile\";\r\nimport * as snackbar from \"./reducer-snackbar\";\r\nimport * as orgunit from \"./reducer-orgunit\";\r\nimport * as permission from \"./reducer-permissions\";\r\nimport * as userProfile from \"./reducer-userProfiles\";\r\nimport * as work from \"./reducer-orguser\";\r\nimport * as notification from \"./reducer-notification\";\r\nimport * as orgUserProfile from \"./reducer-work\";\r\nimport * as document from \"./reducer-document\";\r\nimport * as workorder from \"./reducer-workorder\";\r\nimport * as course from \"./reducer-course\";\r\nimport * as courseuser from \"./reducer-courseuser\";\r\nimport * as examuser from \"./reducer-examuser\";\r\n\r\nimport * as question from \"./reducer-question\";\r\nimport * as exam from \"./reducer-exam\";\r\nimport * as event from \"./reducer-event\";\r\nimport * as examinstance from \"./reducer-examinstance\";\r\n\r\nimport * as config from \"./reducer-config\";\r\nimport * as appUserProfile from \"./reducer-appuser\";\r\n\r\nimport { RESET_STATE } from \"../constant/action-types\";\r\n\r\nimport { cleanState } from \"../utils\";\r\n\r\nexport const history = createBrowserHistory();\r\n\r\nconst router = { router: connectRouter(history) };\r\n\r\nconst Reducers = Object.assign(\r\n router,\r\n jwt,\r\n auth_state,\r\n permission,\r\n config,\r\n orgunit,\r\n snackbar,\r\n profile,\r\n userProfile,\r\n orgUserProfile,\r\n appUserProfile,\r\n notification,\r\n work,\r\n document,\r\n workorder,\r\n course,\r\n courseuser,\r\n question,\r\n exam,\r\n examuser,\r\n examinstance,\r\n event\r\n);\r\n\r\nconst allReducers = combineReducers(Reducers);\r\n\r\nconst rootReducer = (state, action) => {\r\n let resultState = state;\r\n if (action.type === RESET_STATE) {\r\n console.log(\"Reset State\");\r\n resultState = cleanState(resultState, [\r\n \"router\",\r\n \"jwt\",\r\n \"auth_state\",\r\n \"permission\",\r\n \"config\",\r\n \"orgunit\",\r\n \"snackbar\",\r\n \"profile\",\r\n \"userProfile\",\r\n \"orgUserProfile\",\r\n \"appUserProfile\",\r\n \"notification\",\r\n \"work\",\r\n \"document\",\r\n \"workorder\",\r\n \"course\",\r\n \"courseuser\",\r\n \"question\",\r\n \"exam\",\r\n \"examuser\",\r\n \"examinstance\",\r\n \"event\",\r\n ]);\r\n }\r\n return allReducers(resultState, action);\r\n};\r\n\r\nexport default rootReducer;\r\n","import { \r\n SET_ALL_PERMISSIONS,\r\n SET_ACTIVE_OUID,\r\n SET_USER_ROLES,\r\n SET_ACTIVE_OUID_CHAIN,\r\n CLEAR_ACTIVE_OUID_CHAIN,\r\n SET_ACTIVE_TEAMID,\r\n} from '../constant/action-types';\r\n\r\nimport axios from 'axios';\r\n\r\nimport configureStore from '../store/configureStore';\r\n\r\nconst store = configureStore();\r\n\r\n\r\nexport function permissionsErrored(bool) {\r\n return {\r\n type: 'PERMISSIONS_ERROR',\r\n permissionsHasErrored: bool,\r\n };\r\n}\r\n\r\nexport function setAllPermissions(permissions) {\r\n // console.log(\"SET_ALL_PERMISSIONS : \", JSON.stringify(permissions));\r\n return {\r\n type: SET_ALL_PERMISSIONS,\r\n permissions,\r\n };\r\n}\r\n\r\nexport function setActiveOuid(id) {\r\n return {\r\n type: SET_ACTIVE_OUID,\r\n id,\r\n };\r\n}\r\n\r\nexport function setActiveTeamId(id) {\r\n return {\r\n type: SET_ACTIVE_TEAMID,\r\n id,\r\n };\r\n}\r\n\r\nexport function setUserRole(roles, units) {\r\n return {\r\n type: SET_USER_ROLES,\r\n roles,\r\n units,\r\n };\r\n}\r\n\r\nexport function fetchPermissions() {\r\n return (dispatch) => {\r\n const url = '/permissions';\r\n // console.log(url);\r\n };\r\n}\r\n\r\n\r\nexport function setActiveOuidChainSuccess(data) {\r\n return {\r\n type: SET_ACTIVE_OUID_CHAIN,\r\n data,\r\n };\r\n}\r\n\r\nexport function clearActiveOuidChain() {\r\n return {\r\n type: CLEAR_ACTIVE_OUID_CHAIN,\r\n };\r\n}\r\n\r\nexport const setActiveOuidChain = (id) => async (dispatch) => {\r\n console.log(`setActiveOuidChain`);\r\n dispatch(clearActiveOuidChain());\r\n const {\r\n apiEndpoint,\r\n credentials,\r\n } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const url = `${apiEndpoint}/orgunit/${id}`;\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = 'get';\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n 'x-ouid' : id,\r\n },\r\n };\r\n return axios[method](\r\n url,\r\n axiosHeader,\r\n )\r\n .then((response) => {\r\n console.log(\"Get Orgunit Details Success\");\r\n // dispatch(showSnackbar('Get All Channel Partner Successfully', 'success'));\r\n dispatch(setActiveOuidChainSuccess(response.data.data));\r\n })\r\n .catch((err) => {\r\n console.error('ErrorLog : ', JSON.stringify(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\n\r\n","import configureStore from \"../../store/configureStore\";\r\nimport { setUserRole, setActiveOuid } from \"../../actions/action-permissions\";\r\nimport { history } from \"../../reducers\";\r\nimport axios from \"axios\";\r\n\r\nconst store = configureStore();\r\n\r\nexport function isEmptyObject(obj) {\r\n return !Object.keys(obj).length;\r\n}\r\n\r\nexport async function userRoleCheck(policies) {\r\n console.log(\"userRoleCheck function called\");\r\n let userRoles = [];\r\n if (policies.includes(\"system=admin\")) {\r\n for (let i = 0; i < policies.length; i++) {\r\n let policy = policies[i];\r\n if (policy === \"system=admin\") {\r\n let role = policy.split(\"=\");\r\n let userRole = {};\r\n userRole[\"ouid\"] = role[0];\r\n userRole[\"roles\"] = role[1].split(\",\");\r\n userRoles.push(userRole);\r\n }\r\n }\r\n await store.dispatch(setUserRole(userRoles));\r\n // store.dispatch(setActiveOuid(userRoles[0].ouid));\r\n // const path = window.location.pathname.split('/');\r\n // const activeOuidValue = path[path.length - path.length-1];\r\n // if (activeOuidValue) {\r\n // store.dispatch(setActiveOuid(activeOuidValue));\r\n // } else {\r\n // store.dispatch(setActiveOuid(userRoles[0].ouid));\r\n // }\r\n return;\r\n }\r\n for (let i = 0; i < policies.length; i++) {\r\n let policy = policies[i];\r\n if (policy !== \"system=admin\") {\r\n let role = policy.split(\"=\");\r\n let userRole = {};\r\n userRole[\"ouid\"] = role[0];\r\n userRole[\"roles\"] = role[1].split(\",\");\r\n userRoles.push(userRole);\r\n }\r\n }\r\n await store.dispatch(setUserRole(userRoles));\r\n // store.dispatch(setActiveOuid(userRoles[0].ouid));\r\n // const path = window.location.pathname.split('/');\r\n // const activeOuidValue = path[path.length - 2];\r\n // if (activeOuidValue) {\r\n // store.dispatch(setActiveOuid(activeOuidValue));\r\n // } else {\r\n // store.dispatch(setActiveOuid(userRoles[0].ouid));\r\n // }\r\n return;\r\n}\r\n\r\nconst policies = {\r\n Statement: [\r\n {\r\n Effect: \"Allow\",\r\n Action: [\r\n \"CreateChannelPartner\",\r\n \"ListChannelPartner\",\r\n \"ViewChannelPartner\",\r\n \"EditChannelPartner\",\r\n \"CreateOrgunit\",\r\n \"ListOrgunit\",\r\n \"ViewOrgunit\",\r\n \"EditOrgunit\",\r\n \"CreateInvestor\",\r\n \"ListInvestors\",\r\n \"ViewInvestor\",\r\n \"EditInvestor\",\r\n \"UploadReports\",\r\n \"ListReports\",\r\n \"ViewReport\",\r\n \"ListLeads\",\r\n \"ViewLeads\",\r\n \"CreateUser\",\r\n \"ListUsers\",\r\n \"ViewUser\",\r\n \"EditUser\",\r\n \"CreateUser\",\r\n \"ListOrgUsers\",\r\n \"ViewOrgUser\",\r\n \"EditOrgUser\",\r\n \"ViewDashboard\",\r\n ],\r\n Principal: \"admin\",\r\n },\r\n {\r\n Effect: \"Allow\",\r\n Action: [\"ViewDashboard\"],\r\n Principal: \"user\",\r\n },\r\n ],\r\n};\r\n\r\n// old policy check\r\n\r\nexport function permissionsCheck(userRoles, requestedAction, type) {\r\n console.log(\"permissionsCheck --> \", userRoles, requestedAction, type);\r\n const { activeOuid } = store.getState().permission;\r\n for (let i = 0; i < userRoles.length; i++) {\r\n let userRole = userRoles[i];\r\n const roles = userRole.roles;\r\n if (userRole.ouid === \"system\" && roles.includes(\"admin\")) {\r\n return true;\r\n } else {\r\n if (userRole.ouid === activeOuid) {\r\n console.log(\"permissionsCheck userRole : \", userRole);\r\n console.log(\"permissionsCheck roles : \", roles);\r\n console.log(\"permissionsCheck activeOuid : \", activeOuid);\r\n // for (let j = 0; j < roles.length; j++) {\r\n let userHeighestRole;\r\n if (roles.includes(\"admin\")) {\r\n userHeighestRole = \"admin\";\r\n } else {\r\n userHeighestRole = \"user\";\r\n }\r\n const policy = policies.Statement.find(\r\n ({ Principal }) => Principal === userHeighestRole\r\n );\r\n if (policy) {\r\n let action = policy.Action;\r\n if (action.includes(requestedAction)) {\r\n switch (type) {\r\n case \"orgunit\": {\r\n const ouidRole = userRoles.find(\r\n ({ ouid }) => ouid === activeOuid\r\n );\r\n console.log(\"permissionsCheck ouidRole : \", ouidRole);\r\n if (ouidRole) {\r\n return true;\r\n } else {\r\n // return false;\r\n return true;\r\n }\r\n }\r\n case \"orgUser\": {\r\n return true;\r\n }\r\n case \"authUser\": {\r\n return true;\r\n }\r\n case \"commonPages\": {\r\n return true;\r\n }\r\n default:\r\n // return false;\r\n return true;\r\n }\r\n }\r\n }\r\n // }\r\n }\r\n }\r\n }\r\n // return false;\r\n return true;\r\n}\r\n\r\n// export function permissionsCheck(requestedAction, type) {\r\n// const { activeOuid, userRoles } = store.getState().permission;\r\n// const userRole = userRoles.find(({ ouid }) => ouid === activeOuid);\r\n// if (userRole) {\r\n// const roles = userRole.roles;\r\n// if (userRole.ouid === \"system\" && roles.includes(\"admin\")) {\r\n// return true;\r\n// }\r\n// else {\r\n// console.log(\"permissionsCheck userRole : \", userRole);\r\n// if (userRole.ouid === activeOuid) {\r\n// console.log(\"permissionsCheck userRole : \", userRole);\r\n// console.log(\"permissionsCheck roles : \", roles);\r\n// // for (let j = 0; j < roles.length; j++) {\r\n// let userHeighestRole;\r\n// if (roles.includes(\"admin\")) {\r\n// userHeighestRole = \"admin\";\r\n// } else {\r\n// userHeighestRole = \"user\";\r\n// }\r\n// const policy = policies.Statement.find(({ Principal }) => Principal === userHeighestRole);\r\n// if (policy) {\r\n// let action = policy.Action;\r\n// if (action.includes(requestedAction)) {\r\n// switch (type) {\r\n// case 'orgunit':\r\n// {\r\n// const ouidRole = userRoles.find(({ ouid }) => ouid === activeOuid);\r\n// if (ouidRole) {\r\n// return true;\r\n// } else {\r\n// return false;\r\n// }\r\n// }\r\n// case 'orgUser':\r\n// {\r\n// return true;\r\n// }\r\n// case 'authUser':\r\n// {\r\n// return true;\r\n// }\r\n// default:\r\n// return false;\r\n// }\r\n// }\r\n// }\r\n// // }\r\n// }\r\n// }\r\n// }\r\n// return false;\r\n// }\r\n\r\nexport function RedirectFunc(url) {\r\n history.push(url);\r\n}\r\n\r\nexport function timeFormat(date) {\r\n const date1Stamp = new Date(date);\r\n if (date1Stamp instanceof Date && !isNaN(date1Stamp)) {\r\n return date1Stamp.toLocaleString();\r\n }\r\n return \"\";\r\n}\r\n\r\nfunction isValidDate(d) {\r\n return d instanceof Date && !isNaN(d);\r\n}\r\n\r\nexport function isEmptyJson(value) {\r\n return Object.keys(value).length === 0 && value.constructor === Object;\r\n}\r\n\r\nexport function getParentChain(ouid) {\r\n const { apiEndpoint, credentials } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const url = `${apiEndpoint}/orgunit/${ouid}`;\r\n console.log(`jwt : ${jwt}`);\r\n console.log(`url : ${url}`);\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get Parent Chain Success : \", JSON.stringify(response));\r\n const { data } = response.data;\r\n if (data.parentChain) {\r\n return data.parentChain;\r\n } else {\r\n return [];\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"Get Parent Chain Failed\", JSON.stringify(err));\r\n });\r\n }\r\n}\r\n\r\nexport function downloadFromUrl(url, name) {\r\n fetch(url)\r\n .then((resp) => resp.blob())\r\n .then((blob) => {\r\n const url = window.URL.createObjectURL(blob);\r\n const a = window.document.createElement(\"a\");\r\n a.style.display = \"none\";\r\n a.href = url;\r\n // the filename you want\r\n a.download = name;\r\n window.document.body.appendChild(a);\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n alert(\"File has been downloaded\"); // or you know, something with better UX...\r\n })\r\n .catch(() => alert(\"oh no!\"));\r\n}\r\n\r\nexport function updateQueryStringParameter(key, value, viewType) {\r\n if (viewType !== null) {\r\n const newurl = `${window.location.protocol}//${window.location.host}${window.location.pathname}?${key}=${value}&viewType=${viewType}`;\r\n window.history.pushState({ path: newurl }, \"\", newurl);\r\n } else {\r\n const currentUrlParams = new URLSearchParams(window.location.search);\r\n if (value === \"\") {\r\n currentUrlParams.delete(\"identifier\");\r\n }\r\n currentUrlParams.set(key, value);\r\n const newurl = `${window.location.pathname}?${currentUrlParams.toString()}`;\r\n window.history.pushState({ path: newurl }, \"\", newurl);\r\n }\r\n}\r\n","import {\r\n SHOW_SNACKBAR,\r\n HIDE_SNACKBAR,\r\n } from '../constant/action-types';\r\n \r\n export const showSnackbar = (snackbarMessage, snackbarType) => ({\r\n type: SHOW_SNACKBAR,\r\n payload: { snackbarMessage, snackbarType },\r\n });\r\n \r\n export const hideSnackbar = () => ({\r\n type: HIDE_SNACKBAR,\r\n });\r\n \r\n ","import {\r\n CREATE_OR_UPDATE_CONFIGS_REQUESTED,\r\n CREATE_OR_UPDATE_CONFIGS_SUCCESS,\r\n CREATE_OR_UPDATE_CONFIGS_ERRORED,\r\n GET_ALL_ACTIVE_CONFIGS_REQUESTED,\r\n GET_ALL_ACTIVE_CONFIGS_SUCCESS,\r\n GET_ALL_ACTIVE_CONFIGS_ERRORED,\r\n GET_ALL_DEPLOYED_CONFIGS_REQUESTED,\r\n GET_ALL_DEPLOYED_CONFIGS_SUCCESS,\r\n GET_ALL_DEPLOYED_CONFIGS_ERRORED,\r\n SET_ACTIVE_OUID_CONFIGS_REQUESTED,\r\n SET_ACTIVE_OUID_CONFIGS_SUCCESS,\r\n SET_ACTIVE_OUID_CONFIGS_ERRORED,\r\n} from '../constant/action-types';\r\nimport axios from 'axios';\r\nimport { showSnackbar } from './action-snackbar';\r\n\r\nimport configureStore from '../store/configureStore';\r\n\r\nconst store = configureStore();\r\n\r\n\r\nexport const create_or_update_configs_requested = () => ({\r\n type: CREATE_OR_UPDATE_CONFIGS_REQUESTED,\r\n});\r\n\r\nexport const create_or_update_configs_success = () => ({\r\n type: CREATE_OR_UPDATE_CONFIGS_SUCCESS,\r\n});\r\n\r\nexport const create_or_update_configs_errored = (error) => ({\r\n type: CREATE_OR_UPDATE_CONFIGS_ERRORED,\r\n error,\r\n});\r\n\r\n\r\n\r\nexport const create_or_update_configs = (activeOuid, identifier, payload, action) => async (dispatch) => {\r\n dispatch(create_or_update_configs_requested());\r\n console.log(`create_or_update_configs`);\r\n const {\r\n apiEndpoint,\r\n credentials,\r\n } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url;\r\n if(action === 'create'){\r\n url = `${apiEndpoint}/config/${identifier}?createArtifact=true`;\r\n }else if(action === 'update'){\r\n url = `${apiEndpoint}/config/${identifier}?updateArtifact=true`;\r\n }\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = 'put';\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n 'x-ouid': activeOuid\r\n },\r\n };\r\n return axios[method](\r\n url,\r\n payload,\r\n axiosHeader,\r\n )\r\n .then((response) => {\r\n console.log(\"Create Or Update Configs Success\");\r\n if(action === 'create'){\r\n dispatch(showSnackbar('Config Activated Successfully', 'success'));\r\n }else if(action === 'update'){\r\n dispatch(showSnackbar('Config Updated Successfully', 'success'));\r\n }\r\n \r\n dispatch(create_or_update_configs_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log('Create Or Update Configs Failed');\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar('Create Or Update Configs Failed', 'error'));\r\n } else {\r\n dispatch(showSnackbar('Create Or Update Configs Failed', 'error'));\r\n }\r\n dispatch(create_or_update_configs_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\n\r\nexport const get_all_active_configs_requested = () => ({\r\n type: GET_ALL_ACTIVE_CONFIGS_REQUESTED,\r\n});\r\n\r\nexport const get_all_active_configs_success = (payload) => ({\r\n type: GET_ALL_ACTIVE_CONFIGS_SUCCESS,\r\n payload\r\n});\r\n\r\nexport const get_all_active_configs_errored = (error) => ({\r\n type: GET_ALL_ACTIVE_CONFIGS_ERRORED,\r\n error,\r\n});\r\n\r\n\r\n\r\nexport const get_all_active_configs = (activeOuid) => async (dispatch) => {\r\n dispatch(get_all_active_configs_requested());\r\n console.log(`get_all_active_configs`);\r\n const {\r\n apiEndpoint,\r\n credentials,\r\n } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${apiEndpoint}/config`;\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = 'get';\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n 'x-ouid': activeOuid\r\n },\r\n };\r\n return axios[method](\r\n url,\r\n axiosHeader,\r\n )\r\n .then((response) => {\r\n console.log(\"Get All Active Configs Success\");\r\n // dispatch(showSnackbar('Get All Channel Partner Successfully', 'success'));\r\n dispatch(get_all_active_configs_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log('Get All Active Configs Failed');\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, 'error'));\r\n } else {\r\n dispatch(showSnackbar('Get All Active Configs Failed', 'error'));\r\n }\r\n dispatch(get_all_active_configs_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\n\r\n\r\n\r\nexport const set_active_ouid_configs_requested = () => ({\r\n type: SET_ACTIVE_OUID_CONFIGS_REQUESTED,\r\n});\r\n\r\nexport const set_active_ouid_configs_success = (payload) => ({\r\n type: SET_ACTIVE_OUID_CONFIGS_SUCCESS,\r\n payload\r\n});\r\n\r\nexport const set_active_ouid_configs_errored = (error) => ({\r\n type: SET_ACTIVE_OUID_CONFIGS_ERRORED,\r\n error,\r\n});\r\n\r\n\r\n\r\n\r\nexport const setActiveOiudConfigs = (activeOuid) => async (dispatch) => {\r\n console.log(`setActiveOiudConfigs`);\r\n dispatch(set_active_ouid_configs_requested());\r\n const {\r\n apiEndpoint,\r\n credentials,\r\n } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${apiEndpoint}/config`;\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = 'get';\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n 'x-ouid': activeOuid\r\n },\r\n };\r\n return axios[method](\r\n url,\r\n axiosHeader,\r\n )\r\n .then((response) => {\r\n console.log(\"Set Active Ouid Configs Success\");\r\n // dispatch(showSnackbar('Get All Channel Partner Successfully', 'success'));\r\n dispatch(set_active_ouid_configs_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log('Set Active Ouid Configs Failed');\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, 'error'));\r\n } else {\r\n dispatch(showSnackbar('Set Active Ouid Configs Failed', 'error'));\r\n }\r\n dispatch(set_active_ouid_configs_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\n\r\n\r\nexport const get_all_deployed_configs_requested = () => ({\r\n type: GET_ALL_DEPLOYED_CONFIGS_REQUESTED,\r\n});\r\n\r\nexport const get_all_deployed_configs_success = (payload) => ({\r\n type: GET_ALL_DEPLOYED_CONFIGS_SUCCESS,\r\n payload\r\n});\r\n\r\nexport const get_all_deployed_configs_errored = (error) => ({\r\n type: GET_ALL_DEPLOYED_CONFIGS_ERRORED,\r\n error,\r\n});\r\n\r\n\r\n\r\nexport const get_all_deployed_configs = (activeOuid) => async (dispatch) => {\r\n dispatch(get_all_deployed_configs_requested());\r\n console.log(`get_all_deployed_configs`);\r\n const {\r\n apiEndpoint,\r\n credentials,\r\n } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${apiEndpoint}/config?deployArtifact=true`;\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = 'get';\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n 'x-ouid': activeOuid\r\n },\r\n };\r\n return axios[method](\r\n url,\r\n axiosHeader,\r\n )\r\n .then((response) => {\r\n console.log(\"Get All Deployed Configs Success\");\r\n // dispatch(showSnackbar('Get All Channel Partner Successfully', 'success'));\r\n dispatch(get_all_deployed_configs_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log('Get All Deployed Configs Failed');\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, 'error'));\r\n } else {\r\n dispatch(showSnackbar('Get All Deployed Configs Failed', 'error'));\r\n }\r\n dispatch(get_all_deployed_configs_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import React from 'react';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport Card from '@material-ui/core/Card';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport CardActions from '@material-ui/core/CardActions';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport VisibilityIcon from '@material-ui/icons/Visibility';\r\nimport { Orgunit } from '@material-ui/icons';\r\nimport { history } from '../../reducers';\r\nimport Button from '@material-ui/core/Button';\r\nimport { RedirectFunc } from \"../common/CommonFunctions\";\r\nimport { setActiveOiudConfigs } from \"../../actions/action-config\";\r\nimport { setActiveOuid, setActiveOuidChain } from \"../../actions/action-permissions\";\r\nimport configureStore from '../../store/configureStore';\r\nimport ScheduleIcon from '@material-ui/icons/Schedule';\r\n\r\nconst store = configureStore();\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n minWidth: 275,\r\n maxWidth: 275,\r\n marginRight: 15,\r\n marginBottom: 15,\r\n padding: 10,\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n position: 'relative',\r\n backgroundColor: '#ffffff',\r\n boxShadow: 'rgb(9 30 66 / 25%) 0px 1px 1px, rgb(9 30 66 / 13%) 0px 0px 1px 1px',\r\n borderRadius: '3px',\r\n '&:hover': {\r\n boxShadow: 'rgb(9 30 66 / 25%) 0px 8px 16px -4px, rgb(9 30 66 / 31%) 0px 0px 1px',\r\n transition: 'box-shadow 0.2s ease 0s',\r\n },\r\n },\r\n OrchProfileCard: {\r\n fontSize: 14,\r\n },\r\n avatar: {\r\n backgroundColor: '#dc281e',\r\n },\r\n title: {\r\n fontSize: 14,\r\n },\r\n pos: {\r\n marginBottom: 12,\r\n },\r\n CardActions: {\r\n padding: 0,\r\n },\r\n});\r\n\r\nexport default function OrgunitCard(props) {\r\n const { Orgunit } = props;\r\n const classes = useStyles();\r\n const Icontooltip = withStyles({\r\n tooltip: {\r\n fontSize: 12,\r\n },\r\n })(Tooltip);\r\n const data = Orgunit.data;\r\n\r\n const handleOrgChange = async (identifier) => {\r\n const path = window.location.pathname.split('/');\r\n // await RedirectFunc(`/${identifier}/${path[path.length - 1]}`)\r\n store.dispatch(setActiveOuid(identifier));\r\n await store.dispatch(setActiveOuidChain(identifier));\r\n await store.dispatch(setActiveOiudConfigs(identifier));\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n if (activeOuidCoreConfigs.data) {\r\n if(activeOuidCoreConfigs.data.config.home){\r\n const deafaultUrl = activeOuidCoreConfigs.data.config.home;\r\n RedirectFunc(`/${identifier}/${deafaultUrl}`)\r\n return;\r\n }else{\r\n RedirectFunc(`/${identifier}`)\r\n return;\r\n }\r\n }else{\r\n RedirectFunc(`/${identifier}`)\r\n return;\r\n }\r\n };\r\n\r\n const { activeOuid } = store.getState().permission;\r\n\r\n return (\r\n \r\n {data && (\r\n
\r\n
\r\n
\r\n \r\n {Orgunit.markedForDeletion ?\r\n \r\n \r\n \r\n :\r\n \"\"\r\n }\r\n
\r\n
\r\n {/*
Type:
*/}\r\n
{data.emailId}
\r\n
{data.mobile}
\r\n
\r\n
\r\n \r\n \r\n { history.push(`/${activeOuid}/orgunit/${data.identifier}`); }}>\r\n \r\n \r\n \r\n \r\n { history.push(`/${activeOuid}/edit-orgunit/${data.identifier}`); }}>\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n );\r\n}\r\n","import {\r\n REGISTER_Orgunit_REQUESTED,\r\n REGISTER_Orgunit_SUCCESS,\r\n REGISTER_Orgunit_ERRORED,\r\n GET_ALL_Orgunit_REQUESTED,\r\n GET_ALL_Orgunit_SUCCESS,\r\n GET_ALL_Orgunit_ERRORED,\r\n GET_Orgunit_DETAILS_REQUESTED,\r\n GET_Orgunit_DETAILS_SUCCESS,\r\n GET_Orgunit_DETAILS_ERRORED,\r\n UPDATE_Orgunit_DETAILS_REQUESTED,\r\n UPDATE_Orgunit_DETAILS_SUCCESS,\r\n UPDATE_Orgunit_DETAILS_ERRORED,\r\n DELETE_Orgunit_REQUESTED,\r\n DELETE_Orgunit_SUCCESS,\r\n DELETE_Orgunit_ERRORED,\r\n GET_ORG_PLAN_DETAILS_REQUESTED,\r\n GET_ORG_PLAN_DETAILS_SUCCESS,\r\n GET_ORG_PLAN_DETAILS_ERRORED,\r\n} from \"../constant/action-types\";\r\n\r\nimport axios from \"axios\";\r\nimport { showSnackbar } from \"./action-snackbar\";\r\n\r\nimport configureStore from \"../store/configureStore\";\r\n\r\nconst store = configureStore();\r\n\r\nexport const register_Orgunit_requested = () => ({\r\n type: REGISTER_Orgunit_REQUESTED,\r\n});\r\n\r\nexport const register_Orgunit_success = () => ({\r\n type: REGISTER_Orgunit_SUCCESS,\r\n});\r\n\r\nexport const register_Orgunit_errored = (error) => ({\r\n type: REGISTER_Orgunit_ERRORED,\r\n error,\r\n});\r\n\r\nexport const get_all_Orgunit_requested = () => ({\r\n type: GET_ALL_Orgunit_REQUESTED,\r\n});\r\n\r\nexport const get_all_Orgunit_success = (payload) => ({\r\n type: GET_ALL_Orgunit_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_all_Orgunit_errored = (error) => ({\r\n type: GET_ALL_Orgunit_ERRORED,\r\n error,\r\n});\r\n\r\nexport const get_orgunit_details_requested = () => ({\r\n type: GET_Orgunit_DETAILS_REQUESTED,\r\n});\r\n\r\nexport const get_orgunit_details_success = (payload) => ({\r\n type: GET_Orgunit_DETAILS_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_orgunit_details_errored = (error) => ({\r\n type: GET_Orgunit_DETAILS_ERRORED,\r\n error,\r\n});\r\n\r\nexport const update_Orgunit_requested = () => ({\r\n type: UPDATE_Orgunit_DETAILS_REQUESTED,\r\n});\r\n\r\nexport const update_Orgunit_success = (payload) => ({\r\n type: UPDATE_Orgunit_DETAILS_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const update_Orgunit_errored = (error) => ({\r\n type: UPDATE_Orgunit_DETAILS_ERRORED,\r\n error,\r\n});\r\n\r\nexport const register_Orgunit =\r\n (payload, activeOuid, activeOuidChain) => async (dispatch) => {\r\n dispatch(register_Orgunit_requested());\r\n console.log(`register_Orgunit`);\r\n const { apiEndpoint, credentials } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${apiEndpoint}/orgunit`;\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n if (activeOuidCoreConfigs.data) {\r\n if (activeOuidCoreConfigs.data.config.entityRules) {\r\n const entityRules = activeOuidCoreConfigs.data.config.entityRules;\r\n const enitityRule = entityRules.find(\r\n ({ entity }) => entity === \"orgunit\"\r\n );\r\n if (enitityRule) {\r\n const actionsData = enitityRule.publishToApiTopic.actions;\r\n if (actionsData.indexOf(\"C\") > -1) {\r\n url = `${apiEndpoint}/orgunit?publishToApiTopic=true`;\r\n }\r\n }\r\n }\r\n }\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log('create url', url);\r\n const method = \"post\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, payload, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Orgunit Registerd Successfully\");\r\n dispatch(showSnackbar(\"Orgunit Registerd Successfully\", \"success\"));\r\n dispatch(register_Orgunit_success());\r\n })\r\n .catch((err) => {\r\n console.log(\"Orgunit Registration Failed\");\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n dispatch(showSnackbar(\"Orgunit Registration Failed\", \"error\"));\r\n dispatch(register_Orgunit_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const update_Orgunit = (payload, activeOuid) => async (dispatch) => {\r\n dispatch(update_Orgunit_requested());\r\n console.log(`update_Orgunit`);\r\n const { apiEndpoint, credentials } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${apiEndpoint}/orgunit/${activeOuid}`;\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n if (activeOuidCoreConfigs.data) {\r\n if (activeOuidCoreConfigs.data.config.entityRules) {\r\n const entityRules = activeOuidCoreConfigs.data.config.entityRules;\r\n const enitityRule = entityRules.find(\r\n ({ entity }) => entity === \"orgunit\"\r\n );\r\n if (enitityRule) {\r\n const actionsData = enitityRule.publishToApiTopic.actions;\r\n if (actionsData.indexOf(\"C\") > -1) {\r\n url = `${apiEndpoint}/orgunit/${activeOuid}?publishToApiTopic=true`;\r\n }\r\n }\r\n }\r\n }\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`create : ${url}`);\r\n const method = \"put\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, payload, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Orgunit Updation Success\");\r\n dispatch(showSnackbar(\"Orgunit Updated Successfully\", \"success\"));\r\n dispatch(update_Orgunit_success());\r\n })\r\n .catch((err) => {\r\n console.log(\"Orgunit Updation Failed\");\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n dispatch(showSnackbar(\"Orgunit Updation Failed\", \"error\"));\r\n dispatch(update_Orgunit_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const get_all_Orgunit = (activeOuid) => async (dispatch) => {\r\n dispatch(get_all_Orgunit_requested());\r\n console.log(`get_all_Orgunit`);\r\n const { apiEndpoint, credentials } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url;\r\n if (activeOuid) {\r\n url = `${apiEndpoint}/orgunit?parentOuId=${activeOuid}`;\r\n } else {\r\n url = `${apiEndpoint}/orgunit`;\r\n }\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get All Orgunit Success\");\r\n // dispatch(showSnackbar('Get All Channel Partner Successfully', 'success'));\r\n dispatch(get_all_Orgunit_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get All Orgunit Failed\");\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Orgunits Failed\", \"error\"));\r\n }\r\n dispatch(get_all_Orgunit_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const get_orgunit_details = (activeOuid) => async (dispatch) => {\r\n dispatch(get_orgunit_details_requested());\r\n console.log(`get_orgunit_details`);\r\n const { apiEndpoint, credentials } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const url = `${apiEndpoint}/orgunit/${activeOuid}`;\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get Orgunit Details Success\");\r\n // dispatch(showSnackbar('Get All Channel Partner Successfully', 'success'));\r\n dispatch(get_orgunit_details_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get Orgunit Details Failed\");\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get Orgunit Details Failed\", \"error\"));\r\n }\r\n dispatch(get_orgunit_details_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const delete_Orgunit_requested = () => ({\r\n type: DELETE_Orgunit_REQUESTED,\r\n});\r\n\r\nexport const delete_Orgunit_success = (payload) => ({\r\n type: DELETE_Orgunit_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const delete_Orgunit_errored = (error) => ({\r\n type: DELETE_Orgunit_ERRORED,\r\n error,\r\n});\r\n\r\nexport const delete_Orgunit = (activeOuid) => async (dispatch) => {\r\n dispatch(delete_Orgunit_requested());\r\n console.log(`delete_Orgunit`);\r\n const { apiEndpoint, credentials } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${apiEndpoint}/orgunit/${activeOuid}`;\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n if (activeOuidCoreConfigs.data) {\r\n if (activeOuidCoreConfigs.data.config.entityRules) {\r\n const entityRules = activeOuidCoreConfigs.data.config.entityRules;\r\n const enitityRule = entityRules.find(\r\n ({ entity }) => entity === \"orgunit\"\r\n );\r\n if (enitityRule) {\r\n const actionsData = enitityRule.publishToApiTopic.actions;\r\n if (actionsData.indexOf(\"D\") > -1) {\r\n url = `${apiEndpoint}/orgunit/${activeOuid}?publishToApiTopic=true`;\r\n }\r\n }\r\n }\r\n }\r\n\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = \"delete\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Delete Orgunit Success\");\r\n dispatch(\r\n showSnackbar(\"OrgUnit Deletion Requested Successfully\", \"success\")\r\n );\r\n dispatch(delete_Orgunit_success(response.data));\r\n })\r\n .catch((err) => {\r\n if (err.response) {\r\n console.log(\r\n \"Delete Orgunit Failed :\",\r\n JSON.stringify(err.response.data)\r\n );\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Delete failed\", \"error\"));\r\n }\r\n dispatch(delete_Orgunit_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const get_org_plan_details_requested = () => ({\r\n type: GET_ORG_PLAN_DETAILS_REQUESTED,\r\n});\r\n\r\nexport const get_org_plan_details_success = (payload) => ({\r\n type: GET_ORG_PLAN_DETAILS_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_org_plan_details_errored = (error) => ({\r\n type: GET_ORG_PLAN_DETAILS_ERRORED,\r\n error,\r\n});\r\n\r\nexport const get_org_plan_details = (activeOuid) => async (dispatch) => {\r\n dispatch(get_org_plan_details_requested());\r\n console.log(`get_org_plan_details`);\r\n const { apiEndpoint, credentials } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const url = `${apiEndpoint}/orgplan/${activeOuid}`;\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get Org Plan Details Success\");\r\n // dispatch(showSnackbar('Get All Channel Partner Successfully', 'success'));\r\n dispatch(get_org_plan_details_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get Org Plan Details Failed: \", JSON.stringify(err));\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get Org Plan Details Failed\", \"error\"));\r\n }\r\n dispatch(get_org_plan_details_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n","import React from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport InputBase from '@material-ui/core/InputBase';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n padding: '2px 4px',\r\n display: 'flex',\r\n alignItems: 'center',\r\n width: 400,\r\n marginRight: 15,\r\n },\r\n input: {\r\n marginLeft: theme.spacing(1),\r\n flex: 1,\r\n fontSize: 14,\r\n },\r\n iconButton: {\r\n padding: 10,\r\n },\r\n divider: {\r\n height: 28,\r\n margin: 4,\r\n },\r\n}));\r\n\r\nexport default function SearchField(props) {\r\n const classes = useStyles();\r\n const onChangeFunc = props.onChange;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n padding: 15,\r\n '& > * + *': {\r\n marginLeft: theme.spacing(2),\r\n },\r\n },\r\n}));\r\n\r\nexport default function Loader() {\r\n const classes = useStyles();\r\n\r\n return (\r\n
\r\n \r\n {/* */}\r\n
\r\n );\r\n}\r\n","import { RESET_STATE } from '../constant/action-types';\r\n\r\nexport function resetState() {\r\n return { type: RESET_STATE };\r\n}","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHYAAABGCAYAAAAZ3WC8AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABOVJREFUeNrsnf9x2jAUx2UfA3iDkgnq3PX/wASFCYAJIBNAJoBMAJkgdAKc/3NXOkG8QT1Cpd7zoTiy9CRskMz73unIlRocf/R+Sc8OYyQSKRxFXf3FfqwOff7Sr3v/fTXMCGwYIEf85YGPlI8B8rCcjyMfb3zsOeycwPoBUwCc8CGgJg18pID8DJALAnsdoEsLy7RVAYA3oQKOAgMqYua2RaAqwE8c7obAtgd1wV/WV/p6kWjNQorBUQBAE7DS0ZVPpQC4ewLbjOt9hUzXFwm4OwLrDlXAPDSU7d4c3MhTqALmh6dQg4Abewr14DlUoS0sihBYpNaexVQT3JTAmq11yl+mAZWLZcZOYA0ueM3CU8rPfUVg9S44YWFqDqUZgVXUq1MWrsSEXBLYr1qy8DWCcEJgO2KtstWOCKw001l39JPAnjTpEFiyWMkNpx0CWzYBdBusSCYMv+iAdU9eTNReg4sLZTNZvwqMv1/+KPY0j+zUQPa9g2C/BQ8WrHFuEVsSgC7GooNQxcR98eFEojOAttlMFirU4ftqeAwOrEdtKj7q3heoVq4Ytqdemaa7/oY18wkqOiuG7bQDQVVq59pJ0eZeboSEuiV+SuXgggtLoAvIURKoEIZNN6b3EDOKoOpdcGFpodtKrZtCzrJr8sRiQ6J0IHZaF5xZQC3DWVqTUV8seXpl4W58X0JPllDrPN+mjSb0nuZEqEbVW2t+JlRhpeO27tOtc8VLYne+tUJ7qgpqmTBliM9IXdpuIsqCrSXunR0jgAgYvxXhDJVJw/FrdloMsloAiclarfUL+f+2Cqil+zVBHcCkkFf4rKw2VqTjtAhhsFikCx7UlEdHZPacnJNgVZOnCXEzumFMabKuOXaPsNStYjLsEBMpZdId+FWwKbHT6g1prSqv92g4LoESEw1VarKfwj9lML6ApRJHL0zyMnEsj6oN84+INWh5wWMjZ9m9SnwlaWQqT6ROkqqeTSUN+9yCm5mee8GPkW9e+2LZcvJEq0x6YWKryuPliDJlblMnQyxeSJa6wy5QkNzc8INLFl2x8gyxcDGXJtsTto4luSu1TbjA+hLLOnkkxe6CwLavvoMLr7rvDDERjJOAwLYM1naR37LF5khg/ZVzH7JusSR2nVmkxuRcjejusogdMj+S3cU3gftj+ZG5IVlTgiWrtatRMTHPtPBTKBYrdO43l75nggX7QvzOsr4CmSnrJgNmApUrWSnsBunBQkaWE0KrOtVUsz4YLDCrTAjjDhusNJUTYq3qsIg1s4Fk744zzWKCTvLqVIq8x3YGE0LpRaIad+P7cwyvpSO3lnuDu/6ruHZj3V4sWNyHzfeYFNfURo/EUO2KEXFWBXCOSIg2le9ZNQpW8uGUIas1NbyvSkAHCPf6VMlvluc8FCxG+HDSZ00QyZDKKNaG4/43uknXvDjn+scG9zAmjkp3jLE+1XErA1yR6YrYOmQON3tpkydFYBeuh/qMK9kvv+hDw3UTFqp6HMP4En9XwLgJAPF2RiydYubRNpG6GFgJ7j3F3E9aImKmKk/JvQEr+f87hmv1uBWrnSKu2ZCd2kL3lyolXZ8aM4Isr3/jcAtIcnLfTsxpo10Efz7uwNXc8laft4+Ob+TPs0AhLaxYPP1zcIOARVPZrHNga0DflJumDhQSieSufwIMAFJu2RLbtfLKAAAAAElFTkSuQmCC\"","import React, { useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport clsx from \"clsx\";\r\nimport { makeStyles, useTheme } from \"@material-ui/core/styles\";\r\nimport Drawer from \"@material-ui/core/Drawer\";\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport List from \"@material-ui/core/List\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport { Auth } from \"aws-amplify\";\r\nimport { history } from \"../../reducers\";\r\nimport configureStore from \"../../store/configureStore\";\r\nimport { resetState } from \"../../actions\";\r\n\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport Collapse from \"@material-ui/core/Collapse\";\r\n\r\nimport ExpandLess from \"@material-ui/icons/ExpandLess\";\r\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\r\nimport StarBorder from \"@material-ui/icons/StarBorder\";\r\nimport AdjustIcon from \"@material-ui/icons/Adjust\";\r\nimport BusinessIcon from \"@material-ui/icons/Business\";\r\nimport HomeIcon from \"@material-ui/icons/Home\";\r\nimport CardMembershipIcon from \"@material-ui/icons/CardMembership\";\r\nimport HelpOutlineIcon from \"@material-ui/icons/HelpOutline\";\r\nimport AssessmentIcon from \"@material-ui/icons/Assessment\";\r\nimport MeetingRoomIcon from \"@material-ui/icons/MeetingRoom\";\r\nimport AccountTreeIcon from \"@material-ui/icons/AccountTree\";\r\nimport AssignmentTurnedInIcon from \"@material-ui/icons/AssignmentTurnedIn\";\r\nimport GroupIcon from \"@material-ui/icons/Group\";\r\nimport InsertDriveFileIcon from \"@material-ui/icons/InsertDriveFile\";\r\nimport LocationCityIcon from \"@material-ui/icons/LocationCity\";\r\nimport EmojiPeopleIcon from \"@material-ui/icons/EmojiPeople\";\r\nimport AccountBalanceIcon from \"@material-ui/icons/AccountBalance\";\r\nimport MonetizationOnIcon from \"@material-ui/icons/MonetizationOn\";\r\nimport PublicIcon from \"@material-ui/icons/Public\";\r\nimport Logo from \"../assets/images/ces/ces-logo.png\";\r\n\r\n// Images\r\nimport AccountCircle from \"@material-ui/icons/AccountCircle\";\r\n\r\n// Material Ui\r\nimport Divider from \"@material-ui/core/Divider\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport MenuIcon from \"@material-ui/icons/Menu\";\r\nimport ChevronLeftIcon from \"@material-ui/icons/ChevronLeft\";\r\nimport ChevronRightIcon from \"@material-ui/icons/ChevronRight\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport Menu from \"@material-ui/core/Menu\";\r\nimport CreditScoreIcon from \"@material-ui/icons/CreditCard\";\r\n\r\n// const apps = require('../pages/Apps');\r\n\r\nconst store = configureStore();\r\n\r\nconst drawerWidth = 240;\r\nconst headerHeight = 75;\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n display: \"flex\",\r\n },\r\n appBar: {\r\n zIndex: theme.zIndex.drawer + 1,\r\n transition: theme.transitions.create([\"width\", \"margin\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n },\r\n appBarShift: {\r\n marginLeft: drawerWidth,\r\n width: `calc(100% - ${drawerWidth}px)`,\r\n transition: theme.transitions.create([\"width\", \"margin\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n menuButton: {\r\n marginRight: theme.spacing(2),\r\n },\r\n hide: {\r\n display: \"none\",\r\n },\r\n drawer: {\r\n width: drawerWidth,\r\n flexShrink: 0,\r\n whiteSpace: \"nowrap\",\r\n marginTop: headerHeight,\r\n position: \"relative\",\r\n },\r\n drawerOpen: {\r\n width: drawerWidth,\r\n transition: theme.transitions.create(\"width\", {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n drawerClose: {\r\n transition: theme.transitions.create(\"width\", {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n overflowX: \"hidden\",\r\n width: theme.spacing(7) + 1,\r\n [theme.breakpoints.up(\"sm\")]: {\r\n width: theme.spacing(9) + 1,\r\n },\r\n },\r\n toolbar: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-end\",\r\n padding: theme.spacing(0, 1),\r\n // necessary for content to be below app bar\r\n ...theme.mixins.toolbar,\r\n },\r\n content: {\r\n flexGrow: 1,\r\n padding: theme.spacing(3),\r\n },\r\n drawerHeader: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n padding: theme.spacing(0, 1),\r\n // necessary for content to be below app bar\r\n ...theme.mixins.toolbar,\r\n justifyContent: \"flex-end\",\r\n },\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n title: {\r\n display: \"none\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n display: \"block\",\r\n },\r\n },\r\n sectionDesktop: {\r\n alignItems: \"center\",\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"flex\",\r\n },\r\n },\r\n sectionMobile: {\r\n display: \"flex\",\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"none\",\r\n },\r\n },\r\n nested: {\r\n paddingLeft: theme.spacing(4),\r\n },\r\n linkText: {\r\n fontWeight: 900,\r\n color: \"rgba(0, 0, 0, 0.70)\",\r\n },\r\n ActiveItem: {\r\n background: \"#e8f0fe\",\r\n color: \"#1967d2\",\r\n },\r\n}));\r\nfunction MiniDrawer(props) {\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const [width, setWidth] = React.useState(window.innerWidth);\r\n const [open, setOpen] = React.useState(true);\r\n\r\n const [anchorProfile, setAnchorProfile] = React.useState(null);\r\n const openProfile = Boolean(anchorProfile);\r\n const isAuthenticated = props.auth.isAuthenticated;\r\n const { activeOuid, userRoles, policies, activeOuidType } =\r\n store.getState().permission;\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n const { session } = store.getState().jwt.api.userSession;\r\n useEffect(() => {\r\n setActiveOuidValue(store.getState().permission.activeOuid);\r\n console.log(\"width\", width);\r\n if (width <= 768) {\r\n setOpen(false);\r\n } else {\r\n setOpen(true);\r\n }\r\n }, [JSON.stringify(props)]);\r\n const [activeOuidValue, setActiveOuidValue] = React.useState(activeOuid);\r\n\r\n const [Dropdownopen, setDropdownOpen] = React.useState(false);\r\n const handleDropdownClick = () => {\r\n setDropdownOpen(!Dropdownopen);\r\n };\r\n\r\n const handleDrawerOpen = () => {\r\n setOpen(true);\r\n };\r\n\r\n const handleProfileMenu = (event) => {\r\n setAnchorProfile(event.currentTarget);\r\n };\r\n\r\n const handleProfileClose = () => {\r\n setAnchorProfile(null);\r\n };\r\n\r\n const handleDrawerClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n const handleLogOut = async (event) => {\r\n event.preventDefault();\r\n try {\r\n Auth.signOut();\r\n props.auth.setAuthStatus(false);\r\n props.auth.setUser(null);\r\n store.dispatch(resetState());\r\n history.push(\"/\");\r\n } catch (error) {\r\n console.log(error.message);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \"\"\r\n\r\n
\r\n\r\n
\r\n {/* {isAuthenticated && (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )} */}\r\n \r\n \r\n \r\n {isAuthenticated && (\r\n \r\n {\r\n history.push(`/${activeOuid}/my-profile`);\r\n }}\r\n >\r\n My Profile\r\n \r\n Logout\r\n \r\n )}\r\n {!isAuthenticated && (\r\n \r\n {\r\n history.push(\"/login\");\r\n }}\r\n >\r\n Login\r\n \r\n \r\n )}\r\n {isAuthenticated &&
{session.username}
}\r\n
\r\n \r\n \r\n {isAuthenticated && (\r\n \r\n
\r\n \r\n {theme.direction === \"rtl\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n \r\n {\r\n history.push(`/${activeOuid}/user-home`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/course-dash`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/loanreq-dash`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/investreq-dash`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/user-govtscheme`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/appointment-dash`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {Dropdownopen ? : }\r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/company-profile`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/orgusers`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/orgunits`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/org-workqueue-dash`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n history.push(`/${activeOuid}/document-dash`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/hrmapp-dash`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/user-support`);\r\n }}\r\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 permission: state.permission,\r\n jwt: state.jwt,\r\n config: state.config,\r\n});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MiniDrawer);\r\n","import React, { useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport clsx from \"clsx\";\r\nimport { makeStyles, useTheme } from \"@material-ui/core/styles\";\r\nimport Drawer from \"@material-ui/core/Drawer\";\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport List from \"@material-ui/core/List\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport { Auth } from \"aws-amplify\";\r\nimport { history } from \"../../reducers\";\r\nimport configureStore from \"../../store/configureStore\";\r\nimport { resetState } from \"../../actions\";\r\n\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport Collapse from \"@material-ui/core/Collapse\";\r\n\r\nimport ExpandLess from \"@material-ui/icons/ExpandLess\";\r\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\r\nimport StarBorder from \"@material-ui/icons/StarBorder\";\r\nimport AdjustIcon from \"@material-ui/icons/Adjust\";\r\nimport BusinessIcon from \"@material-ui/icons/Business\";\r\nimport HomeIcon from \"@material-ui/icons/Home\";\r\nimport CardMembershipIcon from \"@material-ui/icons/CardMembership\";\r\nimport HelpOutlineIcon from \"@material-ui/icons/HelpOutline\";\r\nimport AssessmentIcon from \"@material-ui/icons/Assessment\";\r\nimport MeetingRoomIcon from \"@material-ui/icons/MeetingRoom\";\r\nimport AccountTreeIcon from \"@material-ui/icons/AccountTree\";\r\nimport AssignmentTurnedInIcon from \"@material-ui/icons/AssignmentTurnedIn\";\r\nimport GroupIcon from \"@material-ui/icons/Group\";\r\nimport InsertDriveFileIcon from \"@material-ui/icons/InsertDriveFile\";\r\nimport LocationCityIcon from \"@material-ui/icons/LocationCity\";\r\n\r\n// Images\r\nimport AccountCircle from \"@material-ui/icons/AccountCircle\";\r\n\r\n// Material Ui\r\nimport Divider from \"@material-ui/core/Divider\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport MenuIcon from \"@material-ui/icons/Menu\";\r\nimport ChevronLeftIcon from \"@material-ui/icons/ChevronLeft\";\r\nimport ChevronRightIcon from \"@material-ui/icons/ChevronRight\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport Menu from \"@material-ui/core/Menu\";\r\n\r\n// const apps = require('../pages/Apps');\r\n\r\nconst store = configureStore();\r\n\r\nconst drawerWidth = 240;\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n display: \"flex\",\r\n },\r\n appBar: {\r\n transition: theme.transitions.create([\"margin\", \"width\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n },\r\n appBarShift: {\r\n width: `calc(100% - ${drawerWidth}px)`,\r\n marginLeft: drawerWidth,\r\n transition: theme.transitions.create([\"margin\", \"width\"], {\r\n easing: theme.transitions.easing.easeOut,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n menuButton: {\r\n marginRight: theme.spacing(2),\r\n },\r\n hide: {\r\n display: \"none\",\r\n },\r\n drawer: {\r\n width: drawerWidth,\r\n flexShrink: 0,\r\n },\r\n drawerPaper: {\r\n width: drawerWidth,\r\n },\r\n drawerHeader: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n padding: theme.spacing(0, 1),\r\n // necessary for content to be below app bar\r\n ...theme.mixins.toolbar,\r\n justifyContent: \"flex-end\",\r\n },\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n title: {\r\n display: \"none\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n display: \"block\",\r\n },\r\n },\r\n sectionDesktop: {\r\n display: \"none\",\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n },\r\n },\r\n sectionMobile: {\r\n display: \"flex\",\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"none\",\r\n },\r\n },\r\n nested: {\r\n paddingLeft: theme.spacing(4),\r\n },\r\n}));\r\nfunction MiniDrawer(props) {\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const [open, setOpen] = React.useState(false);\r\n\r\n const [anchorProfile, setAnchorProfile] = React.useState(null);\r\n const openProfile = Boolean(anchorProfile);\r\n const isAuthenticated = props.auth.isAuthenticated;\r\n const { activeOuid, userRoles, policies, activeOuidType } =\r\n store.getState().permission;\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n const { session } = store.getState().jwt.api.userSession;\r\n useEffect(() => {\r\n setActiveOuidValue(store.getState().permission.activeOuid);\r\n }, [JSON.stringify(props)]);\r\n const [activeOuidValue, setActiveOuidValue] = React.useState(activeOuid);\r\n\r\n const [Dropdownopen, setDropdownOpen] = React.useState(true);\r\n const handleDropdownClick = () => {\r\n setDropdownOpen(!Dropdownopen);\r\n };\r\n\r\n const handleDrawerOpen = () => {\r\n setOpen(true);\r\n };\r\n\r\n const handleProfileMenu = (event) => {\r\n setAnchorProfile(event.currentTarget);\r\n };\r\n\r\n const handleProfileClose = () => {\r\n setAnchorProfile(null);\r\n };\r\n\r\n const handleDrawerClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n const handleLogOut = async (event) => {\r\n event.preventDefault();\r\n try {\r\n Auth.signOut();\r\n props.auth.setAuthStatus(false);\r\n props.auth.setUser(null);\r\n store.dispatch(resetState());\r\n history.push(\"/\");\r\n } catch (error) {\r\n console.log(error.message);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n\r\n
\r\n {/* {isAuthenticated && (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )} */}\r\n \r\n \r\n \r\n {isAuthenticated && (\r\n \r\n {\r\n history.push(`/${activeOuid}/my-profile`);\r\n }}\r\n >\r\n My Profile\r\n \r\n Logout\r\n \r\n )}\r\n {!isAuthenticated && (\r\n \r\n {\r\n history.push(\"/login\");\r\n }}\r\n >\r\n Login\r\n \r\n \r\n )}\r\n {isAuthenticated &&
{session.username}
}\r\n
\r\n \r\n \r\n {isAuthenticated && (\r\n \r\n
\r\n \r\n {theme.direction === \"rtl\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n \r\n {\r\n history.push(`/${activeOuid}/user-home`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/course-dash`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n history.push(`/${activeOuid}/user-support`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/booking-dash`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {Dropdownopen ? : }\r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/orgunits`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/org-workqueue-dash`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/orgusers`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/document-dash`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/company-profile`);\r\n }}\r\n >\r\n \r\n \r\n \r\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 permission: state.permission,\r\n jwt: state.jwt,\r\n config: state.config,\r\n});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MiniDrawer);\r\n","import React, { useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport clsx from \"clsx\";\r\nimport { makeStyles, useTheme } from \"@material-ui/core/styles\";\r\nimport Drawer from \"@material-ui/core/Drawer\";\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport List from \"@material-ui/core/List\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport { Auth } from \"aws-amplify\";\r\nimport { history } from \"../../reducers\";\r\nimport configureStore from \"../../store/configureStore\";\r\nimport { resetState } from \"../../actions\";\r\n\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport Collapse from \"@material-ui/core/Collapse\";\r\n\r\nimport ExpandLess from \"@material-ui/icons/ExpandLess\";\r\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\r\nimport StarBorder from \"@material-ui/icons/StarBorder\";\r\nimport AdjustIcon from \"@material-ui/icons/Adjust\";\r\nimport BusinessIcon from \"@material-ui/icons/Business\";\r\nimport HomeIcon from \"@material-ui/icons/Home\";\r\nimport CardMembershipIcon from \"@material-ui/icons/CardMembership\";\r\nimport HelpOutlineIcon from \"@material-ui/icons/HelpOutline\";\r\nimport AssessmentIcon from \"@material-ui/icons/Assessment\";\r\nimport MeetingRoomIcon from \"@material-ui/icons/MeetingRoom\";\r\nimport AccountTreeIcon from \"@material-ui/icons/AccountTree\";\r\nimport AssignmentTurnedInIcon from \"@material-ui/icons/AssignmentTurnedIn\";\r\nimport GroupIcon from \"@material-ui/icons/Group\";\r\nimport InsertDriveFileIcon from \"@material-ui/icons/InsertDriveFile\";\r\nimport LocationCityIcon from \"@material-ui/icons/LocationCity\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\n// Images\r\nimport AccountCircle from \"@material-ui/icons/AccountCircle\";\r\nimport Logo from \"../assets/images/ces/ces-logo.png\";\r\nimport AttachMoneyIcon from \"@material-ui/icons/AttachMoney\";\r\nimport MoneyIcon from \"@material-ui/icons/Money\";\r\n\r\n// Material Ui\r\nimport Divider from \"@material-ui/core/Divider\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport MenuIcon from \"@material-ui/icons/Menu\";\r\nimport ChevronLeftIcon from \"@material-ui/icons/ChevronLeft\";\r\nimport ChevronRightIcon from \"@material-ui/icons/ChevronRight\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport Menu from \"@material-ui/core/Menu\";\r\n\r\n// const apps = require('../pages/Apps');\r\n\r\nconst store = configureStore();\r\n\r\nconst drawerWidth = 240;\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n display: \"flex\",\r\n },\r\n appBar: {\r\n transition: theme.transitions.create([\"margin\", \"width\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n },\r\n appBarShift: {\r\n width: `calc(100% - ${drawerWidth}px)`,\r\n marginLeft: drawerWidth,\r\n transition: theme.transitions.create([\"margin\", \"width\"], {\r\n easing: theme.transitions.easing.easeOut,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n menuButton: {\r\n marginRight: theme.spacing(2),\r\n },\r\n hide: {\r\n display: \"none\",\r\n },\r\n drawer: {\r\n width: drawerWidth,\r\n flexShrink: 0,\r\n },\r\n drawerPaper: {\r\n width: drawerWidth,\r\n },\r\n drawerHeader: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n padding: theme.spacing(0, 1),\r\n // necessary for content to be below app bar\r\n ...theme.mixins.toolbar,\r\n justifyContent: \"flex-end\",\r\n },\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n title: {\r\n display: \"none\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n display: \"block\",\r\n },\r\n },\r\n sectionDesktop: {\r\n display: \"none\",\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n },\r\n },\r\n sectionMobile: {\r\n display: \"flex\",\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"none\",\r\n },\r\n },\r\n nested: {\r\n paddingLeft: theme.spacing(4),\r\n },\r\n}));\r\nfunction MiniDrawer(props) {\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const [open, setOpen] = React.useState(true);\r\n\r\n const [anchorProfile, setAnchorProfile] = React.useState(null);\r\n const openProfile = Boolean(anchorProfile);\r\n const isAuthenticated = props.auth.isAuthenticated;\r\n const { activeOuid, userRoles, policies, activeOuidType } =\r\n store.getState().permission;\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n const { session } = store.getState().jwt.api.userSession;\r\n useEffect(() => {\r\n setActiveOuidValue(store.getState().permission.activeOuid);\r\n }, [JSON.stringify(props)]);\r\n const [activeOuidValue, setActiveOuidValue] = React.useState(activeOuid);\r\n\r\n const [Dropdownopen, setDropdownOpen] = React.useState(true);\r\n const handleDropdownClick = () => {\r\n setDropdownOpen(!Dropdownopen);\r\n };\r\n\r\n const handleDrawerOpen = () => {\r\n setOpen(true);\r\n };\r\n\r\n const handleProfileMenu = (event) => {\r\n setAnchorProfile(event.currentTarget);\r\n };\r\n\r\n const handleProfileClose = () => {\r\n setAnchorProfile(null);\r\n };\r\n\r\n const handleDrawerClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n const handleLogOut = async (event) => {\r\n event.preventDefault();\r\n try {\r\n Auth.signOut();\r\n props.auth.setAuthStatus(false);\r\n props.auth.setUser(null);\r\n store.dispatch(resetState());\r\n history.push(\"/\");\r\n } catch (error) {\r\n console.log(error.message);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"\"\r\n \r\n
\r\n\r\n
\r\n {/* {isAuthenticated && (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )} */}\r\n \r\n \r\n \r\n {isAuthenticated && (\r\n \r\n {\r\n history.push(`/${activeOuid}/my-profile`);\r\n }}\r\n >\r\n My Profile\r\n \r\n Logout\r\n \r\n )}\r\n {!isAuthenticated && (\r\n \r\n {\r\n history.push(\"/login\");\r\n }}\r\n >\r\n Login\r\n \r\n \r\n )}\r\n {isAuthenticated &&
{session.username}
}\r\n
\r\n \r\n \r\n {isAuthenticated && (\r\n \r\n
\r\n \r\n {theme.direction === \"rtl\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n \r\n {\r\n history.push(`/${activeOuid}/user-home`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {/* {\r\n history.push(`/${activeOuid}/course-dash`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n */}\r\n\r\n {\r\n history.push(`/${activeOuid}/user-support`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/booking-dash`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/investreq-wq-dash`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/loanreq-wq-dash`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/orgunits`);\r\n }}\r\n >\r\n \r\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 permission: state.permission,\r\n jwt: state.jwt,\r\n config: state.config,\r\n});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MiniDrawer);\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAGPklEQVRIS7VWDUxVZRh+zj33/xcQFH8DlMVPin8gmhtWU2vOHCsz25zl1LWynMtWzVytOZtb60cpc3Oa6Wqa5mxTpNY0JwxaIiISCooCEukFLtz/n3NP7/txLwK3tdn0ubs75/vOd77353mf9zuSSgiFwtBoNHiYUKJRGPQ6SNvKjqgf7joMq9kYe/Rw0Of24btPN0FjNhmQnpYs/hazAQ67FXarGcl0TXZYYLMYMTo1Scwl2c3CMZvFDAeNHTYz7DRnt1tgtZhgs5rEOt7TTs8cPE9zY1J5/yTo9VpoYw7A7fXhk/c3obr6DOwpqehw9gFhYF5BLraV7cfGtaVoueXFjLxx6Pf04E6fHxpVB61XpXT1YlJmFnw+L5yBIIryslFb14qApxv5uZnY+tUPMSsSBonTyjLqG1sQUQ0Ier3w+yIIBvxo6+2GyWKDyxOAu7sLx8prsPvQL0SKBr0uF+pbbkDR6nGiohrn6zvQ0NyGP693oKahGaos4VhFLfS6wbgg7djzo/rF/pOUTiMC5B2kAR80GklcFUUhsvUIUmHJsgYaSRJXHkt0z+sURRVzUFXxTjiiQKeTKXKap2LUaWXB4a4P1kAq/+2CunnnbtgtFrF4KCJRRVy1Gllcw0pEVLMcc4rHnBmJfoxgJAQDRftvcHm8OLJ9K4QsVn+zAUlmh3gQVsII0T9CkU2bmEPGtKi9dRnse8mjxWjv6cRNZzsFo+KJnHm42NYAd8BL0Sh4qbgUh38/IZii4GHUGSgj7KwKd9CHfas+hzZCXoaCKsKyimA4iKy0SViYXyJSUdVyATL93ihZRw5E0PhXC2yyg8ZPo9/vRa/XhTRTOl4pfgoNHVehV83IS8vDE7nz4AsFyPhPCFDUGspIKBgVAQ0WDQvTbDBjy9KNKMqajlkZ0wQlnFa+nzN5JnFDPFLEMx+ZigU5xfCH/LDoTSiYmIepE3JEdiakjBXP52cXYvtz78BD0Q/FoEFVjSLFkhQbDcDl70M3SSCOljut5FgkNgLqO5pgN1nF/dik0ThYdRSTUsaLMcNmtEKhfYdCIq/VVXs3wmawIN0xGh+Vbo49ejB48evXkEz14Q56cWjdznsRMrjMGQHi0ksk8z9EHDB/fuLERyn0Bf1izBUaH/MznuMq9dJ44D3qGoR4BcdxT5EEi8GELUd3kDceZFLx8OImKpQ7bidxlCuqjqu2+katkMrsjALiOCJ4auxsRkbqBIxxpAmt1rU1Ytn0hTDph/foYQbZHwNtWkIFseixEjGz99z3qGg4i/eWbBAGGSv3bICDuHv7mVfF2OnuxvoD7+L52UvwOBUL4+OTZdDJOnE/FCMMcovTouH2VWGYPe3s7RJell8+Q0ZswqgxJu6aW38IzXY674rs1LU3iohZe05PL/LGDmNMYFjRTBmTKdJY136FNBkSC7gK2YjL1yd4Y6RaU6AzSrh03gW/J4r8+SZyygRvwCd4ZfA7LxQuxfHa06L7xIsmIULW2pysGZg7eZaIsPzyWVzruo4VRcuoG9nFRnsrD6G1RkVTZZiOISN8o9Kgn96DYtIq61GmCI9dOCW6z0gkxMxCz0mfjMLMAiH4dCoCfziAxcQptzZ2JqSE0O9UsWbFAry8vASVVTcpV1FMo8Kan12EuVNmYZQ1GVFqJiOREKFeq8OZpipc+7tV9MObdztgN9pQ9ut+So2BCkELo8aEjAIVp05fQtfdXsxeZKcGqMXPV85RdV4R8uKemz8uO7brPSRySO2ssatZcMkKkskAp1ZojaLnWavRDFkrweOlOaLanqyDGqF+SXSwbrna+Z3lVLXHL1b8N4d+Ev1K4mukLA7S4pGyOLDuMzGOy+KtxeuHySJeZEORwCF71uNziW7DzZi7hkwib6MUxRtx/DzkI4qfd5B0+FxkKfB73HX4Gu9cQ5GQUt6knvQUrzA+QZg3D22sxDx2ULXyun6/W4xZuxZax0b4iGNoyMmVRc8mpHTQYJLJLkT8+pOrhXYYAyzeP6J0QvBJwcfct5VHBRUJBrmj88IoeV5IPZJTO/CFcv/gVHKq+UvBpBvopYMGg3Tcl365dvATg1PF7el/W4uBjXKqBWhPpuTEm/sGvmluC9ITCvbBQQShYHxyOv4BQeQCGeB1AggAAAAASUVORK5CYII=\"","export default __webpack_public_path__ + \"static/media/notification2.5bcf0aaf.png\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAsQAAALEBxi1JjQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAE9SURBVEiJvda9K0ZhHMbxz+OtlEV2A1JKCUkm5WVmwj8gDMpi8ReYTaT8CZLNwCKLQcpgkYWH6QklBi+P4TkKnefcxzly1a9O9++6r2+/+z6dDt81gxuUU9Qb1lCQoK/NRpRwgN2kTZFW0YwNLETQRHVEprEU4XCFM5VJ1lWZpCZlWDXtYDaqzbi8upyAArai4A28+nFceQCXmFQ5qjIOMRc9L8Rt+O0d9OFc/BvW+mnKcwcn6FI5ps8aj3oNfwFIpdAd1KMp4HnES1bAEQYCnmMMZgXMoz3guUhqhgD3uAt4HvIAttET8JyiNytgGC0BTympGQIMSTfBXlbAMkYCnv08gNFAP6gQYBHdMet3WMF7XkAn+mPWb1H7F4DFUEBI//qxK+IZS2jLmDeBJ1xXM0xHoDS/LXFVxNTXwA++vFRBuUeVhgAAAABJRU5ErkJggg==\"","import React, { useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport clsx from \"clsx\";\r\nimport { makeStyles, useTheme } from \"@material-ui/core/styles\";\r\nimport Drawer from \"@material-ui/core/Drawer\";\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport List from \"@material-ui/core/List\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport { Auth } from \"aws-amplify\";\r\nimport { history } from \"../../reducers\";\r\nimport configureStore from \"../../store/configureStore\";\r\nimport { resetState } from \"../../actions\";\r\nimport {\r\n setActiveOuid,\r\n setActiveOuidChain,\r\n} from \"../../actions/action-permissions\";\r\nimport { setActiveOiudConfigs } from \"../../actions/action-config\";\r\nimport { RedirectFunc } from \"../common/CommonFunctions\";\r\n\r\n// Images\r\nimport Orgunit from \"../assets/images/diagram.png\";\r\nimport Notification from \"../assets/images/notification2.png\";\r\nimport Manageuser from \"../assets/images/group.png\";\r\nimport OrgUsers from \"../assets/images/orgusers.png\";\r\nimport PlanIcon from \"../assets/images/board.png\";\r\nimport AuthuserIcon from \"../assets/images/group.png\";\r\nimport Queue from \"../assets/images/queue.png\";\r\nimport Settings from \"../assets/images/settings.png\";\r\nimport Star from \"../assets/images/star.png\";\r\nimport Booking from \"../assets/images/booking.png\";\r\nimport Docs from \"../assets/images/docs.png\";\r\nimport Team from \"../assets/images/teamwork.png\";\r\nimport AccountCircle from \"@material-ui/icons/AccountCircle\";\r\n\r\n// Material Ui\r\nimport Divider from \"@material-ui/core/Divider\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport MenuIcon from \"@material-ui/icons/Menu\";\r\nimport ChevronLeftIcon from \"@material-ui/icons/ChevronLeft\";\r\nimport ChevronRightIcon from \"@material-ui/icons/ChevronRight\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport Badge from \"@material-ui/core/Badge\";\r\nimport MailIcon from \"@material-ui/icons/Mail\";\r\nimport NotificationsIcon from \"@material-ui/icons/Notifications\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport Menu from \"@material-ui/core/Menu\";\r\nimport FormControl from \"@material-ui/core/FormControl\";\r\nimport Select from \"@material-ui/core/Select\";\r\n// import SidebarTree from '../common/SidebarTree';\r\nimport AccountTreeIcon from \"@material-ui/icons/AccountTree\";\r\n// import { Star } from '@material-ui/icons';\r\n\r\n// const apps = require('../pages/Apps');\r\n\r\nconst store = configureStore();\r\n\r\nconst drawerWidth = 240;\r\nconst headerHeight = 75;\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n display: \"flex\",\r\n },\r\n appBar: {\r\n zIndex: theme.zIndex.drawer + 1,\r\n transition: theme.transitions.create([\"width\", \"margin\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n },\r\n appBarShift: {\r\n marginLeft: drawerWidth,\r\n // width: `calc(100% - ${drawerWidth}px)`,\r\n width: \"100%\",\r\n transition: theme.transitions.create([\"width\", \"margin\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n menuButton: {\r\n marginRight: 36,\r\n },\r\n hide: {\r\n display: \"none\",\r\n },\r\n drawer: {\r\n width: drawerWidth,\r\n flexShrink: 0,\r\n whiteSpace: \"nowrap\",\r\n marginTop: headerHeight,\r\n position: \"relative\",\r\n },\r\n drawerOpen: {\r\n width: drawerWidth,\r\n transition: theme.transitions.create(\"width\", {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n top: 64,\r\n },\r\n drawerClose: {\r\n transition: theme.transitions.create(\"width\", {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n overflowX: \"hidden\",\r\n width: theme.spacing(7) + 1,\r\n [theme.breakpoints.up(\"sm\")]: {\r\n width: theme.spacing(9) + 1,\r\n },\r\n },\r\n toolbar: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-end\",\r\n padding: theme.spacing(0, 1),\r\n // necessary for content to be below app bar\r\n ...theme.mixins.toolbar,\r\n },\r\n content: {\r\n flexGrow: 1,\r\n padding: theme.spacing(3),\r\n },\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n\r\n sectionDesktop: {\r\n alignItems: \"center\",\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"flex\",\r\n },\r\n },\r\n select: {\r\n color: \"#fff\",\r\n \"&:before\": {\r\n borderColor: \"#fff\",\r\n },\r\n \"&:after\": {\r\n borderColor: \"#fff\",\r\n },\r\n },\r\n icon: {\r\n fill: \"#fff\",\r\n },\r\n}));\r\n\r\nfunction MiniDrawer(props) {\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const [open, setOpen] = React.useState(false);\r\n const [anchorProfile, setAnchorProfile] = React.useState(null);\r\n const openProfile = Boolean(anchorProfile);\r\n const isAuthenticated = props.auth.isAuthenticated;\r\n const { activeOuid, userRoles, policies, activeOuidType } =\r\n store.getState().permission;\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n const { session } = store.getState().jwt.api.userSession;\r\n useEffect(() => {\r\n setActiveOuidValue(store.getState().permission.activeOuid);\r\n }, [JSON.stringify(props)]);\r\n const [activeOuidValue, setActiveOuidValue] = React.useState(activeOuid);\r\n\r\n const handleDropDown = async (event) => {\r\n setActiveOuidValue(event.target.value);\r\n const path = window.location.pathname.split(\"/\");\r\n // await RedirectFunc(`/${event.target.value}/${path[path.length - 1]}`)\r\n await store.dispatch(setActiveOuid(event.target.value));\r\n await store.dispatch(setActiveOuidChain(event.target.value));\r\n await store.dispatch(setActiveOiudConfigs(event.target.value));\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n if (activeOuidCoreConfigs.data) {\r\n const deafaultUrl = activeOuidCoreConfigs.data.config.home;\r\n RedirectFunc(`/${event.target.value}/${deafaultUrl}`);\r\n return;\r\n } else {\r\n RedirectFunc(`/${event.target.value}`);\r\n return;\r\n }\r\n };\r\n\r\n const renderMenuTtem = () => {\r\n const activeOuidExist = userRoles.find(({ ouid }) => ouid === activeOuid);\r\n let renderOuids = userRoles;\r\n if (activeOuidExist) {\r\n renderOuids = userRoles;\r\n } else {\r\n renderOuids.push({ ouid: activeOuid, roles: [] });\r\n }\r\n return renderOuids.map((item, index) => (\r\n \r\n {item.ouid}\r\n \r\n ));\r\n };\r\n\r\n const handleDrawerOpen = () => {\r\n setOpen(true);\r\n };\r\n\r\n const handleProfileMenu = (event) => {\r\n setAnchorProfile(event.currentTarget);\r\n };\r\n\r\n const handleProfileClose = () => {\r\n setAnchorProfile(null);\r\n };\r\n\r\n const handleDrawerClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n const handleLogOut = async (event) => {\r\n event.preventDefault();\r\n try {\r\n Auth.signOut();\r\n props.auth.setAuthStatus(false);\r\n props.auth.setUser(null);\r\n store.dispatch(resetState());\r\n history.push(\"/\");\r\n } catch (error) {\r\n console.log(error.message);\r\n }\r\n };\r\n\r\n const orgUnits = [];\r\n\r\n if (\r\n policies.includes(`${activeOuid}=admin`) ||\r\n policies.includes(\"system=admin\")\r\n ) {\r\n const newLink = {\r\n url: `/${activeOuid}/orgunits`,\r\n text: \"Branches\",\r\n icon: Orgunit,\r\n };\r\n orgUnits.push(newLink);\r\n }\r\n\r\n /**if (activeOuid !== \"system\" && policies.includes(`${activeOuid}=admin`)) {\r\n const newLink = {\r\n url: `/${activeOuid}/teams`,\r\n text: \"Teams\",\r\n icon: Team,\r\n };\r\n orgUnits.push(newLink);\r\n }**/\r\n\r\n const utilities = [];\r\n\r\n if (\r\n policies.includes(`${activeOuid}=admin`) ||\r\n policies.includes(\"system=admin\")\r\n ) {\r\n const newLink = {\r\n url: `/${activeOuid}/orgusers`,\r\n text: \"Users\",\r\n icon: OrgUsers,\r\n };\r\n utilities.push(newLink);\r\n }\r\n\r\n if (policies.includes(\"system=admin\") && activeOuid === \"system\") {\r\n const newLink = {\r\n url: `/${activeOuid}/users`,\r\n text: \"Authenticated Users\",\r\n icon: AuthuserIcon,\r\n };\r\n utilities.push(newLink);\r\n }\r\n\r\n if (\r\n policies.includes(`${activeOuid}=admin`) ||\r\n policies.includes(\"system=admin\")\r\n ) {\r\n if (activeOuidType === \"ROOT\") {\r\n const newLink = {\r\n url: `/${activeOuid}/orgplan`,\r\n text: \"Organisational Plan\",\r\n icon: PlanIcon,\r\n };\r\n utilities.push(newLink);\r\n }\r\n }\r\n\r\n const work = [];\r\n\r\n if (\r\n policies.includes(`${activeOuid}=admin`) ||\r\n policies.includes(\"system=admin\")\r\n ) {\r\n let newLink = {\r\n url: `/${activeOuid}/org-workqueue-dash`,\r\n text: \"Tasks\",\r\n icon: Queue,\r\n };\r\n work.push(newLink);\r\n /**newLink = {\r\n url: `/${activeOuid}/notifications`,\r\n text: \"Notifications\",\r\n icon: Notification,\r\n };\r\n work.push(newLink);**/\r\n }\r\n\r\n const document = [];\r\n\r\n if (\r\n policies.includes(`${activeOuid}=admin`) ||\r\n policies.includes(\"system=admin\")\r\n ) {\r\n const newLink = {\r\n url: `/${activeOuid}/document-dash`,\r\n text: \"Documents\",\r\n icon: Docs,\r\n };\r\n document.push(newLink);\r\n }\r\n\r\n if (\r\n policies.includes(`${activeOuid}=admin`) ||\r\n policies.includes(\"system=admin\")\r\n ) {\r\n if (activeOuidType === \"ROOT\" || activeOuidType === \"CP\") {\r\n const newLink = {\r\n url: `/${activeOuid}/booking-dash`,\r\n text: \"Meetings\",\r\n icon: Booking,\r\n };\r\n document.push(newLink);\r\n }\r\n }\r\n\r\n if (\r\n policies.includes(`${activeOuid}=admin`) ||\r\n policies.includes(\"system=admin\")\r\n ) {\r\n console.log(\"activeOuidType\", activeOuidType);\r\n\r\n if (activeOuidType !== \"ROOT\" && activeOuidType !== \"CP\") {\r\n const newLink = {\r\n url: `/${activeOuid}/appointment-dash`,\r\n text: \"CP Appointments\",\r\n icon: Booking,\r\n };\r\n document.push(newLink);\r\n }\r\n }\r\n\r\n if (activeOuidType !== \"ROOT\") {\r\n const newLink = {\r\n url: `/${activeOuid}/govtscheme-dash`,\r\n text: \"Govt Schemes\",\r\n icon: Docs,\r\n };\r\n document.push(newLink);\r\n }\r\n\r\n if (activeOuidType !== \"ROOT\") {\r\n const newLink = {\r\n url: `/${activeOuid}/course-dash`,\r\n text: \"Courses\",\r\n icon: Docs,\r\n };\r\n document.push(newLink);\r\n }\r\n\r\n if (\r\n policies.includes(`${activeOuid}=admin`) ||\r\n policies.includes(\"system=admin\")\r\n ) {\r\n if (activeOuidType === \"ROOT\") {\r\n const newLink = {\r\n url: `/${activeOuid}/post-dash`,\r\n text: \"Posts\",\r\n icon: Docs,\r\n };\r\n document.push(newLink);\r\n }\r\n }\r\n\r\n const config = [];\r\n\r\n if (\r\n policies.includes(`${activeOuid}=admin`) ||\r\n policies.includes(\"system=admin\")\r\n ) {\r\n if (activeOuidType === \"ROOT\") {\r\n const newLink = {\r\n url: `/${activeOuid}/config-dash`,\r\n text: \"Settings\",\r\n icon: Settings,\r\n };\r\n config.push(newLink);\r\n }\r\n }\r\n\r\n const renderMenuIcon = (icon) => {\r\n try {\r\n return (\r\n \r\n );\r\n } catch (error) {\r\n return \"Icon\";\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n theme.zIndex.drawer + 1 }}\r\n color='secondary'\r\n >\r\n \r\n \r\n \r\n \r\n \r\n IBC\r\n \r\n\r\n
\r\n {isAuthenticated && (\r\n
\r\n \r\n \r\n {userRoles.length !== 0 ? (\r\n renderMenuTtem()\r\n ) : (\r\n No item Found\r\n )}\r\n \r\n \r\n
\r\n )}\r\n
\r\n {isAuthenticated && (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/notifications`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n \r\n \r\n \r\n {isAuthenticated && (\r\n \r\n {\r\n history.push(`/${activeOuid}/my-profile`);\r\n }}\r\n >\r\n My Profile\r\n \r\n Logout\r\n \r\n )}\r\n {!isAuthenticated && (\r\n \r\n {\r\n history.push(\"/login\");\r\n }}\r\n >\r\n Login\r\n \r\n \r\n )}\r\n {isAuthenticated &&
{session.username}
}\r\n
\r\n \r\n \r\n {isAuthenticated && (\r\n \r\n
\r\n \r\n {activeOuidValue}\r\n \r\n \r\n {theme.direction === \"rtl\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n \r\n {orgUnits.length !== 0 && (\r\n <>\r\n \r\n {orgUnits.map((item) => (\r\n {\r\n history.push(item.url);\r\n }}\r\n >\r\n \r\n {item.icon ? (\r\n \"Icon\"\r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n \r\n ))}\r\n {/* */}\r\n \r\n \r\n \r\n )}\r\n {utilities.length !== 0 && (\r\n <>\r\n \r\n {utilities.map((item) => (\r\n {\r\n history.push(item.url);\r\n }}\r\n >\r\n \r\n {item.icon ? (\r\n \"Icon\"\r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n )}\r\n {work.length !== 0 && (\r\n <>\r\n \r\n {work.map((item) => (\r\n {\r\n history.push(item.url);\r\n }}\r\n >\r\n \r\n {item.icon ? (\r\n \"Icon\"\r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n )}\r\n\r\n {document.length !== 0 && (\r\n <>\r\n \r\n {document.map((item) => (\r\n {\r\n history.push(item.url);\r\n }}\r\n >\r\n \r\n {item.icon ? (\r\n \"Icon\"\r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n )}\r\n\r\n {config.length !== 0 && (\r\n <>\r\n \r\n {config.map((item) => (\r\n {\r\n history.push(item.url);\r\n }}\r\n >\r\n \r\n {item.icon ? (\r\n \"Icon\"\r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n )}\r\n {activeOuidCoreConfigs.data ? (\r\n \r\n {activeOuidCoreConfigs.data.config.applications\r\n ? activeOuidCoreConfigs.data.config.applications.map((item) => (\r\n {\r\n history.push(`/${activeOuid}/${item.appPath}`);\r\n }}\r\n >\r\n {renderMenuIcon(item.icon)}\r\n \r\n \r\n ))\r\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 permission: state.permission,\r\n jwt: state.jwt,\r\n config: state.config,\r\n});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MiniDrawer);\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAzQAAAM0BOUeyzQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAGVSURBVEiJ1ZVPKG1RGMV/y73qyp8USsnMhGJkKBm/iTJ/JSPlGUkZGSt/Uv5kJCMMvcJQ6k0MZcCEkul9iiSElsE5V9eOc4/3uspXu87e31p77W+v3Xdkm3JGRVl3B7JpQJKqgdpg+cb2bUluqSuS1AXsAn+DVCPww/ZREj9NBR3Atu3hQHglziUKlN2D7y+QxoM7oFPSCPBYNNqAnVLkNK8oB4wBTUA38AQcAHlg0fbDfwkEYhMAtqfScl6vSFIGGAXqE/A9MTaXgLkCFmw/vxEAWoFxYDqBfFe0yUcxDmwB56EAQN72/EfMwslLYAaL51lJA0AvUAe0SJoneiWrtk/eMRlJzUQmz9q+l9QODMUHbgEmJV0DfwRcAr/iZCYeHUCD7UFJ/UTerAaYn8Cc7d+S1oAL4DgoaCkLZGxvBGX2AYXeUwWc2l4PMN1xDiAH7NneDzAr379VfEkvOpV0GKzXEJkKkXEz72AageX4+wjYlPRAdOjCOBPRi2gKyI+2LwuTNL9MSQ1AZYDJf6oX/UuU3YMXgKuEzMzI5hcAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAqAAAAKgBefSzxgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAHySURBVEiJ3dVNiI5RFAfw35mZpozPiRkLTRajJhQmVlN2ahYsRhaUGEvKRlIsLH0tJQ0LpSykSNjMlEQoi5GkbERWFlKTkhCOxdxXT+N5eRdmwalbzz3nf/7nnHvOvU9kptmUtlll/y8CdLQKjIghbME33MjMyVb8WqogIo7gGB7jOU5HxIGWMstMZZI6sBMTuIB1Rb8aTxq4omvDC6wo+3XFZ6JwdPzEVpxGcRxzsQoPMB/7sbcaoOAPY3fB3MUA5uEkRhu4aNyDiBjHSGZ+KvtRzMFbDGbm0RnHdga30I8PmXmp6LtwMzM3NUptSBe6K/s+fMEdjERET4V8GYbxEN+xvOLXozo8lZI34x5GSvn3saDY1mMKY+Wsp7Cm2LpLoMPYVo52uMFbHdNFWIjt5bsNgxHRjoO4hkm0l3UiIk6VbBMbsbb0YUn1ODtLZrtmNHExnuIKumua3Ft68GimHXtwvnAbwb4agn7TF0qzVaocx9Ia24HCbQydNYCL6PtdgIIbwNka/RycC7wyPYpVCXzLzCEtSEQ8w8fSi6r0NstqA8b+lH0Ffxkr62zN3qLXZkzCH2Qh3tQZal/TzHwXER8i4hCu42sT4k7swMvMfF8H+PlU/GKIaDN9W7cWojr5jKu4nU2Imgb4W/Lv/zJnPcAPEoptgRdK0KQAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAsQAAALEBxi1JjQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAADYSURBVEiJ7dSxSkMxFMbx35UO3tHBqbvooFDEqY5OQq3gw7j6QoIunRzbSapDn8GpQ8eO7eBRw8Vwi2Sp9IOQnJzD9z8JJGy7qphPcV3Ye4RZJ4I7XGFcyPwSdQqAFzwUAnz77BUyzGoH2AG2AJA+tD7uC/n2MWkCahwUAtRfixSwxKIQYNkEPGJf/gQX6OIp4lt84DVTPw3PjVSF0TDZG+LNz3efVaetADc4iXGcQI8i99zWXVt+infMG7lD9HCO1QaN/qqB/FVUkRv81RzOfHaZUy9q/rHWBywbbRbIrGwAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAsQAAALEBxi1JjQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAFsSURBVEiJ1dQ7SxxhGAXgZxcR1pAispK1SWFjkyYoYpPCYForsRCxsbJQ0pg/IKitmGIxhZ1FIBAw+A8EuxQRvBRqY+GlsogiFhazQ3aXb769mC1yqhnO+c6ZmffMS4eRwxZeNKG9xEKrAV0o4gvGsI0PKNXpdrHUqnkaAFMo4wRX6KnSDGCiHfPqgD2sRHRfMdhuyM4/1tWgK8LlMerv5ypiPKC7xz4eWw2Ylgz8uHL/A0MB3Ru8w0arAb34jlVJRUMo4RPeZ5nEAlL+FpsZ/BwKjQy68SrAFXCHtYhJWVLraMDPikk93uJXhY9huFFAcDhYjJybw0jluk8y6P6A7iA2gwNcZHCT+CzcqhS/sRILuMdDBveIWUkBQg17iXk8xAKGcYSzDP5GUs8/Aa4bh3idiwTMqP3RqjGOj5GzKXZib7CNU7WbNcVYE+bPQtMLMt/Rx5BszP87oNGyy8I5vmVwN1jHMq7b9G8eTw22On4z9x1WAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAUuSURBVEhLpVZrbBRVFP5mdre7W5ba2lJIhUqQ+qggqGABMWpBMRGiQDBBDBoTkaiJGIiJmihIImI0IRYSCYqYKIlBJBFRI/xA8E1MaJS22yeltGyhr+1u9zWP63fulIaHJAZOOu3MvWfOuec733emRjqdVrgGM0Ih/VdlMoA/D6bfhJuzANfR66b+fZUmwQe/eBd9H6yGn/f2mRbEnp8BlU0xss/zueoKfAHYnU3oePA2mNcBRWs2ILHnfa4lEFm0GCUbv9ZVXTkBA/gC3inEwRUILjAjGILfADqeqoDV2gynl4eOeHvjD52Dv6gEbjZ7CUTEUF6U4E5PJ1oqDbTNMBB7cTZMwdowNSzik/rpK5z78GXkGpsRmlWNSVGF0pr9UIS/d/1SDOza4MWUCuTKKKUGm2pVz7cfK4v3/b99p6J3QzU9ANW8IKxsrolPbOsr+r5lyVjVMA0qehdUMtahMq7S77U+Ua4aq6DqyqGGuO7XWXhy63QLupZM03hYDceQqT3slezzw02k0bNtLZIHdsA+nWAz21Cw4g0M7d+ObO0JJPfVoGT1ZuSSCVjNp+AvK0TonqkwIkVeD6T804+PIY49LN/P5tgwvNQEn1fAJDNcGHlEifBZJy2U7fsVkSmz0fF0JbIn6tloH9w4qUn/CUcG4YuMZg9yXg9cy8G4T+sBW54Uceap4yxs/GTiuwAqJ1m84G7GQmTZQoQZPNPfi/Tv9fowwcpZMPPpRF7EP35NEwPKZQKTP2RLiF03C0cxm8tKbIzdcRA3fN6E0vd+wMSjCsE7qnRwOUR4zmMggeArKiYlH0KgogJlNT+jZNN+HgLIr34SyvHIaaSSSRVbORl2V4wnZ9IcMHrZCyhesw3OeWpSNGZeACerDPbFRwgd+EoY/NHnULRq0wiNhV0GM7sS3Mp6r6p0glRj8HwfSw3oBOG5i+F6B/BsWPah6TNYgQMj7CeNe5H569BFGlHZjHc/HFyMg8OFO8TNlAOyTFaIP1UjGFxg8uj0ndH7sG36S7VpvScs1CbHz/Nm03kzzeIylH15EEVrt5CONswwMLB9nfTKcyZNhWWZxuOkYCejklQ33ori9R9xHHwDJzWEXMMfngDzgkgf2euJ8rxpoTlKi6d1aZkWVuMcqJPP3K4SLf+o1OCA6j2wU0VnUnTVPi2ivsN7VY7+yc42VV9BsU2HSmezqmPdw6puElTX5me1KCW21oFkj3+2EQNb34SvkH0QqCxbQye81vwfxR6RcYr9UCkX43+Mwz+6AO3VxIxNtWOEg0NPrLTme4SrHtHDbmQWWa21unxlW3D7iTEZ6SviwCsOUJEUUb8DN8lFmjvImP3dsPp7yP0C9sBE6ZZdyL9vHhst+31w0+yPQKwh4iUln3pproZHnrt3vqUaZxOWeR4sWe6f3b1Z1U2ASrRHVdvKW1TDVG8Wxev+1Psyi2RuRflJEL+h7k41UoFwvrTmKMp/ESWHEJ61kKyR0zgwr49oFhUsfxWT2im68ptZIfnssZdQpEZIp2yuC3dlgbT/j+8Bd4a945+8TsoEEZg4BaPmU53kuaYieyRMkRe7loyF3X0Whave5gjfQ238jXG7DiN85/1wRTOXJxg2BjKCQe9eeiPBLzTum9xvv5d+nEW6yYVcp++Yd3Yjf/7yi5t8mfGU4qCvS4OLcXxYnW3UDmGk6G7iByeyaAWcbiDXfHzYiee4YgX/x0TBrMTuiGrxCbTZumMIVc4cGR/XlkCMn1H9H4TjUVgnlUZrA/4FdjvOhvs2VswAAAAASUVORK5CYII=\"","import React, { useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport clsx from \"clsx\";\r\nimport { makeStyles, useTheme } from \"@material-ui/core/styles\";\r\nimport Drawer from \"@material-ui/core/Drawer\";\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport List from \"@material-ui/core/List\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport { Auth } from \"aws-amplify\";\r\nimport { history } from \"../../reducers\";\r\nimport configureStore from \"../../store/configureStore\";\r\nimport { resetState } from \"../../actions\";\r\nimport { RedirectFunc } from \"../common/CommonFunctions\";\r\nimport MapIcon from \"@material-ui/icons/MapOutlined\";\r\n\r\nimport {\r\n setActiveOuid,\r\n setActiveOuidChain,\r\n} from \"../../actions/action-permissions\";\r\nimport { setActiveOiudConfigs } from \"../../actions/action-config\";\r\n\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport Collapse from \"@material-ui/core/Collapse\";\r\nimport NotificationsIcon from \"@material-ui/icons/Notifications\";\r\nimport FormControl from \"@material-ui/core/FormControl\";\r\nimport Select from \"@material-ui/core/Select\";\r\n\r\nimport ExpandLess from \"@material-ui/icons/ExpandLess\";\r\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\r\nimport StarBorder from \"@material-ui/icons/StarBorder\";\r\nimport AdjustIcon from \"@material-ui/icons/Adjust\";\r\nimport BusinessIcon from \"@material-ui/icons/Business\";\r\nimport HomeIcon from \"@material-ui/icons/Home\";\r\nimport CardMembershipIcon from \"@material-ui/icons/CardMembership\";\r\nimport LiveHelpIcon from \"@material-ui/icons/LiveHelp\";\r\nimport HelpOutlineIcon from \"@material-ui/icons/HelpOutline\";\r\nimport MeetingRoomIcon from \"@material-ui/icons/MeetingRoom\";\r\nimport PublicIcon from \"@material-ui/icons/Public\";\r\nimport MoneyIcon from \"@material-ui/icons/Money\";\r\nimport AirportShuttle from \"@material-ui/icons/AirportShuttle\";\r\nimport ViewAgendaOutlined from \"@material-ui/icons/ViewAgendaOutlined\";\r\n\r\nimport { Link } from \"react-router-dom\";\r\n\r\nimport Logo from \"../assets/images/ces/ces-logo.png\";\r\nimport AccountTreeIcon from \"@material-ui/icons/AccountTree\";\r\nimport AssignmentTurnedInIcon from \"@material-ui/icons/AssignmentTurnedIn\";\r\nimport GroupIcon from \"@material-ui/icons/Group\";\r\nimport SettingsIcon from \"@material-ui/icons/Settings\";\r\nimport CodeIcon from \"@material-ui/icons/Code\";\r\n\r\nimport InsertDriveFileIcon from \"@material-ui/icons/InsertDriveFile\";\r\nimport LocationCityIcon from \"@material-ui/icons/LocationCity\";\r\n\r\n// Images\r\nimport AccountCircle from \"@material-ui/icons/AccountCircle\";\r\n\r\n// Material Ui\r\nimport Divider from \"@material-ui/core/Divider\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport MenuIcon from \"@material-ui/icons/Menu\";\r\nimport ChevronLeftIcon from \"@material-ui/icons/ChevronLeft\";\r\nimport ChevronRightIcon from \"@material-ui/icons/ChevronRight\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport Menu from \"@material-ui/core/Menu\";\r\n\r\n// const apps = require('../pages/Apps');\r\n\r\nconst store = configureStore();\r\n\r\nconst drawerWidth = 240;\r\nconst headerHeight = 75;\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n display: \"flex\",\r\n },\r\n appBar: {\r\n zIndex: theme.zIndex.drawer + 1,\r\n transition: theme.transitions.create([\"width\", \"margin\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n },\r\n appBarShift: {\r\n marginLeft: drawerWidth,\r\n width: `calc(100% - ${drawerWidth}px)`,\r\n transition: theme.transitions.create([\"width\", \"margin\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n menuButton: {\r\n marginRight: theme.spacing(2),\r\n },\r\n hide: {\r\n display: \"none\",\r\n },\r\n drawer: {\r\n width: drawerWidth,\r\n flexShrink: 0,\r\n whiteSpace: \"nowrap\",\r\n marginTop: headerHeight,\r\n position: \"relative\",\r\n },\r\n drawerOpen: {\r\n width: drawerWidth,\r\n transition: theme.transitions.create(\"width\", {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n drawerClose: {\r\n transition: theme.transitions.create(\"width\", {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n overflowX: \"hidden\",\r\n width: theme.spacing(7) + 1,\r\n [theme.breakpoints.up(\"sm\")]: {\r\n width: theme.spacing(9) + 1,\r\n },\r\n },\r\n toolbar: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-end\",\r\n padding: theme.spacing(0, 1),\r\n // necessary for content to be below app bar\r\n ...theme.mixins.toolbar,\r\n },\r\n drawerPaper: {\r\n width: drawerWidth,\r\n },\r\n drawerHeader: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n padding: theme.spacing(0, 1),\r\n // necessary for content to be below app bar\r\n ...theme.mixins.toolbar,\r\n justifyContent: \"flex-end\",\r\n },\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n title: {\r\n display: \"none\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n display: \"block\",\r\n },\r\n },\r\n sectionDesktop: {\r\n alignItems: \"center\",\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"flex\",\r\n },\r\n },\r\n sectionMobile: {\r\n display: \"flex\",\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"none\",\r\n },\r\n },\r\n nested: {\r\n paddingLeft: theme.spacing(4),\r\n },\r\n userName: {\r\n color: \"#000\",\r\n },\r\n}));\r\nfunction MiniDrawer(props) {\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const [width, setWidth] = React.useState(window.innerWidth);\r\n const [open, setOpen] = React.useState(false);\r\n\r\n const [anchorProfile, setAnchorProfile] = React.useState(null);\r\n const openProfile = Boolean(anchorProfile);\r\n const isAuthenticated = props.auth.isAuthenticated;\r\n const { activeOuid, userRoles, policies, activeOuidType } =\r\n store.getState().permission;\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n const { session } = store.getState().jwt.api.userSession;\r\n useEffect(() => {\r\n setActiveOuidValue(store.getState().permission.activeOuid);\r\n if (width <= 768) {\r\n setOpen(false);\r\n } else {\r\n setOpen(true);\r\n }\r\n }, [JSON.stringify(props)]);\r\n const [activeOuidValue, setActiveOuidValue] = React.useState(activeOuid);\r\n\r\n const [Dropdownopen, setDropdownOpen] = React.useState(true);\r\n const handleDropdownClick = () => {\r\n setDropdownOpen(!Dropdownopen);\r\n };\r\n\r\n const handleDrawerOpen = () => {\r\n setOpen(true);\r\n };\r\n\r\n const handleProfileMenu = (event) => {\r\n setAnchorProfile(event.currentTarget);\r\n };\r\n\r\n const handleProfileClose = () => {\r\n setAnchorProfile(null);\r\n };\r\n\r\n const handleDrawerClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n const handleLogOut = async (event) => {\r\n event.preventDefault();\r\n try {\r\n Auth.signOut();\r\n props.auth.setAuthStatus(false);\r\n props.auth.setUser(null);\r\n store.dispatch(resetState());\r\n history.push(\"/\");\r\n } catch (error) {\r\n console.log(error.message);\r\n }\r\n };\r\n\r\n const handleDropDown = async (event) => {\r\n setActiveOuidValue(event.target.value);\r\n const path = window.location.pathname.split(\"/\");\r\n // await RedirectFunc(`/${event.target.value}/${path[path.length - 1]}`)\r\n await store.dispatch(setActiveOuid(event.target.value));\r\n await store.dispatch(setActiveOuidChain(event.target.value));\r\n await store.dispatch(setActiveOiudConfigs(event.target.value));\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n if (activeOuidCoreConfigs.data) {\r\n const deafaultUrl = activeOuidCoreConfigs.data.config.home;\r\n RedirectFunc(`/${event.target.value}/${deafaultUrl}`);\r\n return;\r\n } else {\r\n RedirectFunc(`/${event.target.value}`);\r\n return;\r\n }\r\n };\r\n\r\n const renderMenuTtem = () => {\r\n const activeOuidExist = userRoles.find(({ ouid }) => ouid === activeOuid);\r\n let renderOuids = userRoles;\r\n if (activeOuidExist) {\r\n renderOuids = userRoles;\r\n } else {\r\n renderOuids.push({ ouid: activeOuid, roles: [] });\r\n }\r\n return renderOuids.map((item, index) => (\r\n \r\n {item.ouid}\r\n \r\n ));\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"\"\r\n \r\n
\r\n {isAuthenticated && (\r\n
\r\n \r\n \r\n {userRoles.length !== 0 ? (\r\n renderMenuTtem()\r\n ) : (\r\n No item Found\r\n )}\r\n \r\n \r\n
\r\n )}\r\n
\r\n \r\n \r\n \r\n {isAuthenticated && (\r\n \r\n {\r\n history.push(`/${activeOuid}/my-profile`);\r\n }}\r\n >\r\n My Profile\r\n \r\n Logout\r\n \r\n )}\r\n {!isAuthenticated && (\r\n \r\n {\r\n history.push(\"/login\");\r\n }}\r\n >\r\n Login\r\n \r\n \r\n )}\r\n {isAuthenticated && (\r\n
{session.username}
\r\n )}\r\n
\r\n \r\n \r\n {isAuthenticated && (\r\n \r\n
\r\n \r\n {theme.direction === \"rtl\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n \r\n {\r\n history.push(`/${activeOuid}/dashboard`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n history.push(`/${activeOuid}/course-dash`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/sub-dash`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/exam-dash`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/exam-subscription-dash`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/examinstances`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/orgunits`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/orgusers`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {\r\n history.push(`/${activeOuid}/orgplan`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n history.push(`/${activeOuid}/config-dash`);\r\n }}\r\n >\r\n \r\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 permission: state.permission,\r\n jwt: state.jwt,\r\n config: state.config,\r\n});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MiniDrawer);\r\n","import React, { useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport clsx from \"clsx\";\r\nimport { makeStyles, useTheme } from \"@material-ui/core/styles\";\r\nimport Drawer from \"@material-ui/core/Drawer\";\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport List from \"@material-ui/core/List\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport { Auth } from \"aws-amplify\";\r\nimport { history } from \"../../reducers\";\r\nimport configureStore from \"../../store/configureStore\";\r\nimport { resetState } from \"../../actions\";\r\nimport FormControl from \"@material-ui/core/FormControl\";\r\nimport Select from \"@material-ui/core/Select\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport Collapse from \"@material-ui/core/Collapse\";\r\nimport Badge from \"@material-ui/core/Badge\";\r\nimport MailIcon from \"@material-ui/icons/Mail\";\r\nimport NotificationsIcon from \"@material-ui/icons/Notifications\";\r\nimport ExpandLess from \"@material-ui/icons/ExpandLess\";\r\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\r\nimport StarBorder from \"@material-ui/icons/StarBorder\";\r\nimport AdjustIcon from \"@material-ui/icons/Adjust\";\r\nimport BusinessIcon from \"@material-ui/icons/Business\";\r\nimport HomeIcon from \"@material-ui/icons/Home\";\r\nimport CardMembershipIcon from \"@material-ui/icons/CardMembership\";\r\nimport HelpOutlineIcon from \"@material-ui/icons/HelpOutline\";\r\n\r\nimport AssessmentIcon from \"@material-ui/icons/Assessment\";\r\nimport MeetingRoomIcon from \"@material-ui/icons/MeetingRoom\";\r\nimport SettingsIcon from \"@material-ui/icons/Settings\";\r\nimport PeopleOutlineIcon from \"@material-ui/icons/PeopleOutline\";\r\n\r\nimport AccountTreeIcon from \"@material-ui/icons/AccountTree\";\r\nimport AssignmentTurnedInIcon from \"@material-ui/icons/AssignmentTurnedIn\";\r\nimport GroupIcon from \"@material-ui/icons/Group\";\r\nimport InsertDriveFileIcon from \"@material-ui/icons/InsertDriveFile\";\r\nimport LocationCityIcon from \"@material-ui/icons/LocationCity\";\r\nimport { RedirectFunc } from \"../common/CommonFunctions\";\r\nimport {\r\n setActiveOuid,\r\n setActiveOuidChain,\r\n} from \"../../actions/action-permissions\";\r\nimport { setActiveOiudConfigs } from \"../../actions/action-config\";\r\n// Images\r\nimport AccountCircle from \"@material-ui/icons/AccountCircle\";\r\n\r\n// Material Ui\r\nimport Divider from \"@material-ui/core/Divider\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport MenuIcon from \"@material-ui/icons/Menu\";\r\nimport ChevronLeftIcon from \"@material-ui/icons/ChevronLeft\";\r\nimport ChevronRightIcon from \"@material-ui/icons/ChevronRight\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport Menu from \"@material-ui/core/Menu\";\r\n\r\n// const apps = require('../pages/Apps');\r\n\r\nconst store = configureStore();\r\n\r\nconst drawerWidth = 240;\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n display: \"flex\",\r\n },\r\n appBar: {\r\n transition: theme.transitions.create([\"margin\", \"width\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n },\r\n appBarShift: {\r\n width: `calc(100% - ${drawerWidth}px)`,\r\n marginLeft: drawerWidth,\r\n transition: theme.transitions.create([\"margin\", \"width\"], {\r\n easing: theme.transitions.easing.easeOut,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n menuButton: {\r\n marginRight: theme.spacing(2),\r\n },\r\n hide: {\r\n display: \"none\",\r\n },\r\n drawer: {\r\n width: drawerWidth,\r\n flexShrink: 0,\r\n },\r\n drawerPaper: {\r\n width: drawerWidth,\r\n },\r\n drawerHeader: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n padding: theme.spacing(0, 1),\r\n // necessary for content to be below app bar\r\n ...theme.mixins.toolbar,\r\n justifyContent: \"flex-end\",\r\n },\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n title: {\r\n display: \"none\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n display: \"block\",\r\n },\r\n },\r\n sectionDesktop: {\r\n display: \"none\",\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n },\r\n },\r\n sectionMobile: {\r\n display: \"flex\",\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"none\",\r\n },\r\n },\r\n nested: {\r\n paddingLeft: theme.spacing(4),\r\n },\r\n userName: {\r\n color: \"#000\",\r\n },\r\n}));\r\nfunction MiniDrawer(props) {\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const [open, setOpen] = React.useState(false);\r\n\r\n const [anchorProfile, setAnchorProfile] = React.useState(null);\r\n const openProfile = Boolean(anchorProfile);\r\n const isAuthenticated = props.auth.isAuthenticated;\r\n const { activeOuid, userRoles, policies, activeOuidType } =\r\n store.getState().permission;\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n const { session } = store.getState().jwt.api.userSession;\r\n useEffect(() => {\r\n setActiveOuidValue(store.getState().permission.activeOuid);\r\n }, [JSON.stringify(props)]);\r\n const [activeOuidValue, setActiveOuidValue] = React.useState(activeOuid);\r\n\r\n const [Dropdownopen, setDropdownOpen] = React.useState(true);\r\n const handleDropdownClick = () => {\r\n setDropdownOpen(!Dropdownopen);\r\n };\r\n\r\n const handleDrawerOpen = () => {\r\n setOpen(true);\r\n };\r\n\r\n const handleProfileMenu = (event) => {\r\n setAnchorProfile(event.currentTarget);\r\n };\r\n\r\n const handleProfileClose = () => {\r\n setAnchorProfile(null);\r\n };\r\n\r\n const handleDrawerClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n const handleLogOut = async (event) => {\r\n event.preventDefault();\r\n try {\r\n Auth.signOut();\r\n props.auth.setAuthStatus(false);\r\n props.auth.setUser(null);\r\n store.dispatch(resetState());\r\n history.push(\"/\");\r\n } catch (error) {\r\n console.log(error.message);\r\n }\r\n };\r\n\r\n const handleDropDown = async (event) => {\r\n setActiveOuidValue(event.target.value);\r\n const path = window.location.pathname.split(\"/\");\r\n // await RedirectFunc(`/${event.target.value}/${path[path.length - 1]}`)\r\n await store.dispatch(setActiveOuid(event.target.value));\r\n await store.dispatch(setActiveOuidChain(event.target.value));\r\n await store.dispatch(setActiveOiudConfigs(event.target.value));\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n if (activeOuidCoreConfigs.data) {\r\n const deafaultUrl = activeOuidCoreConfigs.data.config.home;\r\n RedirectFunc(`/${event.target.value}/${deafaultUrl}`);\r\n return;\r\n } else {\r\n RedirectFunc(`/${event.target.value}`);\r\n return;\r\n }\r\n };\r\n\r\n const renderMenuTtem = () => {\r\n const activeOuidExist = userRoles.find(({ ouid }) => ouid === activeOuid);\r\n let renderOuids = userRoles;\r\n if (activeOuidExist) {\r\n renderOuids = userRoles;\r\n } else {\r\n renderOuids.push({ ouid: activeOuid, roles: [] });\r\n }\r\n return renderOuids.map((item, index) => (\r\n \r\n {item.ouid}\r\n \r\n ));\r\n };\r\n\r\n return (\r\n
\r\n \r\n theme.zIndex.drawer + 1 }}\r\n color=\"secondary\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n SkillGodZilla\r\n \r\n
\r\n {isAuthenticated && (\r\n
\r\n \r\n \r\n {userRoles.length !== 0 ? (\r\n renderMenuTtem()\r\n ) : (\r\n No item Found\r\n )}\r\n \r\n \r\n
\r\n )}\r\n
\r\n \r\n \r\n \r\n {isAuthenticated && (\r\n \r\n {\r\n history.push(`/${activeOuid}/my-profile`);\r\n }}\r\n >\r\n My Profile\r\n \r\n Logout\r\n \r\n )}\r\n {!isAuthenticated && (\r\n \r\n {\r\n history.push(\"/login\");\r\n }}\r\n >\r\n Login\r\n \r\n \r\n )}\r\n {isAuthenticated && (\r\n
{session.username}
\r\n )}\r\n
\r\n \r\n \r\n {isAuthenticated && (\r\n \r\n
\r\n \r\n {theme.direction === \"rtl\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/dashboard`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/orgunits`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/orgusers`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/users`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/config-dash`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/document-dash`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/org-workqueue-dash`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/booking-dash`);\r\n }}\r\n >\r\n \r\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 permission: state.permission,\r\n jwt: state.jwt,\r\n config: state.config,\r\n});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MiniDrawer);\r\n","import React, { useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport clsx from \"clsx\";\r\nimport { makeStyles, useTheme } from \"@material-ui/core/styles\";\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport Drawer from \"@material-ui/core/Drawer\";\r\n\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport logo from \"../assets/images/ibc-logo.png\";\r\nimport { Auth } from \"aws-amplify\";\r\nimport { history } from \"../../reducers\";\r\nimport configureStore from \"../../store/configureStore\";\r\nimport { resetState } from \"../../actions\";\r\nimport {\r\n setActiveOuid,\r\n setActiveOuidChain,\r\n} from \"../../actions/action-permissions\";\r\nimport { setActiveOiudConfigs } from \"../../actions/action-config\";\r\nimport { RedirectFunc } from \"../common/CommonFunctions\";\r\n\r\n// Images\r\n\r\nimport AccountCircle from \"@material-ui/icons/AccountCircle\";\r\nimport MoreIcon from \"@material-ui/icons/MoreVert\";\r\nimport Logo from \"../assets/images/ces/ces-logo.png\";\r\n\r\n// Material Ui\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Divider from \"@material-ui/core/Divider\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport MenuIcon from \"@material-ui/icons/Menu\";\r\nimport ChevronLeftIcon from \"@material-ui/icons/ChevronLeft\";\r\nimport ChevronRightIcon from \"@material-ui/icons/ChevronRight\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport Badge from \"@material-ui/core/Badge\";\r\nimport MailIcon from \"@material-ui/icons/Mail\";\r\nimport NotificationsIcon from \"@material-ui/icons/Notifications\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport Menu from \"@material-ui/core/Menu\";\r\nimport FormControl from \"@material-ui/core/FormControl\";\r\nimport Select from \"@material-ui/core/Select\";\r\nimport { Button } from \"@material-ui/core\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { BOLD } from \"draft-js/lib/DefaultDraftInlineStyle\";\r\n\r\nconst store = configureStore();\r\n\r\nconst drawerWidth = 240;\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n display: \"flex\",\r\n },\r\n appBar: {\r\n zIndex: theme.zIndex.drawer + 1,\r\n transition: theme.transitions.create([\"width\", \"margin\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n },\r\n appBarShift: {\r\n marginLeft: drawerWidth,\r\n // width: `calc(100% - ${drawerWidth}px)`,\r\n width: \"100%\",\r\n transition: theme.transitions.create([\"width\", \"margin\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n menuButton: {\r\n [theme.breakpoints.up(\"xs\")]: {\r\n display: \"block\",\r\n },\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"none\",\r\n },\r\n },\r\n hide: {\r\n display: \"none\",\r\n },\r\n drawer: {\r\n width: drawerWidth,\r\n flexShrink: 0,\r\n whiteSpace: \"nowrap\",\r\n position: \"relative\",\r\n [theme.breakpoints.up(\"xs\")]: {\r\n marginTop: 0,\r\n },\r\n [theme.breakpoints.up(\"md\")]: {\r\n marginTop: 0,\r\n },\r\n },\r\n drawerOpen: {\r\n width: drawerWidth,\r\n transition: theme.transitions.create(\"width\", {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n top: 64,\r\n },\r\n drawerClose: {\r\n transition: theme.transitions.create(\"width\", {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n overflowX: \"hidden\",\r\n width: 0,\r\n },\r\n toolbar: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"space-between\",\r\n padding: theme.spacing(0, 1),\r\n // necessary for content to be below app bar\r\n ...theme.mixins.toolbar,\r\n },\r\n navlinks: {\r\n flexGrow: 1,\r\n justifyContent: \"flex-end\",\r\n marginRight: 50,\r\n [theme.breakpoints.up(\"xs\")]: {\r\n display: \"none\",\r\n },\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"flex\",\r\n },\r\n },\r\n userName: {\r\n color: \"#000\",\r\n [theme.breakpoints.up(\"xs\")]: {\r\n display: \"none\",\r\n },\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"flex\",\r\n },\r\n },\r\n link: {\r\n color: \"#164773\",\r\n padding: 10,\r\n fontSize: 14,\r\n fontWeight: \"bold\",\r\n },\r\n headerRightWrapper: {\r\n display: \"flex\",\r\n },\r\n logo: {\r\n width: 80,\r\n },\r\n Mobilelink: {\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n paddingTop: 15,\r\n },\r\n MobileLinkItem: {\r\n fontSize: 14,\r\n padding: 10,\r\n color: \"#000\",\r\n },\r\n content: {\r\n flexGrow: 1,\r\n padding: theme.spacing(3),\r\n },\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n\r\n sectionDesktop: {\r\n alignItems: \"center\",\r\n [theme.breakpoints.up(\"xs\")]: {\r\n display: \"flex\",\r\n },\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"flex\",\r\n },\r\n },\r\n select: {\r\n color: \"#fff\",\r\n \"&:before\": {\r\n borderColor: \"#fff\",\r\n },\r\n \"&:after\": {\r\n borderColor: \"#fff\",\r\n },\r\n },\r\n icon: {\r\n fill: \"#fff\",\r\n },\r\n}));\r\n\r\nfunction Header(props) {\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const [open, setOpen] = React.useState(false);\r\n const [anchorProfile, setAnchorProfile] = React.useState(null);\r\n const openProfile = Boolean(anchorProfile);\r\n const isAuthenticated = props.auth.isAuthenticated;\r\n const { activeOuid, userRoles, policies, activeOuidType } =\r\n store.getState().permission;\r\n const [activeOuidValue, setActiveOuidValue] = React.useState(activeOuid);\r\n const { session } = store.getState().jwt.api.userSession;\r\n\r\n useEffect(() => {\r\n setActiveOuidValue(store.getState().permission.activeOuid);\r\n }, [JSON.stringify(props)]);\r\n\r\n const handleDrawerOpen = () => {\r\n setOpen((open) => !open);\r\n };\r\n\r\n const handleProfileMenu = (event) => {\r\n setAnchorProfile(event.currentTarget);\r\n };\r\n\r\n const handleProfileClose = () => {\r\n setAnchorProfile(null);\r\n };\r\n\r\n const handleDrawerClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n const handleLogOut = async (event) => {\r\n event.preventDefault();\r\n try {\r\n Auth.signOut();\r\n props.auth.setAuthStatus(false);\r\n props.auth.setUser(null);\r\n store.dispatch(resetState());\r\n history.push(\"/\");\r\n } catch (error) {\r\n console.log(error.message);\r\n }\r\n };\r\n\r\n const handleDropDown = async (event) => {\r\n setActiveOuidValue(event.target.value);\r\n const path = window.location.pathname.split(\"/\");\r\n // await RedirectFunc(`/${event.target.value}/${path[path.length - 1]}`)\r\n await store.dispatch(setActiveOuid(event.target.value));\r\n await store.dispatch(setActiveOuidChain(event.target.value));\r\n await store.dispatch(setActiveOiudConfigs(event.target.value));\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n if (activeOuidCoreConfigs.data) {\r\n const deafaultUrl = activeOuidCoreConfigs.data.config.home;\r\n RedirectFunc(`/${event.target.value}/${deafaultUrl}`);\r\n return;\r\n } else {\r\n RedirectFunc(`/${event.target.value}`);\r\n return;\r\n }\r\n };\r\n const renderMenuTtem = () => {\r\n const activeOuidExist = userRoles.find(({ ouid }) => ouid === activeOuid);\r\n let renderOuids = userRoles;\r\n if (activeOuidExist) {\r\n renderOuids = userRoles;\r\n } else {\r\n renderOuids.push({ ouid: activeOuid, roles: [] });\r\n }\r\n return renderOuids.map((item, index) => (\r\n \r\n {item.ouid}\r\n \r\n ));\r\n };\r\n return (\r\n
\r\n \r\n theme.zIndex.drawer + 1 }}\r\n color=\"secondary\"\r\n >\r\n \r\n \r\n \"\"\r\n \r\n
\r\n
\r\n \r\n Home\r\n \r\n {isAuthenticated ? (\r\n <>\r\n \r\n My Courses\r\n \r\n \r\n My Exams\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n {isAuthenticated ? (\r\n <>\r\n ) : (\r\n {\r\n history.push(\"/login\");\r\n }}\r\n >\r\n Login\r\n \r\n )}\r\n {isAuthenticated && (\r\n
\r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/my-profile`);\r\n }}\r\n >\r\n My Profile\r\n \r\n Logout\r\n \r\n
\r\n )}\r\n {!isAuthenticated && (\r\n \r\n {\r\n history.push(\"/login\");\r\n }}\r\n >\r\n Login\r\n \r\n \r\n )}\r\n {isAuthenticated && (\r\n
{session.username}
\r\n )}\r\n
\r\n {isAuthenticated && (\r\n \r\n \r\n \r\n )}\r\n
\r\n
\r\n \r\n {isAuthenticated && (\r\n \r\n {activeOuid ? (\r\n
\r\n
\r\n \r\n Home\r\n \r\n\r\n \r\n My Courses\r\n \r\n
\r\n
\r\n ) : (\r\n
\r\n \r\n Home\r\n \r\n \r\n Register your company\r\n \r\n
\r\n )}\r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Header);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport configureStore from \"../../store/configureStore\";\r\nimport { makeStyles, useTheme } from \"@material-ui/core/styles\";\r\n\r\nimport Logo from \"../assets/images/ces/ces-logo-dark.png\";\r\nimport HomeIcon from \"../assets/images/edwinImages/Home.png\";\r\nimport UserIcon from \"../assets/images/edwinImages/Profile.png\";\r\nimport NotificationIcon from \"../assets/images/edwinImages/Notify.png\";\r\nimport MessageIcon from \"../assets/images/edwinImages/Support.png\";\r\n\r\nconst store = configureStore();\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n footer: {\r\n background: \"#132749\",\r\n color: \"#fff\",\r\n padding: 10,\r\n fontSize: 16,\r\n textAlign: \"center\",\r\n // [theme.breakpoints.up(\"xs\")]: {\r\n // display: \"flex\",\r\n // },\r\n // [theme.breakpoints.up(\"md\")]: {\r\n // display: \"none\",\r\n // },\r\n },\r\n footerLogo: {\r\n margin: \"0 auto\",\r\n maxWidth: \"60px\",\r\n marginBottom: \"00px\",\r\n },\r\n footerLink: {\r\n color: \"#F29F05\",\r\n },\r\n}));\r\n\r\nfunction Footer() {\r\n const classes = useStyles();\r\n\r\n const { activeOuid } = store.getState().permission;\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n app.skillgodzilla@gmail.com\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 permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n // get_user_profile_details: (username) => dispatch(get_user_profile_details(username)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Footer);\r\n","export default \"data:image/png;base64,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\"","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Snackbar from '@material-ui/core/Snackbar';\r\nimport MuiAlert from '@material-ui/lab/Alert';\r\nimport configureStore from '../../store/configureStore';\r\nimport { hideSnackbar } from '../../actions/action-snackbar';\r\n\r\nconst store = configureStore();\r\n\r\nfunction Alert(props) {\r\n return ;\r\n}\r\n\r\nfunction CommonSnackBar(props) {\r\n const { snackbar } = store.getState();\r\n const handleSnackClose = () => {\r\n store.dispatch(hideSnackbar());\r\n };\r\n return (\r\n \r\n \r\n {snackbar.snackbarMessage}\r\n \r\n \r\n );\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n snackbar: state.snackbar,\r\n});\r\n\r\nconst mapDispatchToProps = () => ({\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CommonSnackBar);\r\n\r\n","import React, { useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport clsx from \"clsx\";\r\nimport { makeStyles, useTheme } from \"@material-ui/core/styles\";\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport Drawer from \"@material-ui/core/Drawer\";\r\n\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport logo from \"../assets/images/ibc-logo.png\";\r\nimport { Auth } from \"aws-amplify\";\r\nimport { history } from \"../../reducers\";\r\nimport configureStore from \"../../store/configureStore\";\r\nimport { resetState } from \"../../actions\";\r\nimport {\r\n setActiveOuid,\r\n setActiveOuidChain,\r\n} from \"../../actions/action-permissions\";\r\nimport { setActiveOiudConfigs } from \"../../actions/action-config\";\r\nimport { RedirectFunc } from \"../common/CommonFunctions\";\r\n\r\n// Images\r\n\r\nimport AccountCircle from \"@material-ui/icons/AccountCircle\";\r\nimport MoreIcon from \"@material-ui/icons/MoreVert\";\r\nimport Logo from \"../assets/images/ces/ces-logo.png\";\r\n\r\n// Material Ui\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Divider from \"@material-ui/core/Divider\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport MenuIcon from \"@material-ui/icons/Menu\";\r\nimport ChevronLeftIcon from \"@material-ui/icons/ChevronLeft\";\r\nimport ChevronRightIcon from \"@material-ui/icons/ChevronRight\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport Badge from \"@material-ui/core/Badge\";\r\nimport MailIcon from \"@material-ui/icons/Mail\";\r\nimport NotificationsIcon from \"@material-ui/icons/Notifications\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport Menu from \"@material-ui/core/Menu\";\r\nimport FormControl from \"@material-ui/core/FormControl\";\r\nimport Select from \"@material-ui/core/Select\";\r\nimport { Button } from \"@material-ui/core\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst store = configureStore();\r\n\r\nconst drawerWidth = 240;\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n display: \"flex\",\r\n },\r\n appBar: {\r\n zIndex: theme.zIndex.drawer + 1,\r\n transition: theme.transitions.create([\"width\", \"margin\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n },\r\n appBarShift: {\r\n marginLeft: drawerWidth,\r\n // width: `calc(100% - ${drawerWidth}px)`,\r\n width: \"100%\",\r\n transition: theme.transitions.create([\"width\", \"margin\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n menuButton: {\r\n [theme.breakpoints.up(\"xs\")]: {\r\n display: \"block\",\r\n },\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"none\",\r\n },\r\n },\r\n hide: {\r\n display: \"none\",\r\n },\r\n drawer: {\r\n width: drawerWidth,\r\n flexShrink: 0,\r\n whiteSpace: \"nowrap\",\r\n position: \"relative\",\r\n [theme.breakpoints.up(\"xs\")]: {\r\n marginTop: 0,\r\n },\r\n [theme.breakpoints.up(\"md\")]: {\r\n marginTop: 0,\r\n },\r\n },\r\n drawerOpen: {\r\n width: drawerWidth,\r\n transition: theme.transitions.create(\"width\", {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n top: 64,\r\n },\r\n drawerClose: {\r\n transition: theme.transitions.create(\"width\", {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n overflowX: \"hidden\",\r\n width: 0,\r\n },\r\n toolbar: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-end\",\r\n padding: theme.spacing(0, 1),\r\n // necessary for content to be below app bar\r\n ...theme.mixins.toolbar,\r\n },\r\n navlinks: {\r\n flexGrow: 1,\r\n justifyContent: \"flex-end\",\r\n [theme.breakpoints.up(\"xs\")]: {\r\n display: \"none\",\r\n },\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"flex\",\r\n },\r\n },\r\n userName: {\r\n [theme.breakpoints.up(\"xs\")]: {\r\n display: \"none\",\r\n },\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"flex\",\r\n },\r\n },\r\n link: {\r\n color: \"#fff\",\r\n padding: 10,\r\n fontSize: 14,\r\n },\r\n Mobilelink: {\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n paddingTop: 15,\r\n },\r\n MobileLinkItem: {\r\n fontSize: 14,\r\n padding: 10,\r\n color: \"#000\",\r\n },\r\n content: {\r\n flexGrow: 1,\r\n padding: theme.spacing(3),\r\n },\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n\r\n sectionDesktop: {\r\n alignItems: \"center\",\r\n [theme.breakpoints.up(\"xs\")]: {\r\n display: \"flex\",\r\n },\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"flex\",\r\n },\r\n },\r\n select: {\r\n color: \"#fff\",\r\n \"&:before\": {\r\n borderColor: \"#fff\",\r\n },\r\n \"&:after\": {\r\n borderColor: \"#fff\",\r\n },\r\n },\r\n icon: {\r\n fill: \"#fff\",\r\n },\r\n}));\r\n\r\nfunction Header(props) {\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const [open, setOpen] = React.useState(false);\r\n const [anchorProfile, setAnchorProfile] = React.useState(null);\r\n const openProfile = Boolean(anchorProfile);\r\n const isAuthenticated = props.auth.isAuthenticated;\r\n const { activeOuid, userRoles, policies, activeOuidType } =\r\n store.getState().permission;\r\n const [activeOuidValue, setActiveOuidValue] = React.useState(activeOuid);\r\n const { session } = store.getState().jwt.api.userSession;\r\n\r\n useEffect(() => {\r\n setActiveOuidValue(store.getState().permission.activeOuid);\r\n }, [JSON.stringify(props)]);\r\n\r\n const handleDrawerOpen = () => {\r\n setOpen((open) => !open);\r\n };\r\n\r\n const handleProfileMenu = (event) => {\r\n setAnchorProfile(event.currentTarget);\r\n };\r\n\r\n const handleProfileClose = () => {\r\n setAnchorProfile(null);\r\n };\r\n\r\n const handleDrawerClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n const handleLogOut = async (event) => {\r\n event.preventDefault();\r\n try {\r\n Auth.signOut();\r\n props.auth.setAuthStatus(false);\r\n props.auth.setUser(null);\r\n store.dispatch(resetState());\r\n history.push(\"/\");\r\n } catch (error) {\r\n console.log(error.message);\r\n }\r\n };\r\n\r\n const handleDropDown = async (event) => {\r\n setActiveOuidValue(event.target.value);\r\n const path = window.location.pathname.split(\"/\");\r\n // await RedirectFunc(`/${event.target.value}/${path[path.length - 1]}`)\r\n await store.dispatch(setActiveOuid(event.target.value));\r\n await store.dispatch(setActiveOuidChain(event.target.value));\r\n await store.dispatch(setActiveOiudConfigs(event.target.value));\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n if (activeOuidCoreConfigs.data) {\r\n const deafaultUrl = activeOuidCoreConfigs.data.config.home;\r\n RedirectFunc(`/${event.target.value}/${deafaultUrl}`);\r\n return;\r\n } else {\r\n RedirectFunc(`/${event.target.value}`);\r\n return;\r\n }\r\n };\r\n const renderMenuTtem = () => {\r\n const activeOuidExist = userRoles.find(({ ouid }) => ouid === activeOuid);\r\n let renderOuids = userRoles;\r\n if (activeOuidExist) {\r\n renderOuids = userRoles;\r\n } else {\r\n renderOuids.push({ ouid: activeOuid, roles: [] });\r\n }\r\n return renderOuids.map((item, index) => (\r\n \r\n {item.ouid}\r\n \r\n ));\r\n };\r\n return (\r\n
\r\n \r\n theme.zIndex.drawer + 1 }}\r\n color=\"secondary\"\r\n >\r\n \r\n \r\n \"\"\r\n \r\n {activeOuid ? (\r\n
\r\n \r\n Home\r\n \r\n \r\n Meetings\r\n \r\n \r\n Investment Request\r\n \r\n
\r\n ) : (\r\n
\r\n \r\n Home\r\n \r\n \r\n Register your company\r\n \r\n
\r\n )}\r\n\r\n
\r\n
\r\n {isAuthenticated ? (\r\n
\r\n {\r\n history.push(`/${activeOuid}/notifications`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n {\r\n history.push(\"/login\");\r\n }}\r\n >\r\n Login\r\n \r\n )}\r\n\r\n {isAuthenticated && (\r\n <>\r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/my-profile`);\r\n }}\r\n >\r\n My Profile\r\n \r\n Logout\r\n \r\n \r\n )}\r\n {!isAuthenticated && (\r\n \r\n {\r\n history.push(\"/login\");\r\n }}\r\n >\r\n Login\r\n \r\n \r\n )}\r\n {isAuthenticated && (\r\n
{session.username}
\r\n )}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {isAuthenticated && (\r\n \r\n {activeOuid ? (\r\n
\r\n
\r\n \r\n Home\r\n \r\n \r\n Meeting\r\n \r\n \r\n Investment Requests\r\n \r\n
\r\n
\r\n ) : (\r\n
\r\n \r\n Home\r\n \r\n \r\n Register your company\r\n \r\n
\r\n )}\r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Header);\r\n","import React, { useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport clsx from \"clsx\";\r\nimport { makeStyles, useTheme } from \"@material-ui/core/styles\";\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport Drawer from \"@material-ui/core/Drawer\";\r\n\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport logo from \"../assets/images/ibc-logo.png\";\r\nimport { Auth } from \"aws-amplify\";\r\nimport { history } from \"../../reducers\";\r\nimport configureStore from \"../../store/configureStore\";\r\nimport { resetState } from \"../../actions\";\r\nimport {\r\n setActiveOuid,\r\n setActiveOuidChain,\r\n} from \"../../actions/action-permissions\";\r\nimport { setActiveOiudConfigs } from \"../../actions/action-config\";\r\nimport { RedirectFunc } from \"../common/CommonFunctions\";\r\n\r\n// Images\r\n\r\nimport AccountCircle from \"@material-ui/icons/AccountCircle\";\r\nimport MoreIcon from \"@material-ui/icons/MoreVert\";\r\nimport Logo from \"../assets/images//ces/ces-logo.png\";\r\n\r\n// Material Ui\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Divider from \"@material-ui/core/Divider\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport MenuIcon from \"@material-ui/icons/Menu\";\r\nimport ChevronLeftIcon from \"@material-ui/icons/ChevronLeft\";\r\nimport ChevronRightIcon from \"@material-ui/icons/ChevronRight\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport Badge from \"@material-ui/core/Badge\";\r\nimport MailIcon from \"@material-ui/icons/Mail\";\r\nimport NotificationsIcon from \"@material-ui/icons/Notifications\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport Menu from \"@material-ui/core/Menu\";\r\nimport FormControl from \"@material-ui/core/FormControl\";\r\nimport Select from \"@material-ui/core/Select\";\r\nimport { Button } from \"@material-ui/core\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst store = configureStore();\r\n\r\nconst drawerWidth = 240;\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n display: \"flex\",\r\n },\r\n appBar: {\r\n zIndex: theme.zIndex.drawer + 1,\r\n transition: theme.transitions.create([\"width\", \"margin\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n },\r\n appBarShift: {\r\n marginLeft: drawerWidth,\r\n // width: `calc(100% - ${drawerWidth}px)`,\r\n width: \"100%\",\r\n transition: theme.transitions.create([\"width\", \"margin\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n menuButton: {\r\n [theme.breakpoints.up(\"xs\")]: {\r\n display: \"block\",\r\n },\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"none\",\r\n },\r\n },\r\n hide: {\r\n display: \"none\",\r\n },\r\n drawer: {\r\n width: drawerWidth,\r\n flexShrink: 0,\r\n whiteSpace: \"nowrap\",\r\n position: \"relative\",\r\n [theme.breakpoints.up(\"xs\")]: {\r\n marginTop: 0,\r\n },\r\n [theme.breakpoints.up(\"md\")]: {\r\n marginTop: 0,\r\n },\r\n },\r\n drawerOpen: {\r\n width: drawerWidth,\r\n transition: theme.transitions.create(\"width\", {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n top: 64,\r\n },\r\n drawerClose: {\r\n transition: theme.transitions.create(\"width\", {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n overflowX: \"hidden\",\r\n width: 0,\r\n },\r\n toolbar: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-end\",\r\n padding: theme.spacing(0, 1),\r\n // necessary for content to be below app bar\r\n ...theme.mixins.toolbar,\r\n },\r\n navlinks: {\r\n flexGrow: 1,\r\n justifyContent: \"flex-end\",\r\n [theme.breakpoints.up(\"xs\")]: {\r\n display: \"none\",\r\n },\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"flex\",\r\n },\r\n },\r\n userName: {\r\n [theme.breakpoints.up(\"xs\")]: {\r\n display: \"none\",\r\n },\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"flex\",\r\n },\r\n },\r\n logo: {\r\n width: 110,\r\n },\r\n link: {\r\n color: \"#fff\",\r\n padding: 10,\r\n fontSize: 14,\r\n },\r\n Mobilelink: {\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n paddingTop: 15,\r\n },\r\n MobileLinkItem: {\r\n fontSize: 14,\r\n padding: 10,\r\n color: \"#000\",\r\n },\r\n content: {\r\n flexGrow: 1,\r\n padding: theme.spacing(3),\r\n },\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n\r\n sectionDesktop: {\r\n alignItems: \"center\",\r\n [theme.breakpoints.up(\"xs\")]: {\r\n display: \"flex\",\r\n },\r\n [theme.breakpoints.up(\"md\")]: {\r\n display: \"flex\",\r\n },\r\n },\r\n select: {\r\n color: \"#fff\",\r\n \"&:before\": {\r\n borderColor: \"#fff\",\r\n },\r\n \"&:after\": {\r\n borderColor: \"#fff\",\r\n },\r\n },\r\n icon: {\r\n fill: \"#fff\",\r\n },\r\n}));\r\n\r\nfunction Header(props) {\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const [open, setOpen] = React.useState(false);\r\n const [anchorProfile, setAnchorProfile] = React.useState(null);\r\n const openProfile = Boolean(anchorProfile);\r\n const isAuthenticated = props.auth.isAuthenticated;\r\n const { activeOuid, userRoles, policies, activeOuidType } =\r\n store.getState().permission;\r\n const [activeOuidValue, setActiveOuidValue] = React.useState(activeOuid);\r\n const { session } = store.getState().jwt.api.userSession;\r\n\r\n useEffect(() => {\r\n setActiveOuidValue(store.getState().permission.activeOuid);\r\n }, [JSON.stringify(props)]);\r\n\r\n const handleDrawerOpen = () => {\r\n setOpen((open) => !open);\r\n };\r\n\r\n const handleProfileMenu = (event) => {\r\n setAnchorProfile(event.currentTarget);\r\n };\r\n\r\n const handleProfileClose = () => {\r\n setAnchorProfile(null);\r\n };\r\n\r\n const handleDrawerClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n const handleLogOut = async (event) => {\r\n event.preventDefault();\r\n try {\r\n Auth.signOut();\r\n props.auth.setAuthStatus(false);\r\n props.auth.setUser(null);\r\n store.dispatch(resetState());\r\n history.push(\"/\");\r\n } catch (error) {\r\n console.log(error.message);\r\n }\r\n };\r\n\r\n const handleDropDown = async (event) => {\r\n setActiveOuidValue(event.target.value);\r\n const path = window.location.pathname.split(\"/\");\r\n // await RedirectFunc(`/${event.target.value}/${path[path.length - 1]}`)\r\n await store.dispatch(setActiveOuid(event.target.value));\r\n await store.dispatch(setActiveOuidChain(event.target.value));\r\n await store.dispatch(setActiveOiudConfigs(event.target.value));\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n if (activeOuidCoreConfigs.data) {\r\n const deafaultUrl = activeOuidCoreConfigs.data.config.home;\r\n RedirectFunc(`/${event.target.value}/${deafaultUrl}`);\r\n return;\r\n } else {\r\n RedirectFunc(`/${event.target.value}`);\r\n return;\r\n }\r\n };\r\n const renderMenuTtem = () => {\r\n const activeOuidExist = userRoles.find(({ ouid }) => ouid === activeOuid);\r\n let renderOuids = userRoles;\r\n if (activeOuidExist) {\r\n renderOuids = userRoles;\r\n } else {\r\n renderOuids.push({ ouid: activeOuid, roles: [] });\r\n }\r\n return renderOuids.map((item, index) => (\r\n \r\n {item.ouid}\r\n \r\n ));\r\n };\r\n return (\r\n
\r\n \r\n theme.zIndex.drawer + 1 }}\r\n color=\"secondary\"\r\n >\r\n \r\n \r\n \"\"\r\n \r\n {activeOuid ? (\r\n
\r\n \r\n Home\r\n \r\n \r\n Investment\r\n \r\n \r\n Loan\r\n \r\n \r\n Courses\r\n \r\n \r\n Meeting\r\n \r\n \r\n Information Portal\r\n \r\n \r\n Create DPR\r\n \r\n
\r\n ) : (\r\n
\r\n \r\n Home\r\n \r\n \r\n Register your company\r\n \r\n
\r\n )}\r\n\r\n
\r\n
\r\n {isAuthenticated ? (\r\n
\r\n {\r\n history.push(`/${activeOuid}/notifications`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n {\r\n history.push(\"/login\");\r\n }}\r\n >\r\n Login\r\n \r\n )}\r\n\r\n {isAuthenticated && (\r\n <>\r\n \r\n \r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/my-profile`);\r\n }}\r\n >\r\n My Profile\r\n \r\n Logout\r\n \r\n \r\n )}\r\n {!isAuthenticated && (\r\n \r\n {\r\n history.push(\"/login\");\r\n }}\r\n >\r\n Login\r\n \r\n \r\n )}\r\n {isAuthenticated && (\r\n
{session.username}
\r\n )}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {isAuthenticated && (\r\n \r\n {activeOuid ? (\r\n
\r\n
\r\n \r\n Home\r\n \r\n \r\n Investment\r\n \r\n \r\n Loan\r\n \r\n \r\n Courses\r\n \r\n \r\n Meeting\r\n \r\n \r\n Create DPR\r\n \r\n \r\n Information Portal\r\n \r\n
\r\n
\r\n ) : (\r\n
\r\n \r\n Home\r\n \r\n \r\n Register your company\r\n \r\n
\r\n )}\r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Header);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport SidebarBiz from \"../layout/SidebarBiz\";\r\nimport SidebarInv from \"../layout/SidebarInv\";\r\nimport SidebarCP from \"../layout/SidebarCP\";\r\nimport Sidebar from \"../layout/Sidebar\";\r\nimport SidebarRoot from \"../layout/SidebarRoot\";\r\nimport SidebarSystem from \"../layout/SidebarSystem\";\r\nimport Header from \"../layout/Header\";\r\n\r\nimport Footer from \"../layout/Footer\";\r\nimport configureStore from \"../../store/configureStore\";\r\nimport { history } from \"../../reducers\";\r\nimport CommonSnackBar from \"../common/CommonSnackBar\";\r\nimport HeaderInv from \"./HeaderInv\";\r\nimport HeaderBiz from \"./HeaderBiz\";\r\n\r\nconst store = configureStore();\r\n\r\nclass SidebarWrapper extends Component {\r\n constructor() {\r\n super();\r\n this.state = {};\r\n }\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return;\r\n }\r\n const { activeOuid, userRoles, policies, activeOuidType } =\r\n store.getState().permission;\r\n\r\n console.log(\"componentDidMount activeOuidType : \", activeOuidType);\r\n console.log(\"this.props : \", this.props);\r\n console.log(\"store.getState().permission : \", store.getState().permission);\r\n\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n const { session } = store.getState().jwt.api.userSession;\r\n }\r\n\r\n render() {\r\n const { activeOuidType } = this.props.permissions.activeOuidType;\r\n const { permissions } = this.props.permissions;\r\n console.log(\r\n \"Sidebar Wrapper render this.activeOuidType : \",\r\n this.props.permissions.activeOuidType\r\n );\r\n console.log(\r\n \"this.props in render : \",\r\n this.props.permissions.activeOuidType\r\n );\r\n\r\n return (\r\n
\r\n
{this.renderSidebar()}
\r\n
\r\n );\r\n }\r\n\r\n renderSidebar() {\r\n const { activeOuid, userRoles, policies, activeOuidType } =\r\n store.getState().permission;\r\n console.log(\r\n \"Sidebar Wrapper this.activeOuidType : \",\r\n this.props.permissions.activeOuidType\r\n );\r\n\r\n if (this.props.permissions.policies.includes(`${userRoles[0].ouid}=user`)) {\r\n return (\r\n
\r\n );\r\n } else if (this.props.permissions.activeOuidType === \"ROOT\") {\r\n return (\r\n \r\n );\r\n } else if (this.props.permissions.activeOuidType === \"SYSTEM\") {\r\n return (\r\n \r\n );\r\n }\r\n return
;\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n permissions: state.permission,\r\n jwt: state.jwt,\r\n config: state.config,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SidebarWrapper);\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport OrgunitCard from '../../common/OrgunitCard';\r\nimport { get_all_Orgunit } from '../../../actions/action-orgunit';\r\nimport configureStore from '../../../store/configureStore';\r\nimport SearchField from '../../common/SearchField';\r\nimport Loader from '../../common/Loader';\r\nimport Button from '@material-ui/core/Button';\r\nimport { history } from '../../../reducers';\r\nimport SidebarWrapper from '../../layout/SidebarWrapper';\r\nimport axios from 'axios';\r\nimport { setActiveOuid, setActiveOuidChain } from \"../../../actions/action-permissions\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { hideSnackbar } from '../../../actions/action-snackbar';\r\nimport { setActiveOiudConfigs } from \"../../../actions/action-config\";\r\n\r\n\r\nconst store = configureStore();\r\n\r\nclass Orgunit extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n orgunitsToShow: '',\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return\r\n }\r\n this.unregisterHistoryListener = history.listen((location, action) => {\r\n // console.log('on route change : ',location);\r\n // console.log('history ', history);\r\n const path = window.location.pathname.split('/');\r\n if (path[path.length - 1] === \"orgunits\") {\r\n this.fetchDetailsBasedOnUrl();\r\n }\r\n\r\n });\r\n this.fetchDetails();\r\n }\r\n componentWillUnmount() {\r\n console.log(\"componentWillUnmount\");\r\n this.unregisterHistoryListener()\r\n store.dispatch(hideSnackbar());\r\n }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n\r\n async fetchDetails() {\r\n const { get_all_Orgunit } = this.props;\r\n const { activeOuid } = store.getState().permission;\r\n await get_all_Orgunit(activeOuid);\r\n const { orgunits } = store.getState().orgunit;\r\n this.setState({\r\n orgunitsToShow: orgunits,\r\n });\r\n }\r\n\r\n async fetchDetailsBasedOnUrl() {\r\n console.log(\"fetchDetailsBasedOnUrl\");\r\n const path = window.location.pathname.split('/');\r\n const urlOuid = path[1];\r\n if (path[path.length - 1] === \"orgunits\") {\r\n const { get_all_Orgunit } = this.props;\r\n await get_all_Orgunit(urlOuid);\r\n const { orgunits } = store.getState().orgunit;\r\n this.setState({\r\n orgunitsToShow: orgunits,\r\n }, async () => {\r\n await store.dispatch(setActiveOuid(urlOuid));\r\n await store.dispatch(setActiveOuidChain(urlOuid));\r\n await store.dispatch(setActiveOiudConfigs(urlOuid));\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n if (activeOuidCoreConfigs.data && path[path.length - 1] !== \"orgunits\") {\r\n const deafaultUrl = activeOuidCoreConfigs.data.config.home;\r\n this.props.history.push(`/${urlOuid}/${deafaultUrl}`);\r\n }\r\n });\r\n }\r\n }\r\n\r\n renderOrgunit(Orgunit) {\r\n console.log(\"Orgunits : \", JSON.stringify(Orgunit));\r\n return Orgunit.map((item) => (\r\n
\r\n \r\n
\r\n ));\r\n }\r\n\r\n search(keyword, orgunits) {\r\n if (keyword) {\r\n const searchPattern = new RegExp(keyword.map((term) => `(?=.*${term})`).join(''), 'i');\r\n if (orgunits) {\r\n this.setState({\r\n orgunitsToShow: orgunits.filter((orgunit) => orgunit.data.name.match(searchPattern)),\r\n });\r\n }\r\n } else {\r\n this.setState({\r\n orgunitsToShow: orgunits,\r\n });\r\n }\r\n }\r\n handleChangeStatus({ meta, file }, status) {\r\n console.log(\"status\", status, meta, file)\r\n }\r\n async handlePut(response, f) {\r\n const url = response.data.uploadURL;\r\n // console.log('file', f);\r\n const body = f;\r\n const method = 'put';\r\n await axios[method](\r\n url,\r\n body\r\n )\r\n .then((response) => {\r\n // console.log(\"response : \",JSON.stringify(response));\r\n // console.log('Response Upload', response);\r\n\r\n })\r\n .catch((err) => {\r\n console.error('ErrorLog : ', JSON.stringify(err));\r\n });\r\n\r\n }\r\n async handleSubmit(files) {\r\n // console.log(files)\r\n const f = files[0];\r\n const {\r\n apiEndpoint,\r\n credentials,\r\n } = store.getState().jwt.api;\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${apiEndpoint}/document?signedUrl=true`;\r\n const method = 'get';\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"Content-type\": \"image/jpeg\",\r\n },\r\n };\r\n\r\n const response = await axios[method](\r\n url,\r\n axiosHeader,\r\n )\r\n const body = f['file'];\r\n url = response.data.uploadURL;\r\n const postHeader = {\r\n headers: {\r\n \"Content-type\": \"image/jpeg\",\r\n }\r\n }\r\n const uploadresponse = axios['put'](\r\n url,\r\n body,\r\n postHeader\r\n )\r\n console.log(uploadresponse);\r\n // .then((response) => {\r\n // // console.log(\"response : \",JSON.stringify(response));\r\n // console.log('response',response);\r\n // this.handlePut(response, f['file']);\r\n\r\n // })\r\n // .catch((err) => {\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n // });\r\n\r\n\r\n }\r\n\r\n render() {\r\n const { orgunits, showGlobalLoader } = store.getState().orgunit;\r\n const { permissions, activeOuid } = store.getState().permission;\r\n return (\r\n
\r\n\r\n \r\n
\r\n\r\n {showGlobalLoader ?\r\n \r\n :
\r\n
\r\n

BRANCHES

\r\n this.search(e.target.value.split(' '), orgunits)} />\r\n \r\n
\r\n {this.state.orgunitsToShow &&\r\n
\r\n
\r\n {(this.state.orgunitsToShow.length !== 0) ? this.renderOrgunit(this.state.orgunitsToShow) : 'No Branches Found'}\r\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 permission: state.permission,\r\n orgunit: state.orgunit,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_all_Orgunit: (activeOuid) => dispatch(get_all_Orgunit(activeOuid)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Orgunit);\r\n","import React from 'react';\r\nimport Button from '@material-ui/core/Button';\r\n\r\nexport default function FormButton(props) {\r\n const { onClick, text } = props;\r\n return (\r\n \r\n );\r\n}","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { register_Orgunit } from \"../../../actions/action-orgunit\";\r\nimport { history } from '../../../reducers';\r\nimport SidebarWrapper from '../../layout/SidebarWrapper';\r\nimport configureStore from '../../../store/configureStore';\r\nimport FormButton from '../../common/FormButton';\r\nimport { Paper, Box } from '@material-ui/core';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { showSnackbar, hideSnackbar } from '../../../actions/action-snackbar';\r\n\r\nconst store = configureStore();\r\n\r\n\r\nclass RegisterOrgunit extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n name: \"\",\r\n description: \"\"\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"componentDidMount : \");\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n // store.dispatch(hideSnackbar());\r\n }\r\n\r\n handleSubmit = async event => {\r\n // console.log(\"State : \", this.state);\r\n const { register_Orgunit } = this.props;\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n if (activeOuid && activeOuidChain) {\r\n await register_Orgunit(this.state, activeOuid, activeOuidChain);\r\n history.push(`/${activeOuid}/orgunits`);\r\n } else {\r\n store.dispatch(showSnackbar('No activeOuid or activeOuidChain', 'error'));\r\n }\r\n\r\n }\r\n\r\n onInputChange = event => {\r\n this.setState({\r\n [event.target.id]: event.target.value\r\n });\r\n }\r\n\r\n\r\n render() {\r\n const { permissions } = store.getState().permission;\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n

Create Sub Unit

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

\r\n this.handleSubmit()}\r\n text=\"Register\"\r\n />\r\n

\r\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 permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n register_Orgunit: (payload, activeOuid, activeOuidChain) => dispatch(register_Orgunit(payload, activeOuid, activeOuidChain)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(RegisterOrgunit);\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport configureStore from '../../../store/configureStore';\r\nimport { get_orgunit_details, update_Orgunit } from '../../../actions/action-orgunit';\r\nimport Loader from '../../common/Loader';\r\nimport { history } from '../../../reducers';\r\nimport SidebarWrapper from '../../layout/SidebarWrapper';\r\nimport CommonSnackBar from '../../common/CommonSnackBar';\r\nimport FormButton from '../../common/FormButton';\r\nimport { Input, Paper, TextField } from '@material-ui/core';\r\nimport { timeFormat } from '../../common/CommonFunctions'\r\nimport { setActiveOuid } from \"../../../actions/action-permissions\";\r\n\r\n\r\nconst store = configureStore();\r\n\r\nclass EditOrgunitDetails extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n OrgunitDetails: {},\r\n };\r\n this.onInputChange = this.onInputChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return\r\n }\r\n this.fetchDetails();\r\n }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n\r\n async fetchDetails() {\r\n const path = window.location.pathname.split('/');\r\n const id = path[path.length - 1];\r\n\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n const ouid = path[1];\r\n console.log(\"path : \", path);\r\n const { setActiveOuid } = this.props;\r\n await setActiveOuid(ouid);\r\n\r\n const { get_orgunit_details } = this.props;\r\n await get_orgunit_details(id);\r\n const { OrgunitDetails } = store.getState().orgunit;\r\n this.setState({\r\n OrgunitDetails: OrgunitDetails,\r\n });\r\n }\r\n\r\n onInputChange(event) {\r\n let newOrgunitDetails = this.state.OrgunitDetails;\r\n newOrgunitDetails.data[event.target.id] = event.target.value;\r\n this.setState({\r\n OrgunitDetails: newOrgunitDetails\r\n });\r\n }\r\n\r\n async handleSubmit() {\r\n // event.preventDefault();\r\n // console.log(\"State : \", this.state);\r\n const path = window.location.pathname.split('/');\r\n const id = path[path.length - 1];\r\n const { update_Orgunit } = this.props;\r\n await update_Orgunit(this.state.OrgunitDetails, id);\r\n }\r\n\r\n\r\n renderDetails(details, onInputChange) {\r\n return Object.keys(details).map(function (keyName, keyIndex) {\r\n return (\r\n
\r\n \r\n {keyName === 'name' || keyName === 'ouidChain' || keyName === 'identifier' || keyName === 'createdBy' || keyName === 'entityType' || keyName === 'type' || keyName === 'createdDate' || keyName === 'lastModifiedDate' ?\r\n keyName === 'lastModifiedDate' || keyName === 'createdDate' ?\r\n \r\n :\r\n \r\n : }\r\n\r\n
\r\n )\r\n });\r\n }\r\n\r\n render() {\r\n const { showGlobalLoader } = store.getState().orgunit;\r\n const { permissions } = store.getState().permission;\r\n return (\r\n
\r\n \r\n
\r\n {showGlobalLoader ?\r\n \r\n :
\r\n \r\n

Edit orgunit Details

\r\n
\r\n {this.state.OrgunitDetails.data ? this.renderDetails(this.state.OrgunitDetails.data, this.onInputChange) : 'No Orgunit details Found'}\r\n
\r\n this.handleSubmit()}\r\n text=\"Update\"\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 orgunit: state.orgunit,\r\n showGlobalLoader: state.orgunit.showGlobalLoader,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_orgunit_details: (id) => dispatch(get_orgunit_details(id)),\r\n update_Orgunit: (payload, orgunit) => dispatch(update_Orgunit(payload, orgunit)),\r\n setActiveOuid: (activeOuid) => dispatch(setActiveOuid(activeOuid)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(EditOrgunitDetails);\r\n\r\n","import React, { useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Button from '@material-ui/core/Button';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogContentText from '@material-ui/core/DialogContentText';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles({\r\n Input: {\r\n fontSize: 14,\r\n },\r\n DialogText: {\r\n fontSize: 16,\r\n },\r\n CommentInputWrapper: {\r\n borderColor: '#dc281e',\r\n '& .MuiInput-underline': {\r\n '&:after': {\r\n borderColor: '#3b4f5a',\r\n },\r\n },\r\n },\r\n PrimaryButtonroot: {\r\n background: '#DC281E',\r\n padding: '5px 15px',\r\n fontSize: 12,\r\n '&:hover': {\r\n background: '#DC281E',\r\n },\r\n },\r\n SecondaryButtonroot: {\r\n borderColor: '#DC281E',\r\n marginRight: 15,\r\n fontSize: 12,\r\n padding: '5px 15px',\r\n color: '#DC281E',\r\n '&:hover': {\r\n borderColor: '#DC281E',\r\n },\r\n },\r\n});\r\n\r\nfunction CommonConfirm(props) {\r\n const classes = useStyles();\r\n const { confirmBox, closeConfirmBox } = props;\r\n// console.log('confirmBox : ', confirmBox);\r\n const [open, setOpen] = React.useState(false);\r\n useEffect(() => {\r\n setOpen(confirmBox);\r\n }, [confirmBox]);\r\n const handleClose = () => {\r\n setOpen(false);\r\n return closeConfirmBox(false);\r\n };\r\n const handleConfirm = () => {\r\n setOpen(false);\r\n return closeConfirmBox(true);\r\n };\r\n return (\r\n \r\n \r\n \r\n Are you sure you want to delete?\r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n Delete\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst mapStateToProps = () => ({\r\n});\r\n\r\nconst mapDispatchToProps = () => ({\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CommonConfirm);\r\n\r\n","import {\r\n CREATE_COURSE_REQUESTED,\r\n CREATE_COURSE_SUCCESS,\r\n CREATE_COURSE_ERRORED,\r\n UPDATE_COURSE_REQUESTED,\r\n UPDATE_COURSE_SUCCESS,\r\n UPDATE_COURSE_ERRORED,\r\n GET_COURSES_REQUESTED,\r\n GET_COURSES_SUCCESS,\r\n GET_COURSES_ERRORED,\r\n GET_COURSE_REQUESTED,\r\n GET_COURSE_SUCCESS,\r\n GET_COURSE_ERRORED,\r\n DELETE_COURSE_REQUESTED,\r\n DELETE_COURSE_SUCCESS,\r\n DELETE_COURSE_ERRORED,\r\n CREATE_OR_UPDATE_COURSELINE_REQUESTED,\r\n CREATE_OR_UPDATE_COURSELINE_SUCCESS,\r\n CREATE_OR_UPDATE_COURSELINE_ERRORED,\r\n GET_COURSELINES_REQUESTED,\r\n GET_COURSELINES_SUCCESS,\r\n GET_COURSELINES_ERRORED,\r\n} from \"../constant/action-types\";\r\nimport axios from \"axios\";\r\nimport { showSnackbar } from \"./action-snackbar\";\r\n\r\nimport configureStore from \"../store/configureStore\";\r\n\r\nconst store = configureStore();\r\n\r\nexport const create_course_requested = () => ({\r\n type: CREATE_COURSE_REQUESTED,\r\n});\r\n\r\nexport const create_course_success = () => ({\r\n type: CREATE_COURSE_SUCCESS,\r\n});\r\n\r\nexport const create_course_errored = (error) => ({\r\n type: CREATE_COURSE_ERRORED,\r\n error,\r\n});\r\n\r\nexport const update_course_requested = () => ({\r\n type: UPDATE_COURSE_REQUESTED,\r\n});\r\n\r\nexport const update_course_success = () => ({\r\n type: UPDATE_COURSE_SUCCESS,\r\n});\r\n\r\nexport const update_course_errored = (error) => ({\r\n type: UPDATE_COURSE_ERRORED,\r\n error,\r\n});\r\n\r\nexport const create_course = (payload) => async (dispatch) => {\r\n console.log(`create_course`);\r\n\r\n dispatch(create_course_requested());\r\n const path = window.location.pathname.split(\"/\");\r\n const activeOuid = path[1];\r\n const { activeOuidChain } = store.getState().permission;\r\n console.log(`create_course`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n var url = `${coursesApiEndpoint}/course`;\r\n if (payload.bookInParent) {\r\n url = `${coursesApiEndpoint}/course`;\r\n }\r\n const method = \"post\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, payload, axiosHeader)\r\n .then((response) => {\r\n dispatch(showSnackbar(\"Course created Successfully\", \"success\"));\r\n dispatch(create_course_success());\r\n })\r\n .catch((err) => {\r\n console.log(\"Course creation Failed\");\r\n dispatch(showSnackbar(\"Course creation Failed\", \"error\"));\r\n dispatch(create_course_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const update_course = (id, payload, activeOuid) => async (dispatch) => {\r\n dispatch(update_course_requested());\r\n\r\n const { activeOuidChain } = store.getState().permission;\r\n console.log(`update_course`);\r\n\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n var url = `${coursesApiEndpoint}/course/${id}`;\r\n const method = \"put\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, payload, axiosHeader)\r\n .then((response) => {\r\n dispatch(showSnackbar(\"Course updated Successfully\", \"success\"));\r\n dispatch(update_course_success());\r\n })\r\n .catch((err) => {\r\n console.log(\"Course update Failed\");\r\n dispatch(showSnackbar(\"Course update Failed\", \"error\"));\r\n dispatch(update_course_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const get_courses_requested = () => ({\r\n type: GET_COURSES_REQUESTED,\r\n});\r\n\r\nexport const get_courses_success = (payload) => ({\r\n type: GET_COURSES_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_courses_errored = (error) => ({\r\n type: GET_COURSES_ERRORED,\r\n error,\r\n});\r\n\r\nexport const get_courses =\r\n (activeOuid, activeOuidChain, category, ouid) => async (dispatch) => {\r\n dispatch(get_courses_requested());\r\n console.log(`get_courses`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/course?ouid=${ouid}&type=default`;\r\n if (!category === \"\") {\r\n url = `${coursesApiEndpoint}/course?ouid=${ouid}&type=default&category=${category}`;\r\n }\r\n\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get All Courses Fetched Successfully\");\r\n dispatch(get_courses_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get All Courses Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Courses Failed\", \"error\"));\r\n }\r\n dispatch(get_courses_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const get_courses_public =\r\n (activeOuid, activeOuidChain, category, ouid) => async (dispatch) => {\r\n dispatch(get_courses_requested());\r\n console.log(`get_courses_public`);\r\n const { coursesApiEndpoint } = store.getState().jwt.api;\r\n if (coursesApiEndpoint) {\r\n let url = `${coursesApiEndpoint}/course-public?ouid=${ouid}&type=default`;\r\n if (!category === \"\") {\r\n url = `${coursesApiEndpoint}/course-public?ouid=${ouid}&type=default&category=${category}`;\r\n }\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get All Courses Public Fetched Successfully\");\r\n dispatch(get_courses_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get All Courses Public Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Courses Public Failed\", \"error\"));\r\n }\r\n dispatch(get_courses_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const get_course =\r\n (activeOuid, activeOuidChain, id) => async (dispatch) => {\r\n dispatch(get_course_requested());\r\n console.log(`get_course`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/course/${id}`;\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get post Fetched Successfully\", response.data);\r\n dispatch(get_course_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get Course Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Courses By Failed\", \"error\"));\r\n }\r\n dispatch(get_course_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const get_course_public = (activeOuid, id) => async (dispatch) => {\r\n dispatch(get_course_requested());\r\n console.log(`get_course_public`);\r\n const { coursesApiEndpoint } = store.getState().jwt.api;\r\n if (coursesApiEndpoint) {\r\n let url = `${coursesApiEndpoint}/course-public/${id}`;\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n \"x-ouid\": activeOuid,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get Coruse Public fetched Successfully\", response.data);\r\n dispatch(get_course_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get Course Public Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Courses Public Failed\", \"error\"));\r\n }\r\n dispatch(get_course_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const get_course_requested = () => ({\r\n type: GET_COURSE_REQUESTED,\r\n});\r\n\r\nexport const get_course_success = (payload) => ({\r\n type: GET_COURSE_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_course_errored = (error) => ({\r\n type: GET_COURSE_ERRORED,\r\n error,\r\n});\r\n\r\nexport const delete_course =\r\n (activeOuid, activeOuidChain, id) => async (dispatch) => {\r\n dispatch(delete_course_requested());\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/course/${id}`;\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n if (activeOuidCoreConfigs.data) {\r\n if (activeOuidCoreConfigs.data.config.entityRules) {\r\n const entityRules = activeOuidCoreConfigs.data.config.entityRules;\r\n const enitityRule = entityRules.find(\r\n ({ entity }) => entity === \"course\"\r\n );\r\n if (enitityRule) {\r\n const actionsData = enitityRule.publishToApiTopic.actions;\r\n if (actionsData.indexOf(\"D\") > -1) {\r\n url = `${coursesApiEndpoint}/course/${id}?publishToApiTopic=true`;\r\n }\r\n }\r\n }\r\n }\r\n const method = \"delete\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Course Deleted Successfully\");\r\n dispatch(delete_course_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Delete Course Failed\");\r\n dispatch(showSnackbar(\"Delete Course Failed\", \"error\"));\r\n dispatch(delete_course_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const delete_course_requested = () => ({\r\n type: DELETE_COURSE_REQUESTED,\r\n});\r\n\r\nexport const delete_course_success = (payload) => ({\r\n type: DELETE_COURSE_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const delete_course_errored = (error) => ({\r\n type: DELETE_COURSE_ERRORED,\r\n error,\r\n});\r\n\r\nexport const create_update_courseline_requested = () => ({\r\n type: CREATE_OR_UPDATE_COURSELINE_REQUESTED,\r\n});\r\n\r\nexport const create_update_courseline_success = () => ({\r\n type: CREATE_OR_UPDATE_COURSELINE_SUCCESS,\r\n});\r\n\r\nexport const create_update_courseline_errored = (error) => ({\r\n type: CREATE_OR_UPDATE_COURSELINE_ERRORED,\r\n error,\r\n});\r\n\r\nexport const create_update_courseline =\r\n (courselineId, ouid, payload, type) => async (dispatch) => {\r\n dispatch(create_update_courseline_requested());\r\n console.log(`create_update_courseline`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url;\r\n // console.log(`jwt : ${jwt}`);\r\n let method = \"post\";\r\n let axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": ouid,\r\n },\r\n };\r\n if (courselineId) {\r\n method = \"put\";\r\n url = `${coursesApiEndpoint}/courseline/${courselineId}`;\r\n } else {\r\n url = `${coursesApiEndpoint}/courseline`;\r\n }\r\n // console.log(`url : ${url}`);\r\n return axios[method](url, payload, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Courseline Create or Upadate Success\");\r\n dispatch(\r\n showSnackbar(\"Courseline Create or Upadate Successfully\", \"success\")\r\n );\r\n dispatch(create_update_courseline_success(response.data));\r\n dispatch(get_courses());\r\n return response.data.identifier;\r\n })\r\n .catch((err) => {\r\n console.log(\"Courseline Create or Upadate Failed\");\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n dispatch(\r\n showSnackbar(\"Courseline Create or Upadate Failed\", \"error\")\r\n );\r\n dispatch(create_update_courseline_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\n// export const update_courseline = (payload) => async (dispatch) => {\r\n// dispatch(update_courseline_requested());\r\n// const path = window.location.pathname.split(\"/\");\r\n// const activeOuid = path[1];\r\n// const { activeOuidChain } = store.getState().permission;\r\n// console.log(`update_course`);\r\n// const id = path[3];\r\n// const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n// if (coursesApiEndpoint && credentials) {\r\n// const jwt = `${credentials.idToken.jwtToken}`;\r\n// var url = `${coursesApiEndpoint}/course/${id}`;\r\n// const method = \"put\";\r\n// const axiosHeader = {\r\n// headers: {\r\n// Authorization: jwt,\r\n// \"x-ouid\": activeOuid,\r\n// \"x-ouidchain\": activeOuidChain,\r\n// },\r\n// };\r\n// return axios[method](url, payload, axiosHeader)\r\n// .then((response) => {\r\n// dispatch(showSnackbar(\"courseline updated Successfully\", \"success\"));\r\n// dispatch(update_courseline_success());\r\n// })\r\n// .catch((err) => {\r\n// console.log(\"Course update Failed\");\r\n// dispatch(showSnackbar(\"courseline update Failed\", \"error\"));\r\n// dispatch(update_courseline_errored(err));\r\n// });\r\n// }\r\n// return null;\r\n// };\r\n\r\nexport const get_courselines_requested = () => ({\r\n type: GET_COURSELINES_REQUESTED,\r\n});\r\n\r\nexport const get_courselines_success = (payload) => ({\r\n type: GET_COURSELINES_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_courselines_errored = (error) => ({\r\n type: GET_COURSELINES_ERRORED,\r\n error,\r\n});\r\n\r\nexport const get_courselines = (activeOuid, courseid) => async (dispatch) => {\r\n dispatch(get_courselines_requested());\r\n console.log(`get_courselines`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/courseline?courseId=${courseid}`;\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get All Courseline Success\");\r\n dispatch(get_courselines_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get All courseline Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Courseline Failed\", \"error\"));\r\n }\r\n dispatch(get_courselines_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const get_courselines_public =\r\n (activeOuid, courseid) => async (dispatch) => {\r\n dispatch(get_courselines_requested());\r\n console.log(`get_courselines_public`);\r\n const { coursesApiEndpoint } = store.getState().jwt.api;\r\n if (coursesApiEndpoint) {\r\n let url = `${coursesApiEndpoint}/courseline-public?courseId=${courseid}`;\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n \"x-ouid\": activeOuid,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get All Courseline Public Success\");\r\n dispatch(get_courselines_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get All courseline public Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Courseline public Failed\", \"error\"));\r\n }\r\n dispatch(get_courselines_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const delete_course_line =\r\n (activeOuid, activeOuidChain, id) => async (dispatch) => {\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/courseline/${id}`;\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n const method = \"delete\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Course Line Deleted Successfully\");\r\n //dispatch(delete_course_success(response.data));\r\n dispatch(\r\n showSnackbar(\"Chapter deleted Successfully\", \"success\")\r\n );\r\n })\r\n .catch((err) => {\r\n console.log(\"Delete Course Line Failed\");\r\n dispatch(showSnackbar(\"Delete Course Failed\", \"error\"));\r\n // dispatch(delete_course_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n","import {\r\n CREATE_USER_PROFILE_REQUESTED,\r\n CREATE_USER_PROFILE_SUCCESS,\r\n CREATE_USER_PROFILE_ERRORED,\r\n UPDATE_USER_PROFILE_REQUESTED,\r\n UPDATE_USER_PROFILE_SUCCESS,\r\n UPDATE_USER_PROFILE_ERRORED,\r\n GET_USER_PROFILE_DETAILS_REQUESTED,\r\n GET_USER_PROFILE_DETAILS_SUCCESS,\r\n GET_USER_PROFILE_DETAILS_ERRORED,\r\n GET_ALL_USER_PROFILES_REQUESTED,\r\n GET_ALL_USER_PROFILES_SUCCESS,\r\n GET_ALL_USER_PROFILES_ERRORED,\r\n DELETE_USER_PROFILE_REQUESTED,\r\n DELETE_USER_PROFILE_SUCCESS,\r\n DELETE_USER_PROFILE_ERRORED\r\n} from '../constant/action-types';\r\nimport axios from 'axios';\r\nimport { showSnackbar } from './action-snackbar';\r\n\r\nimport configureStore from '../store/configureStore';\r\n\r\nconst store = configureStore();\r\n\r\nexport const get_user_profile_details_requested = () => ({\r\n type: GET_USER_PROFILE_DETAILS_REQUESTED,\r\n});\r\n\r\nexport const get_user_profile_details_success = (payload) => ({\r\n type: GET_USER_PROFILE_DETAILS_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_user_profile_details_errored = (error) => ({\r\n type: GET_USER_PROFILE_DETAILS_ERRORED,\r\n error,\r\n});\r\n\r\nexport const get_all_user_profiles_requested = () => ({\r\n type: GET_ALL_USER_PROFILES_REQUESTED,\r\n});\r\n\r\nexport const get_all_user_profiles_success = (payload) => ({\r\n type: GET_ALL_USER_PROFILES_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_all_user_profiles_errored = (error) => ({\r\n type: GET_ALL_USER_PROFILES_ERRORED,\r\n error,\r\n});\r\n\r\nexport const create_user_profile_requested = () => ({\r\n type: CREATE_USER_PROFILE_REQUESTED,\r\n});\r\n\r\nexport const create_user_profile_success = () => ({\r\n type: CREATE_USER_PROFILE_SUCCESS,\r\n});\r\n\r\nexport const create_user_profile_errored = (error) => ({\r\n type: CREATE_USER_PROFILE_ERRORED,\r\n error,\r\n});\r\n\r\nexport const update_user_profile_requested = () => ({\r\n type: UPDATE_USER_PROFILE_REQUESTED,\r\n});\r\n\r\nexport const update_user_profile_success = () => ({\r\n type: UPDATE_USER_PROFILE_SUCCESS,\r\n});\r\n\r\nexport const update_user_profile_errored = (error) => ({\r\n type: UPDATE_USER_PROFILE_ERRORED,\r\n error,\r\n});\r\n\r\n\r\n\r\nexport const create_user_profile = (payload) => async (dispatch) => {\r\n dispatch(create_user_profile_requested());\r\n console.log(`create_user_profile`);\r\n const {\r\n apiEndpoint,\r\n credentials,\r\n } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const url = `${apiEndpoint}/userprofile`;\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = 'post';\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n },\r\n };\r\n return axios[method](\r\n url,\r\n payload,\r\n axiosHeader,\r\n )\r\n .then((response) => {\r\n console.log('Create User Profile Success');\r\n dispatch(showSnackbar('User created Successfully', 'success'));\r\n dispatch(create_user_profile_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log('Create User Profile Has Errored');\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n dispatch(showSnackbar('User Creation Failed', 'error'));\r\n dispatch(create_user_profile_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\n\r\nexport const update_user_profile = (payload, username) => async (dispatch) => {\r\n dispatch(update_user_profile_requested());\r\n console.log(`update_user_profile`);\r\n const {\r\n apiEndpoint,\r\n credentials,\r\n } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const url = `${apiEndpoint}/userprofile/${username}`;\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = 'put';\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n },\r\n };\r\n return axios[method](\r\n url,\r\n payload,\r\n axiosHeader,\r\n )\r\n .then((response) => {\r\n console.log('Create User Profile Sucess');\r\n dispatch(showSnackbar('Payment successfull', 'success'));\r\n dispatch(update_user_profile_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log('Create User Profile Has Errored');\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n dispatch(showSnackbar('User Upadation Failed', 'error'));\r\n dispatch(update_user_profile_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const get_all_user_profile_details = (ouid) => async (dispatch) => {\r\n dispatch(get_all_user_profiles_requested());\r\n console.log(`get_all_user_profile_details`);\r\n const {\r\n apiEndpoint,\r\n credentials,\r\n } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url;\r\n // console.log(`jwt : ${jwt}`);\r\n const method = 'get';\r\n let axiosHeader = {};\r\n if (ouid) {\r\n url = `${apiEndpoint}/orguser`;\r\n axiosHeader['headers'] = {\r\n Authorization: jwt,\r\n 'x-ouid': ouid\r\n };\r\n } else {\r\n url = `${apiEndpoint}/userprofile`;\r\n axiosHeader['headers'] = {\r\n Authorization: jwt,\r\n };\r\n }\r\n // console.log(`url : ${url}`);\r\n return axios[method](\r\n url,\r\n axiosHeader,\r\n )\r\n .then((response) => {\r\n console.log('get all ProfileDetails success');\r\n dispatch(get_all_user_profiles_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log('get all ProfileDetails Has Errored');\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n dispatch(get_all_user_profiles_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\n\r\nexport const get_user_profile_details = (username, orgUserCreate) => async (dispatch) => {\r\n dispatch(get_user_profile_details_requested());\r\n console.log(`get_profile_details`, orgUserCreate);\r\n const {\r\n apiEndpoint,\r\n credentials,\r\n } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url;\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = 'get';\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n },\r\n };\r\n if (orgUserCreate) {\r\n url = `${apiEndpoint}/userprofile?checkUserName=${username}`;\r\n } else {\r\n url = `${apiEndpoint}/userprofile/${username}`;\r\n }\r\n return axios[method](\r\n url,\r\n axiosHeader,\r\n )\r\n .then((response) => {\r\n console.log('Get Profile Details Success');\r\n dispatch(get_user_profile_details_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log('Get Profile Details Has Errored');\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n dispatch(get_user_profile_details_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\n\r\nexport const delete_delete_user_profile_requested = () => ({\r\n type: DELETE_USER_PROFILE_REQUESTED,\r\n});\r\n\r\nexport const delete_delete_user_profile_success = (payload) => ({\r\n type: DELETE_USER_PROFILE_SUCCESS,\r\n payload\r\n});\r\n\r\nexport const delete_delete_user_profile_errored = (error) => ({\r\n type: DELETE_USER_PROFILE_ERRORED,\r\n error,\r\n});\r\n\r\n\r\n\r\nexport const delete_delete_user_profile = (id) => async (dispatch) => {\r\n dispatch(delete_delete_user_profile_requested());\r\n console.log(`delete_delete_user_profile`);\r\n const {\r\n apiEndpoint,\r\n credentials,\r\n } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const url = `${apiEndpoint}/userprofile/${id}`;\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = 'delete';\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n },\r\n };\r\n return axios[method](\r\n url,\r\n axiosHeader,\r\n )\r\n .then((response) => {\r\n console.log(\"Delete User Profile Success\");\r\n // dispatch(showSnackbar('Get All Channel Partner Successfully', 'success'));\r\n dispatch(delete_delete_user_profile_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log('Delete User Profile Failed');\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n dispatch(showSnackbar('Delete User Profile Failed', 'error'));\r\n dispatch(delete_delete_user_profile_errored(err));\r\n });\r\n }\r\n return null;\r\n};","import {\r\n CREATE_COURSEUSER_REQUESTED,\r\n CREATE_COURSEUSER_SUCCESS,\r\n CREATE_COURSEUSER_ERRORED,\r\n GET_COURSEUSERS_REQUESTED,\r\n GET_COURSEUSERS_SUCCESS,\r\n GET_COURSEUSERS_ERRORED,\r\n DELETE_COURSEUSER_REQUESTED,\r\n DELETE_COURSEUSER_SUCCESS,\r\n DELETE_COURSEUSER_ERRORED,\r\n DELETE_EXAMUSER_REQUESTED,\r\n DELETE_EXAMUSER_SUCCESS,\r\n DELETE_EXAMUSER_ERRORED,\r\n GET_COURSEUSER_ERRORED,\r\n GET_COURSEUSER_REQUESTED,\r\n GET_COURSEUSER_SUCCESS,\r\n} from \"../constant/action-types\";\r\nimport axios from \"axios\";\r\nimport { showSnackbar } from \"./action-snackbar\";\r\n\r\nimport configureStore from \"../store/configureStore\";\r\n\r\nconst store = configureStore();\r\n\r\nexport const create_courseuser_requested = () => ({\r\n type: CREATE_COURSEUSER_REQUESTED,\r\n});\r\n\r\nexport const create_courseuser_success = () => ({\r\n type: CREATE_COURSEUSER_SUCCESS,\r\n});\r\n\r\nexport const create_courseuser_errored = (error) => ({\r\n type: CREATE_COURSEUSER_ERRORED,\r\n error,\r\n});\r\n\r\nexport const create_course_user = (payload) => async (dispatch) => {\r\n console.log(`create_course_user`);\r\n\r\n dispatch(create_courseuser_requested());\r\n const path = window.location.pathname.split(\"/\");\r\n const activeOuid = path[1];\r\n const { activeOuidChain } = store.getState().permission;\r\n console.log(`create_course_user`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n var url = `${coursesApiEndpoint}/courseuser`;\r\n if (payload.bookInParent) {\r\n url = `${coursesApiEndpoint}/courseuser`;\r\n }\r\n const method = \"post\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, payload, axiosHeader)\r\n .then((response) => {\r\n dispatch(showSnackbar(\"Courseuser created Successfully\", \"success\"));\r\n dispatch(create_courseuser_success());\r\n })\r\n .catch((err) => {\r\n console.log(\"Courseuser creation Failed\");\r\n dispatch(showSnackbar(\"Courseuser creation Failed\", \"error\"));\r\n dispatch(create_courseuser_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const get_courseusers_requested = () => ({\r\n type: GET_COURSEUSERS_REQUESTED,\r\n});\r\n\r\nexport const get_courseusers_success = (payload) => ({\r\n type: GET_COURSEUSERS_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_courseusers_errored = (error) => ({\r\n type: GET_COURSEUSERS_ERRORED,\r\n error,\r\n});\r\n\r\nexport const get_course_users =\r\n (activeOuid, activeOuidChain, category, ouid) => async (dispatch) => {\r\n dispatch(get_courseusers_requested());\r\n console.log(`get_course_users`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/courseuser`;\r\n if (!category === \"\") {\r\n url = `${coursesApiEndpoint}/courseuser`;\r\n }\r\n\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get All Courses Fetched Successfully\");\r\n dispatch(get_courseusers_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get All Courseusers Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Courseusers Failed\", \"error\"));\r\n }\r\n dispatch(get_courseusers_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const get_all_course_users =\r\n (activeOuid, activeOuidChain) => async (dispatch) => {\r\n dispatch(get_courseusers_requested());\r\n console.log(`get_course_users`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/courseuser?getAll=true`;\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get All Courseusers Fetched Successfully\");\r\n dispatch(get_courseusers_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get All Courseusers Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Courseusers Failed\", \"error\"));\r\n }\r\n dispatch(get_courseusers_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const get_my_subc_courses =\r\n (activeOuid, activeOuidChain) => async (dispatch) => {\r\n dispatch(get_courseusers_requested());\r\n console.log(`get_course_users`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/courseuser?myCourses=true`;\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get All Courseusers Fetched Successfully\");\r\n dispatch(get_courseusers_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get All Courseusers Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Courseusers Failed\", \"error\"));\r\n }\r\n dispatch(get_courseusers_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const get_course_user =\r\n (activeOuid, activeOuidChain, id) => async (dispatch) => {\r\n dispatch(get_courseuser_requested());\r\n console.log(`get_course`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/course/${id}`;\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get post Fetched Successfully\", response.data);\r\n dispatch(get_courseuser_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get Course Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Courses By Failed\", \"error\"));\r\n }\r\n dispatch(get_courseuser_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const get_courseuser_requested = () => ({\r\n type: GET_COURSEUSER_REQUESTED,\r\n});\r\n\r\nexport const get_courseuser_success = (payload) => ({\r\n type: GET_COURSEUSER_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_courseuser_errored = (error) => ({\r\n type: GET_COURSEUSER_ERRORED,\r\n error,\r\n});\r\n\r\nexport const delete_course_user =\r\n (activeOuid, activeOuidChain, id) => async (dispatch) => {\r\n console.log(\"subid\", id);\r\n dispatch(delete_courseuser_requested());\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const courseuserid = encodeURIComponent(id);\r\n console.log(\"courseuserid\", courseuserid);\r\n let url = `${coursesApiEndpoint}/courseuser/${courseuserid}`;\r\n console.log(\"url\", url);\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n if (activeOuidCoreConfigs.data) {\r\n if (activeOuidCoreConfigs.data.config.entityRules) {\r\n const entityRules = activeOuidCoreConfigs.data.config.entityRules;\r\n const enitityRule = entityRules.find(\r\n ({ entity }) => entity === \"courseuser\"\r\n );\r\n if (enitityRule) {\r\n const actionsData = enitityRule.publishToApiTopic.actions;\r\n if (actionsData.indexOf(\"D\") > -1) {\r\n url = `${coursesApiEndpoint}/courseuser/${id}?publishToApiTopic=true`;\r\n }\r\n }\r\n }\r\n }\r\n const method = \"delete\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"courseuser Deleted Successfully\");\r\n dispatch(delete_courseuser_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Delete courseuser Failed\");\r\n dispatch(showSnackbar(\"Delete courseuser Failed\", \"error\"));\r\n dispatch(delete_courseuser_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const delete_courseuser_requested = () => ({\r\n type: DELETE_COURSEUSER_REQUESTED,\r\n});\r\n\r\nexport const delete_courseuser_success = (payload) => ({\r\n type: DELETE_COURSEUSER_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const delete_courseuser_errored = (error) => ({\r\n type: DELETE_COURSEUSER_ERRORED,\r\n error,\r\n});\r\n","import {\r\n CREATE_EXAMUSER_REQUESTED,\r\n CREATE_EXAMUSER_SUCCESS,\r\n CREATE_EXAMUSER_ERRORED,\r\n GET_EXAMUSERS_REQUESTED,\r\n GET_EXAMUSERS_SUCCESS,\r\n GET_EXAMUSERS_ERRORED,\r\n DELETE_EXAMUSER_REQUESTED,\r\n DELETE_EXAMUSER_SUCCESS,\r\n DELETE_EXAMUSER_ERRORED,\r\n GET_EXAMUSER_ERRORED,\r\n GET_EXAMUSER_REQUESTED,\r\n GET_EXAMUSER_SUCCESS,\r\n} from \"../constant/action-types\";\r\nimport axios from \"axios\";\r\nimport { showSnackbar } from \"./action-snackbar\";\r\n\r\nimport configureStore from \"../store/configureStore\";\r\n\r\nconst store = configureStore();\r\n\r\nexport const create_examuser_requested = () => ({\r\n type: CREATE_EXAMUSER_REQUESTED,\r\n});\r\n\r\nexport const create_examuser_success = () => ({\r\n type: CREATE_EXAMUSER_SUCCESS,\r\n});\r\n\r\nexport const create_examuser_errored = (error) => ({\r\n type: CREATE_EXAMUSER_ERRORED,\r\n error,\r\n});\r\n\r\nexport const create_exam_user = (payload) => async (dispatch) => {\r\n console.log(`create_exam_user`);\r\n\r\n dispatch(create_examuser_requested());\r\n const path = window.location.pathname.split(\"/\");\r\n const activeOuid = path[1];\r\n const { activeOuidChain } = store.getState().permission;\r\n console.log(`create_exam_user`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n var url = `${coursesApiEndpoint}/examuser`;\r\n if (payload.bookInParent) {\r\n url = `${coursesApiEndpoint}/examuser`;\r\n }\r\n const method = \"post\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, payload, axiosHeader)\r\n .then((response) => {\r\n dispatch(showSnackbar(\"Examuser created Successfully\", \"success\"));\r\n dispatch(create_examuser_success());\r\n })\r\n .catch((err) => {\r\n console.log(\"Examuser creation Failed\");\r\n dispatch(showSnackbar(\"Examuser creation Failed\", \"error\"));\r\n dispatch(create_examuser_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const get_examusers_requested = () => ({\r\n type: GET_EXAMUSERS_REQUESTED,\r\n});\r\n\r\nexport const get_examusers_success = (payload) => ({\r\n type: GET_EXAMUSERS_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_examusers_errored = (error) => ({\r\n type: GET_EXAMUSERS_ERRORED,\r\n error,\r\n});\r\n\r\nexport const get_exam_users =\r\n (activeOuid, activeOuidChain, category, ouid) => async (dispatch) => {\r\n dispatch(get_examusers_requested());\r\n console.log(`get_exam_users`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/examuser`;\r\n if (!category === \"\") {\r\n url = `${coursesApiEndpoint}/examuser`;\r\n }\r\n\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"get_exam_users Fetched Successfully\");\r\n dispatch(get_examusers_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"get_exam_users Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Examusers Failed\", \"error\"));\r\n }\r\n dispatch(get_examusers_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const get_all_exam_users =\r\n (activeOuid, activeOuidChain) => async (dispatch) => {\r\n dispatch(get_examusers_requested());\r\n console.log(`get_exam_users`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/examuser?getAll=true`;\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get All Examusers Fetched Successfully\");\r\n dispatch(get_examusers_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get All Examusers Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Examusers Failed\", \"error\"));\r\n }\r\n dispatch(get_examusers_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const get_my_subc_exams =\r\n (activeOuid, activeOuidChain) => async (dispatch) => {\r\n dispatch(get_examusers_requested());\r\n console.log(`get_exam_users`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/examuser?myExams=true`;\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get All Examusers Fetched Successfully\");\r\n dispatch(get_examusers_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get All Examusers Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Examusers Failed\", \"error\"));\r\n }\r\n dispatch(get_examusers_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const get_exam_user =\r\n (activeOuid, activeOuidChain, id) => async (dispatch) => {\r\n dispatch(get_examuser_requested());\r\n console.log(`get_exam`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/exam/${id}`;\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get Fetched Successfully\", response.data);\r\n dispatch(get_examuser_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get Course Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Exams By Failed\", \"error\"));\r\n }\r\n dispatch(get_examuser_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const get_examuser_requested = () => ({\r\n type: GET_EXAMUSER_REQUESTED,\r\n});\r\n\r\nexport const get_examuser_success = (payload) => ({\r\n type: GET_EXAMUSER_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_examuser_errored = (error) => ({\r\n type: GET_EXAMUSER_ERRORED,\r\n error,\r\n});\r\n\r\nexport const delete_exam_user =\r\n (activeOuid, activeOuidChain, id) => async (dispatch) => {\r\n console.log(\"subid\", id);\r\n dispatch(delete_examuser_requested());\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const examuserid = encodeURIComponent(id);\r\n console.log(\"examuserid\", examuserid);\r\n let url = `${coursesApiEndpoint}/examuser/${examuserid}`;\r\n console.log(\"url\", url);\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n if (activeOuidCoreConfigs.data) {\r\n if (activeOuidCoreConfigs.data.config.entityRules) {\r\n const entityRules = activeOuidCoreConfigs.data.config.entityRules;\r\n const enitityRule = entityRules.find(\r\n ({ entity }) => entity === \"examuser\"\r\n );\r\n if (enitityRule) {\r\n const actionsData = enitityRule.publishToApiTopic.actions;\r\n if (actionsData.indexOf(\"D\") > -1) {\r\n url = `${coursesApiEndpoint}/examuser/${id}?publishToApiTopic=true`;\r\n }\r\n }\r\n }\r\n }\r\n const method = \"delete\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"examuser Deleted Successfully\");\r\n dispatch(delete_examuser_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Delete examuser Failed\");\r\n dispatch(showSnackbar(\"Delete examuser Failed\", \"error\"));\r\n dispatch(delete_examuser_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const delete_examuser_requested = () => ({\r\n type: DELETE_EXAMUSER_REQUESTED,\r\n});\r\n\r\nexport const delete_examuser_success = (payload) => ({\r\n type: DELETE_EXAMUSER_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const delete_examuser_errored = (error) => ({\r\n type: DELETE_EXAMUSER_ERRORED,\r\n error,\r\n});\r\n","import {\r\n CREATE_EXAM_REQUESTED,\r\n CREATE_EXAM_SUCCESS,\r\n CREATE_EXAM_ERRORED,\r\n UPDATE_EXAM_REQUESTED,\r\n UPDATE_EXAM_SUCCESS,\r\n UPDATE_EXAM_ERRORED,\r\n GET_EXAMS_REQUESTED,\r\n GET_EXAMS_SUCCESS,\r\n GET_EXAMS_ERRORED,\r\n GET_EXAM_REQUESTED,\r\n GET_EXAM_SUCCESS,\r\n GET_EXAM_ERRORED,\r\n DELETE_EXAM_REQUESTED,\r\n DELETE_EXAM_SUCCESS,\r\n DELETE_EXAM_ERRORED,\r\n CREATE_OR_UPDATE_EXAMLINE_REQUESTED,\r\n CREATE_OR_UPDATE_EXAMLINE_SUCCESS,\r\n CREATE_OR_UPDATE_EXAMLINE_ERRORED,\r\n GET_EXAMLINES_REQUESTED,\r\n GET_EXAMLINES_SUCCESS,\r\n GET_EXAMLINES_ERRORED,\r\n} from \"../constant/action-types\";\r\nimport axios from \"axios\";\r\nimport { showSnackbar } from \"./action-snackbar\";\r\n\r\nimport configureStore from \"../store/configureStore\";\r\n\r\nconst store = configureStore();\r\n\r\nexport const create_exam_requested = () => ({\r\n type: CREATE_EXAM_REQUESTED,\r\n});\r\n\r\nexport const create_exam_success = () => ({\r\n type: CREATE_EXAM_SUCCESS,\r\n});\r\n\r\nexport const create_exam_errored = (error) => ({\r\n type: CREATE_EXAM_ERRORED,\r\n error,\r\n});\r\n\r\nexport const update_exam_requested = () => ({\r\n type: UPDATE_EXAM_REQUESTED,\r\n});\r\n\r\nexport const update_exam_success = () => ({\r\n type: UPDATE_EXAM_SUCCESS,\r\n});\r\n\r\nexport const update_exam_errored = (error) => ({\r\n type: UPDATE_EXAM_ERRORED,\r\n error,\r\n});\r\n\r\nexport const create_exam = (payload) => async (dispatch) => {\r\n console.log(`create_course`);\r\n\r\n dispatch(create_exam_requested());\r\n const path = window.location.pathname.split(\"/\");\r\n const activeOuid = path[1];\r\n const { activeOuidChain } = store.getState().permission;\r\n console.log(`create_course`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n var url = `${coursesApiEndpoint}/exam`;\r\n if (payload.bookInParent) {\r\n url = `${coursesApiEndpoint}/exam`;\r\n }\r\n const method = \"post\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, payload, axiosHeader)\r\n .then((response) => {\r\n dispatch(showSnackbar(\"Exam created Successfully\", \"success\"));\r\n dispatch(create_exam_success());\r\n })\r\n .catch((err) => {\r\n console.log(\"Exam creation Failed\");\r\n dispatch(showSnackbar(\"Exam creation Failed\", \"error\"));\r\n dispatch(create_exam_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const update_exam = (id, payload, activeOuid) => async (dispatch) => {\r\n dispatch(update_exam_requested());\r\n\r\n const { activeOuidChain } = store.getState().permission;\r\n console.log(`update_exam `);\r\n\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n var url = `${coursesApiEndpoint}/exam/${id}`;\r\n const method = \"put\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, payload, axiosHeader)\r\n .then((response) => {\r\n dispatch(showSnackbar(\"Exam updated Successfully\", \"success\"));\r\n dispatch(update_exam_success());\r\n })\r\n .catch((err) => {\r\n console.log(\"Exam update Failed\");\r\n dispatch(showSnackbar(\"Exam update Failed\", \"error\"));\r\n dispatch(update_exam_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const get_exams_requested = () => ({\r\n type: GET_EXAMS_REQUESTED,\r\n});\r\n\r\nexport const get_exams_success = (payload) => ({\r\n type: GET_EXAMS_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_exams_errored = (error) => ({\r\n type: GET_EXAMS_ERRORED,\r\n error,\r\n});\r\n\r\nexport const get_exams =\r\n (activeOuid, activeOuidChain, category, ouid) => async (dispatch) => {\r\n dispatch(get_exams_requested());\r\n console.log(`get_exams`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/exam`;\r\n if (!category === \"\") {\r\n url = `${coursesApiEndpoint}/exam?category=${category}`;\r\n }\r\n\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get All Courses Fetched Successfully\");\r\n dispatch(get_exams_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get All Courses Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Courses Failed\", \"error\"));\r\n }\r\n dispatch(get_exams_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const get_exams_public =\r\n (activeOuid, activeOuidChain, category, ouid) => async (dispatch) => {\r\n dispatch(get_exams_requested());\r\n console.log(`get_exams_public`);\r\n const { coursesApiEndpoint } = store.getState().jwt.api;\r\n if (coursesApiEndpoint) {\r\n let url = `${coursesApiEndpoint}/exam-public?ouid=${ouid}&type=default`;\r\n if (!category === \"\") {\r\n url = `${coursesApiEndpoint}/exam-public?ouid=${ouid}&type=default&category=${category}`;\r\n }\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get All Courses Public Fetched Successfully\");\r\n dispatch(get_exams_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get All Courses Public Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Courses Public Failed\", \"error\"));\r\n }\r\n dispatch(get_exams_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const get_exam =\r\n (activeOuid, activeOuidChain, id) => async (dispatch) => {\r\n dispatch(get_exam_requested());\r\n console.log(`get_exam `);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/exam/${id}`;\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get post Fetched Successfully\", response.data);\r\n dispatch(get_exam_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get Exam Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Courses By Failed\", \"error\"));\r\n }\r\n dispatch(get_exam_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const get_exam_public = (activeOuid, id) => async (dispatch) => {\r\n dispatch(get_exam_requested());\r\n console.log(`get_exam_public`);\r\n const { coursesApiEndpoint } = store.getState().jwt.api;\r\n if (coursesApiEndpoint) {\r\n let url = `${coursesApiEndpoint}/exam-public/${id}`;\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n \"x-ouid\": activeOuid,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get Coruse Public fetched Successfully\", response.data);\r\n dispatch(get_exam_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get Exam Public Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Courses Public Failed\", \"error\"));\r\n }\r\n dispatch(get_exam_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const get_exam_requested = () => ({\r\n type: GET_EXAM_REQUESTED,\r\n});\r\n\r\nexport const get_exam_success = (payload) => ({\r\n type: GET_EXAM_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_exam_errored = (error) => ({\r\n type: GET_EXAM_ERRORED,\r\n error,\r\n});\r\n\r\nexport const delete_exam =\r\n (activeOuid, activeOuidChain, id) => async (dispatch) => {\r\n dispatch(delete_exam_requested());\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/exam/${id}`;\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n if (activeOuidCoreConfigs.data) {\r\n if (activeOuidCoreConfigs.data.config.entityRules) {\r\n const entityRules = activeOuidCoreConfigs.data.config.entityRules;\r\n const enitityRule = entityRules.find(\r\n ({ entity }) => entity === \"course\"\r\n );\r\n if (enitityRule) {\r\n const actionsData = enitityRule.publishToApiTopic.actions;\r\n if (actionsData.indexOf(\"D\") > -1) {\r\n url = `${coursesApiEndpoint}/exam/${id}?publishToApiTopic=true`;\r\n }\r\n }\r\n }\r\n }\r\n const method = \"delete\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Exam Deleted Successfully\");\r\n dispatch(delete_exam_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Delete Exam Failed\");\r\n dispatch(showSnackbar(\"Delete Exam Failed\", \"error\"));\r\n dispatch(delete_exam_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const delete_exam_requested = () => ({\r\n type: DELETE_EXAM_REQUESTED,\r\n});\r\n\r\nexport const delete_exam_success = (payload) => ({\r\n type: DELETE_EXAM_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const delete_exam_errored = (error) => ({\r\n type: DELETE_EXAM_ERRORED,\r\n error,\r\n});\r\n\r\nexport const create_update_examline_requested = () => ({\r\n type: CREATE_OR_UPDATE_EXAMLINE_REQUESTED,\r\n});\r\n\r\nexport const create_update_examline_success = () => ({\r\n type: CREATE_OR_UPDATE_EXAMLINE_SUCCESS,\r\n});\r\n\r\nexport const create_update_examline_errored = (error) => ({\r\n type: CREATE_OR_UPDATE_EXAMLINE_ERRORED,\r\n error,\r\n});\r\n\r\nexport const create_update_examline =\r\n (examlineId, ouid, payload, type) => async (dispatch) => {\r\n dispatch(create_update_examline_requested());\r\n console.log(`create_update_examline`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url;\r\n // console.log(`jwt : ${jwt}`);\r\n let method = \"post\";\r\n let axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": ouid,\r\n },\r\n };\r\n if (examlineId) {\r\n method = \"put\";\r\n url = `${coursesApiEndpoint}/examline/${examlineId}`;\r\n } else {\r\n url = `${coursesApiEndpoint}/examline`;\r\n }\r\n // console.log(`url : ${url}`);\r\n return axios[method](url, payload, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Examline Create or Upadate Success\");\r\n dispatch(\r\n showSnackbar(\"Examline Create or Upadate Successfully\", \"success\")\r\n );\r\n dispatch(create_update_examline_success(response.data));\r\n dispatch(get_exams());\r\n return response.data.identifier;\r\n })\r\n .catch((err) => {\r\n console.log(\"Examline Create or Upadate Failed\");\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n dispatch(showSnackbar(\"Examline Create or Upadate Failed\", \"error\"));\r\n dispatch(create_update_examline_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const get_examlines_requested = () => ({\r\n type: GET_EXAMLINES_REQUESTED,\r\n});\r\n\r\nexport const get_examlines_success = (payload) => ({\r\n type: GET_EXAMLINES_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_examlines_errored = (error) => ({\r\n type: GET_EXAMLINES_ERRORED,\r\n error,\r\n});\r\n\r\nexport const get_examlines = (activeOuid, examid) => async (dispatch) => {\r\n dispatch(get_examlines_requested());\r\n console.log(`get_examlines`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/examline?examId=${examid}`;\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get All Examline Success\");\r\n dispatch(get_examlines_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get All courseline Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Examline Failed\", \"error\"));\r\n }\r\n dispatch(get_examlines_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const delete_exam_line =\r\n (activeOuid, activeOuidChain, id) => async (dispatch) => {\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/examline/${id}`;\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n const method = \"delete\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Exam Line Deleted Successfully\");\r\n //dispatch(delete_exam_success(response.data));\r\n dispatch(showSnackbar(\"Chapter deleted Successfully\", \"success\"));\r\n })\r\n .catch((err) => {\r\n console.log(\"Delete Exam Line Failed\");\r\n dispatch(showSnackbar(\"Delete Exam Failed\", \"error\"));\r\n // dispatch(delete_exam_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n","import React from \"react\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport DeleteIcon from \"@material-ui/icons/Delete\";\r\nimport CommonConfirm from \"./CommonConfirm\";\r\nimport configureStore from \"../../store/configureStore\";\r\nimport { delete_Orgunit } from \"../../actions/action-orgunit\";\r\nimport { delete_course, delete_course_line } from \"../../actions/action-course\";\r\nimport { delete_delete_user_profile } from \"../../actions/action-userProfiles\";\r\nimport { history } from \"../../reducers\";\r\nimport { delete_course_user } from \"../../actions/action-courseuser\";\r\nimport { delete_exam_user } from \"../../actions/action-examuser\";\r\nimport { delete_exam } from \"../../actions/action-exam\";\r\n\r\nconst store = configureStore();\r\n\r\nexport default function CommonDelete(props) {\r\n console.log(\"common delete props\", props);\r\n\r\n const { id, type } = props;\r\n const [open, setOpen] = React.useState(false);\r\n const Icontooltip = withStyles({\r\n tooltip: {\r\n fontSize: 12,\r\n },\r\n })(Tooltip);\r\n const deleteItem = (id) => {\r\n console.log(\"deleteItem id\", id);\r\n setOpen(true);\r\n };\r\n\r\n const deleteConfirmFunc = async (confirmation, props) => {\r\n console.log(\"deleteConfirmFunc : \", props);\r\n //props.rerender();\r\n //console.log('rerender : ', props.rerender);\r\n\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n setOpen(false);\r\n if (confirmation) {\r\n switch (type) {\r\n case \"Orgunit\":\r\n console.log(\"delete Orgunit\");\r\n await store.dispatch(delete_Orgunit(id));\r\n history.push(`/${activeOuid}/orgunits`);\r\n return;\r\n case \"userProfile\":\r\n console.log(\"delete userProfile\");\r\n await store.dispatch(delete_delete_user_profile(id));\r\n history.push(`/${activeOuid}/users`);\r\n return;\r\n case \"Course\":\r\n console.log(\"delete course\");\r\n await store.dispatch(delete_course(activeOuid, activeOuidChain, id));\r\n history.push(`/${activeOuid}/course-dash`);\r\n return;\r\n case \"CourseLine\":\r\n console.log(\"delete courseline\");\r\n await store.dispatch(\r\n delete_course_line(activeOuid, activeOuidChain, id)\r\n );\r\n return;\r\n case \"CourseSub\":\r\n console.log(\"delete coursesub\");\r\n await store.dispatch(\r\n delete_course_user(activeOuid, activeOuidChain, id)\r\n );\r\n history.push(`/${activeOuid}/sub-dash`);\r\n return;\r\n case \"ExamSub\":\r\n console.log(\"delete examsub\");\r\n await store.dispatch(\r\n delete_exam_user(activeOuid, activeOuidChain, id)\r\n );\r\n history.push(`/${activeOuid}/exam-subscription-dash`);\r\n //window.location.reload();\r\n return;\r\n case \"Exam\":\r\n console.log(\"delete exam\");\r\n await store.dispatch(delete_exam(activeOuid, activeOuidChain, id));\r\n history.push(`/${activeOuid}/exam-dash`);\r\n return;\r\n default:\r\n return;\r\n }\r\n }\r\n //props.rerender();\r\n };\r\n\r\n return (\r\n
\r\n \r\n {\r\n deleteItem(id);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n deleteConfirmFunc(confirmation, props)\r\n }\r\n />\r\n
\r\n );\r\n}\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport configureStore from '../../../store/configureStore';\r\nimport { get_orgunit_details } from '../../../actions/action-orgunit';\r\nimport Loader from '../../common/Loader';\r\nimport { history } from '../../../reducers';\r\nimport SidebarWrapper from '../../layout/SidebarWrapper';\r\nimport CommonDelete from '../../common/CommonDelete';\r\nimport { timeFormat } from '../../common/CommonFunctions'\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { hideSnackbar } from '../../../actions/action-snackbar';\r\nimport { Paper } from '@material-ui/core';\r\n\r\n\r\nconst store = configureStore();\r\n\r\nclass OrgunitDetails extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n OrgunitDetails: {},\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return\r\n }\r\n this.fetchDetails();\r\n }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n componentWillUnmount() {\r\n // store.dispatch(hideSnackbar());\r\n }\r\n\r\n async fetchDetails() {\r\n const path = window.location.pathname.split('/');\r\n const id = path[path.length - 1];\r\n const { get_orgunit_details } = this.props;\r\n await get_orgunit_details(id);\r\n const { OrgunitDetails } = store.getState().orgunit;\r\n this.setState({\r\n OrgunitDetails: OrgunitDetails,\r\n });\r\n }\r\n\r\n renderDetails(details) {\r\n return Object.keys(details).map(function (keyName, keyIndex) {\r\n return (\r\n
\r\n
\r\n {keyName} :\r\n
\r\n {keyName === 'lastModifiedDate' || keyName === 'createdDate' ?\r\n
\r\n {timeFormat(details[keyName])}\r\n
\r\n :\r\n
\r\n {details[keyName]}\r\n
\r\n }\r\n
\r\n )\r\n });\r\n }\r\n\r\n render() {\r\n const { showGlobalLoader } = store.getState().orgunit;\r\n const { permissions } = store.getState().permission;\r\n const path = window.location.pathname.split('/');\r\n const id = path[path.length - 1];\r\n return (\r\n
\r\n \r\n
\r\n {showGlobalLoader ?\r\n \r\n :
\r\n \r\n
\r\n

Orgunit Details

\r\n {this.state.OrgunitDetails.markedForDeletion ?\r\n
Orgunit Already Requested For Deletion
\r\n :\r\n \r\n }\r\n
\r\n {this.state.OrgunitDetails.data ? this.renderDetails(this.state.OrgunitDetails.data) : 'No Orgunit details Found'}\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 orgunit: state.orgunit,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_orgunit_details: (id) => dispatch(get_orgunit_details(id)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(OrgunitDetails);\r\n\r\n","import React from 'react';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport Card from '@material-ui/core/Card';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport CardActions from '@material-ui/core/CardActions';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport VisibilityIcon from '@material-ui/icons/Visibility';\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n minWidth: 275,\r\n maxWidth: 275,\r\n marginRight: 15,\r\n marginBottom: 15,\r\n padding: 10,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n justifyContent: 'space-between',\r\n position: 'relative',\r\n backgroundColor: '#ffffff',\r\n boxShadow: 'rgb(9 30 66 / 25%) 0px 1px 1px, rgb(9 30 66 / 13%) 0px 0px 1px 1px',\r\n borderRadius: '3px',\r\n '&:hover': {\r\n boxShadow: 'rgb(9 30 66 / 25%) 0px 8px 16px -4px, rgb(9 30 66 / 31%) 0px 0px 1px',\r\n transition: 'box-shadow 0.2s ease 0s',\r\n },\r\n },\r\n\r\n avatar: {\r\n backgroundColor: '#dc281e',\r\n },\r\n title: {\r\n fontSize: 14,\r\n },\r\n pos: {\r\n marginBottom: 12,\r\n },\r\n CardActions: {\r\n padding: 0,\r\n },\r\n});\r\n\r\nexport default function UserCard(props) {\r\n const { user } = props;\r\n const classes = useStyles();\r\n const Icontooltip = withStyles({\r\n tooltip: {\r\n fontSize: 12,\r\n },\r\n })(Tooltip);\r\n const data = user.data;\r\n return (\r\n \r\n {data && (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
First Name:
\r\n
{data.name}
\r\n
\r\n
\r\n
Email:
\r\n
{data.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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n );\r\n}\r\n","import {\r\n GET_ALL_ORGUSER_REQUESTED,\r\n GET_ALL_ORGUSER_SUCCESS,\r\n GET_ALL_ORGUSER_ERRORED,\r\n GET_ORG_USER_DETAILS_REQUESTED,\r\n GET_ORG_USER_DETAILS_SUCCESS,\r\n GET_ORG_USER_DETAILS_ERRORED,\r\n UPDATE_ORG_USER_REQUESTED,\r\n UPDATE_ORG_USER_SUCCESS,\r\n UPDATE_ORG_USER_ERRORED,\r\n CREATE_ORG_USER_REQUESTED,\r\n CREATE_ORG_USER_SUCCESS,\r\n CREATE_ORG_USER_ERRORED,\r\n} from \"../constant/action-types\";\r\nimport axios from \"axios\";\r\nimport { showSnackbar } from \"./action-snackbar\";\r\n\r\nimport configureStore from \"../store/configureStore\";\r\n\r\nconst store = configureStore();\r\n\r\nexport const get_all_orguesr_requested = () => ({\r\n type: GET_ALL_ORGUSER_REQUESTED,\r\n});\r\n\r\nexport const get_all_orguesr_success = (payload) => ({\r\n type: GET_ALL_ORGUSER_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_all_orguesr_errored = (error) => ({\r\n type: GET_ALL_ORGUSER_ERRORED,\r\n error,\r\n});\r\n\r\nexport const get_all_orguesr = (ouid) => async (dispatch) => {\r\n console.log(`get_all_orguesr`, ouid);\r\n\r\n dispatch(get_all_orguesr_requested());\r\n console.log(`get_all_orguesr`);\r\n const { apiEndpoint, credentials } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url;\r\n // console.log(`jwt : ${jwt}`);\r\n const method = \"get\";\r\n let axiosHeader = {};\r\n if (ouid) {\r\n url = `${apiEndpoint}/orguser`;\r\n axiosHeader[\"headers\"] = {\r\n Authorization: jwt,\r\n \"x-ouid\": ouid,\r\n };\r\n } else {\r\n url = `${apiEndpoint}/orguser`;\r\n axiosHeader[\"headers\"] = {\r\n Authorization: jwt,\r\n };\r\n }\r\n // console.log(`url : ${url}`);\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"get all Orguesr Has success\");\r\n dispatch(get_all_orguesr_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"get all Orguesr Has Errored\");\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n dispatch(get_all_orguesr_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const get_org_user_details_requested = () => ({\r\n type: GET_ORG_USER_DETAILS_REQUESTED,\r\n});\r\n\r\nexport const get_org_user_details_success = (payload) => ({\r\n type: GET_ORG_USER_DETAILS_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_org_user_details_errored = (error) => ({\r\n type: GET_ORG_USER_DETAILS_ERRORED,\r\n error,\r\n});\r\n\r\nexport const get_org_user_details = (username, ouid) => async (dispatch) => {\r\n dispatch(get_org_user_details_requested());\r\n console.log(`get_org_user_details`);\r\n const { apiEndpoint, credentials } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url;\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = \"get\";\r\n let axiosHeader = {};\r\n if (ouid) {\r\n url = `${apiEndpoint}/orguser/${username}`;\r\n axiosHeader[\"headers\"] = {\r\n Authorization: jwt,\r\n \"x-ouid\": ouid,\r\n };\r\n } else {\r\n url = `${apiEndpoint}/orguser/${username}`;\r\n axiosHeader[\"headers\"] = {\r\n Authorization: jwt,\r\n };\r\n }\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"get org user details success\");\r\n dispatch(get_org_user_details_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"get org user details Errored\");\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n dispatch(get_org_user_details_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const update_org_user_profile_requested = () => ({\r\n type: UPDATE_ORG_USER_REQUESTED,\r\n});\r\n\r\nexport const update_org_user_profile_success = () => ({\r\n type: UPDATE_ORG_USER_SUCCESS,\r\n});\r\n\r\nexport const update_org_user_profile_errored = (error) => ({\r\n type: UPDATE_ORG_USER_ERRORED,\r\n error,\r\n});\r\n\r\nexport const update_org_user_profile =\r\n (payload, username, ouid) => async (dispatch) => {\r\n dispatch(update_org_user_profile_requested());\r\n console.log(`update_org_user_profile`);\r\n const { apiEndpoint, credentials } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const url = `${apiEndpoint}/orguser/${username}`;\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = \"put\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": ouid,\r\n },\r\n };\r\n return axios[method](url, payload, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Create User Profile Has success\");\r\n dispatch(showSnackbar(\"User Updated Successfully\", \"success\"));\r\n dispatch(update_org_user_profile_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Create User Profile Has Errored\");\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n dispatch(showSnackbar(\"User Upadation Failed\", \"error\"));\r\n dispatch(update_org_user_profile_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const create_org_user_requested = () => ({\r\n type: CREATE_ORG_USER_REQUESTED,\r\n});\r\n\r\nexport const create_org_user_success = () => ({\r\n type: CREATE_ORG_USER_SUCCESS,\r\n});\r\n\r\nexport const create_org_user_errored = (error) => ({\r\n type: CREATE_ORG_USER_ERRORED,\r\n error,\r\n});\r\n\r\nexport const create_org_user = (payload, ouid) => async (dispatch) => {\r\n dispatch(create_org_user_requested());\r\n console.log(`create_org_user`);\r\n const { apiEndpoint, credentials } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const url = `${apiEndpoint}/orguser`;\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = \"post\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": ouid,\r\n },\r\n };\r\n return axios[method](url, payload, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Create Org User Has success\");\r\n dispatch(showSnackbar(\"Org User created Successfully\", \"success\"));\r\n dispatch(create_org_user_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Create Org User Has Errored\");\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n dispatch(showSnackbar(\"Org User Creation Failed\", \"error\"));\r\n dispatch(create_org_user_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport UserCard from '../../common/UserCard';\r\nimport { get_all_orguesr } from '../../../actions/action-orguser';\r\nimport configureStore from '../../../store/configureStore';\r\nimport SearchField from '../../common/SearchField';\r\nimport Loader from '../../common/Loader';\r\nimport Button from '@material-ui/core/Button';\r\nimport { history } from '../../../reducers';\r\nimport SidebarWrapper from '../../layout/SidebarWrapper';\r\nimport Table from '@material-ui/core/Table';\r\nimport TableBody from '@material-ui/core/TableBody';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableContainer from '@material-ui/core/TableContainer';\r\nimport TableHead from '@material-ui/core/TableHead';\r\nimport TableRow from '@material-ui/core/TableRow';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport { setActiveOuid } from \"../../../actions/action-permissions\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\n\r\n\r\nconst store = configureStore();\r\n\r\nclass OrgUsers extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n usersToShow: '',\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return\r\n }\r\n this.fetchDetails();\r\n }\r\n // componentWillUnmount() {\r\n // console.log(\"componentWillUnmount\");\r\n // this.unregisterHistoryListener()\r\n // }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n\r\n async fetchDetails() {\r\n const { get_all_orguesr } = this.props;\r\n const { activeOuid } = store.getState().permission;\r\n await get_all_orguesr(activeOuid);\r\n const { orgUserProfiles } = store.getState().orgUserProfile;\r\n this.setState({\r\n usersToShow: orgUserProfiles,\r\n });\r\n }\r\n\r\n async fetchDetailsBasedOnUrl() {\r\n console.log(\"fetchDetailsBasedOnUrl\");\r\n const { activeOuid } = store.getState().permission;\r\n const path = window.location.pathname.split('/');\r\n const urlOuid = path[path.length - 2];\r\n const { get_all_orguesr } = this.props;\r\n if (urlOuid !== activeOuid) {\r\n await get_all_orguesr(urlOuid);\r\n const { orgUserProfiles } = store.getState().orgUserProfile;\r\n this.setState({\r\n usersToShow: orgUserProfiles,\r\n }, () => {\r\n store.dispatch(setActiveOuid(urlOuid));\r\n });\r\n }\r\n }\r\n\r\n renderUsers(users, activeOuid) {\r\n console.log(\"Users : \", JSON.stringify(users));\r\n return (\r\n users.map((row) => (\r\n \r\n \r\n \r\n \r\n {row.data.username}\r\n {row.data.email}\r\n {row.data.phone_number}\r\n {row.data.roles}\r\n \r\n \r\n \r\n\r\n \r\n ))\r\n );\r\n }\r\n\r\n search(keyword, users) {\r\n if (keyword) {\r\n const searchPattern = new RegExp(keyword.map((term) => `(?=.*${term})`).join(''), 'i');\r\n if (users) {\r\n this.setState({\r\n usersToShow: users.filter((user) => user.data.name.match(searchPattern)),\r\n });\r\n }\r\n } else {\r\n this.setState({\r\n usersToShow: users,\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const { orgUserProfiles, showGlobalLoader } = store.getState().orgUserProfile;\r\n const { activeOuid, permissions } = store.getState().permission;\r\n return (\r\n
\r\n \r\n
\r\n\r\n {showGlobalLoader ?\r\n \r\n :
\r\n
\r\n

USERS

\r\n this.search(e.target.value.split(' '), orgUserProfiles)} />\r\n \r\n
\r\n {this.state.usersToShow &&\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Name\r\n Username\r\n Email\r\n Mobile\r\n Roles\r\n \r\n \r\n \r\n \r\n {(this.state.usersToShow.length !== 0) ? this.renderUsers(this.state.usersToShow, activeOuid) : 'No Users Found'}\r\n \r\n
\r\n
\r\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 orgUserProfile: state.orgUserProfile,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_all_orguesr: (activeOuid) => dispatch(get_all_orguesr(activeOuid)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(OrgUsers);\r\n","import {\r\n CREATE_APP_USER_REQUESTED,\r\n CREATE_APP_USER_SUCCESS,\r\n CREATE_APP_USER_ERRORED,\r\n GET_APP_USER_DETAILS_REQUESTED,\r\n GET_APP_USER_DETAILS_SUCCESS,\r\n GET_APP_USER_DETAILS_ERRORED,\r\n GET_ALL_APP_USER_REQUESTED,\r\n GET_ALL_APP_USER_SUCCESS,\r\n GET_ALL_APP_USER_ERRORED,\r\n DELETE_APP_USER_REQUESTED,\r\n DELETE_APP_USER_SUCCESS,\r\n DELETE_APP_USER_ERRORED,\r\n} from '../constant/action-types';\r\nimport axios from 'axios';\r\nimport { showSnackbar } from './action-snackbar';\r\n\r\nimport configureStore from '../store/configureStore';\r\n\r\nconst store = configureStore();\r\n\r\n\r\nexport const create_app_user_requested = () => ({\r\n type: CREATE_APP_USER_REQUESTED,\r\n});\r\n\r\nexport const create_app_user_success = () => ({\r\n type: CREATE_APP_USER_SUCCESS,\r\n});\r\n\r\nexport const create_app_user_errored = (error) => ({\r\n type: CREATE_APP_USER_ERRORED,\r\n error,\r\n});\r\n\r\n\r\nexport const create_app_user = (payload, ouid, appId) => async (dispatch) => {\r\n dispatch(create_app_user_requested());\r\n console.log(`create_app_user`);\r\n payload['appId'] = appId;\r\n payload['ouid'] = ouid;\r\n const {\r\n apiEndpoint,\r\n credentials,\r\n } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const url = `${apiEndpoint}/appuser`;\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = 'post';\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n 'x-ouid': ouid\r\n },\r\n };\r\n return axios[method](\r\n url,\r\n payload,\r\n axiosHeader,\r\n )\r\n .then((response) => {\r\n // console.log(\"response : \",JSON.stringify(response));\r\n dispatch(showSnackbar('App User created Successfully', 'success'));\r\n dispatch(create_app_user_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log('Create App User Has Errored');\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n dispatch(showSnackbar('App User Creation Failed', 'error'));\r\n dispatch(create_app_user_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\n\r\n\r\nexport const get_all_app_user_requested = () => ({\r\n type: GET_ALL_APP_USER_REQUESTED,\r\n});\r\n\r\nexport const get_all_app_user_details_success = (payload) => ({\r\n type: GET_ALL_APP_USER_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_all_app_user_details_errored = (error) => ({\r\n type: GET_ALL_APP_USER_ERRORED,\r\n error,\r\n});\r\n\r\n\r\nexport const get_all_app_user = (username, ouid) => async (dispatch) => {\r\n dispatch(get_all_app_user_requested());\r\n console.log(`get_all_app_user`);\r\n const {\r\n apiEndpoint,\r\n credentials,\r\n } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = 'get';\r\n let axiosHeader = {};\r\n let url = `${apiEndpoint}/appuser/${username}`;\r\n axiosHeader['headers'] = {\r\n Authorization: jwt,\r\n 'x-ouid': ouid\r\n };\r\n return axios[method](\r\n url,\r\n axiosHeader,\r\n )\r\n .then((response) => {\r\n console.log(\"get app user details success\");\r\n dispatch(get_all_app_user_details_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log('get app user details Errored');\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n dispatch(get_all_app_user_details_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\n\r\nexport const get_app_user_details_requested = () => ({\r\n type: GET_APP_USER_DETAILS_REQUESTED,\r\n});\r\n\r\nexport const get_app_user_details_success = (payload) => ({\r\n type: GET_APP_USER_DETAILS_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_app_user_details_errored = (error) => ({\r\n type: GET_APP_USER_DETAILS_ERRORED,\r\n error,\r\n});\r\n\r\n\r\nexport const get_app_user_details = (username, ouid) => async (dispatch) => {\r\n dispatch(get_app_user_details_requested());\r\n console.log(`get_app_user_details`);\r\n const {\r\n apiEndpoint,\r\n credentials,\r\n } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = 'get';\r\n let axiosHeader = {};\r\n let url = `${apiEndpoint}/appuser/${username}`;\r\n axiosHeader['headers'] = {\r\n Authorization: jwt,\r\n 'x-ouid': ouid\r\n };\r\n return axios[method](\r\n url,\r\n axiosHeader,\r\n )\r\n .then((response) => {\r\n console.log(\"get app user details success\");\r\n dispatch(get_app_user_details_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log('get app user details Errored');\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n dispatch(get_app_user_details_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\n\r\nexport const delete_app_user_requested = () => ({\r\n type: DELETE_APP_USER_REQUESTED,\r\n});\r\n\r\nexport const delete_app_user_success = (payload) => ({\r\n type: DELETE_APP_USER_SUCCESS,\r\n});\r\n\r\nexport const delete_app_user_errored = (error) => ({\r\n type: DELETE_APP_USER_ERRORED,\r\n error,\r\n});\r\n\r\n\r\n\r\nexport const delete_app_user = (username, ouid, appId) => async (dispatch) => {\r\n dispatch(delete_app_user_requested());\r\n console.log(`delete_app_user`);\r\n const {\r\n apiEndpoint,\r\n credentials,\r\n } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = 'delete';\r\n let axiosHeader = {};\r\n let url = `${apiEndpoint}/appuser/${username}`;\r\n axiosHeader['headers'] = {\r\n Authorization: jwt,\r\n 'x-ouid': ouid,\r\n 'x-appid' : appId\r\n };\r\n return axios[method](\r\n url,\r\n axiosHeader,\r\n )\r\n .then((response) => {\r\n console.log(\"delele app user details sucess : \");\r\n dispatch(delete_app_user_success());\r\n })\r\n .catch((err) => {\r\n console.log('delele app user details Errored');\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n dispatch(delete_app_user_errored(err));\r\n });\r\n }\r\n return null;\r\n};","import React from 'react';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport Card from '@material-ui/core/Card';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport CardActions from '@material-ui/core/CardActions';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n minWidth: 275,\r\n maxWidth: 275,\r\n marginRight: 15,\r\n marginBottom: 15,\r\n padding: 10,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n justifyContent: 'space-between',\r\n position: 'relative',\r\n backgroundColor: '#ffffff',\r\n boxShadow: 'rgb(9 30 66 / 25%) 0px 1px 1px, rgb(9 30 66 / 13%) 0px 0px 1px 1px',\r\n borderRadius: '3px',\r\n '&:hover': {\r\n boxShadow: 'rgb(9 30 66 / 25%) 0px 8px 16px -4px, rgb(9 30 66 / 31%) 0px 0px 1px',\r\n transition: 'box-shadow 0.2s ease 0s',\r\n },\r\n },\r\n\r\n avatar: {\r\n backgroundColor: '#dc281e',\r\n },\r\n title: {\r\n fontSize: 14,\r\n },\r\n pos: {\r\n marginBottom: 12,\r\n },\r\n CardActions: {\r\n padding: 0,\r\n },\r\n});\r\n\r\nexport default function PolicyCard(props) {\r\n const { policy, index, deletePolicy, editable } = props;\r\n const policyDetails = policy.split('=');\r\n const classes = useStyles();\r\n const Icontooltip = withStyles({\r\n tooltip: {\r\n fontSize: 12,\r\n },\r\n })(Tooltip);\r\n return (\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{policyDetails[0]}
\r\n
{policyDetails[1]}
\r\n
\r\n
\r\n {editable &&\r\n \r\n \r\n { deletePolicy(index) }}>\r\n \r\n \r\n \r\n \r\n }\r\n
\r\n );\r\n}\r\n","import React from 'react';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport Card from '@material-ui/core/Card';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport CardActions from '@material-ui/core/CardActions';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n minWidth: 275,\r\n maxWidth: 275,\r\n marginRight: 15,\r\n marginBottom: 15,\r\n padding: 10,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n justifyContent: 'space-between',\r\n position: 'relative',\r\n backgroundColor: '#ffffff',\r\n boxShadow: 'rgb(9 30 66 / 25%) 0px 1px 1px, rgb(9 30 66 / 13%) 0px 0px 1px 1px',\r\n borderRadius: '3px',\r\n '&:hover': {\r\n boxShadow: 'rgb(9 30 66 / 25%) 0px 8px 16px -4px, rgb(9 30 66 / 31%) 0px 0px 1px',\r\n transition: 'box-shadow 0.2s ease 0s',\r\n },\r\n },\r\n\r\n avatar: {\r\n backgroundColor: '#dc281e',\r\n },\r\n title: {\r\n fontSize: 14,\r\n },\r\n pos: {\r\n marginBottom: 12,\r\n },\r\n CardActions: {\r\n padding: 0,\r\n },\r\n});\r\n\r\nexport default function AppPolicyCard(props) {\r\n const { context, policy, index, deletePolicy, editable } = props;\r\n const classes = useStyles();\r\n const Icontooltip = withStyles({\r\n tooltip: {\r\n fontSize: 12,\r\n },\r\n })(Tooltip);\r\n return (\r\n context === \"createPage\" ?\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{policy.appId}
\r\n
{policy.roles[0]}
\r\n
\r\n
\r\n {editable &&\r\n \r\n \r\n { deletePolicy(index) }}>\r\n \r\n \r\n \r\n \r\n }\r\n
\r\n :\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{policy.data.appId}
\r\n
{policy.data.roles[0]}
\r\n
\r\n
\r\n {editable &&\r\n \r\n \r\n { deletePolicy(index) }}>\r\n \r\n \r\n \r\n \r\n }\r\n
\r\n\r\n );\r\n}\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport configureStore from '../../../store/configureStore';\r\nimport { get_org_user_details } from '../../../actions/action-orguser';\r\nimport { get_all_Orgunit } from '../../../actions/action-orgunit';\r\nimport { get_all_app_user } from '../../../actions/action-appuser';\r\nimport Loader from '../../common/Loader';\r\nimport { history } from '../../../reducers';\r\nimport SidebarWrapper from '../../layout/SidebarWrapper';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport PolicyCard from '../../common/PolicyCard';\r\nimport CommonDelete from '../../common/CommonDelete';\r\nimport { timeFormat } from '../../common/CommonFunctions'\r\nimport { setActiveOuid } from \"../../../actions/action-permissions\";\r\nimport AppPolicyCard from '../../common/AppPolicyCard';\r\n\r\n\r\n\r\nconst store = configureStore();\r\n\r\nclass OrgUserDetails extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n userDetails: {},\r\n orgUnitType: '',\r\n orgUnitOuid: '',\r\n orgUnitRole: '',\r\n orgUnitsToShow: [],\r\n policies: [],\r\n errors: '',\r\n appUserProfiles: []\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"componentDidMount\");\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return\r\n }\r\n const { activeOuid } = store.getState().permission;\r\n if (activeOuid) {\r\n this.fetchDetails(activeOuid);\r\n } else {\r\n this.fetchDetailsBasedOnUrl();\r\n }\r\n\r\n }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n\r\n async fetchDetails(activeOuid) {\r\n console.log(\"fetchDetails : \", activeOuid);\r\n const path = window.location.pathname.split('/');\r\n const username = path[path.length - 1];\r\n const { get_org_user_details } = this.props;\r\n await get_org_user_details(username, activeOuid);\r\n const { get_all_app_user } = this.props;\r\n await get_all_app_user(username, activeOuid);\r\n const { orgUserDetails } = store.getState().orgUserProfile;\r\n const { appUserProfiles } = store.getState().appUserProfile;\r\n this.setState({\r\n userDetails: orgUserDetails,\r\n roles: orgUserDetails.data.roles,\r\n appUserProfiles: appUserProfiles\r\n });\r\n }\r\n\r\n async fetchDetailsBasedOnUrl() {\r\n console.log(\"fetchDetailsBasedOnUrl\");\r\n const path = window.location.pathname.split('/');\r\n const urlOuid = path[path.length - 3];\r\n console.log(\"urlOuid : \", urlOuid);\r\n const username = path[path.length - 1];\r\n const { get_org_user_details } = this.props;\r\n await get_org_user_details(username, urlOuid);\r\n const { get_all_app_user } = this.props;\r\n await get_all_app_user(username, urlOuid);\r\n const { orgUserDetails } = store.getState().orgUserProfile;\r\n const { appUserProfiles } = store.getState().appUserProfile;\r\n this.setState({\r\n userDetails: orgUserDetails,\r\n roles: orgUserDetails.data.roles,\r\n appUserProfiles: appUserProfiles\r\n }, () => {\r\n store.dispatch(setActiveOuid(urlOuid));\r\n });\r\n }\r\n\r\n renderDetails(details) {\r\n return Object.keys(details).map(function (keyName, keyIndex) {\r\n return (\r\n
\r\n
\r\n {keyName} : {' '}\r\n
\r\n {keyName === 'lastModifiedDate' ?\r\n
\r\n {timeFormat(details[keyName])}\r\n
\r\n :\r\n
\r\n {details[keyName]}\r\n
\r\n }\r\n\r\n
\r\n )\r\n });\r\n }\r\n\r\n renderMenuItem(orgUnitsToShow) {\r\n return orgUnitsToShow.map((item, index) => (\r\n {item.data.name}\r\n ));\r\n }\r\n\r\n handleSubmit = async event => {\r\n const path = window.location.pathname.split('/');\r\n const username = path[path.length - 1];\r\n let userDetails = this.state.userDetails;\r\n let newPolicy = [];\r\n if (userDetails.data.policies) {\r\n newPolicy = userDetails.data.policies;\r\n const attachingPolicy = this.state.orgUnitType + \"_\" + this.state.orgUnitOuid + \"=\" + this.state.orgUnitRole;\r\n if (newPolicy.includes(attachingPolicy)) {\r\n console.log(\"Policy Already Exists\");\r\n this.setState({\r\n errors: \"Policy Already Exists\"\r\n });\r\n return;\r\n }\r\n newPolicy.push(attachingPolicy);\r\n } else {\r\n const attachingPolicy = this.state.orgUnitType + \"_\" + this.state.orgUnitOuid + \"=\" + this.state.orgUnitRole;\r\n newPolicy.push(attachingPolicy);\r\n }\r\n userDetails.data[\"policies\"] = newPolicy;\r\n const { update_user_profile } = this.props;\r\n await update_user_profile(userDetails, username);\r\n }\r\n\r\n renderApplicationPolicy() {\r\n const appUserProfiles = this.state.appUserProfiles;\r\n return appUserProfiles.map((item, index) => (\r\n this.deleteAppRole(index)}\r\n />\r\n ));\r\n }\r\n\r\n render() {\r\n const { showGlobalLoader } = store.getState().orgUserProfile;\r\n const { permissions } = store.getState().permission;\r\n const path = window.location.pathname.split('/');\r\n const username = path[path.length - 1];\r\n return (\r\n
\r\n \r\n
\r\n {showGlobalLoader ?\r\n \r\n :
\r\n

Org User Details

\r\n \r\n {this.state.userDetails.data ?\r\n
\r\n {this.renderDetails(this.state.userDetails.data)}\r\n {this.state.roles && (\r\n
\r\n {this.state.roles.map((item, index) => (\r\n this.deletePolicy(index)}\r\n />\r\n ))\r\n }\r\n
\r\n )}\r\n {this.state.appUserProfiles ?\r\n this.renderApplicationPolicy()\r\n :\r\n <>\r\n }\r\n
\r\n\r\n : 'No user details Found'}\r\n
}\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n orgUserProfile: state.orgUserProfile,\r\n appUserProfile: state.appUserProfile,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_org_user_details: (username, activeOuid) => dispatch(get_org_user_details(username, activeOuid)),\r\n get_all_app_user: (username, activeOuid) => dispatch(get_all_app_user(username, activeOuid)),\r\n get_all_Orgunit: () => dispatch(get_all_Orgunit()),\r\n\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(OrgUserDetails);\r\n\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport UserCard from '../../common/UserCard';\r\nimport { get_all_user_profile_details } from '../../../actions/action-userProfiles';\r\nimport configureStore from '../../../store/configureStore';\r\nimport SearchField from '../../common/SearchField';\r\nimport Loader from '../../common/Loader';\r\nimport Button from '@material-ui/core/Button';\r\nimport { history } from '../../../reducers';\r\nimport SidebarWrapper from '../../layout/SidebarWrapper';\r\nimport Table from '@material-ui/core/Table';\r\nimport TableBody from '@material-ui/core/TableBody';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableContainer from '@material-ui/core/TableContainer';\r\nimport TableHead from '@material-ui/core/TableHead';\r\nimport TableRow from '@material-ui/core/TableRow';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\n\r\n\r\nconst store = configureStore();\r\n\r\nclass Users extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n usersToShow: '',\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return\r\n }\r\n this.fetchDetails();\r\n }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n\r\n async fetchDetails() {\r\n const { get_all_user_profile_details } = this.props;\r\n await get_all_user_profile_details();\r\n const { userProfiles } = store.getState().userProfile;\r\n this.setState({\r\n usersToShow: userProfiles,\r\n });\r\n }\r\n\r\n renderUsers(users) {\r\n const { activeOuid } = store.getState().permission;\r\n console.log(\"Users : \", JSON.stringify(users));\r\n return (\r\n users.map((row) => (\r\n \r\n \r\n \r\n \r\n {row.data.username}\r\n {row.data.email}\r\n {row.data.phone_number}\r\n {row.data.cognitoStatus}\r\n \r\n \r\n \r\n\r\n \r\n ))\r\n );\r\n }\r\n // renderUsers(users) {\r\n // console.log(\"Users : \", JSON.stringify(users));\r\n // return users.map((item) => (\r\n //
\r\n // \r\n //
\r\n // ));\r\n // }\r\n\r\n search(keyword, users) {\r\n if (keyword) {\r\n const searchPattern = new RegExp(keyword.map((term) => `(?=.*${term})`).join(''), 'i');\r\n if (users) {\r\n this.setState({\r\n usersToShow: users.filter((user) => user.data.name.match(searchPattern)),\r\n });\r\n }\r\n } else {\r\n this.setState({\r\n usersToShow: users,\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const { userProfiles, showGlobalLoader } = store.getState().userProfile;\r\n const { activeOuid, permissions } = store.getState().permission;\r\n return (\r\n
\r\n \r\n
\r\n\r\n {showGlobalLoader ?\r\n \r\n :
\r\n
\r\n

Authenticated Users

\r\n this.search(e.target.value.split(' '), userProfiles)} />\r\n \r\n
\r\n {this.state.usersToShow &&\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Name\r\n Username\r\n Email\r\n Mobile\r\n Status\r\n \r\n \r\n \r\n \r\n {(this.state.usersToShow.length !== 0) ? this.renderUsers(this.state.usersToShow) : 'No Users Found'}\r\n \r\n
\r\n
\r\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 userProfile: state.userProfile,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_all_user_profile_details: () => dispatch(get_all_user_profile_details()),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Users);\r\n","import React from \"react\";\r\n\r\nfunction FormErrors(props) {\r\n if (\r\n props.formerrors &&\r\n (props.formerrors.blankfield || props.formerrors.passwordmatch)\r\n ) {\r\n return (\r\n
\r\n
\r\n {props.formerrors.passwordmatch\r\n ? \"Password value does not match confirm password value\"\r\n : \"\"}\r\n
\r\n
\r\n {props.formerrors.blankfield ? \"All fields are required\" : \"\"}\r\n
\r\n
\r\n );\r\n } else if (props.apierrors) {\r\n return (\r\n
\r\n
{props.apierrors}
\r\n
\r\n );\r\n } else if (props.formerrors && props.formerrors.cognito) {\r\n return (\r\n
\r\n
\r\n {props.formerrors.cognito.message}\r\n
\r\n
\r\n );\r\n } else {\r\n return
;\r\n }\r\n}\r\n\r\nexport default FormErrors;","function validateForm(event, state) {\r\n // clear all error messages\r\n const inputs = document.getElementsByClassName(\"is-danger\");\r\n for (let i = 0; i < inputs.length; i++) {\r\n if (!inputs[i].classList.contains(\"error\")) {\r\n inputs[i].classList.remove(\"is-danger\");\r\n }\r\n }\r\n\r\n if (state.hasOwnProperty(\"username\") && state.username === \"\") {\r\n document.getElementById(\"username\").classList.add(\"is-danger\");\r\n return { blankfield: true };\r\n }\r\n if (state.hasOwnProperty(\"firstname\") && state.firstname === \"\") {\r\n document.getElementById(\"firstname\").classList.add(\"is-danger\");\r\n return { blankfield: true };\r\n }\r\n if (state.hasOwnProperty(\"lastname\") && state.lastname === \"\") {\r\n document.getElementById(\"lastname\").classList.add(\"is-danger\");\r\n return { blankfield: true };\r\n }\r\n\r\n if (state.hasOwnProperty(\"roles\") && state.email === \"\") {\r\n document.getElementById(\"roles\").classList.add(\"is-danger\");\r\n return { blankfield: true };\r\n }\r\n\r\n if (\r\n state.hasOwnProperty(\"verificationcode\") &&\r\n state.verificationcode === \"\"\r\n ) {\r\n document.getElementById(\"verificationcode\").classList.add(\"is-danger\");\r\n return { blankfield: true };\r\n }\r\n if (state.hasOwnProperty(\"password\") && state.password === \"\") {\r\n document.getElementById(\"password\").classList.add(\"is-danger\");\r\n return { blankfield: true };\r\n }\r\n if (state.hasOwnProperty(\"oldpassword\") && state.oldpassword === \"\") {\r\n document.getElementById(\"oldpassword\").classList.add(\"is-danger\");\r\n return { blankfield: true };\r\n }\r\n if (state.hasOwnProperty(\"newpassword\") && state.newpassword === \"\") {\r\n document.getElementById(\"newpassword\").classList.add(\"is-danger\");\r\n return { blankfield: true };\r\n }\r\n if (state.hasOwnProperty(\"confirmpassword\") && state.confirmpassword === \"\") {\r\n document.getElementById(\"confirmpassword\").classList.add(\"is-danger\");\r\n return { blankfield: true };\r\n }\r\n if (\r\n state.hasOwnProperty(\"password\") &&\r\n state.hasOwnProperty(\"confirmpassword\") &&\r\n state.password !== state.confirmpassword\r\n ) {\r\n document.getElementById(\"password\").classList.add(\"is-danger\");\r\n document.getElementById(\"confirmpassword\").classList.add(\"is-danger\");\r\n return { passwordmatch: true };\r\n }\r\n if (\r\n state.hasOwnProperty(\"newpassword\") &&\r\n state.hasOwnProperty(\"confirmpassword\") &&\r\n state.newpassword !== state.confirmpassword\r\n ) {\r\n document.getElementById(\"newpassword\").classList.add(\"is-danger\");\r\n document.getElementById(\"confirmpassword\").classList.add(\"is-danger\");\r\n return { passwordmatch: true };\r\n }\r\n return;\r\n}\r\n\r\nexport default validateForm;\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { create_user_profile } from \"../../../actions/action-userProfiles\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { history } from '../../../reducers';\r\nimport SidebarWrapper from '../../layout/SidebarWrapper';\r\nimport configureStore from '../../../store/configureStore';\r\nimport { Auth } from \"aws-amplify\";\r\nimport FormErrors from \"../../FormErrors\";\r\nimport Input from '@material-ui/core/Input';\r\nimport FormButton from '../../common/FormButton';\r\nimport Validate from \"../../utility/FormValidation\";\r\n\r\nconst store = configureStore();\r\n\r\n\r\nclass CreateUser extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n userDetails: {\r\n \"name\": \"\",\r\n \"username\": \"\",\r\n \"email\": \"\",\r\n \"phone_number\": \"\",\r\n \"password\": \"\",\r\n \"confirmpassword\": \"\"\r\n },\r\n errors: {}\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return\r\n }\r\n }\r\n\r\n clearErrorState = () => {\r\n this.setState({\r\n errors: {}\r\n });\r\n }\r\n\r\n\r\n handleSubmit = async event => {\r\n // event.preventDefault();\r\n // Form validation\r\n this.clearErrorState();\r\n const error = Validate(event, this.state);\r\n if (error) {\r\n this.setState({\r\n errors: { ...this.state.errors, ...error }\r\n });\r\n } else {\r\n // AWS Cognito integration here\r\n this.clearErrorState();\r\n const { name, username, email, phone_number, password } = this.state.userDetails;\r\n try {\r\n const signUpResponse = await Auth.signUp({\r\n username,\r\n password,\r\n attributes: {\r\n email: email,\r\n phone_number: phone_number,\r\n name: name\r\n }\r\n });\r\n console.log(\"sign Up Response : \", signUpResponse);\r\n let userProfile = this.state.userDetails;\r\n delete userProfile[\"password\"];\r\n delete userProfile[\"confirmpassword\"];\r\n const { create_user_profile } = this.props;\r\n await create_user_profile(userProfile);\r\n const { activeOuid } = store.getState().permission;\r\n this.props.history.push(`/${activeOuid}/users`);\r\n } catch (error) {\r\n let err = null;\r\n !error.message ? err = { \"message\": error } : err = error;\r\n this.setState({\r\n errors: {\r\n ...this.state.errors,\r\n cognito: err\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n onInputChange = event => {\r\n const newUserDetails = this.state.userDetails;\r\n newUserDetails[event.target.id] = event.target.value;\r\n this.setState({\r\n userDetails: newUserDetails\r\n });\r\n }\r\n\r\n render() {\r\n const { permissions } = store.getState().permission;\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n

User 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 \r\n
\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.handleSubmit()}\r\n text=\"Add\"\r\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 permission: state.permission,\r\n});\r\n\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n create_user_profile: (payload) => dispatch(create_user_profile(payload)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CreateUser);\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport configureStore from '../../../store/configureStore';\r\nimport { get_user_profile_details, update_user_profile } from '../../../actions/action-userProfiles';\r\nimport Loader from '../../common/Loader';\r\nimport { history } from '../../../reducers';\r\nimport SidebarWrapper from '../../layout/SidebarWrapper';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport Select from '@material-ui/core/Select';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport PolicyCard from '../../common/PolicyCard';\r\nimport Button from '@material-ui/core/Button';\r\nimport CommonDelete from '../../common/CommonDelete';\r\n\r\n\r\nconst store = configureStore();\r\n\r\nclass UserDetails extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n userDetails: {},\r\n errors: ''\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return\r\n }\r\n this.fetchDetails();\r\n }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n\r\n async fetchDetails() {\r\n const path = window.location.pathname.split('/');\r\n const username = path[path.length - 1];\r\n const { get_user_profile_details } = this.props;\r\n await get_user_profile_details(username);\r\n const { userProfileDetails } = store.getState().userProfile;\r\n this.setState({\r\n userDetails: userProfileDetails,\r\n });\r\n }\r\n\r\n renderDetails(details) {\r\n return Object.keys(details).map(function (keyName, keyIndex) {\r\n return (\r\n
\r\n
\r\n {keyName}\r\n
\r\n
\r\n {details[keyName]}\r\n
\r\n
\r\n )\r\n });\r\n }\r\n\r\n\r\n render() {\r\n const { showGlobalLoader } = store.getState().userProfile;\r\n const { permissions } = store.getState().permission;\r\n const path = window.location.pathname.split('/');\r\n const username = path[path.length - 1];\r\n return (\r\n
\r\n \r\n
\r\n {showGlobalLoader ?\r\n \r\n :
\r\n

User Details

\r\n \r\n {this.state.userDetails.data ?\r\n
\r\n {this.renderDetails(this.state.userDetails.data)}\r\n
\r\n\r\n : 'No user details Found'}\r\n
}\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n userProfile: state.userProfile,\r\n orgunit: state.orgunit,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_user_profile_details: (username) => dispatch(get_user_profile_details(username)),\r\n // update_user_profile: (payload, username) => dispatch(update_user_profile(payload, username)),\r\n\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UserDetails);\r\n\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { get_user_profile_details, update_user_profile } from \"../../../actions/action-userProfiles\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { history } from '../../../reducers';\r\nimport SidebarWrapper from '../../layout/SidebarWrapper';\r\nimport configureStore from '../../../store/configureStore';\r\nimport FormErrors from \"../../FormErrors\";\r\nimport Input from '@material-ui/core/Input';\r\nimport FormButton from '../../common/FormButton';\r\nimport Loader from '../../common/Loader';\r\nimport PolicyCard from '../../common/PolicyCard';\r\nimport { showSnackbar, hideSnackbar } from '../../../actions/action-snackbar';\r\n\r\nconst store = configureStore();\r\n\r\n\r\nclass EditUser extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n userDetails: {},\r\n policies: []\r\n\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return\r\n }\r\n this.fetchDetails();\r\n }\r\n\r\n // componentWillUnmount(){\r\n // store.dispatch(hideSnackbar());\r\n // }\r\n\r\n async fetchDetails() {\r\n const path = window.location.pathname.split('/');\r\n const username = path[path.length - 1];\r\n const { get_user_profile_details } = this.props;\r\n await get_user_profile_details(username);\r\n const { userProfileDetails } = store.getState().userProfile;\r\n this.setState({\r\n userDetails: userProfileDetails,\r\n policies: userProfileDetails.data.policies\r\n });\r\n }\r\n\r\n clearErrorState = () => {\r\n this.setState({\r\n errors: {}\r\n });\r\n }\r\n\r\n\r\n handleSubmit = async event => {\r\n const path = window.location.pathname.split('/');\r\n const username = path[path.length - 1];\r\n const { update_user_profile } = this.props;\r\n let userDetails = this.state.userDetails;\r\n userDetails['policies'] = this.state.policies;\r\n await update_user_profile(this.state.userDetails, username);\r\n const { activeOuid } = store.getState().permission;\r\n this.props.history.push(`/${activeOuid}/users`);\r\n }\r\n\r\n onInputChange = event => {\r\n const newUserDetails = this.state.userDetails;\r\n newUserDetails.data[event.target.id] = event.target.value;\r\n this.setState({\r\n userDetails: newUserDetails\r\n });\r\n }\r\n\r\n deletePolicy = async index => {\r\n console.log(\"deletePolicy : \", index);\r\n let policies = this.state.policies;\r\n policies.splice(index, 1);\r\n this.setState({\r\n policies: policies\r\n });\r\n }\r\n\r\n render() {\r\n const { showGlobalLoader } = store.getState().userProfile;\r\n const { permissions } = store.getState().permission;\r\n return (\r\n
\r\n \r\n
\r\n {showGlobalLoader ?\r\n \r\n :\r\n
\r\n {this.state.userDetails.data && (\r\n
\r\n \r\n
\r\n

Edit User 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 {this.state.policies && (\r\n
\r\n {this.state.policies.map((item, index) => (\r\n this.deletePolicy(index)}\r\n editable\r\n />\r\n ))\r\n }\r\n
\r\n )}\r\n\r\n
\r\n
\r\n

\r\n this.handleSubmit()}\r\n text=\"Update\"\r\n />\r\n

\r\n
\r\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 userProfile: state.userProfile,\r\n permission: state.permission,\r\n});\r\n\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_user_profile_details: (username) => dispatch(get_user_profile_details(username)),\r\n update_user_profile: (payload, username) => dispatch(update_user_profile(payload, username)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(EditUser);\r\n","/* eslint-disable import/prefer-default-export */\r\nimport { JWT_SET, UN_JWT_SET, JWT_ERRORED } from '../constant/action-types';\r\n\r\nexport const setJwt = (session) => ({\r\n type: JWT_SET,\r\n payload: {\r\n session,\r\n },\r\n});\r\n\r\nexport const unSetJwt = () => ({\r\n type: UN_JWT_SET,\r\n});\r\n\r\nexport const setError = (error) => ({\r\n type: JWT_ERRORED,\r\n payload: {\r\n error,\r\n },\r\n});\r\n","import {\r\n LOGIN_REQUSTED,\r\n LOGIN_SUCCESS,\r\n LOGIN_FAILED\r\n } from '../constant/action-types';\r\n\r\n \r\n// import configureStore from '../store/configureStore';\r\n \r\n// const store = configureStore();\r\n \r\n export const login_requested = () => ({\r\n type: LOGIN_REQUSTED,\r\n });\r\n \r\n export const login_success = () => ({\r\n type: LOGIN_SUCCESS,\r\n });\r\n\r\n export const login_failed = () => ({\r\n type: LOGIN_FAILED,\r\n });\r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n ","import { \r\n GET_MY_PROFILE_DETAILS_REQUESTED, \r\n GET_MY_PROFILE_DETAILS_SUCCESS,\r\n GET_MY_PROFILE_DETAILS_ERRORED,\r\n} from '../constant/action-types';\r\nimport axios from 'axios';\r\n// import { showSnackbar } from './action-snackbar';\r\n\r\nimport configureStore from '../store/configureStore';\r\n\r\nconst store = configureStore();\r\n\r\nexport const get_my_profile_details_requested = () => ({\r\n type: GET_MY_PROFILE_DETAILS_REQUESTED,\r\n});\r\n\r\nexport const get_my_profile_details_success = (payload) => ({\r\n type: GET_MY_PROFILE_DETAILS_SUCCESS,\r\n payload,\r\n });\r\n \r\n export const get_my_profile_details_errored = (error) => ({\r\n type: GET_MY_PROFILE_DETAILS_ERRORED,\r\n error,\r\n });\r\n\r\nexport const get_profile_details = (username) => async (dispatch) => {\r\n dispatch(get_my_profile_details_requested());\r\n console.log(`get_profile_details`);\r\n const {\r\n apiEndpoint,\r\n credentials,\r\n } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const url = `${apiEndpoint}/userprofile/${username}`;\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = 'get';\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n },\r\n };\r\n return axios[method](\r\n url,\r\n axiosHeader,\r\n )\r\n .then((response) => {\r\n console.log(\"get my profile details success : \");\r\n dispatch(get_my_profile_details_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log('get my profile details errored');\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n dispatch(get_my_profile_details_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport FormErrors from \"../FormErrors\";\r\nimport Validate from \"../utility/FormValidation\";\r\nimport { Auth } from \"aws-amplify\";\r\nimport { setJwt } from \"../../actions/action-jwt\";\r\nimport { setAllPermissions } from \"../../actions/action-permissions\";\r\nimport {\r\n login_requested,\r\n login_success,\r\n login_failed,\r\n} from \"../../actions/action-auth\";\r\nimport configureStore from \"../../store/configureStore\";\r\nimport jwt from \"jwt-decode\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport Loader from \"../common/Loader\";\r\nimport { Paper } from \"@material-ui/core\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nimport { get_profile_details } from \"../../actions/action-myProfile\";\r\n\r\nimport {\r\n setActiveOuid,\r\n setActiveOuidChain,\r\n} from \"../../actions/action-permissions\";\r\n\r\nimport { setActiveOiudConfigs } from \"../../actions/action-config\";\r\n\r\nimport { userRoleCheck } from \"../common/CommonFunctions\";\r\n\r\nimport LoginImage from \"../../components/assets/images/ces/ces-logo.png\";\r\n\r\nconst store = configureStore();\r\n\r\nclass LogIn extends Component {\r\n state = {\r\n username: \"\",\r\n password: \"\",\r\n redirection: \"\",\r\n errors: {\r\n cognito: null,\r\n blankfield: false,\r\n },\r\n };\r\n\r\n componentDidMount() {\r\n this.checkRedirection();\r\n }\r\n\r\n checkRedirection() {\r\n const urlParams = new URLSearchParams(window.location.search);\r\n const redirection = urlParams.get(\"redirect\");\r\n if (redirection !== null) {\r\n console.log(\"redirection : \", redirection);\r\n this.setState({\r\n redirection: redirection,\r\n });\r\n }\r\n }\r\n\r\n clearErrorState = () => {\r\n this.setState({\r\n errors: {\r\n cognito: null,\r\n blankfield: false,\r\n },\r\n });\r\n };\r\n\r\n handleSubmit = async (event) => {\r\n event.preventDefault();\r\n // Form validation\r\n this.clearErrorState();\r\n const error = Validate(event, this.state);\r\n if (error) {\r\n this.setState({\r\n errors: { ...this.state.errors, ...error },\r\n });\r\n }\r\n\r\n // AWS Cognito integration here\r\n try {\r\n store.dispatch(login_requested());\r\n const user = await Auth.signIn(this.state.username, this.state.password);\r\n store.dispatch(login_success());\r\n console.log(\"currentSession user\", user);\r\n this.props.auth.setAuthStatus(true);\r\n this.props.auth.setUser(user);\r\n const { setJwt, get_profile_details } = this.props;\r\n await setJwt(user);\r\n await get_profile_details(user.username);\r\n const idToken = user.signInUserSession.idToken;\r\n const decodedToken = jwt(idToken.jwtToken);\r\n if (decodedToken.policies) {\r\n const policies = decodedToken.policies.split(\";\");\r\n let teamPolicies = [];\r\n if (decodedToken.teamPolicies !== \"\")\r\n teamPolicies = decodedToken.teamPolicies.split(\";\");\r\n let appPolicies = [];\r\n if (decodedToken.appPolicies !== \"\")\r\n appPolicies = decodedToken.appPolicies.split(\";\");\r\n const allPolicy = {\r\n policies,\r\n teamPolicies,\r\n appPolicies,\r\n };\r\n const {\r\n setAllPermissions,\r\n setActiveOuid,\r\n setActiveOuidChain,\r\n setActiveOiudConfigs,\r\n } = this.props;\r\n await setAllPermissions(allPolicy);\r\n const check = await userRoleCheck(policies);\r\n const { userRoles } = store.getState().permission;\r\n const { details } = store.getState().myProfile;\r\n console.log(\"details myProfile\", details);\r\n\r\n await setActiveOuid(userRoles[0].ouid);\r\n await setActiveOuidChain(userRoles[0].ouid);\r\n await setActiveOiudConfigs(userRoles[0].ouid);\r\n if (this.state.redirection) {\r\n console.log(\"this.state.redirection is true\");\r\n\r\n this.props.history.push(this.state.redirection);\r\n } else {\r\n const { activeOuidCoreConfigs } = store.getState().config;\r\n\r\n if (activeOuidCoreConfigs.data) {\r\n //could be there for rootOrg, but not system org.\r\n console.log(\"policies\", policies);\r\n\r\n if (policies.includes(`${userRoles[0].ouid}=user`)) {\r\n const defaultUrl = activeOuidCoreConfigs.data.config.home;\r\n this.props.history.push(`/${userRoles[0].ouid}/${defaultUrl}`);\r\n } else {\r\n this.props.history.push(`/${userRoles[0].ouid}/`);\r\n }\r\n } else {\r\n this.props.history.push(`/${userRoles[0].ouid}/dashboard`);\r\n }\r\n }\r\n } else {\r\n let myProfile = store.getState().myProfile;\r\n console.log(\"myProfile\", myProfile);\r\n this.props.history.push(`/system/user-home`);\r\n }\r\n } catch (error) {\r\n await store.dispatch(login_failed());\r\n let err = null;\r\n !error.message ? (err = { message: error }) : (err = error);\r\n this.setState({\r\n errors: {\r\n ...this.state.errors,\r\n cognito: err,\r\n },\r\n });\r\n }\r\n };\r\n\r\n onInputChange = (event) => {\r\n this.setState({\r\n [event.target.id]: event.target.value,\r\n });\r\n document.getElementById(event.target.id).classList.remove(\"is-danger\");\r\n };\r\n\r\n render() {\r\n const { showGlobalLoader } = store.getState().auth_state;\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \"\"\r\n \r\n \r\n
\r\n
Log in to continue to:
\r\n
Online Exams Platform
\r\n \r\n {showGlobalLoader ? :
}\r\n
\r\n
\r\n

\r\n \r\n

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

\r\n \r\n

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

\r\n Forgot password?\r\n

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

\r\n \r\n Login\r\n \r\n

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

\r\n New User? Sign up for an account\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 auth_state: state.auth_state,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setJwt: (user) => dispatch(setJwt(user)),\r\n setAllPermissions: (policies) => dispatch(setAllPermissions(policies)),\r\n setActiveOuid: (ouid) => dispatch(setActiveOuid(ouid)),\r\n setActiveOuidChain: (ouid) => dispatch(setActiveOuidChain(ouid)),\r\n setActiveOiudConfigs: (ouid) => dispatch(setActiveOiudConfigs(ouid)),\r\n get_profile_details: (username) => dispatch(get_profile_details(username)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LogIn);\r\n","import React, { Component } from \"react\";\r\nimport FormErrors from \"../FormErrors\";\r\nimport Validate from \"../utility/FormValidation\";\r\nimport { Auth } from \"aws-amplify\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { connect } from \"react-redux\";\r\nimport { Paper } from \"@material-ui/core\";\r\nimport { create_user_profile } from \"../../actions/action-userProfiles\";\r\nimport { Link } from \"react-router-dom\";\r\nimport LoginImage from \"../../components/assets/images/ces/ces-logo.png\";\r\n\r\nclass Register extends Component {\r\n state = {\r\n username: \"\",\r\n email: \"\",\r\n password: \"\",\r\n phone_number: \"+91\",\r\n confirmpassword: \"\",\r\n\r\n errors: {\r\n cognito: null,\r\n blankfield: false,\r\n passwordmatch: false,\r\n },\r\n };\r\n\r\n clearErrorState = () => {\r\n this.setState({\r\n errors: {\r\n cognito: null,\r\n blankfield: false,\r\n passwordmatch: false,\r\n },\r\n });\r\n };\r\n\r\n handleSubmit = async (event) => {\r\n event.preventDefault();\r\n\r\n // Form validation\r\n this.clearErrorState();\r\n const error = Validate(event, this.state);\r\n if (error) {\r\n this.setState({\r\n errors: { ...this.state.errors, ...error },\r\n });\r\n }\r\n\r\n // AWS Cognito integration here\r\n const { name, username, phone_number, password } = this.state;\r\n try {\r\n const signUpResponse = await Auth.signUp({\r\n username,\r\n password,\r\n attributes: {\r\n email: username,\r\n phone_number: phone_number,\r\n name: name,\r\n \"custom:tenant\": \"ces\",\r\n },\r\n });\r\n // console.log(signUpResponse);\r\n let userProfile = this.state;\r\n delete userProfile[\"password\"];\r\n delete userProfile[\"confirmpassword\"];\r\n delete userProfile[\"errors\"];\r\n console.log(\"userProfile :\", userProfile);\r\n // const { create_user_profile } = this.props;\r\n // await create_user_profile(userProfile);\r\n this.props.history.push(\"/welcome\");\r\n } catch (error) {\r\n let err = null;\r\n !error.message ? (err = { message: error }) : (err = error);\r\n this.setState({\r\n errors: {\r\n ...this.state.errors,\r\n cognito: err,\r\n },\r\n });\r\n }\r\n };\r\n\r\n onInputChange = (event) => {\r\n this.setState({\r\n [event.target.id]: event.target.value,\r\n });\r\n document.getElementById(event.target.id).classList.remove(\"is-danger\");\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
Sign up for your account
\r\n \r\n\r\n
\r\n
\r\n

\r\n \r\n

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

\r\n \r\n

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

\r\n \r\n

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

\r\n \r\n

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

\r\n \r\n

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

\r\n \r\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 = () => ({});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n create_user_profile: (payload) => dispatch(create_user_profile(payload)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Register);\r\n","import React, { Component } from \"react\";\r\nimport FormErrors from \"../FormErrors\";\r\nimport Validate from \"../utility/FormValidation\";\r\nimport { Auth } from \"aws-amplify\";\r\nimport { Paper } from \"@material-ui/core\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport LoginImage from \"../../components/assets/images/ces/ces-logo.png\";\r\nimport Button from \"@material-ui/core/Button\";\r\n\r\nclass ForgotPassword extends Component {\r\n state = {\r\n email: \"\",\r\n errors: {\r\n cognito: null,\r\n blankfield: false,\r\n },\r\n };\r\n\r\n clearErrorState = () => {\r\n this.setState({\r\n errors: {\r\n cognito: null,\r\n blankfield: false,\r\n },\r\n });\r\n };\r\n\r\n forgotPasswordHandler = async (event) => {\r\n event.preventDefault();\r\n\r\n // Form validation\r\n this.clearErrorState();\r\n const error = Validate(event, this.state);\r\n if (error) {\r\n this.setState({\r\n errors: { ...this.state.errors, ...error },\r\n });\r\n }\r\n\r\n // AWS Cognito integration here\r\n try {\r\n await Auth.forgotPassword(this.state.email);\r\n this.props.history.push(\"/forgotpasswordverification\");\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n onInputChange = (event) => {\r\n this.setState({\r\n [event.target.id]: event.target.value,\r\n });\r\n document.getElementById(event.target.id).classList.remove(\"is-danger\");\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n \"\"\r\n \r\n

Forgot your password?

\r\n

\r\n Please enter the email address associated with your account and\r\n we'll email you a password reset link.\r\n

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

\r\n \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\n }\r\n}\r\n\r\nexport default ForgotPassword;\r\n","import React, { Component } from \"react\";\r\nimport FormErrors from \"../FormErrors\";\r\nimport Validate from \"../utility/FormValidation\";\r\nimport { Auth } from \"aws-amplify\";\r\nimport LoginImage from \"../../components/assets/images/ces/ces-logo.png\";\r\nimport { Paper } from \"@material-ui/core\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Button from \"@material-ui/core/Button\";\r\n\r\nclass ForgotPasswordVerification extends Component {\r\n state = {\r\n verificationcode: \"\",\r\n email: \"\",\r\n newpassword: \"\",\r\n errors: {\r\n cognito: null,\r\n blankfield: false,\r\n },\r\n };\r\n\r\n clearErrorState = () => {\r\n this.setState({\r\n errors: {\r\n cognito: null,\r\n blankfield: false,\r\n },\r\n });\r\n };\r\n\r\n passwordVerificationHandler = async (event) => {\r\n event.preventDefault();\r\n\r\n // Form validation\r\n this.clearErrorState();\r\n const error = Validate(event, this.state);\r\n if (error) {\r\n this.setState({\r\n errors: { ...this.state.errors, ...error },\r\n });\r\n }\r\n\r\n // AWS Cognito integration here\r\n try {\r\n await Auth.forgotPasswordSubmit(\r\n this.state.email,\r\n this.state.verificationcode,\r\n this.state.newpassword\r\n );\r\n this.props.history.push(\"/changepasswordconfirmation\");\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n onInputChange = (event) => {\r\n this.setState({\r\n [event.target.id]: event.target.value,\r\n });\r\n document.getElementById(event.target.id).classList.remove(\"is-danger\");\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n \"\"\r\n \r\n

Set new password

\r\n

\r\n Please enter the verification code sent to your email address below,\r\n your email address and a new 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 Submit\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ForgotPasswordVerification;\r\n","import React, { Component } from 'react';\r\nimport FormErrors from \"../FormErrors\";\r\nimport Validate from \"../utility/FormValidation\";\r\nimport { Auth } from 'aws-amplify';\r\n\r\nclass ChangePassword extends Component {\r\n state = {\r\n oldpassword: \"\",\r\n newpassword: \"\",\r\n confirmpassword: \"\",\r\n errors: {\r\n cognito: null,\r\n blankfield: false,\r\n passwordmatch: false\r\n }\r\n }\r\n\r\n clearErrorState = () => {\r\n this.setState({\r\n errors: {\r\n cognito: null,\r\n blankfield: false,\r\n passwordmatch: false\r\n }\r\n });\r\n }\r\n\r\n handleSubmit = async event => {\r\n event.preventDefault();\r\n\r\n // Form validation\r\n this.clearErrorState();\r\n const error = Validate(event, this.state);\r\n if (error) {\r\n this.setState({\r\n errors: { ...this.state.errors, ...error }\r\n });\r\n }\r\n\r\n // AWS Cognito integration here\r\n try {\r\n const user = await Auth.currentAuthenticatedUser();\r\n console.log(user);\r\n await Auth.changePassword(\r\n user,\r\n this.state.oldpassword,\r\n this.state.newpassword\r\n );\r\n this.props.history.push(\"/changepasswordconfirmation\");\r\n } catch (error) {\r\n let err = null;\r\n !error.message ? err = { \"message\": error } : err = error;\r\n this.setState({\r\n errors: { ...this.state.errors, cognito: err }\r\n });\r\n console.log(err);\r\n }\r\n }\r\n\r\n onInputChange = event => {\r\n this.setState({\r\n [event.target.id]: event.target.value\r\n });\r\n document.getElementById(event.target.id).classList.remove(\"is-danger\");\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n

Change 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 \r\n \r\n \r\n

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

\r\n Forgot 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\nexport default ChangePassword;","export default __webpack_public_path__ + \"static/media/Completed.ad68c46e.png\";","import React, { Component } from \"react\";\r\nimport Button from '@material-ui/core/Button';\r\nimport { Paper } from '@material-ui/core';\r\nimport Completed from \"../assets/images/edwinImages/Completed.png\";\r\nimport { history } from '../../reducers';\r\n\r\nclass ChangePasswordConfirmation extends Component {\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n

Change Password

\r\n

Your password has been successfully updated!

\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ChangePasswordConfirmation;","export default __webpack_public_path__ + \"static/media/bannerimg.462272c9.png\";","import React from \"react\";\r\nimport { makeStyles, withStyles } from \"@material-ui/core/styles\";\r\nimport Card from \"@material-ui/core/Card\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport CardActions from \"@material-ui/core/CardActions\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport EditIcon from \"@material-ui/icons/Edit\";\r\nimport VisibilityIcon from \"@material-ui/icons/Visibility\";\r\nimport { Orgunit } from \"@material-ui/icons\";\r\nimport { history } from \"../../../reducers\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { RedirectFunc } from \"../../common/CommonFunctions\";\r\nimport { setActiveOiudConfigs } from \"../../../actions/action-config\";\r\nimport {\r\n setActiveOuid,\r\n setActiveOuidChain,\r\n} from \"../../../actions/action-permissions\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport CardContent from \"@material-ui/core/CardContent\";\r\nimport CardMedia from \"@material-ui/core/CardMedia\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport CardActionArea from \"@material-ui/core/CardActionArea\";\r\nimport Loader from \"../../common/Loader\";\r\n\r\nconst store = configureStore();\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n maxWidth: 250,\r\n minWidth: 250,\r\n },\r\n media: {\r\n height: 140,\r\n },\r\n title: {\r\n fontSize: 15,\r\n fontWeight: \"bold\",\r\n },\r\n});\r\n\r\nexport default function CourseCardPublic(props) {\r\n const classes = useStyles();\r\n const Icontooltip = withStyles({\r\n tooltip: {\r\n fontSize: 12,\r\n },\r\n })(Tooltip);\r\n const data = props.Post.data;\r\n\r\n const { activeOuid } = store.getState().permission;\r\n const { showGlobalLoader } = store.getState().course;\r\n return (\r\n <>\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n <>\r\n {data && (\r\n {\r\n history.push(`/${activeOuid}/pcourse/${data.identifier}`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {data.title}\r\n \r\n \r\n {data.summary.substring(0, 110)}...\r\n \r\n \r\n \r\n {/* \r\n {\r\n history.push(`/${activeOuid}/pcourse/${data.identifier}`);\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","export default __webpack_public_path__ + \"static/media/Bannerimage.916b4480.png\";","import React, { Component } from \"react\";\r\nimport Header from \"../layout/Header\";\r\nimport banner from \"../assets/images/bannerimg.png\";\r\nimport SidebarWrapper from \"../layout/SidebarWrapper\";\r\nimport { connect } from \"react-redux\";\r\nimport { Button } from \"@material-ui/core\";\r\nimport { history } from \"../../reducers\";\r\nimport Footer from \"../layout/Footer\";\r\nimport configureStore from \"../../store/configureStore\";\r\nimport CommonSnackBar from \"../common/CommonSnackBar\";\r\nimport Loader from \"../common/Loader\";\r\nimport { get_courses_public } from \"../../actions/action-course\";\r\nimport { setActiveOuid } from \"../../actions/action-permissions\";\r\nimport CourseCardPublic from \"../pages/Post/CourseCardPublic\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport { showSnackbar } from \"../../actions/action-snackbar\";\r\nimport axios from \"axios\";\r\n\r\n// Images\r\nimport homeBanner from \"../assets/images/edwinImages/Bannerimage.png\";\r\nimport vision from \"../assets/images/edwinImages/vision.png\";\r\nimport mission from \"../assets/images/edwinImages/mission.png\";\r\n\r\nconst store = configureStore();\r\nclass Home extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n coursesToShow: [],\r\n Name: \"\",\r\n Email: \"\",\r\n Phone: \"\",\r\n Message: \"\",\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDetails();\r\n }\r\n\r\n async fetchDetails() {\r\n let activeOuid = \"ces\";\r\n let activeOuidChain = [\"system\", \"ces\"];\r\n const { setActiveOuid } = this.props;\r\n await setActiveOuid(\"ces\");\r\n\r\n this.setState({\r\n coursesToShow: [],\r\n });\r\n const { get_courses_public } = this.props;\r\n await get_courses_public(activeOuid, activeOuidChain, \"\", activeOuid);\r\n\r\n this.setState({\r\n coursesToShow: store.getState().course.courses,\r\n });\r\n }\r\n\r\n renderPosts(PostList) {\r\n console.log(\"PostList : \", JSON.stringify(PostList));\r\n return PostList.map((item) => (\r\n \r\n ));\r\n }\r\n onInputChange = (event) => {\r\n if (event.target.id) {\r\n this.setState({ ...this.state, [event.target.id]: event.target.value });\r\n } else {\r\n this.setState({ ...this.state, [event.target.name]: event.target.value });\r\n }\r\n };\r\n\r\n createOpenWorkorder() {\r\n const path = window.location.pathname.split(\"/\");\r\n let ouid = path[1];\r\n const { woUrl } = store.getState().jwt.api;\r\n const method = \"post\";\r\n const url = `${woUrl}/workorder-public`;\r\n const axiosHeader = {\r\n headers: {\r\n \"x-ouid\": \"ces\",\r\n },\r\n };\r\n\r\n const enqDetails = {\r\n email: this.state.Email,\r\n name: this.state.Name,\r\n phone: this.state.Phone,\r\n message: this.state.Message,\r\n };\r\n\r\n const payload = {\r\n type: \"ContactRequestWorkorder\",\r\n description: \"Contact form\",\r\n targetOrg: ouid,\r\n requestId: \"\",\r\n deadline: \"\",\r\n details: enqDetails,\r\n };\r\n\r\n console.log(\"payload:::::::\", JSON.stringify(payload));\r\n console.log(\"url:::::::\", url);\r\n\r\n return axios[method](url, payload, axiosHeader)\r\n .then(async (response) => {\r\n console.log(\r\n \"Create WorkOrder response : \",\r\n JSON.stringify(response.data)\r\n );\r\n\r\n console.log(\"response.data.identifier: \", response.data.identifier);\r\n\r\n await store.dispatch(\r\n showSnackbar(\"You message had been send Successfully\", \"success\")\r\n );\r\n })\r\n .catch(async (err) => {\r\n store.dispatch(\r\n await showSnackbar(\r\n \"Enquire form submission Failed, email support@xyz.com\",\r\n \"error\"\r\n )\r\n );\r\n store.dispatch(\r\n showSnackbar(\r\n \"Course Access Request Failed, email support@xyz.com\",\r\n \"error\"\r\n )\r\n );\r\n });\r\n }\r\n\r\n render() {\r\n const { permissions } = store.getState().permission;\r\n const { showGlobalLoader } = store.getState().course;\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Focus and give your best

\r\n

\r\n Trust yourself, you know more than you think you do –\r\n Benjamin Spock\r\n

\r\n {\r\n history.push(\"/login\");\r\n }}\r\n >\r\n Get started\r\n \r\n
\r\n
\r\n \r\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 = () => ({});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setActiveOuid: (activeOuid) => dispatch(setActiveOuid(activeOuid)),\r\n\r\n get_courses_public: (activeOuid, activeOuidChain, category, ouid) =>\r\n dispatch(get_courses_public(activeOuid, activeOuidChain, category, ouid)),\r\n});\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Home);\r\n","export default __webpack_public_path__ + \"static/media/vision.921d2a1c.png\";","export default __webpack_public_path__ + \"static/media/mission.c8002368.png\";","export default __webpack_public_path__ + \"static/media/dashusermanagement.36941a0b.png\";","export default \"data:image/png;base64,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AAAUyAAAgAIZAABQIAMAAApkAABAgQwAACiQAQAABTIAAKBABgAAFMgAAIACGQAAUCADAAAKZAAAQIEMAAAokAEAAAUyAACgQAYAABTIAACAAhkAAFAgAwAACmQAAECBDAAAKJABAAAFMgAAoEAGAAAUaEvbB4ACnUjyYNuHSJJMbZpu+whntbKSZKXtU8BEMgCgeT+RG37vN9o+RC986ILfzX1f/6G2jwGTyCsAACiQAQAABTIAAKBABgAAFMgAAIACGQAAUCADAAAKZAAAQIEMAAAokAEAAAUyAACgQAYAABTIAACAAhkAAFAgAwAACmQAAECBDAAAKJABAAAFMgAAoEAGAAAUyAAAgAIZAABQIAMAAApkAABAgQwAACiQAQAABTIAAKBABgAAFMgAAIACGQAAUCADAAAKZAAAQIEMAAAokAEAAAUyAACgQAYAABTIAACAAhkAAFAgAwAACmQAAECBDAAAKJABAAAFMgAAoEAGAAAUyAAAgAIZAABQIAMAAApkAABAgQwAACiQAQAABTIAAKBABgAAFMgAAIACGQAAUCADAAAKZAAAQIEMAAAokAEAAAUyAACgQAYAABTIAACAAhkAAFAgAwAACmQAAECBDAAAKJABAAAFMgAAoEAGAAAUyAAAgAIZAABQIAMAAApkAABAgQwAACiQAQAABTIAAKBABgAAFMgAAIACGQAAUCADAAAKZAAAQIEMAAAokAEAAAUyAACgQAYAABTIAACAAhkAAFAgAwAACmQAAECBDAAAKJABAAAFMgAAoEAGAAAUyAAAgAIZAABQIAMAAApkAABAgQwAACiQAQAABTIAAKBABgAAFMgAAIACGQAAUCADAAAKZAAAQIEMAAAokAEAAAUyAACgQAYAABTIAACAAhkAAFAgAwAACmQAAECBDAAAKJABAAAFMgAAoEAGAAAUyAAAgAIZAABQIAMAAApkAABAgQwAACiQAQAABTIAAKBABgAAFMgAAIACGQAAUCADAAAKZAAAQIEMAAAokAEAAAUyAACgQAYAABRoamVlpe0z9Nsf/tD2to9A7xzPDb/3YNuH6IX/dNm2JDvaPgYd9bI7D7Z9hD4zAACgQF4BAECBDAAAKJABAAAFMgAAoEAGAAAUyAAAgAIZAABQIAMAAApkAABAgQwAACiQAQAABTIAAKBABgAAFMgAAIACGQAAUCADAAAKZAAAQIEMAAAokAEAAAUyAACgQAYAABTIAACAAhkAAFAgAwAACmQAAECBDAAAKJABAAAFMgAAoEAGAAAUyAAAgAIZAABQIAMAAApkAABAgQwAACiQAQAABTIAAKBABgAAFMgAAIACGQAAUCADAAAK9P8B7pFBYmPKgVMAAAAASUVORK5CYII=\"","export default __webpack_public_path__ + \"static/media/dashmembership.c99882df.png\";","export default __webpack_public_path__ + \"static/media/dashonlineeducation.c2788d6b.png\";","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport SidebarWrapper from \"../layout/SidebarWrapper\";\r\nimport configureStore from \"../../store/configureStore\";\r\nimport usermanagement from \"../assets/images/edwinImages/dashusermanagement.png\";\r\nimport home from \"../assets/images/edwinImages/dashhome.png\";\r\nimport subscription from \"../assets/images/edwinImages/dashmembership.png\";\r\nimport courses from \"../assets/images/edwinImages/dashonlineeducation.png\";\r\n\r\nconst store = configureStore();\r\n\r\nclass Dashboard extends Component {\r\n render() {\r\n const { permission, activeOuid } = store.getState().permission;\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Dashboard);\r\n","export default __webpack_public_path__ + \"static/media/user.724b79cd.png\";","import React from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { Paper } from '@material-ui/core';\r\nimport Profile from '../assets/images/edwinImages/user.png';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n textAlign: 'center',\r\n },\r\n MyProfileImg: {\r\n margin: '0 auto',\r\n maxWidth: 100,\r\n marginBottom: 15,\r\n },\r\n MyProfileDataItem: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n paddingBottom: 10,\r\n fontSize: 14,\r\n },\r\n MyProfileData: {\r\n flex: 1,\r\n textAlign: 'left',\r\n paddingLeft: 15,\r\n },\r\n MyProfileDataLabel: {\r\n flex:1,\r\n textAlign: 'right',\r\n fontWeight: 'bold'\r\n }\r\n}));\r\n\r\nexport default function MyProfileComponet(props) {\r\n const { profileDetails } = props;\r\n const classes = useStyles();\r\n console.log(\"profileDetails\",profileDetails);\r\n return (\r\n
\r\n
\r\n {profileDetails &&\r\n
\r\n \r\n \r\n
\r\n
User name :
\r\n
{ profileDetails.username }
\r\n
\r\n
\r\n
Name :
\r\n
{ profileDetails.name }
\r\n
\r\n
\r\n
Email :
\r\n
{ profileDetails.username }
\r\n
\r\n
\r\n
Phone :
\r\n
{ profileDetails.phone_number }
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n );\r\n}","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport configureStore from '../../store/configureStore';\r\nimport { get_profile_details } from \"../../actions/action-myProfile\";\r\nimport MyProfileComponet from '../common/MyProfileComponet';\r\nimport Loader from '../common/Loader';\r\nimport { history } from '../../reducers';\r\nimport SidebarWrapper from '../layout/SidebarWrapper';\r\n\r\nconst store = configureStore();\r\n\r\nclass MyProfile extends Component {\r\n\r\n async componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n history.push(\"/login?redirect=/my-profile\");\r\n return\r\n }\r\n const { get_profile_details } = this.props;\r\n let { session } = store.getState().jwt.api.userSession;\r\n await get_profile_details(session.username);\r\n }\r\n\r\n render() {\r\n const { details, showGlobalLoader } = store.getState().myProfile;\r\n const { permissions } = store.getState().permission;\r\n return (\r\n
\r\n \r\n
\r\n {showGlobalLoader ?\r\n \r\n : \r\n }\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n jwt: state.jwt,\r\n myProfile: state.myProfile,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_profile_details: (username) => dispatch(get_profile_details(username)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MyProfile);\r\n","import React from 'react';\r\nimport Button from '@material-ui/core/Button';\r\nimport { Paper } from '@material-ui/core';\r\nimport Completed from \"../assets/images/edwinImages/Completed.png\";\r\nimport { history } from '../../reducers';\r\n\r\n\r\nexport default function Welcome() {\r\n\r\n return (\r\n
\r\n \r\n \r\n

Welcome!

\r\n

You have successfully registered a new account.

\r\n

We've sent you a email. Please click on the confirmation link to verify your account.

\r\n \r\n
\r\n
\r\n )\r\n}\r\n","import React, { Component } from 'react';\r\n\r\nexport default class ThankYouPage extends Component {\r\n\r\n state = {\r\n channelPartner: {}\r\n }\r\n\r\n fucntionName = async () => {\r\n // add call to AWS API Gateway to fetch products here\r\n // then set them in state\r\n try {\r\n \r\n } catch (err) {\r\n\r\n }\r\n }\r\n\r\n componentDidMount = () => {\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n

Thank You For Registering

\r\n
\r\n
\r\n )\r\n }\r\n}\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\r\nimport Drawer from '@material-ui/core/Drawer';\r\nimport AppBar from '@material-ui/core/AppBar';\r\nimport Toolbar from '@material-ui/core/Toolbar';\r\nimport List from '@material-ui/core/List';\r\nimport CssBaseline from '@material-ui/core/CssBaseline';\r\nimport logo from '../assets/images/ibc-logo.png';\r\nimport { Auth } from 'aws-amplify';\r\nimport { history } from '../../reducers';\r\n\r\n\r\n// Images\r\nimport Orgunit from '../assets/images/Buisness.png';\r\nimport Investor from '../assets/images/ivestor.png';\r\nimport Channelpartner from '../assets/images/Channel-Partners.png';\r\nimport Serviceprovider from '../assets/images/serviceProvider.png';\r\nimport Myprofile from '../assets/images/myProfile.png';\r\nimport Manageuser from '../assets/images/Manageuser.png';\r\nimport Notification from '../assets/images/Notification.png';\r\nimport AccountCircle from '@material-ui/icons/AccountCircle';\r\nimport MoreIcon from '@material-ui/icons/MoreVert';\r\n\r\n// Material Ui\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Divider from '@material-ui/core/Divider';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport MenuIcon from '@material-ui/icons/Menu';\r\nimport ChevronLeftIcon from '@material-ui/icons/ChevronLeft';\r\nimport ChevronRightIcon from '@material-ui/icons/ChevronRight';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Badge from '@material-ui/core/Badge';\r\nimport MailIcon from '@material-ui/icons/Mail';\r\nimport NotificationsIcon from '@material-ui/icons/Notifications';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Menu from '@material-ui/core/Menu';\r\n\r\n\r\nconst drawerWidth = 240;\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n display: 'flex',\r\n },\r\n appBar: {\r\n zIndex: theme.zIndex.drawer + 1,\r\n transition: theme.transitions.create(['width', 'margin'], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n },\r\n appBarShift: {\r\n marginLeft: drawerWidth,\r\n width: `calc(100% - ${drawerWidth}px)`,\r\n transition: theme.transitions.create(['width', 'margin'], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n menuButton: {\r\n marginRight: 36,\r\n },\r\n hide: {\r\n display: 'none',\r\n },\r\n drawer: {\r\n width: drawerWidth,\r\n flexShrink: 0,\r\n whiteSpace: 'nowrap',\r\n },\r\n drawerOpen: {\r\n width: drawerWidth,\r\n transition: theme.transitions.create('width', {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n drawerClose: {\r\n transition: theme.transitions.create('width', {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n overflowX: 'hidden',\r\n width: theme.spacing(7) + 1,\r\n [theme.breakpoints.up('sm')]: {\r\n width: theme.spacing(9) + 1,\r\n },\r\n },\r\n toolbar: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'flex-end',\r\n padding: theme.spacing(0, 1),\r\n // necessary for content to be below app bar\r\n ...theme.mixins.toolbar,\r\n },\r\n content: {\r\n flexGrow: 1,\r\n padding: theme.spacing(3),\r\n },\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n\r\n}));\r\n\r\nexport default function MiniDrawer() {\r\n const handleLogOut = async event => {\r\n event.preventDefault();\r\n try {\r\n Auth.signOut();\r\n this.props.auth.setAuthStatus(false);\r\n this.props.auth.setUser(null);\r\n const { resetState } = this.props;\r\n await resetState();\r\n history.push(\"/\");\r\n }catch(error) {\r\n console.log(error.message);\r\n }\r\n }\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const [open, setOpen] = React.useState(true);\r\n\r\n\r\n const handleDrawerOpen = () => {\r\n setOpen(true);\r\n };\r\n\r\n const handleDrawerClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n\r\n\r\n const orgUnits = [\r\n {\r\n url:\"/channel-partners\",\r\n text : \"Channel Partner\",\r\n icon:Channelpartner\r\n },\r\n {\r\n url:\"/Orgunit\",\r\n text : \"Orgunit\",\r\n icon:Orgunit\r\n },\r\n {\r\n url:\"/investor\",\r\n text : \"Investor\",\r\n icon:Investor\r\n },\r\n {\r\n url:\"/service-provider\",\r\n text : \"Service Provider\",\r\n icon:Serviceprovider\r\n },\r\n ];\r\n const utilities = [\r\n {\r\n url:\"/users\",\r\n text : \"Manage Users\",\r\n icon:Manageuser\r\n },\r\n {\r\n url:\"/notifications\",\r\n text : \"Notifications\",\r\n icon:Notification\r\n },\r\n \r\n ];\r\n\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \"Logo\"\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {theme.direction === 'rtl' ? : }\r\n \r\n
\r\n \r\n \r\n {orgUnits.map((item) => (\r\n \r\n \"Icon\"\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n {utilities.map((item) => (\r\n \r\n \"Icon\"\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n","import React, { Component } from 'react';\r\n\r\nexport default class PageNotFound extends Component {\r\n\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
Oops! Page Not Found
\r\n
404
\r\n
We are sorry, but the page you requested was not found...
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAWtJREFUeNrkVe1twjAQJYj/uBOUTkA2IN2ATtCwAWzgDTJC2gnSDSw2gAlMJyBM4N5J79oTsglpKULipCdf7Psg757JYHA3FkIow4+V/9HAEeaAOzdvGClkCDWhIeTqqCW8Aq2KzxHLOaazAVlFmBC2hEbtLwgGWKh9h9gJcjsbcIE14QNJYnnCN4hdw+/kml/Zq4FaPHvQUKvnSsX5I0rPGqxF8jJytsRZ9RfleClOa4FhMgrVxPfRuUMBg4JeFRe65K2kiVXqa1Dj+55kckjLnvACGcqwNlmWrVBkzD7imZYDPVs0YtnOCVPCO9T3QOftsAdjJuFz8d2lKBIVaYokPk3RqSFD4yXWTxw9gpI3XomKp9+qSAbqEv9NQYbcpyhftL26QNVFLxp4tGgU1H6BX+2Ef+wHxHJOc1xvFOnBqpjB1+rYJHyR6CympphMVwic4l6I1SjWwhd7RuwOudf94NzOJ/Nm7UuAAQA9p/JkwaMuewAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAASlJREFUeNrcVosNgkAMBcMAbAAb6AbiBLKBbmCYQJnAEZQJxAnADWADnECc4HxNCrng8RUTpUlzSdtrX68f0LRJkxDCFe3kNvkwWmIswAk4r9GbbBMODVAEOYODinwD3oKvnTJAqo5Cb3UAYKnu6roelwFgcMRBb5kpnoCIHNgVnS1l+KaDzxBBvAJ9pEIBmUlyOnvqSB611gAIqLhxX51Ms2+3+v8HMLpONI6dJKL391GHZKwMLjxoObdyCt73yYCQnIA0a7A1OciSA5WtqCC7WB8Gt5wn9XOguOCw0zVfTjkTX2FLKyQrhkyuwV0e8UoNyNmcs8g4UFJj6wypwQr8ZOQE5Ab2RusiICXUh58ftLzjem5d38oPFIpDK/YhPifyYU/nx+ElwACBCOMGGGVeSQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAURJREFUeNrkVdFtwjAUTBD/zQhmAzpBwwYZIdkgG+BOQDeADWCDhAkyQtggYQJzTz1LrhuELcIXlk5+dqw7v7P9kiRv2YwxObB+FbkGBqIxv203F/mahNLvgM7OzUGeAT0zcIU0Y/mmYght+prjPecy7rz2hBq7NvQQe/bSCnquaE1zL6NQgVJIGBuSlxScEuoo1vlcyzsa4uXZGbdpmh6EDPEnIDstGW+BEdgAQ6jAB3BlXAEnCSAiRCMPs+JGXKE25oB1wLrety5GIA+8DBnJi6k1y2feBixrQXzkGZ1iBMTr3PdU7KDvIwh/OJZ1q9hy8M9P3ndN+2r2wyMrFxNze+AbO7x481/MTDEz+X4Qm2JrTmGL2MTBZ/aG2Yf4TGH7c1Up3FD8KDbNUUFrEirH/3l/Nk6lHFgqXvabVMlbtpsAAwDhrMlw/gmUnAAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAa5JREFUeNrkVe1NwzAQTSr+YyYgTICZgDABYYOMkA0IE1hMEJigYoKUCQITpEyQbmCe0TO6WlerSPyrpafkrpd79+VrUZz08d53Xj9TtCmPcNLicQ/UwBYwxAtggTf+Hs8H0JU4QVhlHNfAjNdb4BX2F8ANcBXeoXtWPtumirNM1A54gLMN5AoYIFciykCwA66F7kvI2cgXwFK2IROgJ1HF94U9GFn3qAuyyxEEZ3UiN1qWsZkkCI6rnGPDjwahs3IiKFshT8y4pTyQyB6KPKZoRLmcIF+IlroxZktbTz9OI2hoMCQE0ekQMwDW1HlBYNifJVcmqzT8p4GKbS8JhH6PYKV86JK5DqN4rsRz+ddrb0XastEV62rEiPbC1uYySJvsxD5xMitOTMteLNTVSh/Xhwi8cLYwozhFI3UzyeO09cmdGePIagQjo+s4JQ0dtiSKJZxYrlqMbiN2V/aiTSQZGGlDfS/6YbSyMLA69VumJHiMXFwF13LFZ9B9HojvEQjbdpf+sDemNLjjng/nHdiQwNKRdp5oc/TI/pYruVTtf/4dGrGKZ62+p3G+BRgAmB+lH2iNhM8AAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAStJREFUeNrsVdERgjAMpZ4DMAIb6Ag4gYwCG7ABbgAbWCZQJ0AngA10g5ro65nrQe15fim5yyUNyUvbvB5RNMvPiwpNNMZkZLZYtkopHVK3CAQvydSkN+gese+IeUoq1ili8aeACasE8zVF/joUvDYvYT/2ncDJP7wD58Ir7wZqYCvEK8dPRE6CeCYxlyN9eIiD8GNiTEGFF8GigmKNONVA6xutH/m+BmeAdqLwiHkkovgxI3zjmk6A68kG2MWGXHtMzVdBNkfhCfEVaU/fdmRtPoM3jOGbAd/lHvfK99nBpp552RyD2rVvwJY57Jd2gG82xJKjpnYZJ5N7+TrBkjqQ1pV89Yw19VpjsT7wzgIa5JL/9t2MDblwBtS6jJgQLakJojTzf+SP5C7AADyJjBo8jjvhAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAATdJREFUeNrkVdENgkAM5Yj/MoIjOAIb6AiM4AhuoBucGxgnQCbADXQDdIKzTR6kKSAVNSba5IWj1/Z61767KPorCSHsGc/4xD2BPCF0TCWAtmfx1ixX2oHGCSEjnAEeJzoh9h0KzoEqQqkWrEJbKhmQfaBLLNmn+N/gv6x10C8JOeY20KWDu0CgUjnsB4ouEyrl7qOeYq3FuT7cMo60qRf76uaIhfEcwxO+Mx475659C2DuCNvGVx5nV5vWAdmoMDReAVvp2yQ1Ednw6u4VIlKMo44Rf5r931mA+xzDiyHGRfmYrot8kJVt9ufW4F7yweizNl14gr1+xFXuJatbbaqEb8vsHUV2HZlkgpksU8IKLD1AtyAw87eEmyw4cWE35iWrb04vjiJ/Wy+jU7x4C7ylw35D7gIMAPPohZTojoVQAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,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\"","import React, { useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Button from '@material-ui/core/Button';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogContentText from '@material-ui/core/DialogContentText';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles({\r\n Input: {\r\n fontSize: 14,\r\n },\r\n DialogText: {\r\n fontSize: 16,\r\n },\r\n DialogActions:{\r\n justifyContent: 'center',\r\n },\r\n CommentInputWrapper: {\r\n borderColor: '#dc281e',\r\n '& .MuiInput-underline': {\r\n '&:after': {\r\n borderColor: '#3b4f5a',\r\n },\r\n },\r\n },\r\n PrimaryButtonroot: {\r\n background: '#DC281E',\r\n padding: '5px 15px',\r\n fontSize: 12,\r\n '&:hover': {\r\n background: '#DC281E',\r\n },\r\n },\r\n SecondaryButtonroot: {\r\n position: 'absolute',\r\n top: 0,\r\n right: 0,\r\n border: 0,\r\n fontSize: 12,\r\n padding: '10px',\r\n color: '#DC281E',\r\n '&:hover': {\r\n border: 0,\r\n },\r\n },\r\n});\r\n\r\nfunction PaymentPopup(props) {\r\n const classes = useStyles();\r\n const { defaultState, componentToPassDown, handleClose } = props;\r\n const [open, setOpen] = React.useState(false);\r\n useEffect(() => {\r\n setOpen(defaultState);\r\n }, [defaultState]);\r\n const handlePopUpClose = () => {\r\n setOpen(false);\r\n return handleClose();\r\n };\r\n return (\r\n \r\n \r\n \r\n {componentToPassDown}\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 = () => ({\r\n});\r\n\r\nconst mapDispatchToProps = () => ({\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PaymentPopup);\r\n\r\n","import React, { useEffect, useState } from 'react';\r\nimport axios from 'axios';\r\nimport StarIcon from '@material-ui/icons/Star';\r\nimport configureStore from '../../../store/configureStore';\r\nimport Loader from '../../common/Loader';\r\nimport config from \"../../../config\";\r\nimport { update_user_profile } from \"../../../actions/action-userProfiles\";\r\n\r\nconst { payemntSecretName ,razorpayId } = config;\r\n\r\nconst store = configureStore();\r\n\r\nfunction loadRazorPay() {\r\n console.log(\"loadRazorPay\");\r\n return new Promise((resolve) => {\r\n const script = document.createElement('script')\r\n script.src = 'https://checkout.razorpay.com/v1/checkout.js'\r\n document.body.appendChild(script)\r\n script.onload = () => {\r\n resolve(true)\r\n }\r\n script.onerror = () => {\r\n resolve(false)\r\n }\r\n })\r\n}\r\n\r\nexport default function PaymentPage(props) {\r\n const { userDetails, packageDetails, handleClose } = props;\r\n\r\n const [paymentOrder, setPaymentOrder] = useState();\r\n const [agree, setAgree] = useState(false);\r\n\r\n useEffect(() => {\r\n placeOrder();\r\n }, []);\r\n\r\n const placeOrder = () => {\r\n console.log(\"placeOrder ::::::::::::::::::::::\");\r\n const {\r\n apiEndpoint,\r\n credentials\r\n } = store.getState().jwt.api;\r\n const method = 'post';\r\n const url = `${apiEndpoint}/paymentorder`;\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n // 'x-ouid': activeOuid\r\n },\r\n };\r\n const payload = {\r\n \"orderData\": {\r\n \"amount\": packageDetails.amount,\r\n \"currency\": packageDetails.currency,\r\n \"receipt\": \"rcptid_11\"\r\n },\r\n \"provider\": payemntSecretName,\r\n \"type\": \"external\"\r\n };\r\n return axios[method](\r\n url,\r\n payload,\r\n axiosHeader,\r\n ).then(async (response) => {\r\n console.log(\"Payment response : \", JSON.stringify(response.data));\r\n setPaymentOrder(response.data)\r\n })\r\n .catch((err) => {\r\n console.log(\"Payment failed : \", err);\r\n });\r\n }\r\n\r\n\r\n\r\n const showRazorPay = async () => {\r\n handleClose()\r\n const res = await loadRazorPay()\r\n console.log(\"res\", res);\r\n if (!res) {\r\n alert(\"Payemet Failed\")\r\n return\r\n }\r\n const options = {\r\n \"key\": razorpayId, // Enter the Key ID generated from the Dashboard\r\n \"amount\": packageDetails.amount, // Amount is in currency subunits. Default currency is INR. Hence, 50000 refers to 50000 paise\r\n \"currency\": packageDetails.currency,\r\n \"name\": packageDetails.name,\r\n \"description\": packageDetails.description,\r\n \"image\": \"https://ibcaamshe.com/wp-content/uploads/2021/11/cropped-webicon.png\",\r\n \"order_id\": `${paymentOrder.id}`, //This is a sample Order ID. Pass the `id` obtained in the response of Step 1\r\n \"handler\": function (response) {\r\n paymentSucess(response);\r\n },\r\n \"prefill\": {\r\n \"name\": userDetails.data.name,\r\n \"email\": userDetails.data.email\r\n },\r\n \"notes\": {\r\n \"address\": \"Razorpay Corporate Office\"\r\n },\r\n \"theme\": {\r\n \"color\": \"#3399cc\"\r\n }\r\n };\r\n const rzp1 = new window.Razorpay(options);\r\n rzp1.open();\r\n\r\n rzp1.on('payment.failed', function (response){\r\n alert(\"failed\");\r\n alert(response.error.code);\r\n alert(response.error.description);\r\n alert(response.error.source);\r\n alert(response.error.step);\r\n alert(response.error.reason);\r\n alert(response.error.metadata.order_id);\r\n alert(response.error.metadata.payment_id);\r\n })\r\n }\r\n\r\n const paymentSucess = async (response) => {\r\n console.log(\"success\");\r\n // alert(\"Payement Success\");\r\n // alert(response.razorpay_payment_id);\r\n // alert(response.razorpay_order_id);\r\n // alert(response.razorpay_signature)\r\n let newUserDetails = userDetails; \r\n newUserDetails.data.subscriptionStatus = \"subscribed\";\r\n newUserDetails.data.paymentDetails = response;\r\n newUserDetails.data.bizRegistrationStatus = \"inprogress\";\r\n console.log(\"newUserDetails :: \", newUserDetails);\r\n await store.dispatch(update_user_profile(newUserDetails, newUserDetails.data.username)); \r\n // handleClose();\r\n window.location.reload();\r\n }\r\n const checkboxHandler = () => {\r\n // if agree === true, it will be set to false\r\n // if agree === false, it will be set to true\r\n setAgree(!agree);\r\n // Don't miss the exclamation mark\r\n }\r\n\r\n return (\r\n
\r\n {\r\n paymentOrder ?\r\n
\r\n
\r\n \r\n
\r\n
\r\n IBC Life Long Membership\r\n
\r\n
Become a member of the club to grow you business to next level. After you pay the membership fee register your business and start scaling.
\r\n
One Time
\r\n
Rs 10,000/- + GST
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n :\r\n \r\n }\r\n\r\n {/* {showUploadLoader ?\r\n \r\n : \"\"} */}\r\n
\r\n );\r\n}","import React from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Card from '@material-ui/core/Card';\r\nimport CardActionArea from '@material-ui/core/CardActionArea';\r\nimport CardActions from '@material-ui/core/CardActions';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport CardMedia from '@material-ui/core/CardMedia';\r\nimport Button from '@material-ui/core/Button';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport PaymentPopup from './PaymentPopup'\r\nimport PaymentPage from './PaymentPage';\r\nimport Packageimage from '../../assets/images/edwinImages/service-bg.png';\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n maxWidth: 140,\r\n minWidth: 140,\r\n minHeight: 120,\r\n position: 'relative',\r\n },\r\n media: {\r\n position: 'absolute',\r\n left: 0,\r\n right: 0,\r\n top: 0,\r\n height: '100%',\r\n },\r\n CardActionArea: {\r\n height: '100%',\r\n color: '#fff',\r\n },\r\n CardHeading: {\r\n maxWidth: '50%',\r\n }\r\n});\r\n\r\nexport default function ActionCard(props) {\r\n const classes = useStyles();\r\n const [payment, setPayment] = React.useState(false);\r\n const { packageDetails, userDetails } = props;\r\n const { details } = props;\r\n\r\n return (\r\n <>\r\n setPayment(!payment)}>\r\n \r\n \r\n \r\n \r\n {details.heading}\r\n \r\n \r\n \r\n \r\n { setPayment(!payment) }}\r\n />}\r\n handleClose={() => { setPayment(!payment) }}\r\n />\r\n \r\n );\r\n}\r\n","export default __webpack_public_path__ + \"static/media/welcomecard.10efb9cf.jpg\";","export default __webpack_public_path__ + \"static/media/moneycard.1536c02f.jpg\";","export default __webpack_public_path__ + \"static/media/shopcard.9248f2dd.jpg\";","import React from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Card from '@material-ui/core/Card';\r\nimport CardActionArea from '@material-ui/core/CardActionArea';\r\nimport CardActions from '@material-ui/core/CardActions';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport CardMedia from '@material-ui/core/CardMedia';\r\nimport Button from '@material-ui/core/Button';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport PaymentPopup from './PaymentPopup'\r\nimport PaymentPage from './PaymentPage';\r\nimport Welcome from '../../../components/assets/images/edwinImages/welcomecard.jpg';\r\nimport Money from '../../../components/assets/images/edwinImages/moneycard.jpg';\r\nimport Shop from '../../../components/assets/images/edwinImages/shopcard.jpg';\r\nimport Funding from '../../../components/assets/images/edwinImages/fundingcard.jpg';\r\nimport Done from '../../../components/assets/images/edwinImages/donecard.jpg';\r\n\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n maxWidth: 345,\r\n margin: '0 auto',\r\n borderRadius: 15,\r\n overflow: 'hidden',\r\n marginTop: 30,\r\n },\r\n packageCardBg: {\r\n position: 'absolute',\r\n left: 0,\r\n right: 0,\r\n bottom: 0,\r\n height: '100%',\r\n },\r\n eyebrow:{\r\n background: '#d1e9f8',\r\n marginBottom: 30,\r\n width: 'max-content',\r\n color: '#59b1e6',\r\n padding: '3px 10px',\r\n borderRadius: 25,\r\n fontSize: 12,\r\n },\r\n packageCardContent: {\r\n position: 'relative',\r\n minHeight:250,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n justifyContent: 'flex-end',\r\n },\r\n heading: {\r\n maxWidth: '70%',\r\n color: '#fff',\r\n fontWeight: 'bold',\r\n },\r\n details: {\r\n maxWidth: '70%',\r\n color: '#fff',\r\n },\r\n packagePrice:{\r\n fontWeight: 'bold',\r\n color: '#00c853',\r\n fontSize: 28,\r\n },\r\n button: {\r\n alignSelf: 'flex-end',\r\n }\r\n\r\n});\r\nfunction getSteps() {\r\n return ['Step 1', 'Step 2', 'Step 3'];\r\n}\r\n\r\nexport default function PackageCard(props) {\r\n const classes = useStyles();\r\n\r\n const { packageDetails, userDetails } = props;\r\n const [payment, setPayment] = React.useState(false);\r\n\r\n\r\n const [activeStep, setActiveStep] = React.useState(0);\r\n const [skipped, setSkipped] = React.useState(new Set());\r\n const steps = getSteps();\r\n\r\n const isStepOptional = (step) => {\r\n return step === 1;\r\n };\r\n\r\n const isStepSkipped = (step) => {\r\n return skipped.has(step);\r\n };\r\n\r\n const handleNext = () => {\r\n let newSkipped = skipped;\r\n if (isStepSkipped(activeStep)) {\r\n newSkipped = new Set(newSkipped.values());\r\n newSkipped.delete(activeStep);\r\n }\r\n\r\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\r\n setSkipped(newSkipped);\r\n };\r\n\r\n const handleBack = () => {\r\n setActiveStep((prevActiveStep) => prevActiveStep - 1);\r\n };\r\n\r\n const handleSkip = () => {\r\n if (!isStepOptional(activeStep)) {\r\n // You probably want to guard against something like this,\r\n // it should never occur unless someone's actively trying to break something.\r\n throw new Error(\"You can't skip a step that isn't optional.\");\r\n }\r\n\r\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\r\n setSkipped((prevSkipped) => {\r\n const newSkipped = new Set(prevSkipped.values());\r\n newSkipped.add(activeStep);\r\n return newSkipped;\r\n });\r\n };\r\n\r\n const handleReset = () => {\r\n setActiveStep(0);\r\n };\r\n\r\n const getStepContent = (step) => {\r\n switch (step) {\r\n case 0:\r\n return (\r\n \r\n \r\n \r\n \r\n Welcome

Let’s get a membership.\r\n
\r\n \r\n {packageDetails.details}\r\n \r\n \r\n Continue\r\n \r\n
\r\n
\r\n \r\n
);\r\n case 1:\r\n return (\r\n \r\n \r\n \r\n \r\n Grow your business with us\r\n \r\n \r\n We aim to provide business opportunities to existing and upcoming businesses.\r\n \r\n \r\n Continue\r\n \r\n \r\n \r\n \r\n );\r\n case 2:\r\n return (\r\n setPayment(!payment)}>\r\n \r\n \r\n \r\n Get funding for your business\r\n \r\n \r\n We will help to find the best investment option for your business.\r\n \r\n setPayment(!payment)}\r\n className={classes.button}\r\n >\r\n Continue\r\n \r\n \r\n \r\n \r\n );\r\n default:\r\n return 'Unknown step';\r\n }\r\n}\r\n\r\n\r\n return (\r\n
\r\n {/* \r\n setPayment(!payment)}>\r\n \r\n \r\n \r\n One Time\r\n \r\n \r\n {packageDetails.heading}\r\n \r\n \r\n {packageDetails.price}\r\n \r\n \r\n {packageDetails.details}\r\n \r\n \r\n \r\n \r\n */}\r\n
\r\n {activeStep === steps.length ? (\r\n
\r\n \r\n All steps completed - you're finished\r\n \r\n \r\n
\r\n ) : (\r\n
\r\n {getStepContent(activeStep)}\r\n {/*
\r\n \r\n {activeStep === steps.length - 1 ?\r\n\r\n setPayment(!payment)}\r\n className={classes.button}\r\n >\r\n Finish\r\n \r\n\r\n :\r\n \r\n Next\r\n \r\n }\r\n\r\n
*/}\r\n
\r\n )}\r\n
\r\n { setPayment(!payment) }}\r\n />}\r\n handleClose={() => { setPayment(!payment) }}\r\n />\r\n
\r\n );\r\n}\r\n","export default __webpack_public_path__ + \"static/media/fundingcard.b65d96a5.jpg\";","export default __webpack_public_path__ + \"static/media/donecard.cbbcce97.jpg\";","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { makeStyles, withStyles } from \"@material-ui/core/styles\";\r\nimport clsx from \"clsx\";\r\nimport Stepper from \"@material-ui/core/Stepper\";\r\nimport Step from \"@material-ui/core/Step\";\r\nimport StepLabel from \"@material-ui/core/StepLabel\";\r\nimport Check from \"@material-ui/icons/Check\";\r\nimport SettingsIcon from \"@material-ui/icons/Settings\";\r\nimport GroupAddIcon from \"@material-ui/icons/GroupAdd\";\r\nimport VideoLabelIcon from \"@material-ui/icons/VideoLabel\";\r\nimport StepConnector from \"@material-ui/core/StepConnector\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport FormControl from \"@material-ui/core/FormControl\";\r\nimport Select from \"@material-ui/core/Select\";\r\nimport InputLabel from \"@material-ui/core/InputLabel\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport { showSnackbar, hideSnackbar } from \"../../../actions/action-snackbar\";\r\nimport { history } from \"../../../reducers\";\r\nimport { Paper } from \"@material-ui/core\";\r\nimport axios from \"axios\";\r\n\r\nconst store = configureStore();\r\n\r\nconst useQontoStepIconStyles = makeStyles({\r\n root: {\r\n color: \"#eaeaf0\",\r\n display: \"flex\",\r\n height: 22,\r\n alignItems: \"center\",\r\n },\r\n active: {\r\n color: \"#784af4\",\r\n },\r\n circle: {\r\n width: 8,\r\n height: 8,\r\n borderRadius: \"50%\",\r\n backgroundColor: \"currentColor\",\r\n },\r\n completed: {\r\n color: \"#784af4\",\r\n zIndex: 1,\r\n fontSize: 18,\r\n },\r\n});\r\n\r\nfunction QontoStepIcon(props) {\r\n const classes = useQontoStepIconStyles();\r\n const { active, completed } = props;\r\n\r\n return (\r\n \r\n {completed ? (\r\n \r\n ) : (\r\n
\r\n )}\r\n
\r\n );\r\n}\r\n\r\nQontoStepIcon.propTypes = {\r\n /**\r\n * Whether this step is active.\r\n */\r\n active: PropTypes.bool,\r\n /**\r\n * Mark the step as completed. Is passed to child components.\r\n */\r\n completed: PropTypes.bool,\r\n};\r\n\r\nconst useColorlibStepIconStyles = makeStyles({\r\n root: {\r\n backgroundColor: \"#ccc\",\r\n zIndex: 1,\r\n color: \"#fff\",\r\n width: 50,\r\n height: 50,\r\n display: \"flex\",\r\n borderRadius: \"50%\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n },\r\n active: {\r\n backgroundImage:\r\n \"linear-gradient( 136deg, rgb(242,113,33) 0%, rgb(233,64,87) 50%, rgb(138,35,135) 100%)\",\r\n boxShadow: \"0 4px 10px 0 rgba(0,0,0,.25)\",\r\n },\r\n completed: {\r\n backgroundImage:\r\n \"linear-gradient( 136deg, rgb(242,113,33) 0%, rgb(233,64,87) 50%, rgb(138,35,135) 100%)\",\r\n },\r\n});\r\n\r\nfunction ColorlibStepIcon(props) {\r\n const classes = useColorlibStepIconStyles();\r\n const { active, completed } = props;\r\n\r\n const icons = {\r\n 1: ,\r\n 2: ,\r\n 3: ,\r\n };\r\n\r\n return (\r\n \r\n {icons[String(props.icon)]}\r\n
\r\n );\r\n}\r\n\r\nColorlibStepIcon.propTypes = {\r\n /**\r\n * Whether this step is active.\r\n */\r\n active: PropTypes.bool,\r\n /**\r\n * Mark the step as completed. Is passed to child components.\r\n */\r\n completed: PropTypes.bool,\r\n /**\r\n * The label displayed in the step icon.\r\n */\r\n icon: PropTypes.node,\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n maxWidth: 750,\r\n margin: \"0 auto\",\r\n width: \"100%\",\r\n },\r\n button: {\r\n marginRight: theme.spacing(1),\r\n },\r\n instructions: {\r\n marginTop: theme.spacing(1),\r\n marginBottom: theme.spacing(1),\r\n },\r\n input: {\r\n width: \"100%\",\r\n },\r\n formControl: {\r\n width: \"100%\",\r\n },\r\n}));\r\n\r\nfunction getSteps() {\r\n return [\"Step 1\", \"Step 2\", \"Step 3\"];\r\n}\r\n\r\nexport default function RegisterForm(props) {\r\n const { userDetails } = props;\r\n const classes = useStyles();\r\n const [activeStep, setActiveStep] = React.useState(0);\r\n const [state, setState] = React.useState({\r\n businessDetails: { type: \"biz\" },\r\n });\r\n const steps = getSteps();\r\n\r\n const handleNext = () => {\r\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\r\n };\r\n\r\n const handleBack = () => {\r\n setActiveStep((prevActiveStep) => prevActiveStep - 1);\r\n };\r\n\r\n const handleReset = () => {\r\n setActiveStep(0);\r\n };\r\n\r\n const handleSubmit = () => {\r\n createWorkOrder(userDetails, state.businessDetails);\r\n };\r\n\r\n const createWorkOrder = async (userDetails, businessDetails) => {\r\n const { apiEndpoint, credentials } = store.getState().jwt.api;\r\n const method = \"post\";\r\n const url = `${apiEndpoint}/workorder`;\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": \"ibc\",\r\n },\r\n };\r\n let userData = userDetails.data;\r\n var orgType = \"biz\";\r\n if (userDetails.data.usertype === \"investor\") {\r\n orgType = \"inv\";\r\n businessDetails.type = \"inv\"; //todo remove the duplication.\r\n }\r\n /**\r\n * \r\n * {\r\n \"type\": \"BusinessRegistrationWorkOrder\",\r\n \"requestId\": \"{clientSideIdIfNeededForTracking}\",\r\n \"description\": \"Business Registration Order\",\r\n \"deadline\": \"2022-01-02T18:11:43.000Z\",\r\n \"details\": {\r\n \"orgType\": \"biz\",\r\n \"registrationDetails\": {\r\n \"name\": \"test\",\r\n \"businessType\": \"Education\",\r\n \"companyID\": \"12345\",\r\n \"GSTNumber\": \"123456\",\r\n \"address\": \"mattannur\",\r\n \"phoneNumber\": \"1234567890\",\r\n \"numberOfStaffs\": \"2\"\r\n },\r\n \"userDetails\": {\r\n \"username\": \"vyshak\",\r\n \"name\": \"Vyshak\",\r\n \"email\": \"vyshak@cloudechosystems.com\",\r\n \"cognitoStatus\": \"CONFIRMED\",\r\n \"createdBy\": \"Cognito Login\",\r\n \"subscriptionStatus\": \"subscribed\",\r\n \"createdDate\": 1640602098014,\r\n \"lastModifiedDate\": 1641450050104,\r\n \"paymentDetails\": {\r\n \"razorpay_payment_id\": \"pay_IgM5iltfnJsdwN\",\r\n \"razorpay_order_id\": \"order_IgM5bOddSfz0Bn\",\r\n \"razorpay_signature\": \"37a8a98928711b0633caf6da92ceb5c6b16e5284eb8531cd5690b3b1cb5edfdf\"\r\n },\r\n \"bizRegistrationStatus\": \"inprogress\"\r\n }\r\n }\r\n }\r\n * \r\n * \r\n * \r\n */\r\n const woDetails = {\r\n orgType: orgType,\r\n registrationDetails: businessDetails,\r\n userDetails: userData,\r\n };\r\n const payload = {\r\n type: \"BusinessRegistrationWorkorder\",\r\n description:\r\n \"Business Registration WorkOrder to create organisation for the business and add org users.\",\r\n requestId: \"\",\r\n deadline: \"\",\r\n details: woDetails,\r\n };\r\n\r\n console.log(\"payload:::::::\", JSON.stringify(payload));\r\n return axios[method](url, payload, axiosHeader)\r\n .then(async (response) => {\r\n console.log(\r\n \"Create WorkOrder response : \",\r\n JSON.stringify(response.data)\r\n );\r\n await store.dispatch(\r\n showSnackbar(\"Business Registration Requested\", \"success\")\r\n );\r\n history.push(`/system/registration-completed`);\r\n })\r\n .catch((err) => {\r\n console.log(\r\n \"Business Registration Request failed, Please contact support : \",\r\n err\r\n );\r\n });\r\n };\r\n\r\n const onInputChange = (event) => {\r\n const newBusinessDetails = state.businessDetails;\r\n if (event.target.id) {\r\n newBusinessDetails[event.target.id] = event.target.value;\r\n } else {\r\n newBusinessDetails[event.target.name] = event.target.value;\r\n }\r\n setState({\r\n businessDetails: newBusinessDetails,\r\n });\r\n };\r\n\r\n const getStepContent = (step) => {\r\n switch (step) {\r\n case 0:\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Type Of business\r\n \r\n \r\n None\r\n \r\n Education\r\n \r\n Information technology\r\n \r\n Human resources\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n case 1:\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n case 2:\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n default:\r\n return \"Unknown step\";\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n

Complete your company registration to continue.

\r\n \r\n {steps.map((label) => (\r\n \r\n {label}\r\n \r\n ))}\r\n \r\n
\r\n {activeStep === steps.length ? (\r\n
\r\n \r\n All steps completed - you're finished\r\n \r\n \r\n
\r\n ) : (\r\n
\r\n \r\n {getStepContent(activeStep)}\r\n \r\n
\r\n \r\n Back\r\n \r\n {activeStep === steps.length - 1 ? (\r\n \r\n Finish\r\n \r\n ) : (\r\n \r\n Next\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n {/* {JSON.stringify(state.businessDetails)}\r\n {JSON.stringify(userDetails)} */}\r\n
\r\n );\r\n}\r\n","import React from 'react';\r\nimport ActionCard from './ActionCard';\r\nimport PackageCard from './PackageCard';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport RegisterForm from './RegisterForm';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: '100%',\r\n },\r\n button: {\r\n marginRight: theme.spacing(1),\r\n },\r\n instructions: {\r\n marginTop: theme.spacing(1),\r\n marginBottom: theme.spacing(1),\r\n },\r\n}));\r\n\r\nfunction getSteps() {\r\n return ['Select campaign settings', 'Create an ad group', 'Create an ad'];\r\n}\r\n\r\nfunction getStepContent(step) {\r\n switch (step) {\r\n case 0:\r\n return 'Select campaign settings...';\r\n case 1:\r\n return 'What is an ad group anyways?';\r\n case 2:\r\n return 'This is the bit I really care about!';\r\n default:\r\n return 'Unknown step';\r\n }\r\n}\r\n\r\nexport default function UnSubscribedUser(props) {\r\n const { userDetails } = props;\r\n const packageDetails = { \"heading\": \"Life Long Membership\", \"name\": \"IBC\", \"description\": \"Life Long Membership\", \"currency\": \"INR\", \"amount\": 1180000, \"price\": \"₹ 11,800/-\", \"details\": \"Become a member to the club of enterpernures and investor\", \"tag\": \"One Time\" }\r\n const actionCards = [{ \"heading\": \"Get Investment\", \"color\": \"#ffad2b\" }, { \"heading\": \"Get Loan\", \"color\": \"#1693dc\" }, { \"heading\": \"Govt. Schemes\", \"color\": \"#251c71\" }];\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n {/*
\r\n

Services

\r\n
\r\n {\r\n actionCards.map((actionCard) => (\r\n \r\n ))\r\n }\r\n
\r\n
*/}\r\n
\r\n\r\n );\r\n}","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport SidebarWrapper from \"../layout/SidebarWrapper\";\r\nimport Footer from \"../layout/Footer\";\r\nimport configureStore from \"../../store/configureStore\";\r\nimport UnSubscribedUser from \"./UserPage/UnSubscribedUser\";\r\nimport { history } from \"../../reducers\";\r\nimport CommonSnackBar from \"../common/CommonSnackBar\";\r\nimport Header from \"../layout/Header\";\r\n\r\nconst store = configureStore();\r\n\r\nclass UserHome extends Component {\r\n constructor() {\r\n super();\r\n this.state = {};\r\n }\r\n componentDidMount() {\r\n console.log(\"componentDidMount : \");\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return;\r\n }\r\n }\r\n\r\n render() {\r\n const { permissions } = store.getState().permission;\r\n const { details } = store.getState().myProfile;\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n {details.data && (\r\n
\r\n {details.data.subscriptionStatus === \"unsubscribed\" &&\r\n details.data.defaultOrgType !== \"SYSTEM\" &&\r\n details.data.defaultOrgType !== \"ROOT\" ? (\r\n \r\n ) : (\r\n
\r\n )}\r\n
\r\n )}\r\n \r\n
\r\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 permission: state.permission,\r\n myProfile: state.myProfile,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n // get_user_profile_details: (username) => dispatch(get_user_profile_details(username)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UserHome);\r\n","import {\r\n GET_ALL_NOTIFICATION_REQUESTED,\r\n GET_ALL_NOTIFICATION_SUCCESS,\r\n GET_ALL_NOTIFICATION_ERRORED,\r\n UPDATE_NOTIFICATION_REQUESTED,\r\n UPDATE_NOTIFICATION_SUCCESS,\r\n UPDATE_NOTIFICATION_ERRORED,\r\n} from '../constant/action-types';\r\nimport axios from 'axios';\r\nimport { showSnackbar } from './action-snackbar';\r\n\r\nimport configureStore from '../store/configureStore';\r\n\r\nconst store = configureStore();\r\n\r\nexport const get_all_notification_requested = () => ({\r\n type: GET_ALL_NOTIFICATION_REQUESTED,\r\n});\r\n\r\nexport const get_all_notification_success = (payload) => ({\r\n type: GET_ALL_NOTIFICATION_SUCCESS,\r\n payload\r\n});\r\n\r\nexport const get_all_notification_errored = (error) => ({\r\n type: GET_ALL_NOTIFICATION_ERRORED,\r\n error,\r\n});\r\n\r\nexport const get_all_notification = (ouid) => async (dispatch) => {\r\n dispatch(get_all_notification_requested());\r\n console.log(`get_all_notification`);\r\n const {\r\n apiEndpoint,\r\n credentials,\r\n } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const url = `${apiEndpoint}/notification`;\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = 'get';\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n 'x-ouid': ouid,\r\n },\r\n };\r\n return axios[method](\r\n url,\r\n axiosHeader,\r\n )\r\n .then((response) => {\r\n console.log(\"Get All Notifications Success\");\r\n // dispatch(showSnackbar('Get All Channel Partner Successfully', 'success'));\r\n dispatch(get_all_notification_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log('Get All Orgunit Failed');\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n dispatch(showSnackbar('Get Notifications Failed', 'error'));\r\n dispatch(get_all_notification_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\n\r\nexport const update_notification_requested = () => ({\r\n type: UPDATE_NOTIFICATION_REQUESTED,\r\n});\r\n\r\nexport const update_notification_success = (payload) => ({\r\n type: UPDATE_NOTIFICATION_SUCCESS,\r\n});\r\n\r\nexport const update_notification_errored = (error) => ({\r\n type: UPDATE_NOTIFICATION_ERRORED,\r\n error,\r\n});\r\n\r\nexport const update_notification = (notifId, ouid, payload) => async (dispatch) => {\r\n dispatch(update_notification_requested());\r\n console.log(`update_notification_requested`);\r\n const {\r\n apiEndpoint,\r\n credentials,\r\n } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const url = `${apiEndpoint}/notification/${notifId}`;\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = 'put';\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n 'x-ouid': ouid,\r\n },\r\n };\r\n return axios[method](\r\n url,\r\n payload,\r\n axiosHeader,\r\n )\r\n .then((response) => {\r\n console.log(\"Update Notifications Success\");\r\n dispatch(showSnackbar('Notification Updated Successfully', 'success'));\r\n dispatch(update_notification_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log('Update Notifications Failed');\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n dispatch(showSnackbar('Update Notifications Failed', 'error'));\r\n dispatch(update_notification_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { connect } from 'react-redux';\r\nimport configureStore from '../../../store/configureStore';\r\nimport { timeFormat } from '../../common/CommonFunctions'\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Button from '@material-ui/core/Button';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport { update_notification } from '../../../actions/action-notification';\r\n\r\n\r\nconst store = configureStore();\r\n\r\nfunction NotificationDetails(props) {\r\n const { notif, closeNotifDash } = props;\r\n const [state, setState] = React.useState(notif);\r\n\r\n const Icontooltip = withStyles({\r\n tooltip: {\r\n fontSize: 12,\r\n },\r\n })(Tooltip);\r\n\r\n\r\n\r\n const update = async () => {\r\n await setState({ ...state, 'status': 'CLOSED' });\r\n const newData = state;\r\n newData.status = 'CLOSED';\r\n console.log(\"New data ::: \", newData);\r\n const notifId = state.identifier;\r\n const path = window.location.pathname.split('/');\r\n const ouid = path[1];\r\n if (ouid && notifId) {\r\n let updateNotificationDetails = { \"data\": state }\r\n await store.dispatch(update_notification(notifId, ouid, updateNotificationDetails));\r\n return closeNotifDash()\r\n }\r\n }\r\n\r\n\r\n const renderDetails = () => {\r\n return (\r\n <>\r\n
\r\n Notification Type\r\n
\r\n
\r\n {state.notifName}\r\n
\r\n
\r\n Details\r\n
\r\n
\r\n {state.notifDetail}\r\n
\r\n
\r\n Status\r\n
\r\n
\r\n {state.status}\r\n
\r\n
\r\n Created Time\r\n
\r\n
\r\n {timeFormat(state.createdDate)}\r\n
\r\n
\r\n Due date\r\n
\r\n
\r\n {timeFormat(state.dueDate)}\r\n
\r\n\r\n \r\n )\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n

Notifications Details

\r\n
\r\n
\r\n \r\n
\r\n
\r\n {state &&\r\n renderDetails()\r\n }\r\n
\r\n {state.status === 'OPEN' && (\r\n \r\n )}\r\n\r\n
\r\n
\r\n \r\n );\r\n}\r\nconst mapStateToProps = (state) => ({\r\n permission: state.permission,\r\n document: state.document,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n update_notification: (notifId, ouid, payload) => dispatch(update_notification(notifId, ouid, payload)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(NotificationDetails);\r\n\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport configureStore from '../../../store/configureStore';\r\nimport { get_all_notification } from '../../../actions/action-notification';\r\nimport SidebarWrapper from '../../layout/SidebarWrapper';\r\nimport { history } from '../../../reducers';\r\nimport Loader from '../../common/Loader';\r\nimport { DataGrid } from '@material-ui/data-grid';\r\nimport { timeFormat, updateQueryStringParameter } from '../../common/CommonFunctions'\r\nimport { hideSnackbar } from '../../../actions/action-snackbar';\r\nimport NotificationDetails from './NotificationDetails';\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\n\r\nconst store = configureStore();\r\n\r\nconst columns = [\r\n {\r\n field: 'notifName',\r\n headerName: 'Notif Name',\r\n width: 300,\r\n },\r\n {\r\n field: 'created-Date',\r\n headerName: 'CreatedDate',\r\n width: 150,\r\n editable: false,\r\n valueGetter: (params) =>\r\n `${timeFormat(params.getValue(params.id, 'createdDate')) || ''}`\r\n },\r\n {\r\n field: 'due-Date',\r\n headerName: 'DueDate',\r\n width: 150,\r\n editable: false,\r\n valueGetter: (params) =>\r\n `${timeFormat(params.getValue(params.id, 'dueDate')) || ''}`\r\n },\r\n {\r\n field: 'status',\r\n headerName: 'Status',\r\n width: 150,\r\n },\r\n {\r\n field: 'workflowName',\r\n headerName: 'workflowName',\r\n type: 'number',\r\n width: 200,\r\n editable: false\r\n },\r\n];\r\n\r\n\r\n\r\nclass Notifications extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n notificationsToShow: [],\r\n selectionModel: \"\",\r\n notifDash: false,\r\n currentNotif: {},\r\n allStatus: false,\r\n };\r\n }\r\n\r\n\r\n componentDidMount() {\r\n console.log(\"componentDidMount\");\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return\r\n }\r\n this.fetchDetails();\r\n }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n\r\n componentWillUnmount() {\r\n console.log(\"componentWillUnmount\");\r\n store.dispatch(hideSnackbar());\r\n }\r\n\r\n async fetchDetails() {\r\n const { get_all_notification } = this.props;\r\n const path = window.location.pathname.split('/');\r\n const ouid = path[1];\r\n await get_all_notification(ouid);\r\n const { notifications } = store.getState().notification;\r\n console.log(\"renderNotifications :::: notifications \", notifications)\r\n this.setState({\r\n notificationsToShow: notifications.filter(function (item) { return item.data.status === \"OPEN\" }),\r\n })\r\n }\r\n\r\n renderNotifications(notifications) {\r\n console.log(\"renderNotifications :::: \", notifications)\r\n let newRows = [];\r\n notifications.map((notification, index) => {\r\n let newRow = notification.data;\r\n newRow['id'] = notification.data.identifier;\r\n newRows.push(newRow);\r\n });\r\n return newRows;\r\n }\r\n\r\n setSelectionModel(id) {\r\n this.setState({\r\n selectionModel: id,\r\n });\r\n }\r\n\r\n setNOtifDash(value) {\r\n this.setState({\r\n notifDash: value,\r\n });\r\n }\r\n\r\n openNotifDash(data) {\r\n console.log(\"openWorkDash : \", data.row)\r\n this.setNOtifDash(true);\r\n this.setSelectionModel(data.row.id);\r\n this.setState({\r\n currentNotif: data.row,\r\n });\r\n updateQueryStringParameter('identifier', data.row.id, null);\r\n }\r\n\r\n closeNotifDash() {\r\n console.log(\"openNotifDash\")\r\n this.setNOtifDash(false);\r\n this.setState({\r\n currentNotif: \"\",\r\n });\r\n updateQueryStringParameter('identifier', '', null);\r\n }\r\n\r\n handleCheckChange(event) {\r\n const { notifications } = store.getState().notification;\r\n this.setState({\r\n allStatus: event.target.checked,\r\n notificationsToShow: notifications.filter(function (item) { return item.data.status === \"OPEN\" }),\r\n });\r\n if (event.target.checked) {\r\n this.setState({\r\n notificationsToShow: notifications,\r\n })\r\n }\r\n }\r\n\r\n render() {\r\n const { permissions } = store.getState().permission;\r\n const { showGlobalLoader } = store.getState().notification;\r\n return (\r\n
\r\n \r\n
\r\n
\r\n {showGlobalLoader ?\r\n \r\n :
\r\n
\r\n

Notifications

\r\n {/* this.search(e.target.value.split(' '), Investors)} /> */}\r\n
\r\n
\r\n
\r\n this.handleCheckChange(event)}\r\n name=\"checkedB\"\r\n color=\"primary\"\r\n />\r\n }\r\n label=\"View All Notifications\"\r\n />\r\n
\r\n
\r\n { this.openNotifDash(e) }}\r\n selectionModel={this.state.selectionModel}\r\n hideFooterSelectedRowCount\r\n onSelectionModelChange={(selection) => {\r\n if (selection.length > !2) {\r\n let lastElement = selection.pop();\r\n this.setSelectionModel(lastElement);\r\n } else {\r\n let lastElement = selection.pop();\r\n this.setSelectionModel(lastElement);\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n {this.state.notifDash && this.state.currentNotif &&\r\n { this.closeNotifDash() }}\r\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 permission: state.permission,\r\n notification: state.notification,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_all_notification: (ouid) => dispatch(get_all_notification(ouid)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Notifications);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport configureStore from '../../store/configureStore';\r\nimport SidebarWrapper from '../layout/SidebarWrapper';\r\nimport { history } from '../../reducers';\r\nimport Button from '@material-ui/core/Button';\r\n\r\nconst store = configureStore();\r\n\r\nclass PermissionError extends Component {\r\n\r\n render() {\r\n const { permissions } = store.getState().permission;\r\n const isAuthenticated = this.props.auth.isAuthenticated;\r\n return (\r\n
\r\n \r\n
\r\n
\r\n You don't have permission to this action.\r\n
Contact Ibc admin for more information More info
\r\n {!isAuthenticated && (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n // get_user_profile_details: (username) => dispatch(get_user_profile_details(username)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PermissionError);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { get_org_user_details, update_org_user_profile } from '../../../actions/action-orguser';\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { history } from '../../../reducers';\r\nimport SidebarWrapper from '../../layout/SidebarWrapper';\r\nimport configureStore from '../../../store/configureStore';\r\nimport FormErrors from \"../../FormErrors\";\r\nimport Input from '@material-ui/core/Input';\r\nimport FormButton from '../../common/FormButton';\r\nimport Loader from '../../common/Loader';\r\nimport PolicyCard from '../../common/PolicyCard';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport Select from '@material-ui/core/Select';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport { Paper, Button } from '@material-ui/core';\r\nimport { showSnackbar, hideSnackbar } from '../../../actions/action-snackbar';\r\nimport { get_all_app_user, delete_app_user } from '../../../actions/action-appuser';\r\nimport { setActiveOuid } from \"../../../actions/action-permissions\";\r\nimport AppPolicyCard from '../../common/AppPolicyCard';\r\nimport { create_app_user } from '../../../actions/action-appuser';\r\n\r\nconst store = configureStore();\r\n\r\n\r\nclass EditOrgUser extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n userDetails: {},\r\n roles: [],\r\n oldAppUserProfiles: [],\r\n application: '',\r\n applicationRole: [],\r\n appRoleMappings: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return\r\n }\r\n const { activeOuid } = store.getState().permission;\r\n if (activeOuid) {\r\n this.fetchDetails(activeOuid);\r\n } else {\r\n this.fetchDetailsBasedOnUrl();\r\n }\r\n }\r\n\r\n async fetchDetails(activeOuid) {\r\n const path = window.location.pathname.split('/');\r\n const username = path[path.length - 1];\r\n const { get_org_user_details } = this.props;\r\n await get_org_user_details(username, activeOuid);\r\n const { get_all_app_user } = this.props;\r\n await get_all_app_user(username, activeOuid);\r\n const { orgUserDetails } = store.getState().orgUserProfile;\r\n const { appUserProfiles } = store.getState().appUserProfile;\r\n this.setState({\r\n userDetails: orgUserDetails,\r\n roles: orgUserDetails.data.roles,\r\n oldAppUserProfiles: appUserProfiles\r\n });\r\n console.log('Roles', orgUserDetails.data.roles);\r\n }\r\n\r\n async fetchDetailsBasedOnUrl() {\r\n console.log(\"fetchDetailsBasedOnUrl\");\r\n const path = window.location.pathname.split('/');\r\n const urlOuid = path[1];\r\n console.log(\"urlOuid : \", urlOuid);\r\n const username = path[path.length - 1];\r\n const { get_org_user_details } = this.props;\r\n await get_org_user_details(username, urlOuid);\r\n const { get_all_app_user } = this.props;\r\n await get_all_app_user(username, urlOuid);\r\n const { orgUserDetails } = store.getState().orgUserProfile;\r\n const { oldAppUserProfiles } = store.getState().appUserProfile;\r\n this.setState({\r\n userDetails: orgUserDetails,\r\n roles: orgUserDetails.data.roles,\r\n oldAppUserProfiles: oldAppUserProfiles\r\n }, () => {\r\n store.dispatch(setActiveOuid(urlOuid));\r\n });\r\n }\r\n\r\n clearErrorState = () => {\r\n this.setState({\r\n errors: {}\r\n });\r\n }\r\n\r\n onInputChange = event => {\r\n const newUserDetails = this.state.userDetails;\r\n newUserDetails.data[event.target.id] = event.target.value;\r\n this.setState({\r\n userDetails: newUserDetails\r\n });\r\n }\r\n\r\n deletePolicy = async index => {\r\n console.log(\"deletePolicy : \", index);\r\n let roles = this.state.roles;\r\n roles.splice(index, 1);\r\n this.setState({\r\n roles: roles\r\n });\r\n }\r\n\r\n roleChange = event => {\r\n var newRoles = this.state.roles;\r\n if (newRoles.includes(event.target.value)) {\r\n store.dispatch(showSnackbar('Role Already Added', 'error'));\r\n } else {\r\n newRoles.push(event.target.value);\r\n this.setState({\r\n roles: newRoles\r\n });\r\n }\r\n }\r\n\r\n renderOrgUnitRoles = coreConfig => {\r\n const config = coreConfig.data.config;\r\n return config.roles.map((item, index) => (\r\n {item.name}\r\n ));\r\n }\r\n\r\n appChange = event => {\r\n this.setState({\r\n [event.target.name]: event.target.value\r\n });\r\n }\r\n\r\n appRoleChange = event => {\r\n var newRoles = this.state.applicationRole;\r\n newRoles[0] = event.target.value;\r\n this.setState({\r\n applicationRole: newRoles\r\n });\r\n }\r\n\r\n renderApplicationList = coreConfig => {\r\n const config = coreConfig.data.config;\r\n return config.applications.map((item, index) => (\r\n {item.name}\r\n ));\r\n }\r\n\r\n\r\n renderApplicationRoles = application => {\r\n const { activeOuidConfigs } = store.getState().config;\r\n const applicationConfig = activeOuidConfigs.find(({ data }) => data.identifier === application)\r\n return applicationConfig.data.config.roles.map((item, index) => (\r\n {item.name}\r\n ));\r\n }\r\n\r\n\r\n addAppRole() {\r\n const oldAppUserProfiles = this.state.oldAppUserProfiles;\r\n const application = this.state.application;\r\n const appRole = this.state.applicationRole;\r\n const newAppRoleMappings = this.state.appRoleMappings;\r\n if (application && appRole.length !== 0) {\r\n const appExist = newAppRoleMappings.find(({ appId }) => appId === application);\r\n const appPolicyExistInOldData = oldAppUserProfiles.find(({ data }) => data.appId === application);\r\n if (appExist) {\r\n store.dispatch(showSnackbar(\"Application Alredy Exist In Policy\", \"error\"));\r\n } else if (appPolicyExistInOldData) {\r\n store.dispatch(showSnackbar(\"Application Alredy Exist In Old Profile\", \"error\"));\r\n }\r\n else {\r\n let policy = {\r\n \"appId\": application,\r\n \"roles\": appRole,\r\n }\r\n newAppRoleMappings.push(policy);\r\n this.setState({\r\n appRoleMappings: newAppRoleMappings,\r\n application: '',\r\n applicationRole: [],\r\n }, () => {\r\n\r\n });\r\n }\r\n } else {\r\n store.dispatch(showSnackbar(\"No Application Role Selected\", \"error\"));\r\n }\r\n }\r\n\r\n async deleteAppRole(index) {\r\n const path = window.location.pathname.split('/');\r\n const ouid = path[1];\r\n const applicationDetails = this.state.oldAppUserProfiles[index];\r\n console.log(\"deleteAppRole ::: \", applicationDetails);\r\n const appId = applicationDetails.data.appId\r\n const username = applicationDetails.data.username\r\n const { delete_app_user } = this.props;\r\n await delete_app_user(username, ouid, appId);\r\n window.location.reload();\r\n }\r\n\r\n deleteAppRoleFormMapping(index) {\r\n const newAppRoleMappings = this.state.appRoleMappings;\r\n newAppRoleMappings.splice(index, 1);\r\n this.setState({\r\n appRoleMappings: newAppRoleMappings,\r\n }, () => {\r\n\r\n });\r\n }\r\n\r\n\r\n renderApplicationPolicy(context, data) {\r\n return data.map((item, index) => (\r\n context === \"detailsPage\" ? this.deleteAppRole(index) : this.deleteAppRoleFormMapping(index)}\r\n />\r\n ));\r\n }\r\n\r\n\r\n async handleSubmit() {\r\n const path = window.location.pathname.split('/');\r\n const username = path[path.length - 1];\r\n const { update_org_user_profile } = this.props;\r\n let userDetails = this.state.userDetails;\r\n const { activeOuid } = store.getState().permission;\r\n // app user creation\r\n if (this.state.appRoleMappings.length > 0) {\r\n const { create_app_user } = this.props;\r\n this.state.appRoleMappings.map(async (item, index) => {\r\n let appUserDetails = {};\r\n appUserDetails[\"username\"] = this.state.userDetails.data.username;\r\n appUserDetails[\"roles\"] = item.roles;\r\n await create_app_user(appUserDetails, activeOuid, item.appId);\r\n });\r\n }\r\n await update_org_user_profile(userDetails, username, activeOuid);\r\n // this.props.history.push(`/${activeOuid}/orgusers`);\r\n window.location.reload();\r\n }\r\n\r\n\r\n render() {\r\n const { showGlobalLoader } = store.getState().orgUserProfile;\r\n const { permissions } = store.getState().permission;\r\n const { activeOuidConfigs } = store.getState().config;\r\n const coreConfig = activeOuidConfigs.find(({ data }) => data.identifier === 'core')\r\n return (\r\n
\r\n \r\n
\r\n {showGlobalLoader ?\r\n \r\n :\r\n
\r\n {this.state.userDetails.data && (\r\n
\r\n \r\n
\r\n

Edit Org User 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 {this.state.roles && (\r\n
\r\n {this.state.roles.map((item, index) => (\r\n this.deletePolicy(index)}\r\n editable\r\n />\r\n ))\r\n }\r\n
\r\n )}\r\n {this.state.roles.length === 0 && (\r\n
\r\n \r\n Role\r\n \r\n {this.renderOrgUnitRoles(coreConfig)}\r\n \r\n \r\n
\r\n )}\r\n\r\n {this.state.oldAppUserProfiles ?\r\n this.renderApplicationPolicy(\"detailsPage\", this.state.oldAppUserProfiles)\r\n :\r\n <>\r\n }\r\n\r\n
\r\n\r\n\r\n {/* \r\n {this.state.appRoleMappings.length !== 0 ?\r\n this.renderApplicationPolicy(\"createPage\", this.state.appRoleMappings)\r\n :\r\n <>\r\n }\r\n
\r\n
\r\n
\r\n \r\n Applications\r\n \r\n \r\n {this.renderApplicationList(coreConfig)}\r\n \r\n\r\n\r\n {this.state.application && (\r\n <>\r\n \r\n Application Role\r\n \r\n \r\n {this.renderApplicationRoles(this.state.application)}\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.handleSubmit()}\r\n text=\"Update\"\r\n />\r\n

\r\n
\r\n\r\n
\r\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 orgUserProfile: state.orgUserProfile,\r\n appUserProfile: state.appUserProfile,\r\n permission: state.permission,\r\n});\r\n\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_org_user_details: (username, activeOuid) => dispatch(get_org_user_details(username, activeOuid)),\r\n get_all_app_user: (username, activeOuid) => dispatch(get_all_app_user(username, activeOuid)),\r\n delete_app_user: (username, activeOuid, appid) => dispatch(delete_app_user(username, activeOuid, appid)),\r\n update_org_user_profile: (payload, username, activeOuid) => dispatch(update_org_user_profile(payload, username, activeOuid)),\r\n create_app_user: (payload, activeOuid, appId) => dispatch(create_app_user(payload, activeOuid, appId)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(EditOrgUser);\r\n\r\n\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { create_org_user } from \"../../../actions/action-orguser\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { history } from '../../../reducers';\r\nimport SidebarWrapper from '../../layout/SidebarWrapper';\r\nimport configureStore from '../../../store/configureStore';\r\nimport FormErrors from \"../../FormErrors\";\r\nimport FormButton from '../../common/FormButton';\r\nimport { create_user_profile, get_user_profile_details } from '../../../actions/action-userProfiles';\r\nimport { create_app_user } from '../../../actions/action-appuser';\r\nimport { Select, Paper, MenuItem, InputLabel, TextField, Button } from '@material-ui/core';\r\nimport { showSnackbar, hideSnackbar } from '../../../actions/action-snackbar';\r\nimport Loader from '../../common/Loader';\r\nimport { isEmptyJson } from '../../common/CommonFunctions';\r\nimport Validate from \"../../utility/FormValidation\";\r\nimport { Auth } from \"aws-amplify\";\r\nimport AppPolicyCard from '../../common/AppPolicyCard';\r\n\r\nconst store = configureStore();\r\n\r\n\r\nclass CreateOrgUser extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n userDetails: {\r\n \"username\": \"\",\r\n \"name\": \"\",\r\n \"email\": \"\",\r\n \"phone_number\": \"+91\",\r\n },\r\n userDetailsExist: {},\r\n errors: {},\r\n roles: [],\r\n application: '',\r\n applicationRole: [],\r\n appRoleMappings: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n store.dispatch(hideSnackbar());\r\n }\r\n\r\n clearErrorState = () => {\r\n this.setState({\r\n errors: {}\r\n });\r\n }\r\n\r\n searchUser = async event => {\r\n const username = this.state.userDetails.username;\r\n console.log(\"searchUser : \", username);\r\n if (username) {\r\n const { get_user_profile_details } = this.props;\r\n await get_user_profile_details(username, true);\r\n const { userProfileDetails } = store.getState().userProfile;\r\n if (!isEmptyJson(userProfileDetails)) {\r\n this.setState({\r\n userDetailsExist: userProfileDetails,\r\n });\r\n if (userProfileDetails.userNameExists === \"false\") {\r\n const newUserDetails = this.state.userDetails;\r\n newUserDetails[\"password\"] = \"\";\r\n newUserDetails[\"confirmpassword\"] = \"\";\r\n this.setState({\r\n userDetails: newUserDetails\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n handleSubmit = async event => {\r\n console.log(\"handleSubmit\");\r\n // Form validation\r\n this.clearErrorState();\r\n const error = Validate(event, this.state.userDetails);\r\n if (error) {\r\n this.setState({\r\n errors: { ...this.state.errors, ...error }\r\n });\r\n } else {\r\n const { activeOuid } = store.getState().permission;\r\n if (this.state.userDetailsExist.userNameExists === \"true\") {\r\n const { name, username, email, phone_number } = this.state.userDetails;\r\n const roles = this.state.roles;\r\n console.log(\"this.state\", this.state);\r\n console.log(\"this.state.roles\", this.state.roles);\r\n let userDetails = {};\r\n userDetails[\"name\"] = name;\r\n userDetails[\"username\"] = username;\r\n userDetails[\"email\"] = email;\r\n userDetails[\"phone_number\"] = phone_number;\r\n userDetails[\"roles\"] = roles;\r\n const { create_org_user } = this.props;\r\n await create_org_user(userDetails, activeOuid);\r\n // app user creation\r\n if (this.state.appRoleMappings.length > 0) {\r\n const { create_app_user } = this.props;\r\n this.state.appRoleMappings.map(async (item, index) => {\r\n delete userDetails[\"email\"];\r\n delete userDetails[\"phone_number\"];\r\n delete userDetails[\"name\"];\r\n userDetails[\"roles\"] = item.roles;\r\n await create_app_user(userDetails, activeOuid, item.appId);\r\n });\r\n }\r\n this.props.history.push(`/${activeOuid}/create-org-user`);\r\n } else {\r\n // AWS Cognito integration here\r\n this.clearErrorState();\r\n const { name, username, email, phone_number, password } = this.state.userDetails;\r\n try {\r\n const signUpResponse = await Auth.signUp({\r\n username,\r\n password,\r\n attributes: {\r\n email: email,\r\n phone_number: phone_number,\r\n name: name\r\n }\r\n });\r\n // console.log(\"sign Up Response : \", signUpResponse);\r\n let userDetails = this.state.userDetails;\r\n userDetails[\"roles\"] = this.state.roles;\r\n delete userDetails[\"password\"];\r\n delete userDetails[\"confirmpassword\"];\r\n const { create_user_profile } = this.props;\r\n await create_user_profile(userDetails);\r\n const { activeOuid } = store.getState().permission;\r\n const { create_org_user } = this.props;\r\n await create_org_user(userDetails, activeOuid);\r\n // app user creation\r\n if (this.state.appRoleMappings.length > 0) {\r\n const { create_app_user } = this.props;\r\n this.state.appRoleMappings.map(async (item, index) => {\r\n delete userDetails[\"email\"];\r\n delete userDetails[\"phone_number\"];\r\n delete userDetails[\"name\"];\r\n userDetails[\"roles\"] = item.roles;\r\n await create_app_user(userDetails, activeOuid, item.appId);\r\n });\r\n }\r\n this.props.history.push(`/${activeOuid}/orgusers`);\r\n } catch (error) {\r\n let err = null;\r\n !error.message ? err = { \"message\": error } : err = error;\r\n this.setState({\r\n errors: {\r\n ...this.state.errors,\r\n cognito: err\r\n }\r\n });\r\n }\r\n }\r\n \r\n }\r\n\r\n }\r\n\r\n onInputChange = event => {\r\n const newUserDetails = this.state.userDetails;\r\n newUserDetails[event.target.id] = event.target.value;\r\n this.setState({\r\n userDetails: newUserDetails\r\n });\r\n this.setState({\r\n [event.target.id]: event.target.value,\r\n });\r\n document.getElementById(event.target.id).classList.remove(\"is-danger\");\r\n }\r\n\r\n orgRoleChange = event => {\r\n console.log(\"event\", event);\r\n console.log(\"event.target.value\", event.target.value);\r\n var newRoles = this.state.roles;\r\n newRoles[0] = event.target.value;\r\n console.log(\"newRoles\", newRoles);\r\n this.setState({\r\n roles: newRoles\r\n });\r\n console.log(\"this.state\", this.state);\r\n }\r\n\r\n appRoleChange = event => {\r\n var newRoles = this.state.applicationRole;\r\n newRoles[0] = event.target.value;\r\n this.setState({\r\n applicationRole: newRoles\r\n });\r\n }\r\n\r\n\r\n appChange = event => {\r\n this.setState({\r\n [event.target.name]: event.target.value\r\n });\r\n }\r\n\r\n renderOrgUnitRoles = coreConfig => {\r\n if (coreConfig) {\r\n const config = coreConfig.data.config;\r\n return config.roles.map((item, index) => (\r\n {item.name}\r\n ));\r\n }\r\n else {\r\n //let staticRoles = new Map([[\"Admin\", \"admin\"], [\"User\", \"user\"]]);\r\n var staticRoles = JSON.parse('{\"roles\": [ {\"value\": \"admin\",\"name\": \"Admin\"},{\"value\": \"user\", \"name\": \"User\" }]}');\r\n\r\n return staticRoles.roles.map((item, index) => (\r\n {item.name}\r\n ));\r\n }\r\n }\r\n\r\n renderApplicationList = coreConfig => {\r\n if (coreConfig) {\r\n const config = coreConfig.data.config;\r\n return config.applications.map((item, index) => (\r\n {item.name}\r\n ));\r\n }\r\n else {\r\n return null\r\n }\r\n }\r\n\r\n\r\n renderApplicationRoles = application => {\r\n const { activeOuidConfigs } = store.getState().config;\r\n const applicationConfig = activeOuidConfigs.find(({ data }) => data.identifier === application)\r\n return applicationConfig.data.config.roles.map((item, index) => (\r\n {item.name}\r\n ));\r\n }\r\n\r\n\r\n\r\n addAppRole() {\r\n const application = this.state.application;\r\n const appRole = this.state.applicationRole;\r\n const newAppRoleMappings = this.state.appRoleMappings;\r\n if (application && appRole.length !== 0) {\r\n const appExist = newAppRoleMappings.find(({ appId }) => appId === application);\r\n if (appExist) {\r\n store.dispatch(showSnackbar(\"Application Alredy Exist In Policy\", \"error\"));\r\n } else {\r\n let policy = {\r\n \"appId\": application,\r\n \"roles\": appRole,\r\n }\r\n newAppRoleMappings.push(policy);\r\n this.setState({\r\n appRoleMappings: newAppRoleMappings,\r\n application: '',\r\n applicationRole: [],\r\n }, () => {\r\n\r\n });\r\n }\r\n } else {\r\n store.dispatch(showSnackbar(\"No Application Role Selected\", \"error\"));\r\n }\r\n }\r\n\r\n deleteAppRole(index) {\r\n const newAppRoleMappings = this.state.appRoleMappings;\r\n newAppRoleMappings.splice(index, 1);\r\n this.setState({\r\n appRoleMappings: newAppRoleMappings,\r\n }, () => {\r\n\r\n });\r\n }\r\n\r\n renderApplicationPolicy() {\r\n const appRoleMappings = this.state.appRoleMappings;\r\n return appRoleMappings.map((item, index) => (\r\n this.deleteAppRole(index)}\r\n />\r\n ));\r\n }\r\n\r\n render() {\r\n const { permissions } = store.getState().permission;\r\n const { showGlobalLoader } = store.getState().userProfile;\r\n const { activeOuidConfigs } = store.getState().config;\r\n const coreConfig = activeOuidConfigs.find(({ data }) => data.identifier === 'core')\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n

Add Users to your organisation

\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n Org Role\r\n \r\n \r\n {this.renderOrgUnitRoles(coreConfig)}\r\n \r\n
\r\n
\r\n

Check if username available.

\r\n
\r\n \r\n this.searchUser()}\r\n text=\"Check\"\r\n />\r\n
\r\n\r\n
\r\n {showGlobalLoader ?\r\n \r\n :\r\n
\r\n {!isEmptyJson(this.state.userDetailsExist) ?\r\n
\r\n {this.state.userDetailsExist.userNameExists === \"true\" ?\r\n
\r\n
User with this username exist.
\r\n
Do you want to add the {this.state.userDetails.username} to your organisation with the above profile details?
\r\n \r\n \r\n \r\n\r\n
\r\n :\r\n
\r\n
This username available for you.
\r\n
Do you want to create new user with the username {this.state.userDetails.username} ?
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n }\r\n
\r\n :\r\n
\r\n }\r\n
\r\n {!isEmptyJson(this.state.errors) ?
{this.state.errors.err}
:
}\r\n
\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.appRoleMappings ?\r\n this.renderApplicationPolicy()\r\n :\r\n <>\r\n }\r\n
\r\n
\r\n
\r\n \r\n Applications\r\n \r\n \r\n {this.renderApplicationList(coreConfig)}\r\n \r\n\r\n\r\n {this.state.application && (\r\n <>\r\n \r\n Application Role\r\n \r\n \r\n {this.renderApplicationRoles(this.state.application)}\r\n \r\n \r\n )}\r\n
\r\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 permission: state.permission,\r\n userProfile: state.userProfile,\r\n config: state.config,\r\n});\r\n\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_user_profile_details: (username, orgUserCreate) => dispatch(get_user_profile_details(username, orgUserCreate)),\r\n create_org_user: (payload, activeOuid) => dispatch(create_org_user(payload, activeOuid)),\r\n create_user_profile: (payload) => dispatch(create_user_profile(payload)),\r\n create_app_user: (payload, activeOuid, appId) => dispatch(create_app_user(payload, activeOuid, appId)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CreateOrgUser);\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport configureStore from '../../../store/configureStore';\r\nimport { get_org_plan_details } from '../../../actions/action-orgunit';\r\nimport Loader from '../../common/Loader';\r\nimport { history } from '../../../reducers';\r\nimport SidebarWrapper from '../../layout/SidebarWrapper';\r\nimport { timeFormat } from '../../common/CommonFunctions'\r\nimport TextareaAutosize from '@material-ui/core/TextareaAutosize';\r\n\r\nconst store = configureStore();\r\n\r\nclass OrgPlan extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n orgPlanDetails: '',\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return\r\n }\r\n this.fetchDetails();\r\n }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n\r\n async fetchDetails() {\r\n const path = window.location.pathname.split('/');\r\n const id = path[path.length - 2];\r\n const { get_org_plan_details } = this.props;\r\n await get_org_plan_details(id);\r\n const { orgPlanDetails } = store.getState().orgunit;\r\n this.setState({\r\n orgPlanDetails: orgPlanDetails,\r\n });\r\n }\r\n\r\n render() {\r\n const { showGlobalLoader } = store.getState().orgunit;\r\n const { permissions } = store.getState().permission;\r\n return (\r\n
\r\n \r\n
\r\n {showGlobalLoader ?\r\n \r\n :
\r\n
\r\n

Org Plan Details

\r\n
\r\n {this.state.orgPlanDetails ?\r\n
\r\n \r\n
:\r\n 'No Org Plan details Found'}\r\n
\r\n }\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n orgunit: state.orgunit,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_org_plan_details: (id) => dispatch(get_org_plan_details(id)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(OrgPlan);\r\n\r\n","import {\r\n CREATE_DOCUMENT_REQUESTED,\r\n CREATE_DOCUMENT_SUCCESS,\r\n CREATE_DOCUMENT_ERRORED,\r\n GET_ALL_DOCUMENTS_REQUESTED,\r\n GET_ALL_DOCUMENTS_SUCCESS,\r\n GET_ALL_DOCUMENTS_ERRORED,\r\n DOCUMENT_UPLOAD_REQUESTED,\r\n DOCUMENT_UPLOAD_SUCCESS,\r\n DOCUMENT_UPLOAD_ERRORED,\r\n DELETE_DOCUMENT_REQUESTED,\r\n DELETE_DOCUMENT_SUCCESS,\r\n DELETE_DOCUMENT_ERRORED,\r\n} from \"../constant/action-types\";\r\nimport axios from \"axios\";\r\nimport { showSnackbar } from \"./action-snackbar\";\r\n\r\nimport configureStore from \"../store/configureStore\";\r\n\r\nconst store = configureStore();\r\n\r\nexport const document_upload_requested = () => ({\r\n type: DOCUMENT_UPLOAD_REQUESTED,\r\n});\r\n\r\nexport const document_upload_success = () => ({\r\n type: DOCUMENT_UPLOAD_SUCCESS,\r\n});\r\n\r\nexport const document_upload_errored = (error) => ({\r\n type: DOCUMENT_UPLOAD_ERRORED,\r\n error,\r\n});\r\n\r\nexport const create_document_requested = () => ({\r\n type: CREATE_DOCUMENT_REQUESTED,\r\n});\r\n\r\nexport const create_document_success = () => ({\r\n type: CREATE_DOCUMENT_SUCCESS,\r\n});\r\n\r\nexport const create_document_errored = (error) => ({\r\n type: CREATE_DOCUMENT_ERRORED,\r\n error,\r\n});\r\n\r\nexport const delete_document_requested = () => ({\r\n type: DELETE_DOCUMENT_REQUESTED,\r\n});\r\n\r\nexport const delete_document_success = () => ({\r\n type: DELETE_DOCUMENT_SUCCESS,\r\n});\r\n\r\nexport const delete_document_errored = (error) => ({\r\n type: DELETE_DOCUMENT_ERRORED,\r\n error,\r\n});\r\n\r\nexport const create_document = (payload) => async (dispatch) => {\r\n dispatch(create_document_requested());\r\n const path = window.location.pathname.split(\"/\");\r\n const activeOuid = path[1];\r\n const { activeOuidChain } = store.getState().permission;\r\n console.log(`create_document`);\r\n const { apiEndpoint, credentials } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const url = `${apiEndpoint}/document`;\r\n // console.log(`jwt : ${jwt}`);\r\n // console.log(`url : ${url}`);\r\n const method = \"post\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, payload, axiosHeader)\r\n .then((response) => {\r\n // console.log(\"response : \",JSON.stringify(response));\r\n dispatch(showSnackbar(\"Document created Successfully\", \"success\"));\r\n dispatch(create_document_success());\r\n })\r\n .catch((err) => {\r\n console.log(\"Document creation Failed\");\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n dispatch(showSnackbar(\"Document creation Failed\", \"error\"));\r\n dispatch(create_document_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const delete_document = (docId) => async (dispatch) => {\r\n console.log(\"in delete_document()\");\r\n dispatch(delete_document_requested());\r\n const path = window.location.pathname.split(\"/\");\r\n const activeOuid = path[1];\r\n const { activeOuidChain } = store.getState().permission;\r\n console.log(`delete_document`);\r\n const { apiEndpoint, credentials } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const url = `${apiEndpoint}/document/${docId}`;\r\n const method = \"delete\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n dispatch(showSnackbar(\"Document Deleted Successfully\", \"success\"));\r\n dispatch(delete_document_success());\r\n })\r\n .catch((err) => {\r\n console.log(\"Document Deletion Failed\");\r\n dispatch(showSnackbar(\"Document Deletion Failed\", \"error\"));\r\n dispatch(delete_document_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const get_all_documents_by_ouid_requested = () => ({\r\n type: GET_ALL_DOCUMENTS_REQUESTED,\r\n});\r\n\r\nexport const get_all_documents_by_ouid_success = (payload) => ({\r\n type: GET_ALL_DOCUMENTS_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_all_documents_by_ouid_errored = (error) => ({\r\n type: GET_ALL_DOCUMENTS_ERRORED,\r\n error,\r\n});\r\n\r\nexport const get_all_documents_by_ouid =\r\n (activeOuid, activeOuidChain) => async (dispatch) => {\r\n dispatch(get_all_documents_by_ouid_requested());\r\n console.log(`get_all_documents_by_ouid`);\r\n const { apiEndpoint, credentials } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${apiEndpoint}/document`;\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then(async (response) => {\r\n console.log(\"Get All Documents Successfully\");\r\n console.log(\"Get All Documents Successfully response\", response);\r\n for (let index = 0; index < response.data.items.length; index++) {\r\n const element = response.data.items[index];\r\n var signedUrl = await get_document_signed_url(\r\n activeOuid,\r\n element.data.key\r\n );\r\n console.log(\"*********signedURL\", signedUrl);\r\n element[\"SignedUrl\"] = signedUrl;\r\n }\r\n dispatch(get_all_documents_by_ouid_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get All Documents Failed\");\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Documents Failed\", \"error\"));\r\n }\r\n dispatch(get_all_documents_by_ouid_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nconst get_document_signed_url = async (activeOuid, key) => {\r\n console.log(`get_document_signed_url_requested->key`, key);\r\n const { apiEndpoint, credentials } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${apiEndpoint}/document/document?getDownloadSignedUrl=true&file=${key}`;\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"get_document_signed_url response\", response);\r\n return response.data.getURL;\r\n })\r\n .catch((err) => {\r\n console.log(\"get_document_signed_url Failed\");\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const get_all_documents_by_workid_requested = () => ({\r\n type: GET_ALL_DOCUMENTS_REQUESTED,\r\n});\r\n\r\nexport const get_all_documents_by_workid_success = (payload) => ({\r\n type: GET_ALL_DOCUMENTS_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_all_documents_by_workid_errored = (error) => ({\r\n type: GET_ALL_DOCUMENTS_ERRORED,\r\n error,\r\n});\r\n\r\nexport const get_all_documents_by_workid =\r\n (activeOuid, workid) => async (dispatch) => {\r\n dispatch(get_all_documents_by_workid_requested());\r\n console.log(`get_all_documents_by_workid`);\r\n const { apiEndpoint, credentials } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${apiEndpoint}/document?workId=${workid}`;\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then(async (response) => {\r\n console.log(\"Get All Documents Successful\");\r\n console.log(\"Get All Documents Successful response\", response);\r\n //loop and update reponse.data with signedURL\r\n for (let index = 0; index < response.data.items.length; index++) {\r\n const element = response.data.items[index];\r\n var signedUrl = await get_document_signed_url(\r\n activeOuid,\r\n element.data.key\r\n );\r\n console.log(\"*********signedURL\", signedUrl);\r\n element[\"SignedUrl\"] = signedUrl;\r\n }\r\n console.log(\"*********get_all_documents_by_workid_success\");\r\n\r\n dispatch(get_all_documents_by_workid_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get All Documents Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Documents Failed\", \"error\"));\r\n }\r\n dispatch(get_all_documents_by_workid_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n","import React, { useState } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { connect } from 'react-redux';\r\nimport configureStore from '../../../store/configureStore';\r\nimport { timeFormat, downloadFromUrl } from '../../common/CommonFunctions';\r\nimport Button from '@material-ui/core/Button';\r\nimport axios from 'axios';\r\n\r\n\r\nconst store = configureStore();\r\n\r\n\r\nfunction DocumentDetails(props) {\r\n const { documentDetails, closeDetails } = props;\r\n\r\n /**var docs = [\r\n { uri: getSignedUrl(documentDetails.key) }\r\n ];**/\r\n\r\n /**const docs = [\r\n { uri: \"https://ibc-probot-backend-dev-document-store.s3.amazonaws.com/Mcompany/87778c2e-fcd8-4466-beb2-30a6fadbbc57/orgusers.png?AWSAccessKeyId=ASIAU7P3MUVRNND3ZJEM&Expires=1642813616&Signature=vhEvqE6CxUevaWYea1KPsxr6SmA%3D&x-amz-security-token=IQoJb3JpZ2luX2VjEBEaCXVzLWVhc3QtMSJIMEYCIQDuCYiLcB%2BEYqLe%2BX9MyMRrX0joKBlmnyPARykN9yGyrgIhAIKVhSZYSce7lSCLogPNFgpsIgnFCmBRDqf7j62%2FvRz9KqYCCDkQARoMMzQyNTEzOTg0ODY2Igx4iZhxh6mNaBzS4jMqgwIsvitlyk4lS%2FLWqcBj1Zfo4EZy2QkfyGxmojN5sqq3TN%2FT4kndM18IOwhyMI6sa3USvBMGoAKCCbaa%2BJp0XhJxQwhom3KTq5u%2BNdHdJGy1ErwYdIDNAh2AXH8nAK8HKUGXfV%2FO6AeZwclZd%2FdntAsM0OZKsS%2FJWsTu6PKT3TqYsN4k7L1wCK5QhbdNu%2Bq%2Bu7GzZIWA3zvoykKVzGjYYhTU7YCCE8zofVadOr2jkFn%2FcOJioZBrg3HmUtxXzpMpM90pZirki1igHUsu97bNG15u0QuoNlb9PgLzq6Hx4JepH6Gqab6B87cC1M0Csxe78lpIKAlTXF1vnu2pGwhJl92%2FRwWSMKCYrY8GOpkByP9Uieq7dnflQm7FwfHNiLtRWDlTR9rUbT0IomVVIrrTOPkKXXXxEHq%2BTkD3e5DlE9xNLLH2ksD5PTVWS2F8EnEo8kJx9ZSI4T3bNjdU1SgFeMQqA7Rxt00XQnthntqyvoG3P0CZttu8OsDWUSD9um7a83o0YH9BwB2mO5Qi6GLWUrCkYOOLcZkEu4ZNaT0mEkgnTDKkDsF9\" }\r\n ];\r\n \r\n import DocViewer, { DocViewerRenderers } from \"react-doc-viewer\";\r\n\r\n \r\n **/\r\n\r\n const renderDetails = (details) => {\r\n\r\n return Object.keys(details).map(function (keyName, keyIndex) {\r\n return (\r\n
\r\n
\r\n {keyName} {\" : \"}\r\n
\r\n {keyName === 'lastModifiedDate' || keyName === 'createdDate' ?\r\n
\r\n {timeFormat(details[keyName])}\r\n
\r\n :\r\n
\r\n {details[keyName]}\r\n
\r\n }\r\n
\r\n )\r\n });\r\n }\r\n\r\n const getDownloadUrl = async (key) => {\r\n const {\r\n apiEndpoint,\r\n credentials,\r\n } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n const method = 'get';\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const url = `${apiEndpoint}/document?getDownloadSignedUrl=true&file=${key}`;\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n 'x-ouid': activeOuid,\r\n 'x-ouidchain': activeOuidChain,\r\n },\r\n };\r\n return axios[method](\r\n url,\r\n axiosHeader,\r\n )\r\n .then(async (response) => {\r\n console.log(\"signed url get response : \", JSON.stringify(response));\r\n console.log(\"signed url download : \", JSON.stringify(response.data.getURL));\r\n await downloadFromUrl(response.data.getURL, documentDetails.name);\r\n })\r\n .catch((err) => {\r\n console.log(\"signed url get failed : \", err);\r\n });\r\n }\r\n }\r\n\r\n function getSignedUrl(key) {\r\n const {\r\n apiEndpoint,\r\n credentials,\r\n } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n const method = 'get';\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const url = `${apiEndpoint}/document?getDownloadSignedUrl=true&file=${key}`;\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n 'x-ouid': activeOuid,\r\n 'x-ouidchain': activeOuidChain,\r\n },\r\n };\r\n return axios[method](\r\n url,\r\n axiosHeader,\r\n )\r\n .then(async (response) => {\r\n console.log(\"signed url get response : \", JSON.stringify(response));\r\n console.log(\"signed url string : \", JSON.stringify(response.data.getURL));\r\n return response.data.getURL;\r\n })\r\n .catch((err) => {\r\n console.log(\"signed url get failed : \", err);\r\n return \"\";\r\n });\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n\r\n
{renderDetails(documentDetails)}
\r\n \r\n
\r\n );\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DocumentDetails);","import React, { useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Button from '@material-ui/core/Button';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogContentText from '@material-ui/core/DialogContentText';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles({\r\n Input: {\r\n fontSize: 14,\r\n },\r\n DialogText: {\r\n fontSize: 16,\r\n },\r\n CommentInputWrapper: {\r\n borderColor: '#dc281e',\r\n '& .MuiInput-underline': {\r\n '&:after': {\r\n borderColor: '#3b4f5a',\r\n },\r\n },\r\n },\r\n PrimaryButtonroot: {\r\n background: '#DC281E',\r\n padding: '5px 15px',\r\n fontSize: 12,\r\n '&:hover': {\r\n background: '#DC281E',\r\n },\r\n },\r\n SecondaryButtonroot: {\r\n borderColor: '#DC281E',\r\n marginRight: 15,\r\n fontSize: 12,\r\n padding: '5px 15px',\r\n color: '#DC281E',\r\n '&:hover': {\r\n borderColor: '#DC281E',\r\n },\r\n },\r\n});\r\n\r\nfunction CommonPopUp(props) {\r\n const classes = useStyles();\r\n const { defaultState, componentToPassDown, handleClose } = props;\r\n const [open, setOpen] = React.useState(false);\r\n useEffect(() => {\r\n setOpen(defaultState);\r\n }, [defaultState]);\r\n const handlePopUpClose = () => {\r\n setOpen(false);\r\n return handleClose();\r\n };\r\n return (\r\n \r\n \r\n \r\n {componentToPassDown}\r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst mapStateToProps = () => ({\r\n});\r\n\r\nconst mapDispatchToProps = () => ({\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CommonPopUp);\r\n\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport configureStore from \"../../store/configureStore\";\r\nimport {\r\n document_upload_requested,\r\n document_upload_errored,\r\n create_document,\r\n document_upload_success,\r\n} from \"../../actions/action-document\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Loader from \"../common/Loader\";\r\nimport { showSnackbar } from \"../../actions/action-snackbar\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogActions from \"@material-ui/core/DialogActions\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport DialogContentText from \"@material-ui/core/DialogContentText\";\r\n\r\nimport axios from \"axios\";\r\n\r\nconst store = configureStore();\r\n\r\nconst useStyles = makeStyles({\r\n Input: {\r\n fontSize: 14,\r\n },\r\n DialogText: {\r\n fontSize: 16,\r\n },\r\n CommentInputWrapper: {\r\n borderColor: \"#dc281e\",\r\n \"& .MuiInput-underline\": {\r\n \"&:after\": {\r\n borderColor: \"#3b4f5a\",\r\n },\r\n },\r\n },\r\n PrimaryButtonroot: {\r\n background: \"#DC281E\",\r\n padding: \"5px 15px\",\r\n fontSize: 12,\r\n \"&:hover\": {\r\n background: \"#DC281E\",\r\n },\r\n },\r\n SecondaryButtonroot: {\r\n borderColor: \"#DC281E\",\r\n marginRight: 15,\r\n fontSize: 12,\r\n padding: \"5px 15px\",\r\n color: \"#DC281E\",\r\n \"&:hover\": {\r\n borderColor: \"#DC281E\",\r\n },\r\n },\r\n});\r\n\r\nfunction DocumentUploader(props) {\r\n const { rerender, activeOuid, activeOuidChain } = props;\r\n const [file, setFile] = useState();\r\n const [details, setDetails] = useState({\r\n title: \"\",\r\n });\r\n\r\n const classes = useStyles();\r\n const { defaultState, handleClose } = props;\r\n const [open, setOpen] = React.useState(false);\r\n useEffect(() => {\r\n setOpen(defaultState);\r\n }, [defaultState]);\r\n const handlePopUpClose = () => {\r\n setOpen(false);\r\n return handleClose();\r\n };\r\n\r\n const onFileChange = (event) => {\r\n console.log(\"File change\");\r\n setFile(event.target.files[0]);\r\n };\r\n\r\n const onInputChange = (event) => {\r\n // console.log(\"Input change\", event.target.id)\r\n setDetails({ [event.target.id]: event.target.value });\r\n };\r\n\r\n const onFileUpload = async () => {\r\n console.log(`onFileUpload`);\r\n await store.dispatch(document_upload_requested());\r\n console.log(\"showUploadLoader\", store.getState().document.showUploadLoader);\r\n const { apiEndpoint, credentials } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const fileName = file.name;\r\n const type = file.type;\r\n const method = \"get\";\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const url = `${apiEndpoint}/document?getUploadSignedUrl=true&file=${fileName}&contentType=${type}`;\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then(async (response) => {\r\n console.log(\"signed url get response : \", response);\r\n await uploadFile(response);\r\n })\r\n .catch((err) => {\r\n console.log(\"signed url get failed : \", err);\r\n });\r\n }\r\n };\r\n\r\n const uploadFile = async (signedUrlData) => {\r\n console.log(`uploadFile`);\r\n const { apiEndpoint, credentials } = store.getState().jwt.api;\r\n if (apiEndpoint && credentials) {\r\n const method = \"put\";\r\n const url = signedUrlData.data.uploadURL;\r\n const body = file;\r\n const axiosHeader = {\r\n headers: {\r\n \"Content-type\": file.type,\r\n },\r\n };\r\n return axios[method](url, body, axiosHeader)\r\n .then(async (response) => {\r\n console.log(\"s3 upload response cc : \", response);\r\n var payload = {\r\n name: file.name,\r\n title: details.title,\r\n key: signedUrlData.data.Key,\r\n };\r\n\r\n store.dispatch(\r\n showSnackbar(\"Document uploaded Successfully\", \"success\")\r\n );\r\n await store.dispatch(document_upload_success());\r\n console.log(\r\n \"showUploadLoader\",\r\n store.getState().document.showUploadLoader\r\n );\r\n\r\n await store.dispatch(create_document(payload));\r\n handleClose();\r\n return rerender();\r\n })\r\n .catch((err) => {\r\n store.dispatch(document_upload_errored());\r\n console.log(\"s3 upload failed : \", err);\r\n });\r\n }\r\n };\r\n\r\n const { showUploadLoader } = store.getState().document;\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n

File Upload

\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {showUploadLoader ? : \"\"}\r\n
\r\n
\r\n
\r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n document: state.document,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DocumentUploader);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport SidebarWrapper from \"../../layout/SidebarWrapper\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { setActiveOuid } from \"../../../actions/action-permissions\";\r\nimport { get_all_documents_by_ouid } from \"../../../actions/action-document\";\r\nimport { DataGrid } from \"@material-ui/data-grid\";\r\nimport { timeFormat } from \"../../common/CommonFunctions\";\r\nimport DocumentDetails from \"./DocumentDetails\";\r\nimport CommonPopUp from \"../../common/CommonPopUp\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport DocumentUploader from \"../../common/DocumentUploader\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { Paper } from \"@material-ui/core\";\r\n\r\nconst store = configureStore();\r\n\r\nconst workColumns = [\r\n {\r\n field: \"title\",\r\n headerName: \"Title\",\r\n width: 150,\r\n },\r\n {\r\n field: \"name\",\r\n headerName: \"Name\",\r\n width: 200,\r\n editable: false,\r\n },\r\n {\r\n field: \"uploadedBy\",\r\n headerName: \"Uploaded By\",\r\n width: 150,\r\n editable: false,\r\n },\r\n {\r\n field: \"uploaded_Date\",\r\n headerName: \"Uploaded Date\",\r\n type: \"number\",\r\n width: 200,\r\n editable: false,\r\n valueGetter: (params) =>\r\n `${timeFormat(params.getValue(params.id, \"uploadedDate\")) || \"\"}`,\r\n },\r\n];\r\n\r\nclass DocumentBoard extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n documentListToShow: [],\r\n tabValue: 0,\r\n showDocumentDetails: false,\r\n currentDocument: {},\r\n upload: false,\r\n selectionModel: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDetails();\r\n }\r\n\r\n async fetchDetails() {\r\n const path = window.location.pathname.split(\"/\");\r\n const ouid = path[1];\r\n console.log(\"path : \", path);\r\n const { setActiveOuid } = this.props;\r\n await setActiveOuid(ouid);\r\n const { get_all_documents_by_ouid } = this.props;\r\n await get_all_documents_by_ouid(ouid);\r\n const { documents } = store.getState().document;\r\n this.setState({\r\n documentListToShow: documents,\r\n });\r\n }\r\n\r\n componentWillUnmount() {\r\n // console.log(\"componentWillUnmount\");\r\n // this.unregisterHistoryListener()\r\n // store.dispatch(hideSnackbar());\r\n }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n\r\n renderDocument(documents) {\r\n let newRows = [];\r\n documents.map((document, index) => {\r\n let newRow = document.data;\r\n newRow[\"id\"] = document.data.identifier;\r\n newRows.push(newRow);\r\n });\r\n return newRows;\r\n }\r\n\r\n openDetails(e) {\r\n console.log(\"openDetails\");\r\n this.setState({\r\n showDocumentDetails: true,\r\n currentDocument: e.row,\r\n selectionModel: e.row.id,\r\n });\r\n }\r\n\r\n handleUploadBox() {\r\n console.log(\"handleUploadBox\");\r\n this.setState((prevState) => ({\r\n upload: !prevState.upload,\r\n }));\r\n }\r\n\r\n rerender = () => {\r\n this.fetchDetails();\r\n };\r\n\r\n closeDetails() {\r\n console.log(\"closeDetails\");\r\n this.setState({\r\n showDocumentDetails: false,\r\n currentDocument: {},\r\n });\r\n }\r\n\r\n setSelectionModel(selection) {\r\n this.setState({\r\n selectionModel: selection,\r\n });\r\n }\r\n\r\n render() {\r\n const { permissions } = store.getState().permission;\r\n const { showGlobalLoader } = store.getState().document;\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n {\r\n this.handleUploadBox();\r\n }}\r\n variant=\"contained\"\r\n color=\"primary\"\r\n >\r\n Add Document\r\n \r\n\r\n {\r\n this.handleUploadBox();\r\n }}\r\n />\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : this.state.documentListToShow.length !== 0 ? (\r\n // \r\n \r\n {\r\n this.openDetails(e);\r\n }}\r\n selectionModel={this.state.selectionModel}\r\n hideFooterSelectedRowCount\r\n onSelectionModelChange={(selection) => {\r\n // console.log(\"selection :::: \", selection);\r\n if (selection.length > !2) {\r\n let lastElement = selection.pop();\r\n this.setSelectionModel(lastElement);\r\n } else {\r\n let lastElement = selection.pop();\r\n this.setSelectionModel(lastElement);\r\n }\r\n }}\r\n />\r\n \r\n ) : (\r\n \"No Documents.....\"\r\n )}\r\n
\r\n {this.state.showDocumentDetails && (\r\n {\r\n this.closeDetails();\r\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 permission: state.permission,\r\n document: state.document,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_all_documents_by_ouid: (activeOuid) =>\r\n dispatch(get_all_documents_by_ouid(activeOuid)),\r\n setActiveOuid: (activeOuid) => dispatch(setActiveOuid(activeOuid)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DocumentBoard);\r\n","import React from \"react\";\r\nimport { makeStyles, withStyles } from \"@material-ui/core/styles\";\r\nimport Card from \"@material-ui/core/Card\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport CardActions from \"@material-ui/core/CardActions\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport EditIcon from \"@material-ui/icons/Edit\";\r\nimport VisibilityIcon from \"@material-ui/icons/Visibility\";\r\nimport { Orgunit } from \"@material-ui/icons\";\r\nimport { history } from \"../../../reducers\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { RedirectFunc } from \"../../common/CommonFunctions\";\r\nimport { setActiveOiudConfigs } from \"../../../actions/action-config\";\r\nimport {\r\n setActiveOuid,\r\n setActiveOuidChain,\r\n} from \"../../../actions/action-permissions\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport CardContent from \"@material-ui/core/CardContent\";\r\nimport CardMedia from \"@material-ui/core/CardMedia\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport CardActionArea from \"@material-ui/core/CardActionArea\";\r\nimport Loader from \"../../common/Loader\";\r\n\r\nconst store = configureStore();\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n maxWidth: 250,\r\n minWidth: 250,\r\n height: '100%',\r\n },\r\n media: {\r\n height: 140,\r\n },\r\n title: {\r\n fontSize: 15,\r\n fontWeight: \"bold\",\r\n },\r\n});\r\n\r\nfunction renderEditButton(props) {\r\n const { activeOuid, userRoles, policies, activeOuidType } =\r\n store.getState().permission;\r\n const Icontooltip = withStyles({\r\n tooltip: {\r\n fontSize: 12,\r\n },\r\n })(Tooltip);\r\n const data = props.Post.data;\r\n\r\n if (\r\n activeOuidType === \"ROOT\" &&\r\n !policies.includes(`${userRoles[0].ouid}=user`)\r\n ) {\r\n return (\r\n \r\n {\r\n history.push(`/${activeOuid}/course/${data.identifier}`);\r\n }}\r\n >\r\n \r\n \r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n}\r\n\r\nexport default function CourseCard(props) {\r\n //console.log(\"props.Posts.data \", props.Post.data);\r\n //console.log(\"props.Posts \", props.Post);\r\n\r\n const classes = useStyles();\r\n const Icontooltip = withStyles({\r\n tooltip: {\r\n fontSize: 12,\r\n },\r\n })(Tooltip);\r\n const data = props.Post.data;\r\n\r\n const { activeOuid } = store.getState().permission;\r\n const { showGlobalLoader } = store.getState().course;\r\n return (\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n <>\r\n {data && (\r\n {\r\n history.push(`/${activeOuid}/course/${data.identifier}`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {data.title}\r\n \r\n \r\n {data.summary.substring(0, 110)}...\r\n \r\n \r\n \r\n \r\n {/* {\r\n history.push(`/${activeOuid}/course/${data.identifier}`);\r\n }}\r\n >\r\n View\r\n */}\r\n {renderEditButton(props)}\r\n \r\n \r\n )}\r\n \r\n )}\r\n
\r\n );\r\n}\r\n","export default __webpack_public_path__ + \"static/media/certificationbanner.155213d8.png\";","export default __webpack_public_path__ + \"static/media/homebanner.64fc550e.png\";","export default __webpack_public_path__ + \"static/media/buildings.dd877b36.png\";","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { history } from \"../../../reducers\";\r\nimport CourseCard from \"../../pages/Post/CourseCard\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport SidebarWrapper from \"../../layout/SidebarWrapper\";\r\nimport SearchField from \"../../common/SearchField\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { setActiveOuid } from \"../../../actions/action-permissions\";\r\nimport { get_courses, create_course } from \"../../../actions/action-course\";\r\nimport { DataGrid } from \"@material-ui/data-grid\";\r\nimport { timeFormat } from \"../../common/CommonFunctions\";\r\nimport CommonPopUp from \"../../common/CommonPopUp\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport Loader from \"../../common/Loader\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport CertificationImage from \"../../assets/images/edwinImages/certificationbanner.png\";\r\nimport Banner from \"../../assets/images/edwinImages/homebanner.png\";\r\nimport Business from \"../../assets/images/edwinImages/buildings.png\";\r\n\r\nimport { Paper } from \"@material-ui/core\";\r\n\r\nconst store = configureStore();\r\n\r\nclass CourseDash extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n selectionModel: [],\r\n coursesToShow: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDetails();\r\n }\r\n\r\n async fetchDetails() {\r\n const { activeOuid, activeOuidChain, activeOuidType, policies, userRoles } =\r\n store.getState().permission;\r\n const path = window.location.pathname.split(\"/\");\r\n const ouid = path[1];\r\n console.log(\"path : \", path);\r\n const { setActiveOuid } = this.props;\r\n await setActiveOuid(ouid);\r\n if (\r\n activeOuidType === \"ROOT\" &&\r\n policies.includes(`${userRoles[0].ouid}=user`)\r\n ) {\r\n history.push(`/${activeOuid}/mycourses`);\r\n return;\r\n }\r\n\r\n this.setState({\r\n coursesToShow: [],\r\n });\r\n const { get_courses } = this.props;\r\n await get_courses(activeOuid, activeOuidChain, \"\", activeOuid);\r\n console.log(\r\n \"get_courses store.getState().course.courses \",\r\n store.getState().course\r\n );\r\n this.setState({\r\n coursesToShow: store.getState().course.courses,\r\n });\r\n }\r\n\r\n componentWillUnmount() {}\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n\r\n setSelectionModel(selection) {\r\n this.setState({\r\n selectionModel: selection,\r\n });\r\n }\r\n\r\n renderAddButton() {\r\n const { activeOuid, userRoles, policies, activeOuidType } =\r\n store.getState().permission;\r\n\r\n if (\r\n activeOuidType === \"ROOT\" &&\r\n !policies.includes(`${userRoles[0].ouid}=user`)\r\n ) {\r\n return (\r\n {\r\n history.push(`/${activeOuid}/create-course`);\r\n }}\r\n variant=\"contained\"\r\n color=\"primary\"\r\n >\r\n Add Certification\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n render() {\r\n const { permissions } = store.getState().permission;\r\n const { showGlobalLoader } = store.getState().course;\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n console.log(\"showGlobalLoader in coursedash render\", showGlobalLoader);\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

Hello

\r\n

\r\n Do courses and get certified. Learn and grow. All you\r\n need to know to learn and be successful.\r\n

\r\n
\r\n {/*
\r\n \"\"\r\n
*/}\r\n
\r\n
\r\n
\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n
\r\n
\r\n
{this.renderAddButton()}
\r\n
\r\n
\r\n
\r\n {this.state.coursesToShow.length !== 0\r\n ? this.renderPosts(this.state.coursesToShow)\r\n : \"No Courses found...\"}\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n renderPosts(PostList) {\r\n console.log(\"PostList : \", JSON.stringify(PostList));\r\n console.log(\r\n \"this.state.coursesToShow.length : \",\r\n this.state.coursesToShow.length\r\n );\r\n\r\n return PostList.map((item) => );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n permission: state.permission,\r\n posts: state.post,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_courses: (activeOuid, activeOuidChain, category, ouid) =>\r\n dispatch(get_courses(activeOuid, activeOuidChain, category, ouid)),\r\n setActiveOuid: (activeOuid) => dispatch(setActiveOuid(activeOuid)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CourseDash);\r\n","import React from \"react\";\r\nimport { makeStyles, withStyles } from \"@material-ui/core/styles\";\r\nimport Card from \"@material-ui/core/Card\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport CardActions from \"@material-ui/core/CardActions\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport EditIcon from \"@material-ui/icons/Edit\";\r\nimport VisibilityIcon from \"@material-ui/icons/Visibility\";\r\nimport { Orgunit } from \"@material-ui/icons\";\r\nimport { history } from \"../../../reducers\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { RedirectFunc } from \"../../common/CommonFunctions\";\r\nimport { setActiveOiudConfigs } from \"../../../actions/action-config\";\r\nimport {\r\n setActiveOuid,\r\n setActiveOuidChain,\r\n} from \"../../../actions/action-permissions\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport CardContent from \"@material-ui/core/CardContent\";\r\nimport CardMedia from \"@material-ui/core/CardMedia\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport CardActionArea from \"@material-ui/core/CardActionArea\";\r\nimport Loader from \"../../common/Loader\";\r\n\r\nconst store = configureStore();\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n maxWidth: 250,\r\n minWidth: 250,\r\n height: '100%',\r\n },\r\n media: {\r\n height: 140,\r\n },\r\n title: {\r\n fontSize: 15,\r\n fontWeight: \"bold\",\r\n },\r\n});\r\n\r\nexport default function MyCourseCard(props) {\r\n //console.log(\"props.Posts.data \", props.Post.data);\r\n //console.log(\"props.Posts \", props.Post);\r\n\r\n const classes = useStyles();\r\n const Icontooltip = withStyles({\r\n tooltip: {\r\n fontSize: 12,\r\n },\r\n })(Tooltip);\r\n const data = props.Post.data;\r\n\r\n const { activeOuid } = store.getState().permission;\r\n const { showGlobalLoader } = store.getState().courseuser;\r\n return (\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n <>\r\n {data && (\r\n {\r\n history.push(\r\n `/${activeOuid}/mycourse/${data.courseData.identifier}`\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {data.course}\r\n \r\n \r\n {data.courseData.summary.substring(0, 110)}...\r\n \r\n \r\n \r\n {/* \r\n {\r\n history.push(`/${activeOuid}/mycourse/${data.identifier}`);\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","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { history } from \"../../../reducers\";\r\nimport MyCourseCard from \"./MyCourseCard\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport SidebarWrapper from \"../../layout/SidebarWrapper\";\r\nimport SearchField from \"../../common/SearchField\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { setActiveOuid } from \"../../../actions/action-permissions\";\r\nimport { get_my_subc_courses } from \"../../../actions/action-courseuser\";\r\nimport { DataGrid } from \"@material-ui/data-grid\";\r\nimport { timeFormat } from \"../../common/CommonFunctions\";\r\nimport CommonPopUp from \"../../common/CommonPopUp\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport Loader from \"../../common/Loader\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport CertificationImage from \"../../assets/images/edwinImages/certificationbanner.png\";\r\nimport Banner from \"../../assets/images/edwinImages/homebanner.png\";\r\nimport Business from \"../../assets/images/edwinImages/buildings.png\";\r\n\r\nimport { Paper } from \"@material-ui/core\";\r\n\r\nconst store = configureStore();\r\n\r\nclass MyCourseDash extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n selectionModel: [],\r\n coursesToShow: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDetails();\r\n }\r\n\r\n async fetchDetails() {\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n const path = window.location.pathname.split(\"/\");\r\n const ouid = path[1];\r\n console.log(\"path : \", path);\r\n const { setActiveOuid } = this.props;\r\n await setActiveOuid(ouid);\r\n this.setState({\r\n coursesToShow: [],\r\n });\r\n const { get_my_subc_courses } = this.props;\r\n await get_my_subc_courses(activeOuid, activeOuidChain);\r\n console.log(\r\n \"get_my_subc_courses store.getState().courseuser \",\r\n store.getState().courseuser\r\n );\r\n this.setState({\r\n coursesToShow: store.getState().courseuser.courseUsers,\r\n });\r\n }\r\n\r\n componentWillUnmount() {}\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n\r\n setSelectionModel(selection) {\r\n this.setState({\r\n selectionModel: selection,\r\n });\r\n }\r\n\r\n render() {\r\n const { permissions } = store.getState().permission;\r\n const { showGlobalLoader } = store.getState().courseuser;\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n console.log(\"showGlobalLoader in coursedash render\", showGlobalLoader);\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

My courses

\r\n

Courses you are subscribed to

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n
\r\n {this.state.coursesToShow.length !== 0\r\n ? this.renderPosts(this.state.coursesToShow)\r\n : \"No Courses found...\"}\r\n
\r\n )}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n renderPosts(PostList) {\r\n console.log(\"PostList : \", JSON.stringify(PostList));\r\n console.log(\r\n \"this.state.coursesToShow.length : \",\r\n this.state.coursesToShow.length\r\n );\r\n\r\n return PostList.map((item) => (\r\n \r\n ));\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n permission: state.permission,\r\n posts: state.post,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_my_subc_courses: (activeOuid, activeOuidChain) =>\r\n dispatch(get_my_subc_courses(activeOuid, activeOuidChain)),\r\n setActiveOuid: (activeOuid) => dispatch(setActiveOuid(activeOuid)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MyCourseDash);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport { get_courses } from \"../../../actions/action-course\";\r\nimport {\r\n create_course_user,\r\n get_all_course_users,\r\n} from \"../../../actions/action-courseuser\";\r\n\r\nimport { get_all_orguesr } from \"../../../actions/action-orguser\";\r\n\r\nimport Button from \"@material-ui/core/Button\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { history } from \"../../../reducers\";\r\nimport SidebarWrapper from \"../../layout/SidebarWrapper\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport FormButton from \"../../common/FormButton\";\r\nimport { Input, Paper, TextField } from \"@material-ui/core\";\r\nimport { timeFormat } from \"../../common/CommonFunctions\";\r\nimport { setActiveOuid } from \"../../../actions/action-permissions\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport SearchField from \"../../common/SearchField\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport axios from \"axios\";\r\nimport { showSnackbar } from \"../../../actions/action-snackbar\";\r\nimport CourseCard from \"../../pages/Post/CourseCard\";\r\nimport Select from \"react-select\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableContainer from \"@material-ui/core/TableContainer\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport DeleteIcon from \"@material-ui/icons/Delete\";\r\nimport CommonDelete from \"../../common/CommonDelete\";\r\n\r\nconst store = configureStore();\r\nlet selectedUserName = \"\";\r\nlet selectedCourseId = \"\";\r\nlet selectedCourse = \"\";\r\nlet selectedCourseData = \"\";\r\n\r\nclass SubscriptionDash extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n coursesToShow: [],\r\n courseOptionsToShow: [],\r\n usersToShow: [],\r\n userOptionsToShow: [],\r\n courseUsersToShow: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return;\r\n }\r\n this.fetchDetails();\r\n }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n\r\n async fetchDetails() {\r\n const path = window.location.pathname.split(\"/\");\r\n const ouid = path[1];\r\n console.log(\"fetchDetails ouid : \", ouid);\r\n\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n\r\n console.log(\" fetchDetails activeOuid : \", activeOuid);\r\n console.log(\"fetchDetails permission : \", store.getState().permission);\r\n\r\n const {\r\n setActiveOuid,\r\n get_all_orguesr,\r\n get_courses,\r\n get_all_course_users,\r\n } = this.props;\r\n\r\n await setActiveOuid(ouid);\r\n await get_all_orguesr(activeOuid);\r\n const { orgUserProfiles } = store.getState().orgUserProfile;\r\n\r\n console.log(\"fetchDetails > orgUserProfiles : \", orgUserProfiles);\r\n\r\n await get_courses(activeOuid, activeOuidChain, \"\", activeOuid);\r\n const { courses } = store.getState().course;\r\n console.log(\"fetchDetails > courses : \", courses);\r\n console.log(\" get_all_orguesr activeOuid : \", activeOuid);\r\n let userOptionsToShow = orgUserProfiles.map((opt) => ({\r\n label: opt.data.username,\r\n value: opt.data.username,\r\n }));\r\n let courseOptionsToShow = courses.map((opt) => ({\r\n label: opt.data.title,\r\n value: opt.data.identifier,\r\n data: opt.data,\r\n }));\r\n\r\n await get_all_course_users(activeOuid, activeOuidChain);\r\n const { courseUsers } = store.getState().courseuser;\r\n\r\n this.setState({\r\n coursesToShow: courses,\r\n courseOptionsToShow: courseOptionsToShow,\r\n usersToShow: orgUserProfiles,\r\n userOptionsToShow: userOptionsToShow,\r\n courseUsersToShow: courseUsers,\r\n });\r\n }\r\n\r\n handleCourseOnChange(courseOption) {\r\n console.log(courseOption.value);\r\n selectedCourseId = courseOption.value;\r\n selectedCourse = courseOption.label;\r\n selectedCourseData = courseOption.data;\r\n\r\n console.log(courseOption.data);\r\n }\r\n\r\n handleUserOnChange(userOption) {\r\n console.log(userOption.value);\r\n selectedUserName = userOption.value;\r\n }\r\n\r\n addSubscription = async (event) => {\r\n console.log(selectedCourseId, selectedUserName);\r\n const { create_course_user } = this.props;\r\n let courseUserPayload = {\r\n courseId: selectedCourseId,\r\n courseuser: selectedUserName,\r\n course: selectedCourse,\r\n courseData: selectedCourseData,\r\n };\r\n await create_course_user(courseUserPayload);\r\n this.fetchDetails();\r\n };\r\n\r\n renderCourses(courseList) {\r\n const { showGlobalLoader } = store.getState().course;\r\n return (\r\n <>\r\n
\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n <>\r\n
\r\n Select Course\r\n this.handleCourseOnChange(opt)}\r\n />\r\n
\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n renderCourseUsers(courseusers) {\r\n console.log(\"courseusers : \", JSON.stringify(courseusers));\r\n return courseusers.map((row) => (\r\n \r\n {row.data.courseuser}\r\n {row.data.course}\r\n {row.data.courseId}\r\n {row.data.createdBy}\r\n \r\n \r\n {/* */}\r\n \r\n \r\n ));\r\n }\r\n\r\n renderUsers(userList) {\r\n const { orgUserProfiles, showGlobalLoader } =\r\n store.getState().orgUserProfile;\r\n\r\n console.log(\"renderUsers >orgUserProfiles \", orgUserProfiles);\r\n return (\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n
\r\n Select User\r\n this.handleUserOnChange(opt)}\r\n />\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n const { permissions } = store.getState().permission;\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
{this.renderUsers(this.state.usersToShow)}
\r\n
{this.renderCourses(this.state.coursesToShow)}
\r\n this.addSubscription()}\r\n >\r\n Add Subsciption\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Username\r\n Course\r\n CourseId\r\n CreatedBy\r\n Action\r\n \r\n \r\n \r\n {this.state.courseUsersToShow.length !== 0\r\n ? this.renderCourseUsers(this.state.courseUsersToShow)\r\n : \"No Subscriptions Yet\"}\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 orgunit: state.orgunit,\r\n showGlobalLoader: state.orgunit.showGlobalLoader,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setActiveOuid: (activeOuid) => dispatch(setActiveOuid(activeOuid)),\r\n get_all_orguesr: (activeOuid) => dispatch(get_all_orguesr(activeOuid)),\r\n get_all_course_users: (activeOuid, activeOuidChain) =>\r\n dispatch(get_all_course_users(activeOuid, activeOuidChain)),\r\n get_courses: (activeOuid, activeOuidChain, category, ouid) =>\r\n dispatch(get_courses(activeOuid, activeOuidChain, category, ouid)),\r\n create_course_user: (payload) => dispatch(create_course_user(payload)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SubscriptionDash);\r\n","import React from \"react\";\r\nimport { makeStyles, withStyles } from \"@material-ui/core/styles\";\r\nimport Card from \"@material-ui/core/Card\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport CardActions from \"@material-ui/core/CardActions\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport EditIcon from \"@material-ui/icons/Edit\";\r\nimport VisibilityIcon from \"@material-ui/icons/Visibility\";\r\nimport { Orgunit } from \"@material-ui/icons\";\r\nimport { history } from \"../../../reducers\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { RedirectFunc } from \"../../common/CommonFunctions\";\r\nimport { setActiveOiudConfigs } from \"../../../actions/action-config\";\r\nimport {\r\n setActiveOuid,\r\n setActiveOuidChain,\r\n} from \"../../../actions/action-permissions\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport CardContent from \"@material-ui/core/CardContent\";\r\nimport CardMedia from \"@material-ui/core/CardMedia\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport CardActionArea from \"@material-ui/core/CardActionArea\";\r\nimport Loader from \"../../common/Loader\";\r\n\r\nconst store = configureStore();\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n maxWidth: 250,\r\n minWidth: 250,\r\n height: \"100%\",\r\n },\r\n media: {\r\n height: 140,\r\n },\r\n title: {\r\n fontSize: 15,\r\n fontWeight: \"bold\",\r\n },\r\n});\r\n\r\nfunction renderEditButton(props) {\r\n const { activeOuid, userRoles, policies, activeOuidType } =\r\n store.getState().permission;\r\n const Icontooltip = withStyles({\r\n tooltip: {\r\n fontSize: 12,\r\n },\r\n })(Tooltip);\r\n const data = props.Post.data;\r\n\r\n if (\r\n activeOuidType === \"ROOT\" &&\r\n !policies.includes(`${userRoles[0].ouid}=user`)\r\n ) {\r\n return (\r\n \r\n {\r\n history.push(`/${activeOuid}/exam/${data.identifier}`);\r\n }}\r\n >\r\n \r\n \r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n}\r\n\r\nexport default function ExamCard(props) {\r\n console.log(\"props.Posts.data \", props.Post.data);\r\n console.log(\"props.Posts \", props.Post);\r\n\r\n const classes = useStyles();\r\n const Icontooltip = withStyles({\r\n tooltip: {\r\n fontSize: 12,\r\n },\r\n })(Tooltip);\r\n const data = props.Post.data;\r\n\r\n const { activeOuid } = store.getState().permission;\r\n const { showGlobalLoader } = store.getState().exam;\r\n return (\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n <>\r\n {data && (\r\n {\r\n history.push(`/${activeOuid}/exam/${data.identifier}`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {data.title}\r\n \r\n \r\n {data.summary.substring(0, 110)}...\r\n \r\n \r\n \r\n {renderEditButton(props)}\r\n \r\n )}\r\n \r\n )}\r\n
\r\n );\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { history } from \"../../../reducers\";\r\nimport ExamCard from \"./ExamCard\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport SidebarWrapper from \"../../layout/SidebarWrapper\";\r\nimport SearchField from \"../../common/SearchField\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { setActiveOuid } from \"../../../actions/action-permissions\";\r\nimport { get_exams } from \"../../../actions/action-exam\";\r\nimport { DataGrid } from \"@material-ui/data-grid\";\r\nimport { timeFormat } from \"../../common/CommonFunctions\";\r\nimport CommonPopUp from \"../../common/CommonPopUp\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport Loader from \"../../common/Loader\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport CertificationImage from \"../../assets/images/edwinImages/certificationbanner.png\";\r\nimport Banner from \"../../assets/images/edwinImages/homebanner.png\";\r\nimport Business from \"../../assets/images/edwinImages/buildings.png\";\r\n\r\nimport { Paper } from \"@material-ui/core\";\r\n\r\nconst store = configureStore();\r\n\r\nclass ExamDash extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n selectionModel: [],\r\n examsToShow: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDetails();\r\n }\r\n\r\n async fetchDetails() {\r\n const { activeOuid, activeOuidChain, activeOuidType, policies, userRoles } =\r\n store.getState().permission;\r\n const path = window.location.pathname.split(\"/\");\r\n const ouid = path[1];\r\n console.log(\"path : \", path);\r\n const { setActiveOuid } = this.props;\r\n await setActiveOuid(ouid);\r\n if (\r\n activeOuidType === \"ROOT\" &&\r\n policies.includes(`${userRoles[0].ouid}=user`)\r\n ) {\r\n history.push(`/${activeOuid}/myexams`);\r\n return;\r\n }\r\n\r\n this.setState({\r\n examsToShow: [],\r\n });\r\n const { get_exams } = this.props;\r\n await get_exams(activeOuid, activeOuidChain, \"\", activeOuid);\r\n console.log(\r\n \"get_exams store.getState().exam.exams \",\r\n store.getState().exam\r\n );\r\n this.setState({\r\n examsToShow: store.getState().exam.exams,\r\n });\r\n }\r\n\r\n componentWillUnmount() {}\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n\r\n setSelectionModel(selection) {\r\n this.setState({\r\n selectionModel: selection,\r\n });\r\n }\r\n\r\n renderAddButton() {\r\n const { activeOuid, userRoles, policies, activeOuidType } =\r\n store.getState().permission;\r\n\r\n if (\r\n activeOuidType === \"ROOT\" &&\r\n !policies.includes(`${userRoles[0].ouid}=user`)\r\n ) {\r\n return (\r\n {\r\n history.push(`/${activeOuid}/create-exam`);\r\n }}\r\n variant=\"contained\"\r\n color=\"primary\"\r\n >\r\n Add Exam\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n render() {\r\n const { permissions } = store.getState().permission;\r\n const { showGlobalLoader } = store.getState().exam;\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n console.log(\"showGlobalLoader in examdash render\", showGlobalLoader);\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n
\r\n
\r\n
{this.renderAddButton()}
\r\n
\r\n
\r\n
\r\n {this.state.examsToShow.length !== 0\r\n ? this.renderPosts(this.state.examsToShow)\r\n : \"No Exams found...\"}\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n renderPosts(PostList) {\r\n console.log(\"PostList : \", JSON.stringify(PostList));\r\n console.log(\r\n \"this.state.examsToShow.length : \",\r\n this.state.examsToShow.length\r\n );\r\n\r\n return PostList.map((item) => );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n permission: state.permission,\r\n posts: state.post,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_exams: (activeOuid, activeOuidChain, category, ouid) =>\r\n dispatch(get_exams(activeOuid, activeOuidChain, category, ouid)),\r\n setActiveOuid: (activeOuid) => dispatch(setActiveOuid(activeOuid)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ExamDash);\r\n","import React from \"react\";\r\nimport { makeStyles, withStyles } from \"@material-ui/core/styles\";\r\nimport Card from \"@material-ui/core/Card\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport CardActions from \"@material-ui/core/CardActions\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport EditIcon from \"@material-ui/icons/Edit\";\r\nimport VisibilityIcon from \"@material-ui/icons/Visibility\";\r\nimport { Orgunit } from \"@material-ui/icons\";\r\nimport { history } from \"../../../reducers\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { RedirectFunc } from \"../../common/CommonFunctions\";\r\nimport { setActiveOiudConfigs } from \"../../../actions/action-config\";\r\nimport {\r\n setActiveOuid,\r\n setActiveOuidChain,\r\n} from \"../../../actions/action-permissions\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport CardContent from \"@material-ui/core/CardContent\";\r\nimport CardMedia from \"@material-ui/core/CardMedia\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport CardActionArea from \"@material-ui/core/CardActionArea\";\r\nimport Loader from \"../../common/Loader\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\n\r\nconst store = configureStore();\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n maxWidth: 250,\r\n minWidth: 250,\r\n height: \"100%\",\r\n },\r\n media: {\r\n height: 140,\r\n },\r\n title: {\r\n fontSize: 15,\r\n fontWeight: \"bold\",\r\n },\r\n});\r\n\r\nexport default function MyExamCard(props) {\r\n console.log(\"props.Posts \", props.Post);\r\n\r\n const classes = useStyles();\r\n const Icontooltip = withStyles({\r\n tooltip: {\r\n fontSize: 12,\r\n },\r\n })(Tooltip);\r\n const examuser = props.Post;\r\n const data = examuser.data;\r\n const { activeOuid } = store.getState().permission;\r\n const { showGlobalLoader } = store.getState().examuser;\r\n\r\n return (\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n <>\r\n {data && (\r\n {\r\n console.log(\"examuser.status\", examuser.status);\r\n if (examuser.status === \"completed\") {\r\n history.push(\r\n `/${activeOuid}/myexam/${data.examinstanceid}/result`\r\n );\r\n return;\r\n }\r\n if (examuser.status === \"evaluated\") {\r\n // show evaluation results page\r\n return;\r\n }\r\n\r\n var fiveMinutesLater = Date.parse(\r\n new Date().toISOString().slice(0, 16)\r\n );\r\n console.log(\r\n \"data.examStartTime\",\r\n Date.parse(data.examStartTime)\r\n );\r\n let examStartTime = Date.parse(data.examStartTime);\r\n console.log(\"fiveMinutesLater\", fiveMinutesLater);\r\n\r\n fiveMinutesLater = fiveMinutesLater + 300000; // 5mins in milliseconds\r\n console.log(\"fiveMinutesLater\", fiveMinutesLater);\r\n\r\n if (examStartTime < fiveMinutesLater) {\r\n history.push(`/${activeOuid}/preexam/${data.examinstanceid}`);\r\n } else {\r\n history.push(`/${activeOuid}/preexam/${data.examinstanceid}`);\r\n //alert(\"Not yet scheduled date time\");\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {examuser.data.exam}\r\n \r\n\r\n {(examuser.status === \"scheduled\" ||\r\n examuser.status === \"started\") && (\r\n <>\r\n \r\n {examuser.status}\r\n \r\n \r\n Scheduled Time : {data.examStartTime}\r\n \r\n \r\n )}\r\n {examuser.status === \"completed\" && (\r\n \r\n completed\r\n \r\n )}\r\n \r\n {data.examData.summary.substring(0, 110)}...\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n
\r\n );\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { history } from \"../../../reducers\";\r\nimport MyExamCard from \"./MyExamCard\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport SidebarWrapper from \"../../layout/SidebarWrapper\";\r\nimport SearchField from \"../../common/SearchField\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { setActiveOuid } from \"../../../actions/action-permissions\";\r\nimport { get_my_subc_exams } from \"../../../actions/action-examuser\";\r\nimport { DataGrid } from \"@material-ui/data-grid\";\r\nimport { timeFormat } from \"../../common/CommonFunctions\";\r\nimport CommonPopUp from \"../../common/CommonPopUp\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport Loader from \"../../common/Loader\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport CertificationImage from \"../../assets/images/edwinImages/certificationbanner.png\";\r\nimport Banner from \"../../assets/images/edwinImages/homebanner.png\";\r\nimport Business from \"../../assets/images/edwinImages/buildings.png\";\r\n\r\nimport { Paper } from \"@material-ui/core\";\r\n\r\nconst store = configureStore();\r\n\r\nclass MyExamDash extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n selectionModel: [],\r\n examsToShow: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDetails();\r\n }\r\n\r\n async fetchDetails() {\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n const path = window.location.pathname.split(\"/\");\r\n const ouid = path[1];\r\n console.log(\"path : \", path);\r\n const { setActiveOuid } = this.props;\r\n await setActiveOuid(ouid);\r\n this.setState({\r\n examsToShow: [],\r\n });\r\n const { get_my_subc_exams } = this.props;\r\n await get_my_subc_exams(activeOuid, activeOuidChain);\r\n console.log(\r\n \"get_my_subc_exams store.getState().examuser \",\r\n store.getState().examuser\r\n );\r\n this.setState({\r\n examsToShow: store.getState().examuser.examUsers,\r\n });\r\n }\r\n\r\n componentWillUnmount() {}\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n\r\n setSelectionModel(selection) {\r\n this.setState({\r\n selectionModel: selection,\r\n });\r\n }\r\n\r\n render() {\r\n const { permissions } = store.getState().permission;\r\n const { showGlobalLoader } = store.getState().examuser;\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n console.log(\"showGlobalLoader in examdash render\", showGlobalLoader);\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

My exams

\r\n

Exams you are subscribed to

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n
\r\n {this.state.examsToShow.length !== 0\r\n ? this.renderPosts(this.state.examsToShow)\r\n : \"No Exams found...\"}\r\n
\r\n )}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n renderPosts(PostList) {\r\n console.log(\"PostList : \", JSON.stringify(PostList));\r\n console.log(\r\n \"this.state.examsToShow.length : \",\r\n this.state.examsToShow.length\r\n );\r\n\r\n return PostList.map((item) => (\r\n \r\n ));\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n permission: state.permission,\r\n posts: state.post,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_my_subc_exams: (activeOuid, activeOuidChain) =>\r\n dispatch(get_my_subc_exams(activeOuid, activeOuidChain)),\r\n setActiveOuid: (activeOuid) => dispatch(setActiveOuid(activeOuid)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MyExamDash);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport { get_exams } from \"../../../actions/action-exam\";\r\nimport {\r\n create_exam_user,\r\n get_all_exam_users,\r\n} from \"../../../actions/action-examuser\";\r\n\r\nimport { get_all_orguesr } from \"../../../actions/action-orguser\";\r\n\r\nimport Button from \"@material-ui/core/Button\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { history } from \"../../../reducers\";\r\nimport SidebarWrapper from \"../../layout/SidebarWrapper\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport FormButton from \"../../common/FormButton\";\r\nimport { Input, Paper, TextField } from \"@material-ui/core\";\r\nimport { timeFormat } from \"../../common/CommonFunctions\";\r\nimport { setActiveOuid } from \"../../../actions/action-permissions\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport SearchField from \"../../common/SearchField\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport axios from \"axios\";\r\nimport { showSnackbar } from \"../../../actions/action-snackbar\";\r\nimport ExamCard from \"./ExamCard\";\r\nimport Select from \"react-select\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableContainer from \"@material-ui/core/TableContainer\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport DeleteIcon from \"@material-ui/icons/Delete\";\r\nimport CommonDelete from \"../../common/CommonDelete\";\r\n\r\nconst store = configureStore();\r\nlet selectedUserName = \"\";\r\nlet selectedExamId = \"\";\r\nlet selectedExam = \"\";\r\nlet selectedExamData = \"\";\r\nlet selectedStartTime = \"\";\r\n\r\nclass ExamSubscriptionDash extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n examsToShow: [],\r\n examOptionsToShow: [],\r\n usersToShow: [],\r\n userOptionsToShow: [],\r\n examUsersToShow: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return;\r\n }\r\n this.fetchDetails();\r\n }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n\r\n async fetchDetails() {\r\n const path = window.location.pathname.split(\"/\");\r\n const ouid = path[1];\r\n console.log(\"fetchDetails ouid : \", ouid);\r\n\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n\r\n console.log(\" fetchDetails activeOuid : \", activeOuid);\r\n console.log(\"fetchDetails permission : \", store.getState().permission);\r\n\r\n const { setActiveOuid, get_all_orguesr, get_exams, get_all_exam_users } =\r\n this.props;\r\n\r\n await setActiveOuid(ouid);\r\n await get_all_orguesr(activeOuid);\r\n const { orgUserProfiles } = store.getState().orgUserProfile;\r\n\r\n console.log(\"fetchDetails > orgUserProfiles : \", orgUserProfiles);\r\n\r\n await get_exams(activeOuid, activeOuidChain, \"\", activeOuid);\r\n const { exams } = store.getState().exam;\r\n console.log(\"fetchDetails > exams : \", exams);\r\n console.log(\" get_all_orguesr activeOuid : \", activeOuid);\r\n let userOptionsToShow = orgUserProfiles.map((opt) => ({\r\n label: opt.data.username,\r\n value: opt.data.username,\r\n }));\r\n let examOptionsToShow = exams.map((opt) => ({\r\n label: opt.data.title,\r\n value: opt.data.identifier,\r\n data: opt.data,\r\n }));\r\n\r\n await get_all_exam_users(activeOuid, activeOuidChain);\r\n const { examUsers } = store.getState().examuser;\r\n\r\n this.setState({\r\n examsToShow: exams,\r\n examOptionsToShow: examOptionsToShow,\r\n usersToShow: orgUserProfiles,\r\n userOptionsToShow: userOptionsToShow,\r\n examUsersToShow: examUsers,\r\n });\r\n }\r\n\r\n handleExamOnChange(examOption) {\r\n console.log(examOption.value);\r\n selectedExamId = examOption.value;\r\n selectedExam = examOption.label;\r\n selectedExamData = examOption.data;\r\n\r\n console.log(examOption.data);\r\n }\r\n\r\n handleUserOnChange(userOption) {\r\n console.log(userOption.value);\r\n selectedUserName = userOption.value;\r\n }\r\n\r\n onInputChange = (event) => {\r\n console.log(\"startDatetime\", event.target.value);\r\n selectedStartTime = event.target.value;\r\n };\r\n\r\n addSubscription = async (event) => {\r\n console.log(selectedExamId, selectedUserName);\r\n const { create_exam_user } = this.props;\r\n let examUserPayload = {\r\n examId: selectedExamId,\r\n examuser: selectedUserName,\r\n exam: selectedExam,\r\n examData: selectedExamData,\r\n examStartTime: selectedStartTime,\r\n };\r\n await create_exam_user(examUserPayload);\r\n this.fetchDetails();\r\n };\r\n\r\n renderExams(examList) {\r\n const { showGlobalLoader } = store.getState().exam;\r\n return (\r\n <>\r\n
\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n <>\r\n
\r\n Select Exam *\r\n this.handleExamOnChange(opt)}\r\n />\r\n
\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n renderExamUsers(examusers) {\r\n console.log(\"examusers : \", JSON.stringify(examusers));\r\n return examusers.map((row) => (\r\n \r\n {row.data.examuser}\r\n {row.data.exam}\r\n {row.data.examId}\r\n {row.data.createdBy}\r\n {row.data.examStartTime}\r\n {row.status}\r\n \r\n \r\n {/* */}\r\n \r\n \r\n ));\r\n }\r\n\r\n renderUsers(userList) {\r\n const { orgUserProfiles, showGlobalLoader } =\r\n store.getState().orgUserProfile;\r\n\r\n console.log(\"renderUsers >orgUserProfiles \", orgUserProfiles);\r\n return (\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n
\r\n Select User *\r\n this.handleUserOnChange(opt)}\r\n />\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n const { permissions } = store.getState().permission;\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
{this.renderUsers(this.state.usersToShow)}
\r\n
{this.renderExams(this.state.examsToShow)}
\r\n
\r\n \r\n
\r\n this.addSubscription()}\r\n >\r\n Add Subsciption\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Username\r\n Exam\r\n ExamId\r\n CreatedBy\r\n \r\n ExamStartTime\r\n \r\n Status\r\n Action\r\n \r\n \r\n \r\n {this.state.examUsersToShow.length !== 0\r\n ? this.renderExamUsers(this.state.examUsersToShow)\r\n : \"No Exams Registered\"}\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 orgunit: state.orgunit,\r\n showGlobalLoader: state.orgunit.showGlobalLoader,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setActiveOuid: (activeOuid) => dispatch(setActiveOuid(activeOuid)),\r\n get_all_orguesr: (activeOuid) => dispatch(get_all_orguesr(activeOuid)),\r\n get_all_exam_users: (activeOuid, activeOuidChain) =>\r\n dispatch(get_all_exam_users(activeOuid, activeOuidChain)),\r\n get_exams: (activeOuid, activeOuidChain, category, ouid) =>\r\n dispatch(get_exams(activeOuid, activeOuidChain, category, ouid)),\r\n create_exam_user: (payload) => dispatch(create_exam_user(payload)),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(ExamSubscriptionDash);\r\n","import {\r\n CREATE_EXAMINSTANCE_REQUESTED,\r\n CREATE_EXAMINSTANCE_SUCCESS,\r\n CREATE_EXAMINSTANCE_ERRORED,\r\n UPDATE_EXAMINSTANCE_REQUESTED,\r\n UPDATE_EXAMINSTANCE_SUCCESS,\r\n UPDATE_EXAMINSTANCE_ERRORED,\r\n GET_EXAMINSTANCES_REQUESTED,\r\n GET_EXAMINSTANCES_SUCCESS,\r\n GET_EXAMINSTANCES_ERRORED,\r\n GET_EXAMINSTANCE_REQUESTED,\r\n GET_EXAMINSTANCE_SUCCESS,\r\n GET_EXAMINSTANCE_ERRORED,\r\n UPDATE_EXAMLINEINSTANCE_REQUESTED,\r\n UPDATE_EXAMLINEINSTANCE_SUCCESS,\r\n UPDATE_EXAMLINEINSTANCE_ERRORED,\r\n GET_EXAMLINEINSTANCES_REQUESTED,\r\n GET_EXAMLINEINSTANCES_SUCCESS,\r\n GET_EXAMLINEINSTANCES_ERRORED,\r\n GET_EXAMLINEINSTANCE_REQUESTED,\r\n GET_EXAMLINEINSTANCE_SUCCESS,\r\n GET_EXAMLINEINSTANCE_ERRORED,\r\n} from \"../constant/action-types\";\r\nimport axios from \"axios\";\r\nimport { showSnackbar } from \"./action-snackbar\";\r\n\r\nimport configureStore from \"../store/configureStore\";\r\n\r\nconst store = configureStore();\r\n\r\nexport const create_examinstance_requested = () => ({\r\n type: CREATE_EXAMINSTANCE_REQUESTED,\r\n});\r\n\r\nexport const create_examinstance_success = () => ({\r\n type: CREATE_EXAMINSTANCE_SUCCESS,\r\n});\r\n\r\nexport const create_examinstance_errored = (error) => ({\r\n type: CREATE_EXAMINSTANCE_ERRORED,\r\n error,\r\n});\r\n\r\nexport const update_examinstance_requested = () => ({\r\n type: UPDATE_EXAMINSTANCE_REQUESTED,\r\n});\r\n\r\nexport const update_examinstance_success = () => ({\r\n type: UPDATE_EXAMINSTANCE_SUCCESS,\r\n});\r\n\r\nexport const update_examinstance_errored = (error) => ({\r\n type: UPDATE_EXAMINSTANCE_ERRORED,\r\n error,\r\n});\r\n\r\nexport const update_examlineinstance_requested = () => ({\r\n type: UPDATE_EXAMLINEINSTANCE_REQUESTED,\r\n});\r\n\r\nexport const update_examlineinstance_success = () => ({\r\n type: UPDATE_EXAMLINEINSTANCE_SUCCESS,\r\n});\r\n\r\nexport const update_examlineinstance_errored = (error) => ({\r\n type: UPDATE_EXAMLINEINSTANCE_ERRORED,\r\n error,\r\n});\r\n\r\nexport const create_examinstance = (payload) => async (dispatch) => {\r\n console.log(`create_examinstance`);\r\n\r\n dispatch(create_examinstance_requested());\r\n const path = window.location.pathname.split(\"/\");\r\n const activeOuid = path[1];\r\n const { activeOuidChain } = store.getState().permission;\r\n console.log(`create_examinstance`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n var url = `${coursesApiEndpoint}/examinstance`;\r\n if (payload.bookInParent) {\r\n url = `${coursesApiEndpoint}/examinstance`;\r\n }\r\n const method = \"post\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, payload, axiosHeader)\r\n .then((response) => {\r\n dispatch(showSnackbar(\"Exam created Successfully\", \"success\"));\r\n dispatch(create_examinstance_success());\r\n })\r\n .catch((err) => {\r\n console.log(\"Exam creation Failed\");\r\n dispatch(showSnackbar(\"Exam creation Failed\", \"error\"));\r\n dispatch(create_examinstance_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const update_examinstance =\r\n (id, payload, activeOuid) => async (dispatch) => {\r\n dispatch(update_examinstance_requested());\r\n\r\n const { activeOuidChain } = store.getState().permission;\r\n console.log(`update_examinstance`);\r\n\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n var url = `${coursesApiEndpoint}/examinstance/${id}`;\r\n const method = \"put\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, payload, axiosHeader)\r\n .then((response) => {\r\n dispatch(\r\n showSnackbar(\"Examinstance updated Successfully\", \"success\")\r\n );\r\n dispatch(update_examinstance_success());\r\n })\r\n .catch((err) => {\r\n console.log(\"Examinstance update Failed\");\r\n dispatch(showSnackbar(\"Examinstance update Failed\", \"error\"));\r\n dispatch(update_examinstance_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const submit_examinstance = (activeOuid, id) => async (dispatch) => {\r\n const { activeOuidChain } = store.getState().permission;\r\n console.log(`submit_examinstance`);\r\n\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n console.log(\"jwt\", jwt);\r\n var url = `${coursesApiEndpoint}/examinstance/${id}?submit=true`;\r\n let method = \"patch\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, null, axiosHeader)\r\n .then((response) => {\r\n dispatch(showSnackbar(\"Exam submitted\", \"success\"));\r\n get_examinstance(activeOuid, id);\r\n })\r\n .catch((err) => {\r\n console.log(\"Examinstance update Failed\");\r\n dispatch(\r\n showSnackbar(\r\n \"Exam submission failed, please contact support with the details of the error\",\r\n \"error\"\r\n )\r\n );\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const start_examinstance = (activeOuid, id) => async (dispatch) => {\r\n const { activeOuidChain } = store.getState().permission;\r\n console.log(`start_examinstance`);\r\n\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n var url = `${coursesApiEndpoint}/examinstance/${id}?start=true`;\r\n let method = \"patch\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, null, axiosHeader)\r\n .then((response) => {\r\n dispatch(showSnackbar(\"Exam started, Good luck\", \"success\"));\r\n })\r\n .catch((err) => {\r\n console.log(\"Failed to start exam\");\r\n dispatch(\r\n showSnackbar(\r\n \"Failed to start exam, please contact support with the details of the error\",\r\n err\r\n )\r\n );\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const get_examinstances_requested = () => ({\r\n type: GET_EXAMINSTANCES_REQUESTED,\r\n});\r\n\r\nexport const get_examinstances_success = (payload) => ({\r\n type: GET_EXAMINSTANCES_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_examinstances_errored = (error) => ({\r\n type: GET_EXAMINSTANCES_ERRORED,\r\n error,\r\n});\r\n\r\nexport const get_examinstances =\r\n (activeOuid, activeOuidChain, category, ouid) => async (dispatch) => {\r\n dispatch(get_examinstances_requested());\r\n console.log(`get_examinstances`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/examinstance`;\r\n if (!category === \"\") {\r\n url = `${coursesApiEndpoint}/examinstance?category=${category}`;\r\n }\r\n\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get All Courses Fetched Successfully\");\r\n dispatch(get_examinstances_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get All Courses Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Courses Failed\", \"error\"));\r\n }\r\n dispatch(get_examinstances_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const get_examinstances_by_examuser =\r\n (activeOuid, activeOuidChain, examuser) => async (dispatch) => {\r\n dispatch(get_examinstances_requested());\r\n console.log(`get_examinstances_by_examuser`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/examinstance?examuser=${examuser}`;\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get Exam instances by examuser Fetched Successfully\");\r\n dispatch(get_examinstances_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get Exam instances by examuser Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(\r\n showSnackbar(\"Get Exam instances by examuser Failed\", \"error\")\r\n );\r\n }\r\n dispatch(get_examinstances_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const get_examinstances_by_examid =\r\n (activeOuid, activeOuidChain, examid) => async (dispatch) => {\r\n dispatch(get_examinstances_requested());\r\n console.log(`get_examinstances_by_examid`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/examinstance?examId=${examid}`;\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get Exam instances by examId Fetched Successfully\");\r\n dispatch(get_examinstances_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get Exam instances by examId Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(\r\n showSnackbar(\"Get Exam instances by examId Failed\", \"error\")\r\n );\r\n }\r\n dispatch(get_examinstances_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const get_examinstance =\r\n (activeOuid, activeOuidChain, id) => async (dispatch) => {\r\n dispatch(get_examinstance_requested());\r\n console.log(`get_examinstance `);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/examinstance/${id}`;\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get post Fetched Successfully\", response.data);\r\n dispatch(get_examinstance_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get Examinstance Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get Examinstance Failed\", \"error\"));\r\n }\r\n dispatch(get_examinstance_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const get_examinstance_result =\r\n (activeOuid, activeOuidChain, id) => async (dispatch) => {\r\n dispatch(get_examinstance_requested());\r\n console.log(`get_examinstance_result `);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/examinstance/${id}?result=true`;\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get post Fetched Successfully\", response.data);\r\n dispatch(get_examinstance_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get Examinstance Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get Examinstance Failed\", \"error\"));\r\n }\r\n dispatch(get_examinstance_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const get_examinstance_requested = () => ({\r\n type: GET_EXAMINSTANCE_REQUESTED,\r\n});\r\n\r\nexport const get_examinstance_success = (payload) => ({\r\n type: GET_EXAMINSTANCE_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_examinstance_errored = (error) => ({\r\n type: GET_EXAMINSTANCE_ERRORED,\r\n error,\r\n});\r\n\r\nexport const update_examline =\r\n (examlineId, ouid, payload, type) => async (dispatch) => {\r\n dispatch(update_examlineinstance_requested());\r\n console.log(`update_examline`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url;\r\n // console.log(`jwt : ${jwt}`);\r\n let method = \"post\";\r\n let axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": ouid,\r\n },\r\n };\r\n if (examlineId) {\r\n method = \"put\";\r\n url = `${coursesApiEndpoint}/examline/${examlineId}`;\r\n } else {\r\n url = `${coursesApiEndpoint}/examline`;\r\n }\r\n // console.log(`url : ${url}`);\r\n return axios[method](url, payload, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Examline Create or Upadate Success\");\r\n dispatch(\r\n showSnackbar(\"Examline Create or Upadate Successfully\", \"success\")\r\n );\r\n dispatch(update_examlineinstance_success(response.data));\r\n dispatch(get_examlineinstances());\r\n return response.data.identifier;\r\n })\r\n .catch((err) => {\r\n console.log(\"Examline Create or Upadate Failed\");\r\n // console.error('ErrorLog : ', JSON.stringify(err));\r\n dispatch(showSnackbar(\"Examline Create or Upadate Failed\", \"error\"));\r\n dispatch(update_examlineinstance_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const get_examlineinstances_requested = () => ({\r\n type: GET_EXAMLINEINSTANCES_REQUESTED,\r\n});\r\n\r\nexport const get_examlineinstances_success = (payload) => ({\r\n type: GET_EXAMLINEINSTANCES_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_examlineinstances_errored = (error) => ({\r\n type: GET_EXAMLINEINSTANCES_ERRORED,\r\n error,\r\n});\r\n\r\nexport const get_examlineinstances =\r\n (activeOuid, examinstanceId) => async (dispatch) => {\r\n dispatch(get_examlineinstances_requested());\r\n console.log(`get_examlineinstances`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/examlineinstance?examinstanceId=${examinstanceId}`;\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n },\r\n };\r\n\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get All Examline Success\");\r\n dispatch(get_examlineinstances_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get All courseline Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get All Examline Failed\", \"error\"));\r\n }\r\n dispatch(get_examlineinstances_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\n/**\r\n * payload to be as below.\r\n * {\r\n \"selectedAnswer\": \"answer1\"\r\n }\r\n */\r\nexport const update_selectedanswer =\r\n (ouid, examlineinstanceId, payload) => async (dispatch) => {\r\n console.log(`update_selectedanswer`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url;\r\n // console.log(`jwt : ${jwt}`);\r\n let axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": ouid,\r\n },\r\n };\r\n let method = \"patch\";\r\n url = `${coursesApiEndpoint}/examlineinstance/${examlineinstanceId}?updateSelectedAnswer=true`;\r\n\r\n // console.log(`url : ${url}`);\r\n return axios[method](url, payload, axiosHeader)\r\n .then((response) => {\r\n console.log(\"update_selectedanswer success\");\r\n get_examlineinstance(ouid, examlineinstanceId);\r\n })\r\n .catch((err) => {\r\n console.log(\"update_selectedanswer Failed\");\r\n dispatch(showSnackbar(\"updating selected answer failed\", \"error\"));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const get_examlineinstance = (activeOuid, id) => async (dispatch) => {\r\n dispatch(get_examlineinstance_requested());\r\n console.log(`get_examlineinstance `);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/examlineinstance/${id}`;\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get post Fetched Successfully\", response.data);\r\n dispatch(get_examlineinstance_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get Examlineinstance Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get Examlineinstance Failed\", \"error\"));\r\n }\r\n dispatch(get_examlineinstance_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const get_examlineinstance_requested = () => ({\r\n type: GET_EXAMLINEINSTANCE_REQUESTED,\r\n});\r\n\r\nexport const get_examlineinstance_success = (payload) => ({\r\n type: GET_EXAMLINEINSTANCE_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_examlineinstance_errored = (error) => ({\r\n type: GET_EXAMLINEINSTANCE_ERRORED,\r\n error,\r\n});\r\n","import React, { Component } from \"react\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport { connect } from \"react-redux\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport { get_exams } from \"../../../actions/action-exam\";\r\nimport { get_all_exam_users } from \"../../../actions/action-examuser\";\r\n\r\nimport {\r\n get_examinstances_by_examuser,\r\n get_examinstances_by_examid,\r\n} from \"../../../actions/action-examinstance\";\r\n\r\nimport { get_all_orguesr } from \"../../../actions/action-orguser\";\r\n\r\nimport Button from \"@material-ui/core/Button\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { history } from \"../../../reducers\";\r\nimport SidebarWrapper from \"../../layout/SidebarWrapper\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { Paper, TextField } from \"@material-ui/core\";\r\nimport { setActiveOuid } from \"../../../actions/action-permissions\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport VisibilityIcon from \"@material-ui/icons/Visibility\";\r\nimport EventIcon from \"@material-ui/icons/Event\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\n\r\nimport Select from \"react-select\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableContainer from \"@material-ui/core/TableContainer\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport ButtonPrimary from \"../../common/ButtonPrimary\";\r\n\r\nconst store = configureStore();\r\nlet selectedUserName = \"\";\r\nlet selectedExamId = \"\";\r\nconst Icontooltip = withStyles({\r\n tooltip: {\r\n fontSize: 12,\r\n },\r\n})(Tooltip);\r\n\r\nclass ExamInstances extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n examsToShow: [],\r\n examOptionsToShow: [],\r\n usersToShow: [],\r\n userOptionsToShow: [],\r\n examInstancesToShow: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return;\r\n }\r\n this.fetchDetails();\r\n }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n\r\n async fetchDetails() {\r\n const path = window.location.pathname.split(\"/\");\r\n const ouid = path[1];\r\n console.log(\"fetchDetails ouid : \", ouid);\r\n\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n\r\n console.log(\" fetchDetails activeOuid : \", activeOuid);\r\n console.log(\"fetchDetails permission : \", store.getState().permission);\r\n\r\n const { setActiveOuid, get_all_orguesr, get_exams } = this.props;\r\n\r\n await setActiveOuid(ouid);\r\n await get_all_orguesr(activeOuid);\r\n const { orgUserProfiles } = store.getState().orgUserProfile;\r\n\r\n console.log(\"fetchDetails > orgUserProfiles : \", orgUserProfiles);\r\n\r\n await get_exams(activeOuid, activeOuidChain, \"\", activeOuid);\r\n const { exams } = store.getState().exam;\r\n console.log(\"fetchDetails > exams : \", exams);\r\n console.log(\" get_all_orguesr activeOuid : \", activeOuid);\r\n let userOptionsToShow = orgUserProfiles.map((opt) => ({\r\n label: opt.data.username,\r\n value: opt.data.username,\r\n }));\r\n let examOptionsToShow = exams.map((opt) => ({\r\n label: opt.data.title,\r\n value: opt.data.identifier,\r\n data: opt.data,\r\n }));\r\n\r\n this.setState({\r\n examsToShow: exams,\r\n examOptionsToShow: examOptionsToShow,\r\n usersToShow: orgUserProfiles,\r\n userOptionsToShow: userOptionsToShow,\r\n });\r\n }\r\n\r\n handleExamOnChange(examOption) {\r\n if (examOption) {\r\n console.log(examOption.value);\r\n selectedExamId = examOption.value;\r\n selectedUserName = \"\";\r\n } else {\r\n selectedExamId = \"\";\r\n }\r\n }\r\n\r\n handleUserOnChange(userOption) {\r\n if (userOption) {\r\n console.log(userOption.value);\r\n selectedUserName = userOption.value;\r\n selectedExamId = \"\";\r\n } else {\r\n selectedUserName = \"\";\r\n }\r\n }\r\n\r\n getExamInstances = async (event) => {\r\n console.log(selectedExamId, selectedUserName);\r\n const { get_examinstances_by_examuser, get_examinstances_by_examid } =\r\n this.props;\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n if (selectedExamId === \"\" && selectedUserName !== \"\") {\r\n await get_examinstances_by_examuser(\r\n activeOuid,\r\n activeOuidChain,\r\n selectedUserName\r\n );\r\n this.setState({\r\n ...this.state,\r\n examInstancesToShow: store.getState().examinstance.examinstances,\r\n });\r\n }\r\n if (selectedUserName === \"\" && selectedExamId !== \"\") {\r\n await get_examinstances_by_examid(\r\n activeOuid,\r\n activeOuidChain,\r\n selectedExamId\r\n );\r\n this.setState({\r\n ...this.state,\r\n examInstancesToShow: store.getState().examinstance.examinstances,\r\n });\r\n }\r\n };\r\n\r\n renderExams() {\r\n const { showGlobalLoader } = store.getState().exam;\r\n return (\r\n <>\r\n
\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n <>\r\n
\r\n Select Exam\r\n this.handleExamOnChange(opt)}\r\n />\r\n
\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n renderExamInstances(examinstances) {\r\n console.log(\"examusers : \", JSON.stringify(examinstances));\r\n const { activeOuid } = store.getState().permission;\r\n\r\n return examinstances.map((row) => (\r\n \r\n {row.data.examuser}\r\n {row.data.exam}\r\n {row.status}\r\n {row.result ? (\r\n <>\r\n \r\n {row.result.totalMarks}/{row.result.maxMarks}\r\n \r\n {row.result.passed}\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {\r\n history.push(`/${activeOuid}/eievents/${row.data.identifier}`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n ));\r\n }\r\n\r\n renderUsers(userList) {\r\n const { orgUserProfiles, showGlobalLoader } =\r\n store.getState().orgUserProfile;\r\n\r\n console.log(\"renderUsers >orgUserProfiles \", orgUserProfiles);\r\n return (\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n
\r\n Select User\r\n this.handleUserOnChange(opt)}\r\n />\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n const { permissions } = store.getState().permission;\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
{this.renderUsers(this.state.usersToShow)}
\r\n
{this.renderExams(this.state.examsToShow)}
\r\n this.getExamInstances()}\r\n >\r\n Get Exam Instances\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Username\r\n Exam\r\n Status\r\n Score\r\n Result\r\n View\r\n \r\n \r\n \r\n {this.state.examInstancesToShow.length !== 0\r\n ? this.renderExamInstances(this.state.examInstancesToShow)\r\n : \"No Exam Instances\"}\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 orgunit: state.orgunit,\r\n showGlobalLoader: state.orgunit.showGlobalLoader,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setActiveOuid: (activeOuid) => dispatch(setActiveOuid(activeOuid)),\r\n get_all_orguesr: (activeOuid) => dispatch(get_all_orguesr(activeOuid)),\r\n get_all_exam_users: (activeOuid, activeOuidChain) =>\r\n dispatch(get_all_exam_users(activeOuid, activeOuidChain)),\r\n get_exams: (activeOuid, activeOuidChain, category, ouid) =>\r\n dispatch(get_exams(activeOuid, activeOuidChain, category, ouid)),\r\n get_examinstances_by_examuser: (activeOuid, activeOuidChain, examuser) =>\r\n dispatch(\r\n get_examinstances_by_examuser(activeOuid, activeOuidChain, examuser)\r\n ),\r\n get_examinstances_by_examid: (activeOuid, activeOuidChain, examId) =>\r\n dispatch(get_examinstances_by_examid(activeOuid, activeOuidChain, examId)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ExamInstances);\r\n","import React, { Component } from \"react\";\r\nimport configureStore from '../../../store/configureStore';\r\nimport SidebarWrapper from '../../layout/SidebarWrapper';\r\n\r\nimport { Editor } from \"react-draft-wysiwyg\";\r\nimport { EditorState, convertToRaw } from \"draft-js\";\r\n\r\nimport \"react-draft-wysiwyg/dist/react-draft-wysiwyg.css\";\r\nimport draftToHtml from \"draftjs-to-html\";\r\n\r\nconst store = configureStore();\r\n\r\n\r\nexport default class TextEditor extends Component {\r\n state = {\r\n editorState: EditorState.createEmpty(),\r\n };\r\n\r\n onEditorStateChange = (editorState) => {\r\n this.setState({\r\n editorState,\r\n });\r\n };\r\n\r\n render() {\r\n const { editorState } = this.state;\r\n const { permissions } = store.getState().permission;\r\n \r\n console.log(draftToHtml(convertToRaw(editorState.getCurrentContent())));\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}","import React from \"react\";\r\nimport ReactHlsPlayer from \"react-hls-player\";\r\n\r\nexport default function Player(props) {\r\n const { urlSrc } = props;\r\n\r\n const playerRef = React.useRef();\r\n const percentCurrent = React.useRef(0);\r\n\r\n React.useEffect(() => {\r\n playerRef.current.addEventListener(\"play\", fireOnVideoStart);\r\n playerRef.current.addEventListener(\"timeupdate\", timeupdate);\r\n playerRef.current.addEventListener(\"ended\", fireOnVideoEnd);\r\n\r\n //return playerRef.current.removeEventListener('play', fireOnVideoStart);\r\n }, []);\r\n\r\n function fireOnVideoStart() {\r\n // Do some stuff when the video starts/resumes playing\r\n console.log(\"video started/resumed\");\r\n }\r\n\r\n function timeupdate(e) {\r\n if (playerRef.current) {\r\n const duration = playerRef.current.duration;\r\n const currentTime = playerRef.current.currentTime;\r\n\r\n var handlePercent = Math.ceil((currentTime / duration) * 100);\r\n //console.log(\"currentTime/duration\", currentTime + \"/\", duration);\r\n\r\n if (percentCurrent.current < 75 && handlePercent === 75) {\r\n console.log(\"percentCurrent\");\r\n percentCurrent.current = handlePercent;\r\n } else if (percentCurrent.current < 95 && handlePercent === 95) {\r\n console.log(\"percentCurrent\");\r\n percentCurrent.current = handlePercent;\r\n } else if (percentCurrent.current < 100 && handlePercent === 100) {\r\n console.log(\"percentCurrent\");\r\n percentCurrent.current = handlePercent;\r\n }\r\n }\r\n }\r\n\r\n function fireOnVideoEnd() {\r\n // Do some stuff when the video ends\r\n console.log(\"video ended, update item\");\r\n }\r\n\r\n return (\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { makeStyles, withStyles } from \"@material-ui/core/styles\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport EditIcon from \"@material-ui/icons/Edit\";\r\nimport VisibilityIcon from \"@material-ui/icons/Visibility\";\r\nimport { Orgunit } from \"@material-ui/icons\";\r\nimport { history } from \"../../../reducers\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { RedirectFunc } from \"../../common/CommonFunctions\";\r\nimport { setActiveOiudConfigs } from \"../../../actions/action-config\";\r\nimport {\r\n setActiveOuid,\r\n setActiveOuidChain,\r\n} from \"../../../actions/action-permissions\";\r\nimport {\r\n get_courselines,\r\n} from \"../../../actions/action-course\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { create_update_courseline } from \"../../../actions/action-course\";\r\nimport DeleteIcon from \"@material-ui/icons/Delete\";\r\nimport CommonDelete from \"../../common/CommonDelete\";\r\n\r\nconst store = configureStore();\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n maxWidth: 250,\r\n minWidth: 250,\r\n height: \"100%\",\r\n },\r\n button: {\r\n marginRight: \"10px\",\r\n },\r\n});\r\n\r\nexport default function ChapterCardAdmin(props) {\r\n const classes = useStyles();\r\n const [editChapterVisibility, setEditChapterVisibility] =\r\n React.useState(false);\r\n console.log(\"props\", props);\r\n const [state, setState] = React.useState({\r\n courseId: props.courseId,\r\n title: props.item.data.title,\r\n summary: props.item.data.summary,\r\n featuredImage: props.item.data.featuredImage,\r\n courseVideo: props.item.data.courseVideo,\r\n sequenceNumber: props.item.data.sequenceNumber,\r\n previewable: props.item.data.previewable,\r\n });\r\n\r\n const onInputChange = (event) => {\r\n console.log(\"event.target.id\", event.target.id);\r\n console.log(\"event.target.value\", event.target.value);\r\n if (event.target.id) {\r\n setState({ ...state, [event.target.id]: event.target.value });\r\n } else {\r\n setState({ ...state, [event.target.name]: event.target.value });\r\n }\r\n console.log(\"state\", state);\r\n };\r\n async function handleSave() {\r\n // Put api call for chapter edit\r\n const { activeOuid } = store.getState().permission;\r\n console.log(\"Edit Chapter\");\r\n const courselineId = props.item.data.identifier;\r\n console.log(\"courselineId \", courselineId);\r\n\r\n await store.dispatch(\r\n create_update_courseline(courselineId, activeOuid, state, \"\"), \r\n );\r\n await store.dispatch(\r\n get_courselines(activeOuid, state.courseId)\r\n );\r\n\r\n }\r\n\r\n return (\r\n
\r\n <>\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Title : \r\n {props.item.data.title}\r\n
\r\n
\r\n SequenceNumber : \r\n {props.item.data.sequenceNumber}\r\n
\r\n
\r\n FeaturedImage : \r\n {props.item.data.featuredImage}\r\n
\r\n
\r\n CourseVideo : \r\n {props.item.data.courseVideo}\r\n
\r\n
\r\n Previewable : \r\n {props.item.data.previewable}\r\n
\r\n
\r\n {/* {\r\n history.push(\r\n `/${activeOuid}/mng-test/${item.data.identifier}`\r\n );\r\n }}\r\n >\r\n Test Questions & Answers\r\n */}\r\n\r\n \r\n setEditChapterVisibility(!editChapterVisibility)\r\n }\r\n >\r\n \r\n \r\n {/* \r\n setEditChapterVisibility(!editChapterVisibility)\r\n }\r\n >\r\n \r\n */}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {editChapterVisibility && (\r\n
\r\n

Edit Chapter

\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n {\r\n handleSave();\r\n }}\r\n variant=\"contained\"\r\n color=\"primary\"\r\n className={classes.button}\r\n >\r\n Save\r\n \r\n \r\n setEditChapterVisibility(!editChapterVisibility)\r\n }\r\n variant=\"contained\"\r\n color=\"primary\"\r\n >\r\n Cancel\r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n );\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport {\r\n get_course,\r\n get_courselines,\r\n get_courselines_public,\r\n get_course_public,\r\n create_update_courseline,\r\n update_course,\r\n} from \"../../../actions/action-course\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { history } from \"../../../reducers\";\r\nimport SidebarWrapper from \"../../layout/SidebarWrapper\";\r\nimport Player from \"../Vod/Player\";\r\nimport DeleteIcon from \"@material-ui/icons/Delete\";\r\nimport EditIcon from \"@material-ui/icons/Edit\";\r\nimport CommonDelete from \"../../common/CommonDelete\";\r\nimport { timeFormat } from \"../../common/CommonFunctions\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { hideSnackbar } from \"../../../actions/action-snackbar\";\r\nimport { Paper } from \"@material-ui/core\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport AddCircleIcon from \"@material-ui/icons/AddCircle\";\r\nimport ChapterCardAdmin from \"./ChapterCardAdmin\";\r\nimport FormErrors from \"../../FormErrors\";\r\nimport FormButton from \"../../common/FormButton\";\r\nconst store = configureStore();\r\n\r\nclass CourseDetails extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n courseDetails: {},\r\n signedUrl: \"\",\r\n courselines: [],\r\n newchapterTitle: \"\",\r\n newChapterPreviewable: \"No\",\r\n currentVideo: \"\",\r\n currentSummary: \"\",\r\n featuredImage: \"\",\r\n currentSequenceNumber: \"\",\r\n addChapterVisibility: false,\r\n editCourseVisibility: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n this.fetchPublicDetails();\r\n } else {\r\n this.fetchDetails();\r\n }\r\n }\r\n\r\n async fetchDetails() {\r\n const path = window.location.pathname.split(\"/\");\r\n const id = path[path.length - 1];\r\n console.log(\"store.getState().permission : \", store.getState().permission);\r\n const { activeOuid, activeOuidChain, userRoles } =\r\n store.getState().permission;\r\n\r\n const { get_course, get_courselines } = this.props;\r\n await get_course(activeOuid, activeOuidChain, id);\r\n await get_courselines(activeOuid, id);\r\n console.log(\"fetched course details: \", store.getState().course);\r\n this.setState({\r\n courseDetails: store.getState().course.courseDetails,\r\n courselines: store.getState().course.courselines,\r\n });\r\n if (this.state.courselines.length > 0) {\r\n this.state.courselines.forEach((element) => {\r\n console.log(\"element.data.sequenceNumber\", element.data.sequenceNumber);\r\n if (element.data.sequenceNumber === \"1\") {\r\n console.log(\"element.data.courseVideo\", element.data.courseVideo);\r\n element[\"currentSelection\"] = \"true\";\r\n\r\n this.setState({\r\n currentVideo: element.data.courseVideo,\r\n currentSequenceNumber: element.data.sequenceNumber,\r\n currentSummary: element.data.summary,\r\n currentTitle: element.data.title,\r\n featuredImage: element.data.featuredImage,\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n async fetchPublicDetails() {\r\n const path = window.location.pathname.split(\"/\");\r\n const id = path[path.length - 1];\r\n let ouid = path[1];\r\n console.log(\"ouid : \", ouid);\r\n\r\n const { get_course_public, get_courselines_public } = this.props;\r\n await get_course_public(ouid, id);\r\n await get_courselines_public(ouid, id);\r\n\r\n console.log(\"fetched course details: \", store.getState().course);\r\n this.setState({\r\n courseDetails: store.getState().course.courseDetails,\r\n courselines: store.getState().course.courselines,\r\n });\r\n if (this.state.courselines.length > 0) {\r\n this.state.courselines.forEach((element) => {\r\n console.log(\"element.data.sequenceNumber\", element.data.sequenceNumber);\r\n if (element.data.sequenceNumber === \"1\") {\r\n console.log(\"element.data.courseVideo\", element.data.courseVideo);\r\n element[\"currentSelection\"] = \"true\";\r\n\r\n this.setState({\r\n currentVideo: element.data.courseVideo,\r\n currentSequenceNumber: element.data.sequenceNumber,\r\n currentSummary: element.data.summary,\r\n currentTitle: element.data.title,\r\n featuredImage: element.data.featuredImage,\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n async addChapter() {\r\n \r\n const { activeOuid } = store.getState().permission;\r\n console.log(\"Add Chapter\");\r\n const courseId = store.getState().course.courseDetails.data.identifier;\r\n console.log(\"courseId \", courseId);\r\n\r\n let payload = {\r\n courseId: courseId,\r\n title: this.state.newchapterTitle,\r\n courseVideo: this.state.newchapterVideo,\r\n featuredImage: this.state.newchapterFeaturedImage,\r\n summary: this.state.newchapterSummary,\r\n sequenceNumber: this.state.newchapterSequenceNumber,\r\n previewable: this.state.newChapterPreviewable,\r\n };\r\n await store.dispatch(create_update_courseline(\"\", activeOuid, payload, \"\"));\r\n await store.dispatch(get_courselines(activeOuid, courseId));\r\n this.setAddChapterVisibility(false)\r\n }\r\n\r\n onInputChange = (event) => {\r\n console.log(\"event.target.id\", event.target.id);\r\n console.log(\"event.target.value\", event.target.value);\r\n\r\n if (event.target.id) {\r\n this.setState({ ...this.state, [event.target.id]: event.target.value });\r\n } else {\r\n this.setState({ ...this.state, [event.target.name]: event.target.value });\r\n }\r\n console.log(\"state\", this.state);\r\n };\r\n\r\n setAddChapterVisibility(visibility) {\r\n console.log(\"addChapterVisibility\", this.state.addChapterVisibility);\r\n this.setState({\r\n addChapterVisibility: visibility,\r\n });\r\n }\r\n\r\n setEditCourseVisibility(visibility) {\r\n console.log(\"editCourseVisibility\", this.state.editCourseVisibility);\r\n this.setState({\r\n editCourseVisibility: visibility,\r\n });\r\n }\r\n\r\n async handleSave() {\r\n // Put api call for course edit\r\n const { activeOuid } = store.getState().permission;\r\n console.log(\"Edit Course\");\r\n const courseId = store.getState().course.courseDetails.data.identifier;\r\n console.log(\"courseId \", courseId); \r\n\r\n let payload = {\r\n courseId: courseId,\r\n title: this.state.title,\r\n summary: this.state.summary,\r\n featuredImage: this.state.featuredImage,\r\n };\r\n console.log(\"save\", payload);\r\n // await store.dispatch(update_course(courseId, this.state, activeOuid));\r\n }\r\n\r\n renderCourseEditForm(courseeditdetails) {\r\n return (\r\n
\r\n \r\n
\r\n

Edit Course

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

\r\n this.handleSave()} text=\"Save\" />\r\n

\r\n
\r\n \r\n
\r\n );\r\n }\r\n renderCourse() {\r\n const { showGlobalLoader, showGlobalLoaderCourseline } =\r\n store.getState().course;\r\n const { activeOuid, userRoles, policies, activeOuidType } =\r\n store.getState().permission;\r\n const path = window.location.pathname.split(\"/\");\r\n const id = path[path.length - 1];\r\n console.log(\"activeOuidType in renderCourse : \", activeOuidType);\r\n\r\n if (\r\n activeOuidType === \"ROOT\" &&\r\n (policies.includes(`${userRoles[0].ouid}=admin`) ||\r\n policies.includes(`system=admin`))\r\n ) {\r\n console.log(\"return for ROOT : \");\r\n console.log(\"showGlobalLoader : \", showGlobalLoader);\r\n console.log(\"this.state.courseDetails : \", this.state.courseDetails);\r\n return (\r\n
\r\n \r\n
\r\n

Course Details

\r\n
\r\n \r\n this.setEditCourseVisibility(\r\n !this.state.editCourseVisibility\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n {store.getState().course.courseDetails &&\r\n store.getState().course.courseDetails.data ? (\r\n
\r\n {this.renderDetails(store.getState().course.courseDetails.data)}\r\n
\r\n ) : (\r\n \"No Course Details Found\"\r\n )}\r\n\r\n {this.state.editCourseVisibility &&\r\n this.renderCourseEditForm(\r\n store.getState().course.courseDetails.data\r\n )}\r\n
\r\n
\r\n

\r\n Chapters{\" \"}\r\n \r\n this.setAddChapterVisibility(\r\n !this.state.addChapterVisibility\r\n )\r\n }\r\n variant=\"contained\"\r\n color=\"primary\"\r\n >\r\n Add Chapter\r\n \r\n

\r\n\r\n {this.state.addChapterVisibility && (\r\n
\r\n

Add a new Chapter

\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\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.addChapter();\r\n\r\n }}\r\n variant=\"contained\"\r\n color=\"primary\"\r\n >\r\n Add\r\n \r\n
\r\n )}\r\n
\r\n {showGlobalLoaderCourseline ? (\r\n \r\n ) : store.getState().course.courselines.length !== 0 &&\r\n store.getState().course.courseDetails.data ? (\r\n
\r\n {this.renderCourselinesForAdmin(\r\n store.getState().course.courselines,\r\n store.getState().course.courseDetails.data.identifier\r\n )}\r\n
\r\n ) : (\r\n \"No Existing Course Chapters.....\"\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n );\r\n } else {\r\n console.log(\"return for non root : \");\r\n console.log(\r\n \"store.getState().course.courseDetails : \",\r\n store.getState().course.courseDetails\r\n );\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n
\r\n
\r\n
\r\n {showGlobalLoaderCourseline ? (\r\n \r\n ) : store.getState().course.courselines.length !== 0 ? (\r\n
\r\n {this.state.currentVideo ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n

{this.state.currentTitle}

\r\n
\r\n
Chapter: {this.state.currentSequenceNumber}
\r\n
{this.state.currentSummary}
\r\n
\r\n ) : (\r\n \"No Existing Course Chapters.....\"\r\n )}\r\n
\r\n
\r\n
\r\n {store.getState().course.courseDetails &&\r\n store.getState().course.courseDetails.data ? (\r\n

\r\n {store.getState().course.courseDetails.data.title}\r\n

\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n {store.getState().course.courseDetails &&\r\n store.getState().course.courseDetails.data ? (\r\n <>\r\n {store.getState().course.courseDetails.data.summary}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n
\r\n\r\n \r\n {showGlobalLoaderCourseline || showGlobalLoader ? (\r\n \r\n ) : store.getState().course.courselines.length !== 0 ? (\r\n
\r\n {this.renderCourselines(\r\n store.getState().course.courselines,\r\n store.getState().course.courseDetails.data.identifier\r\n )}\r\n
\r\n ) : (\r\n \"No Existing Course Chapters.....\"\r\n )}\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n }\r\n\r\n renderDetails(details) {\r\n return Object.keys(details).map(function (keyName, keyIndex) {\r\n return (\r\n
\r\n
{keyName}
\r\n {keyName === \"lastModifiedDate\" || keyName === \"createdDate\" ? (\r\n
{timeFormat(details[keyName])}
\r\n ) : (\r\n
{details[keyName]}
\r\n )}\r\n
\r\n );\r\n });\r\n }\r\n\r\n renderCourselines = (courselines, courseId) => {\r\n const { activeOuid } = store.getState().permission;\r\n return courselines.map((item, index) => (\r\n <>\r\n {\" \"}\r\n {\r\n this.state.courselines.forEach((element) => {\r\n if (element[\"currentSelection\"] === \"true\") {\r\n delete element[\"currentSelection\"];\r\n }\r\n if (element.data.identifier === item.data.identifier) {\r\n element[\"currentSelection\"] = \"true\";\r\n }\r\n });\r\n this.setState({\r\n currentVideo: `${item.data.courseVideo}`,\r\n currentSequenceNumber: `${item.data.sequenceNumber}`,\r\n currentSummary: `${item.data.summary}`,\r\n currentTitle: `${item.data.title}`,\r\n });\r\n }}\r\n >\r\n
\r\n \r\n
\r\n
\r\n
{item.data.title}
\r\n {/*
Chapter: {item.data.sequenceNumber}
*/}\r\n
\r\n\r\n {/*
\r\n \r\n Video : {item.data.courseVideo}\r\n
*/}\r\n
\r\n \r\n ));\r\n };\r\n\r\n renderCourselinesForAdmin = (courselines, courseId) => {\r\n const { activeOuid } = store.getState().permission;\r\n const courselinesSorted = courselines.sort(\r\n (a, b) => a.data.sequenceNumber - b.data.sequenceNumber\r\n );\r\n\r\n return courselinesSorted.map((item, index) => (\r\n \r\n ));\r\n };\r\n\r\n render() {\r\n const { showGlobalLoader } = store.getState().course;\r\n const { permissions } = store.getState().permission;\r\n const path = window.location.pathname.split(\"/\");\r\n const id = path[path.length - 1];\r\n\r\n return (\r\n
\r\n {permissions ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n
\r\n
{this.renderCourse()}
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n course: state.course,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_course: (activeOuid, activeOuidChain, id) =>\r\n dispatch(get_course(activeOuid, activeOuidChain, id)),\r\n get_course_public: (activeOuid, id) =>\r\n dispatch(get_course_public(activeOuid, id)),\r\n get_courselines: (activeOuid, id) =>\r\n dispatch(get_courselines(activeOuid, id)),\r\n get_courselines_public: (activeOuid, id) =>\r\n dispatch(get_courselines_public(activeOuid, id)),\r\n create_update_courseline: (activeOuid, courseId) =>\r\n dispatch(create_update_courseline(activeOuid)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CourseDetails);\r\n","import React from \"react\";\r\nimport { makeStyles, withStyles } from \"@material-ui/core/styles\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport EditIcon from \"@material-ui/icons/Edit\";\r\nimport VisibilityIcon from \"@material-ui/icons/Visibility\";\r\nimport { Orgunit } from \"@material-ui/icons\";\r\nimport { history } from \"../../../reducers\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { RedirectFunc } from \"../../common/CommonFunctions\";\r\nimport { setActiveOiudConfigs } from \"../../../actions/action-config\";\r\nimport {\r\n setActiveOuid,\r\n setActiveOuidChain,\r\n} from \"../../../actions/action-permissions\";\r\nimport { get_examlines } from \"../../../actions/action-exam\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { create_update_examline } from \"../../../actions/action-exam\";\r\nimport DeleteIcon from \"@material-ui/icons/Delete\";\r\nimport CommonDelete from \"../../common/CommonDelete\";\r\n\r\nconst store = configureStore();\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n maxWidth: 250,\r\n minWidth: 250,\r\n height: \"100%\",\r\n },\r\n button: {\r\n marginRight: \"10px\",\r\n },\r\n});\r\n\r\nexport default function QuestionCardAdmin(props) {\r\n const classes = useStyles();\r\n const [editQuestionVisibility, setEditQuestionVisibility] =\r\n React.useState(false);\r\n console.log(\"props\", props);\r\n const [state, setState] = React.useState({\r\n examId: props.examId,\r\n question: props.item.data.question,\r\n questionImage: props.item.data.questionImage,\r\n answer1: props.item.data.answer1,\r\n answer1Marks: props.item.data.answer1Marks,\r\n answer2: props.item.data.answer2,\r\n answer2Marks: props.item.data.answer2Marks,\r\n answer3: props.item.data.answer3,\r\n answer3Marks: props.item.data.answer3Marks,\r\n answer4: props.item.data.answer4,\r\n answer4Marks: props.item.data.answer4Marks,\r\n sequenceNumber: props.item.data.sequenceNumber,\r\n });\r\n\r\n const onInputChange = (event) => {\r\n console.log(\"event.target.id\", event.target.id);\r\n console.log(\"event.target.value\", event.target.value);\r\n if (event.target.id) {\r\n setState({ ...state, [event.target.id]: event.target.value });\r\n } else {\r\n setState({ ...state, [event.target.name]: event.target.value });\r\n }\r\n console.log(\"state\", state);\r\n };\r\n async function handleSave() {\r\n // Put api call for chapter edit\r\n const { activeOuid } = store.getState().permission;\r\n console.log(\"Edit Question\");\r\n const examlineId = props.item.data.identifier;\r\n console.log(\"examlineId \", examlineId);\r\n\r\n await store.dispatch(\r\n create_update_examline(examlineId, activeOuid, state, \"\")\r\n );\r\n await store.dispatch(get_examlines(activeOuid, state.examId));\r\n }\r\n\r\n return (\r\n
\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n Question : \r\n {props.item.data.question}\r\n
\r\n
\r\n QuestionImage : \r\n \"new\"\r\n
\r\n
\r\n SequenceNumber : \r\n {props.item.data.sequenceNumber}\r\n
\r\n
\r\n Answer 1 : \r\n {props.item.data.answer1}\r\n
\r\n
\r\n Answer 1 Marks: \r\n {props.item.data.answer1Marks}\r\n
\r\n
\r\n Answer 2 : \r\n {props.item.data.answer2}\r\n
\r\n
\r\n Answer 2 Marks : \r\n {props.item.data.answer2Marks}\r\n
\r\n
\r\n Answer 3 : \r\n {props.item.data.answer3}\r\n
\r\n
\r\n Answer 3 Marks : \r\n {props.item.data.answer3Marks}\r\n
\r\n
\r\n Answer 4 : \r\n {props.item.data.answer4}\r\n
\r\n
\r\n Answer 4 Marks : \r\n {props.item.data.answer4Marks}\r\n
\r\n
\r\n \r\n setEditQuestionVisibility(!editQuestionVisibility)\r\n }\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {editQuestionVisibility && (\r\n
\r\n

Edit Question

\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {\r\n handleSave();\r\n }}\r\n variant=\"contained\"\r\n color=\"primary\"\r\n className={classes.button}\r\n >\r\n Save\r\n \r\n \r\n setEditQuestionVisibility(!editQuestionVisibility)\r\n }\r\n variant=\"contained\"\r\n color=\"primary\"\r\n >\r\n Cancel\r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n );\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport {\r\n get_exam,\r\n get_examlines,\r\n create_update_examline,\r\n update_exam,\r\n} from \"../../../actions/action-exam\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { history } from \"../../../reducers\";\r\nimport SidebarWrapper from \"../../layout/SidebarWrapper\";\r\nimport Player from \"../Vod/Player\";\r\nimport DeleteIcon from \"@material-ui/icons/Delete\";\r\nimport EditIcon from \"@material-ui/icons/Edit\";\r\nimport CommonDelete from \"../../common/CommonDelete\";\r\nimport { timeFormat } from \"../../common/CommonFunctions\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { hideSnackbar } from \"../../../actions/action-snackbar\";\r\nimport { Paper } from \"@material-ui/core\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport AddCircleIcon from \"@material-ui/icons/AddCircle\";\r\nimport QuestionCardAdmin from \"./QuestionCardAdmin\";\r\nimport FormErrors from \"../../FormErrors\";\r\nimport FormButton from \"../../common/FormButton\";\r\nimport Select from \"react-select\";\r\n\r\nconst store = configureStore();\r\n\r\nclass ExamDetails extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n examDetails: {},\r\n signedUrl: \"\",\r\n examlines: [],\r\n\r\n newquestionQuestion: \"\",\r\n newquestionSequenceNumber: \"\",\r\n newquestionFeaturedImage: \"\",\r\n\r\n newquestionAnswer1: \"\",\r\n newquestionAnswer1Marks: 0,\r\n\r\n newquestionAnswer2: \"\",\r\n newquestionAnswer2Marks: 0,\r\n newquestionAnswer3: \"\",\r\n newquestionAnswer3Marks: 0,\r\n newquestionAnswer4: \"\",\r\n newquestionAnswer4Marks: 0,\r\n\r\n currentQuestion: \"\",\r\n currentQuestionSequenceNumber: \"\",\r\n\r\n examTitle: \"\",\r\n examSummary: \"\",\r\n examFeaturedImage: \"\",\r\n examStatus: \"\",\r\n examSequenceNumber: \"\",\r\n examPassMarks: \"\",\r\n examMaxMarks: \"\",\r\n examAllowRetakes: \"false\",\r\n preExamText: \"\",\r\n postExamText: \"\",\r\n examDurationMinutes: \"\",\r\n addQuestionVisibility: false,\r\n editExamVisibility: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n this.fetchPublicDetails();\r\n } else {\r\n this.fetchDetails();\r\n }\r\n }\r\n\r\n async fetchDetails() {\r\n const path = window.location.pathname.split(\"/\");\r\n const id = path[path.length - 1];\r\n const { activeOuid, activeOuidChain, userRoles } =\r\n store.getState().permission;\r\n\r\n const { get_exam, get_examlines } = this.props;\r\n await get_exam(activeOuid, activeOuidChain, id);\r\n await get_examlines(activeOuid, id);\r\n console.log(\"fetched exam details: \", store.getState().exam);\r\n this.setState({\r\n examDetails: store.getState().exam.examDetails,\r\n examlines: store.getState().exam.examlines,\r\n });\r\n if (this.state.examDetails.data) {\r\n //redundant find a better way\r\n this.setState({\r\n examTitle: this.state.examDetails.data.title,\r\n examSummary: this.state.examDetails.data.summary,\r\n examStatus: this.state.examDetails.data.status,\r\n examPassMarks: this.state.examDetails.data.passMarks,\r\n examMaxMarks: this.state.examDetails.data.maxMarks,\r\n examFeaturedImage: this.state.examDetails.data.featuredImage,\r\n preExamText: this.state.examDetails.data.preExamText,\r\n postExamText: this.state.examDetails.data.postExamText,\r\n examDurationMinutes: this.state.examDetails.data.examDurationMinutes,\r\n examAllowRetakes: this.state.examDetails.data.examAllowRetakes,\r\n });\r\n }\r\n if (this.state.examlines.length > 0) {\r\n this.state.examlines.forEach((element) => {\r\n console.log(\"element.data.sequenceNumber\", element.data.sequenceNumber);\r\n if (element.data.sequenceNumber === \"1\") {\r\n element[\"currentSelection\"] = \"true\";\r\n /**\r\n this.setState({\r\n currentQuestionSequenceNumber: element.data.sequenceNumber,\r\n currentSummary: element.data.summary,\r\n currentQuestion: element.data.question,\r\n featuredImage: element.data.featuredImage,\r\n });*/\r\n }\r\n });\r\n }\r\n }\r\n\r\n async addQuestion() {\r\n const { activeOuid } = store.getState().permission;\r\n console.log(\"Adding a Question\");\r\n const examId = store.getState().exam.examDetails.data.identifier;\r\n console.log(\"examId \", examId);\r\n\r\n let payload = {\r\n examId: examId,\r\n question: this.state.newquestionQuestion,\r\n featuredImage: this.state.newquestionFeaturedImage,\r\n sequenceNumber: this.state.newquestionSequenceNumber,\r\n answer1: this.state.newquestionAnswer1,\r\n answer1Marks: this.state.newquestionAnswer1Marks,\r\n answer2: this.state.newquestionAnswer2,\r\n answer2Marks: this.state.newquestionAnswer2Marks,\r\n answer3: this.state.newquestionAnswer3,\r\n answer3Marks: this.state.newquestionAnswer3Marks,\r\n answer4: this.state.newquestionAnswer4,\r\n answer4Marks: this.state.newquestionAnswer4Marks,\r\n };\r\n console.log(\"add a q payload\", payload);\r\n await store.dispatch(create_update_examline(\"\", activeOuid, payload, \"\"));\r\n await store.dispatch(get_examlines(activeOuid, examId));\r\n this.setAddQuestionVisibility(false);\r\n }\r\n\r\n onInputChange = (event) => {\r\n console.log(\"event.target.id\", event.target.id);\r\n console.log(\"event.target.value\", event.target.value);\r\n\r\n if (event.target.id) {\r\n this.setState({ ...this.state, [event.target.id]: event.target.value });\r\n } else {\r\n this.setState({ ...this.state, [event.target.name]: event.target.value });\r\n }\r\n console.log(\"state\", this.state);\r\n };\r\n\r\n handleAllowRetakesChange = (option) => {\r\n console.log(option.value);\r\n this.setState({ ...this.state, examAllowRetakes: option.value });\r\n };\r\n\r\n setAddQuestionVisibility(visibility) {\r\n console.log(\"addQuestionVisibility\", this.state.addQuestionVisibility);\r\n this.setState({\r\n addQuestionVisibility: visibility,\r\n });\r\n }\r\n\r\n setEditExamVisibility(visibility) {\r\n console.log(\"editExamVisibility\", this.state.editExamVisibility);\r\n this.setState({\r\n editExamVisibility: visibility,\r\n });\r\n }\r\n\r\n async handleSave() {\r\n // Put api call for exam edit\r\n const { activeOuid } = store.getState().permission;\r\n console.log(\"Edit Exam\");\r\n const examId = store.getState().exam.examDetails.data.identifier;\r\n console.log(\"examId \", examId);\r\n\r\n let payload = {\r\n identifier: examId,\r\n title: this.state.examTitle,\r\n summary: this.state.examSummary,\r\n preExamText: this.state.preExamText,\r\n postExamText: this.state.postExamText,\r\n featuredImage: this.state.examFeaturedImage,\r\n status: this.state.examStatus,\r\n maxMarks: this.state.examMaxMarks,\r\n passMarks: this.state.examPassMarks,\r\n examDurationMinutes: this.state.examDurationMinutes,\r\n examAllowRetakes: this.state.examAllowRetakes,\r\n };\r\n\r\n await store.dispatch(update_exam(examId, payload, activeOuid));\r\n console.log(\"saved payload\", payload);\r\n this.setEditExamVisibility(!this.state.editExamVisibility);\r\n this.fetchDetails();\r\n }\r\n\r\n renderExamEditForm(exameditdetails) {\r\n return (\r\n
\r\n \r\n
\r\n

Edit Exam

\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n Allow Retakes\r\n this.handleAllowRetakesChange(opt)}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\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.handleSave()} text=\"Save\" />\r\n

\r\n
\r\n \r\n
\r\n );\r\n }\r\n renderExam() {\r\n const { showGlobalLoader, showGlobalLoaderExamline } =\r\n store.getState().exam;\r\n const { activeOuid, userRoles, policies, activeOuidType } =\r\n store.getState().permission;\r\n const path = window.location.pathname.split(\"/\");\r\n const id = path[path.length - 1];\r\n console.log(\"activeOuidType in renderExam : \", activeOuidType);\r\n\r\n if (\r\n activeOuidType === \"ROOT\" &&\r\n (policies.includes(`${userRoles[0].ouid}=admin`) ||\r\n policies.includes(`system=admin`))\r\n ) {\r\n console.log(\"showGlobalLoader : \", showGlobalLoader);\r\n console.log(\r\n \"store.getState().exam.examDetails : \",\r\n store.getState().exam.examDetails\r\n );\r\n return (\r\n
\r\n \r\n
\r\n

Exam Details

\r\n
\r\n \r\n this.setEditExamVisibility(!this.state.editExamVisibility)\r\n }\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n {showGlobalLoader ? (\r\n \r\n ) : store.getState().exam.examDetails &&\r\n store.getState().exam.examDetails.data ? (\r\n
\r\n {this.renderDetails(store.getState().exam.examDetails.data)}\r\n
\r\n ) : (\r\n \"No Exam Details Found\"\r\n )}\r\n\r\n {this.state.editExamVisibility &&\r\n this.renderExamEditForm(store.getState().exam.examDetails.data)}\r\n
\r\n
\r\n

\r\n Questions{\" \"}\r\n \r\n this.setAddQuestionVisibility(\r\n !this.state.addQuestionVisibility\r\n )\r\n }\r\n variant=\"contained\"\r\n color=\"primary\"\r\n >\r\n Add a Question\r\n \r\n

\r\n\r\n {this.state.addQuestionVisibility && (\r\n
\r\n

Add a new Question With Answers

\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \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.addQuestion();\r\n }}\r\n variant=\"contained\"\r\n color=\"primary\"\r\n >\r\n Add\r\n \r\n
\r\n )}\r\n
\r\n {showGlobalLoaderExamline ? (\r\n \r\n ) : store.getState().exam.examlines.length !== 0 &&\r\n store.getState().exam.examDetails.data ? (\r\n
\r\n {this.renderExamlinesForAdmin(\r\n store.getState().exam.examlines,\r\n store.getState().exam.examDetails.data.identifier\r\n )}\r\n
\r\n ) : (\r\n \"No Exam Questions added yet.....\"\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n );\r\n } else {\r\n console.log(\"return for non root : \");\r\n console.log(\r\n \"store.getState().exam.examDetails : \",\r\n store.getState().exam.examDetails\r\n );\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n
\r\n
\r\n
\r\n {showGlobalLoaderExamline ? (\r\n \r\n ) : store.getState().exam.examlines.length !== 0 ? (\r\n
\r\n
\r\n Question: {this.state.currentQuestionSequenceNumber}\r\n
\r\n
{this.state.currentQuestion}
\r\n
\r\n ) : (\r\n \"No Exam Questions Added Yet.....\"\r\n )}\r\n
\r\n
\r\n
\r\n {store.getState().exam.examDetails &&\r\n store.getState().exam.examDetails.data ? (\r\n

\r\n {store.getState().exam.examDetails.data.title}\r\n

\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n {store.getState().exam.examDetails &&\r\n store.getState().exam.examDetails.data ? (\r\n <>{store.getState().exam.examDetails.data.summary}\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n
\r\n\r\n \r\n {showGlobalLoaderExamline || showGlobalLoader ? (\r\n \r\n ) : store.getState().exam.examlines.length !== 0 ? (\r\n
\r\n {this.renderExamlines(\r\n store.getState().exam.examlines,\r\n store.getState().exam.examDetails.data.identifier\r\n )}\r\n
\r\n ) : (\r\n \"No Exam Questions added yet.....\"\r\n )}\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n }\r\n\r\n renderDetails(details) {\r\n return Object.keys(details).map(function (keyName, keyIndex) {\r\n return (\r\n
\r\n
{keyName}
\r\n {keyName === \"lastModifiedDate\" || keyName === \"createdDate\" ? (\r\n
{timeFormat(details[keyName])}
\r\n ) : (\r\n
{details[keyName]}
\r\n )}\r\n
\r\n );\r\n });\r\n }\r\n\r\n renderExamlines = (examlines, examId) => {\r\n const { activeOuid } = store.getState().permission;\r\n return examlines.map((item, index) => (\r\n <>\r\n {\" \"}\r\n {\r\n this.state.examlines.forEach((element) => {\r\n if (element[\"currentSelection\"] === \"true\") {\r\n delete element[\"currentSelection\"];\r\n }\r\n if (element.data.identifier === item.data.identifier) {\r\n element[\"currentSelection\"] = \"true\";\r\n }\r\n });\r\n this.setState({\r\n currentQuestionSequenceNumber: `${item.data.sequenceNumber}`,\r\n currentQuestion: `${item.data.question}`,\r\n });\r\n }}\r\n >\r\n
\r\n \r\n
\r\n
\r\n
{item.data.question}
\r\n {/*
Question: {item.data.sequenceNumber}
*/}\r\n
\r\n
\r\n \r\n ));\r\n };\r\n\r\n renderExamlinesForAdmin = (examlines, examId) => {\r\n const { activeOuid } = store.getState().permission;\r\n const examlinesSorted = examlines.sort(\r\n (a, b) => a.data.sequenceNumber - b.data.sequenceNumber\r\n );\r\n\r\n return examlinesSorted.map((item, index) => (\r\n \r\n ));\r\n };\r\n\r\n render() {\r\n const { showGlobalLoader } = store.getState().exam;\r\n const { permissions } = store.getState().permission;\r\n const path = window.location.pathname.split(\"/\");\r\n const id = path[path.length - 1];\r\n\r\n return (\r\n
\r\n {permissions ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n
\r\n
{this.renderExam()}
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n exam: state.exam,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_exam: (activeOuid, activeOuidChain, id) =>\r\n dispatch(get_exam(activeOuid, activeOuidChain, id)),\r\n\r\n get_examlines: (activeOuid, id) => dispatch(get_examlines(activeOuid, id)),\r\n create_update_examline: (activeOuid, examId) =>\r\n dispatch(create_update_examline(activeOuid)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ExamDetails);\r\n","import {\r\n CREATE_CL_QUESTION_REQUESTED,\r\n CREATE_CL_QUESTION_SUCCESS,\r\n CREATE_CL_QUESTION_ERRORED,\r\n GET_CL_QUESTIONS_REQUESTED,\r\n GET_CL_QUESTIONS_SUCCESS,\r\n GET_CL_QUESTIONS_ERRORED,\r\n DELETE_CL_QUESTION_REQUESTED,\r\n DELETE_CL_QUESTION_SUCCESS,\r\n DELETE_CL_QUESTION_ERRORED,\r\n} from \"../constant/action-types\";\r\nimport axios from \"axios\";\r\nimport { showSnackbar } from \"./action-snackbar\";\r\n\r\nimport configureStore from \"../store/configureStore\";\r\n\r\nconst store = configureStore();\r\n\r\nexport const create_cl_question_requested = () => ({\r\n type: CREATE_CL_QUESTION_REQUESTED,\r\n});\r\n\r\nexport const create_cl_question_success = () => ({\r\n type: CREATE_CL_QUESTION_SUCCESS,\r\n});\r\n\r\nexport const create_cl_question_errored = (error) => ({\r\n type: CREATE_CL_QUESTION_ERRORED,\r\n error,\r\n});\r\n\r\nexport const create_cl_question = (payload) => async (dispatch) => {\r\n console.log(`create_course`);\r\n\r\n dispatch(create_cl_question_requested());\r\n const path = window.location.pathname.split(\"/\");\r\n const activeOuid = path[1];\r\n const { activeOuidChain } = store.getState().permission;\r\n console.log(`cl_question`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n var url = `${coursesApiEndpoint}/question`;\r\n const method = \"post\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, payload, axiosHeader)\r\n .then((response) => {\r\n dispatch(\r\n showSnackbar(\"Course Line Question created Successfully\", \"success\")\r\n );\r\n dispatch(create_cl_question_success());\r\n })\r\n .catch((err) => {\r\n console.log(\"Question creation Failed\");\r\n dispatch(showSnackbar(\"Question creation Failed\", \"error\"));\r\n dispatch(create_cl_question_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const get_cl_questions_requested = () => ({\r\n type: GET_CL_QUESTIONS_REQUESTED,\r\n});\r\n\r\nexport const get_cl_questions_success = (payload) => ({\r\n type: GET_CL_QUESTIONS_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_cl_questions_errored = (error) => ({\r\n type: GET_CL_QUESTIONS_ERRORED,\r\n error,\r\n});\r\n\r\nexport const get_cl_questions = (ouid, courselineId) => async (dispatch) => {\r\n dispatch(get_cl_questions_requested());\r\n console.log(`cl_questions`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/question?ouid=${ouid}&courselineId=${courselineId}`;\r\n\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": ouid,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get Questions Fetched Successfully\");\r\n dispatch(get_cl_questions_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get Questions Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get Questions Failed\", \"error\"));\r\n }\r\n dispatch(get_cl_questions_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const delete_cl_question =\r\n (activeOuid, activeOuidChain, id) => async (dispatch) => {\r\n dispatch(delete_cl_question_requested());\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/question/${id}`;\r\n const method = \"delete\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Course Line Question Deleted Successfully\");\r\n dispatch(delete_cl_question_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Delete Course Line Question Failed\");\r\n dispatch(showSnackbar(\"Delete Course Line Question Failed\", \"error\"));\r\n dispatch(delete_cl_question_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n\r\nexport const delete_cl_question_requested = () => ({\r\n type: DELETE_CL_QUESTION_REQUESTED,\r\n});\r\n\r\nexport const delete_cl_question_success = (payload) => ({\r\n type: DELETE_CL_QUESTION_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const delete_cl_question_errored = (error) => ({\r\n type: DELETE_CL_QUESTION_ERRORED,\r\n error,\r\n});\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport {\r\n get_cl_questions,\r\n create_cl_question,\r\n} from \"../../../actions/action-cl-question\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { history } from \"../../../reducers\";\r\nimport SidebarWrapper from \"../../layout/SidebarWrapper\";\r\nimport Player from \"../Vod/Player\";\r\nimport CommonDelete from \"../../common/CommonDelete\";\r\nimport { timeFormat } from \"../../common/CommonFunctions\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { hideSnackbar } from \"../../../actions/action-snackbar\";\r\nimport { Paper } from \"@material-ui/core\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport AddCircleIcon from \"@material-ui/icons/AddCircle\";\r\n\r\nimport List from \"@material-ui/core/List\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\n\r\nconst store = configureStore();\r\n\r\nclass ManageQuestions extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n questions: [],\r\n currentCourselineId: \"\",\r\n currentQuestionText: \"\",\r\n currentAnswerOption1: \"\",\r\n currentAnswerOption2: \"\",\r\n currentAnswerOption3: \"\",\r\n currentAnswerOption4: \"\",\r\n currentAnswerOptions: \"\",\r\n\r\n currentSequenceNumber: \"\",\r\n addQuestionVisibility: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDetails();\r\n }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n componentWillUnmount() {}\r\n\r\n async fetchDetails() {\r\n const path = window.location.pathname.split(\"/\");\r\n const id = path[path.length - 1];\r\n console.log(\"store.getState().permission : \", store.getState().permission);\r\n const { activeOuid } = store.getState().permission;\r\n console.log(\"id*********** : \", id);\r\n\r\n const { get_cl_questions } = this.props;\r\n await get_cl_questions(activeOuid, id);\r\n console.log(\"fetched course line questions \", store.getState().question);\r\n this.setState({\r\n questions: store.getState().question.questions,\r\n currentCourselineId: id,\r\n });\r\n if (this.state.questions.length > 0) {\r\n this.state.questions.forEach((element) => {\r\n console.log(\"element.data.question\", element.data.question);\r\n if (element.data.sequenceNumber === \"1\") {\r\n console.log(\"element.data.questionText\", element.data.questionText);\r\n element[\"currentSelection\"] = \"true\";\r\n\r\n this.setState({\r\n currentQuestionText: element.data.questionText,\r\n currentSequenceNumber: element.data.sequenceNumber,\r\n currentAnswerOptions: element.data.answerOptions,\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n async addQuestion() {\r\n console.log(\"Add Question\");\r\n console.log(\r\n \"this.state.currentCourselineId \",\r\n this.state.currentCourselineId\r\n );\r\n\r\n let payload = {\r\n courselineId: this.state.currentCourselineId,\r\n questionText: this.state.newQuestionText,\r\n answerOptions: [\r\n {\r\n answerText: this.state.newAnswerOption1,\r\n isCorrect: this.state.newAnswerOption1Correctness,\r\n },\r\n {\r\n answerText: this.state.newAnswerOption2,\r\n isCorrect: this.state.newAnswerOption2Correctness,\r\n },\r\n {\r\n answerText: this.state.newAnswerOption3,\r\n isCorrect: this.state.newAnswerOption3Correctness,\r\n },\r\n {\r\n answerText: this.state.newAnswerOption4,\r\n isCorrect: this.state.newAnswerOption4Correctness,\r\n },\r\n ],\r\n sequenceNumber: this.state.newSequenceNumber,\r\n };\r\n await store.dispatch(create_cl_question(payload));\r\n }\r\n\r\n onInputChange = (event) => {\r\n console.log(\"event.target.id\", event.target.id);\r\n console.log(\"event.target.value\", event.target.value);\r\n\r\n if (event.target.id) {\r\n this.setState({ ...this.state, [event.target.id]: event.target.value });\r\n } else {\r\n this.setState({ ...this.state, [event.target.name]: event.target.value });\r\n }\r\n };\r\n\r\n setAddQuestionVisibility(visibility) {\r\n console.log(\"addQuestionVisibility\", this.state.addQuestionVisibility);\r\n this.setState({\r\n addQuestionVisibility: visibility,\r\n });\r\n }\r\n\r\n renderQuestionList(questions) {\r\n console.log(\"questions : \", JSON.stringify(questions));\r\n return questions.map((item) => (\r\n
\r\n
\r\n Q{item.data.sequenceNumber} : {item.data.questionText}\r\n
\r\n {item.data.answerOptions && (\r\n \r\n {item.data.answerOptions.map((answer) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n )}\r\n
\r\n ));\r\n }\r\n\r\n render() {\r\n const { showGlobalLoader } = store.getState().question;\r\n const { activeOuid, userRoles, policies, activeOuidType } =\r\n store.getState().permission;\r\n const path = window.location.pathname.split(\"/\");\r\n const id = path[path.length - 1];\r\n console.log(\"activeOuidType in render : \", activeOuidType);\r\n console.log(\"permissions in render : \", store.getState().permission);\r\n console.log(\"userRoles[0] in render : \", userRoles[0]);\r\n const { permissions } = store.getState().permission;\r\n if (\r\n policies &&\r\n activeOuidType === \"ROOT\" &&\r\n (policies.includes(`${activeOuid}=admin`) ||\r\n policies.includes(`system=admin`))\r\n ) {\r\n console.log(\"return for ROOT : \");\r\n console.log(\"showGlobalLoader : \", showGlobalLoader);\r\n console.log(\"this.state.questions : \", this.state.questions);\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n this.setAddQuestionVisibility(\r\n !this.state.addQuestionVisibility\r\n )\r\n }\r\n variant=\"contained\"\r\n color=\"primary\"\r\n >\r\n Add Question Answer\r\n \r\n {this.state.addQuestionVisibility && (\r\n
\r\n

Add a new Question

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \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.addQuestion();\r\n }}\r\n variant=\"contained\"\r\n color=\"primary\"\r\n >\r\n Add\r\n \r\n
\r\n
\r\n
\r\n )}\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : store.getState().question.questions.length !== 0 ? (\r\n
\r\n {this.renderQuestionList(store.getState().question.questions)}\r\n
\r\n ) : (\r\n
\r\n

No Course Questions added. Add new questions.

\r\n
\r\n )}\r\n
\r\n \r\n
\r\n );\r\n } else {\r\n console.log(\"return for non root : \");\r\n console.log(\"store.getState().question : \", store.getState().question);\r\n\r\n return
No permissions. Need to be an admin.
;\r\n }\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n question: state.question,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_cl_questions: (activeOuid, id) =>\r\n dispatch(get_cl_questions(activeOuid, id)),\r\n\r\n create_cl_question: (payload) => dispatch(create_cl_question(payload)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ManageQuestions);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport {\r\n get_cl_questions,\r\n create_cl_question,\r\n} from \"../../../actions/action-cl-question\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { history } from \"../../../reducers\";\r\nimport SidebarWrapper from \"../../layout/SidebarWrapper\";\r\nimport Player from \"../Vod/Player\";\r\nimport CommonDelete from \"../../common/CommonDelete\";\r\nimport { timeFormat } from \"../../common/CommonFunctions\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { hideSnackbar } from \"../../../actions/action-snackbar\";\r\nimport { Paper } from \"@material-ui/core\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport AddCircleIcon from \"@material-ui/icons/AddCircle\";\r\n\r\nimport List from \"@material-ui/core/List\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\n\r\nconst store = configureStore();\r\n\r\nclass CourseLineTest extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n questions: [],\r\n currentCourselineId: \"\",\r\n currentQuestionText: \"\",\r\n currentAnswerOption1: \"\",\r\n currentAnswerOption2: \"\",\r\n currentAnswerOption3: \"\",\r\n currentAnswerOption4: \"\",\r\n currentAnswerOptions: \"\",\r\n\r\n currentSequenceNumber: \"\",\r\n addQuestionVisibility: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDetails();\r\n }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n componentWillUnmount() {}\r\n\r\n async fetchDetails() {\r\n const path = window.location.pathname.split(\"/\");\r\n const id = path[path.length - 1];\r\n console.log(\"store.getState().permission : \", store.getState().permission);\r\n const { activeOuid } = store.getState().permission;\r\n console.log(\"id*********** : \", id);\r\n\r\n const { get_cl_questions } = this.props;\r\n await get_cl_questions(activeOuid, id);\r\n console.log(\"fetched course line questions \", store.getState().question);\r\n this.setState({\r\n questions: store.getState().question.questions,\r\n currentCourselineId: id,\r\n });\r\n if (this.state.questions.length > 0) {\r\n this.state.questions.forEach((element) => {\r\n console.log(\"element.data.question\", element.data.question);\r\n if (element.data.sequenceNumber === \"1\") {\r\n console.log(\"element.data.questionText\", element.data.questionText);\r\n element[\"currentSelection\"] = \"true\";\r\n\r\n this.setState({\r\n currentQuestionText: element.data.questionText,\r\n currentSequenceNumber: element.data.sequenceNumber,\r\n currentAnswerOptions: element.data.answerOptions,\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n async addQuestion() {\r\n console.log(\"Add Question\");\r\n console.log(\r\n \"this.state.currentCourselineId \",\r\n this.state.currentCourselineId\r\n );\r\n\r\n let payload = {\r\n courselineId: this.state.currentCourselineId,\r\n questionText: this.state.newQuestionText,\r\n answerOptions: [\r\n {\r\n answerText: this.state.newAnswerOption1,\r\n isCorrect: this.state.newAnswerOption1Correctness,\r\n },\r\n {\r\n answerText: this.state.newAnswerOption2,\r\n isCorrect: this.state.newAnswerOption2Correctness,\r\n },\r\n {\r\n answerText: this.state.newAnswerOption3,\r\n isCorrect: this.state.newAnswerOption3Correctness,\r\n },\r\n {\r\n answerText: this.state.newAnswerOption4,\r\n isCorrect: this.state.newAnswerOption4Correctness,\r\n },\r\n ],\r\n sequenceNumber: this.state.newSequenceNumber,\r\n };\r\n await store.dispatch(create_cl_question(payload));\r\n }\r\n\r\n onInputChange = (event) => {\r\n console.log(\"event.target.id\", event.target.id);\r\n console.log(\"event.target.value\", event.target.value);\r\n\r\n if (event.target.id) {\r\n this.setState({ ...this.state, [event.target.id]: event.target.value });\r\n } else {\r\n this.setState({ ...this.state, [event.target.name]: event.target.value });\r\n }\r\n };\r\n\r\n setAddQuestionVisibility(visibility) {\r\n console.log(\"addQuestionVisibility\", this.state.addQuestionVisibility);\r\n this.setState({\r\n addQuestionVisibility: visibility,\r\n });\r\n }\r\n\r\n renderQuestionList(questions) {\r\n console.log(\"questions : \", JSON.stringify(questions));\r\n return questions.map((item) => (\r\n
\r\n
\r\n Q{item.data.sequenceNumber} : {item.data.questionText}\r\n
\r\n {item.data.answerOptions && (\r\n \r\n {item.data.answerOptions.map((answer) => (\r\n \r\n \r\n {answer.isCorrect &&
{\" >> Correct\"}
}\r\n
\r\n ))}\r\n
\r\n )}\r\n
\r\n ));\r\n }\r\n\r\n render() {\r\n const { showGlobalLoader } = store.getState().question;\r\n const { activeOuid, userRoles, policies, activeOuidType } =\r\n store.getState().permission;\r\n const path = window.location.pathname.split(\"/\");\r\n const id = path[path.length - 1];\r\n console.log(\"activeOuidType in render : \", activeOuidType);\r\n console.log(\"permissions in render : \", store.getState().permission);\r\n console.log(\"userRoles[0] in render : \", userRoles[0]);\r\n if (\r\n policies &&\r\n activeOuidType === \"ROOT\" &&\r\n (policies.includes(`${activeOuid}=admin`) ||\r\n policies.includes(`system=admin`) ||\r\n policies.includes(`${activeOuid}=user`))\r\n ) {\r\n console.log(\"return for ROOT : \");\r\n console.log(\"showGlobalLoader : \", showGlobalLoader);\r\n console.log(\"this.state.questions : \", this.state.questions);\r\n const { permissions } = store.getState().permission;\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n {showGlobalLoader ? (\r\n \r\n ) : store.getState().question.questions.length !== 0 ? (\r\n
\r\n {this.renderQuestionList(store.getState().question.questions)}\r\n
\r\n ) : (\r\n

No Course Questions added yet...

\r\n )}\r\n
\r\n
\r\n \r\n
\r\n );\r\n } else {\r\n console.log(\"return for non root : \");\r\n console.log(\"store.getState().question : \", store.getState().question);\r\n\r\n return (\r\n
Please subscribe to the course to take the test.
\r\n );\r\n }\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n question: state.question,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_cl_questions: (activeOuid, id) =>\r\n dispatch(get_cl_questions(activeOuid, id)),\r\n\r\n create_cl_question: (payload) => dispatch(create_cl_question(payload)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CourseLineTest);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport {\r\n get_course,\r\n get_courselines,\r\n get_courselines_public,\r\n get_course_public,\r\n create_update_courseline,\r\n} from \"../../../actions/action-course\";\r\nimport Loader from \"../../common/Loader\";\r\nimport Header from \"../../layout/Header\";\r\nimport { history } from \"../../../reducers\";\r\nimport Player from \"../Vod/Player\";\r\nimport CommonDelete from \"../../common/CommonDelete\";\r\nimport { timeFormat } from \"../../common/CommonFunctions\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { hideSnackbar } from \"../../../actions/action-snackbar\";\r\nimport { Paper } from \"@material-ui/core\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport AddCircleIcon from \"@material-ui/icons/AddCircle\";\r\nimport { showSnackbar } from \"../../../actions/action-snackbar\";\r\n// import nodata from \"../../assets/images/edwinImages/novideo.jpeg\";\r\n\r\nimport axios from \"axios\";\r\n\r\nconst store = configureStore();\r\n\r\nclass CoursePublicDetails extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n courseDetails: {},\r\n signedUrl: \"\",\r\n courselines: [],\r\n newchapterTitle: \"\",\r\n currentVideo: \"\",\r\n currentSummary: \"\",\r\n featuredImage: \"\",\r\n currentSequenceNumber: \"\",\r\n addChapterVisibility: false,\r\n subcEmail: \"\",\r\n subcName: \"\",\r\n subcPhone: \"\",\r\n };\r\n this.createWorkorder = this.createWorkorder.bind(this);\r\n this.createOpenWorkorder = this.createOpenWorkorder.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchPublicDetails();\r\n }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n componentWillUnmount() {}\r\n\r\n async fetchPublicDetails() {\r\n const path = window.location.pathname.split(\"/\");\r\n const id = path[path.length - 1];\r\n let ouid = 'edwin';\r\n console.log(\"ouid : \", ouid);\r\n\r\n const { get_course_public, get_courselines_public } = this.props;\r\n await get_course_public(ouid, id);\r\n await get_courselines_public(ouid, id);\r\n\r\n console.log(\"fetched course details: \", store.getState().course);\r\n this.setState({\r\n courseDetails: store.getState().course.courseDetails,\r\n courselines: store.getState().course.courselines,\r\n });\r\n console.log(\"fetched course details: \", store.getState().course);\r\n\r\n if (this.state.courselines.length > 0) {\r\n this.state.courselines.forEach((element) => {\r\n console.log(\"element.data.sequenceNumber\", element.data.sequenceNumber);\r\n if (element.data.sequenceNumber === \"1\") {\r\n console.log(\"element.data.courseVideo\", element.data.courseVideo);\r\n element[\"currentSelection\"] = \"true\";\r\n let email = \"\";\r\n let name = \"\";\r\n let phone=\"\";\r\n if (store.getState().jwt.api.userSession) {\r\n email = store.getState().jwt.api.userSession.session.username;\r\n name = store.getState().jwt.api.userSession.session.attributes.name;\r\n phone = store.getState().jwt.api.userSession.session.attributes.phone_number;\r\n }\r\n this.setState({\r\n currentVideo: element.data.courseVideo,\r\n currentSequenceNumber: element.data.sequenceNumber,\r\n currentSummary: element.data.summary,\r\n currentTitle: element.data.title,\r\n featuredImage: element.data.featuredImage,\r\n subcEmail: email,\r\n subcName: name,\r\n subcPhone: phone,\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n onInputChange = (event) => {\r\n if (event.target.id) {\r\n this.setState({ ...this.state, [event.target.id]: event.target.value });\r\n } else {\r\n this.setState({ ...this.state, [event.target.name]: event.target.value });\r\n }\r\n };\r\n\r\n renderCourse() {\r\n const { showGlobalLoader, showGlobalLoaderCourseline } =\r\n store.getState().course;\r\n console.log(\"featuredImage\", this.state.featuredImage);\r\n console.log(\"currentVideo\", this.state.currentVideo);\r\n console.log(\r\n \"store.getState().jwt.api.userSession\",\r\n store.getState().jwt.api.userSession\r\n );\r\n return (\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n
\r\n
\r\n
\r\n {showGlobalLoaderCourseline ? (\r\n \r\n ) : store.getState().course.courselines.length !== 0 ? (\r\n
\r\n {this.state.currentVideo ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n

{this.state.currentTitle}

\r\n
\r\n
Chapter: {this.state.currentSequenceNumber}
\r\n
{this.state.currentSummary}
\r\n
\r\n ) : (\r\n
\r\n

No Existing Course Chapters.

\r\n
\r\n \r\n )}\r\n
\r\n
\r\n
\r\n {store.getState().course.courseDetails &&\r\n store.getState().course.courseDetails.data ? (\r\n

{store.getState().course.courseDetails.data.title}

\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n {store.getState().course.courseDetails &&\r\n store.getState().course.courseDetails.data ? (\r\n <>{store.getState().course.courseDetails.data.summary}\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n
\r\n\r\n \r\n {showGlobalLoaderCourseline || showGlobalLoader ? (\r\n \r\n ) : store.getState().course.courselines.length !== 0 ? (\r\n
\r\n {this.renderCourselines(\r\n store.getState().course.courselines,\r\n store.getState().course.courseDetails.data.identifier\r\n )}\r\n {!store.getState().jwt.api.userSession ? (\r\n
\r\n
\r\n

\r\n \r\n

\r\n
\r\n
\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.createOpenWorkorder()}\r\n >\r\n Request Course Access\r\n \r\n

\r\n
\r\n
\r\n ) : (\r\n
\r\n
\r\n\r\n this.createWorkorder()}\r\n >\r\n Request Course Subscription\r\n \r\n
\r\n
\r\n )}\r\n
\r\n ) : (\r\n
\r\n {/* */}\r\n

No Existing Course Chapters.

\r\n
\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n\r\n renderCourselines = (courselines, courseId) => {\r\n const courselinesSorted = courselines.sort((a,b)=> a.data.sequenceNumber-b.data.sequenceNumber);\r\n return courselinesSorted.map((item, index) => (\r\n <>\r\n {\" \"}\r\n {\r\n window.scrollTo({\r\n top: 0,\r\n behavior: \"smooth\"\r\n });\r\n this.state.courselines.forEach((element) => {\r\n if (element[\"currentSelection\"] === \"true\") {\r\n delete element[\"currentSelection\"];\r\n }\r\n if (element.data.identifier === item.data.identifier) {\r\n element[\"currentSelection\"] = \"true\";\r\n }\r\n });\r\n this.setState({\r\n currentVideo: `${item.data.courseVideo}`,\r\n currentSequenceNumber: `${item.data.sequenceNumber}`,\r\n currentSummary: `${item.data.summary}`,\r\n currentTitle: `${item.data.title}`,\r\n featuredImage: `${item.data.featuredImage}`,\r\n });\r\n }}\r\n >\r\n
\r\n \r\n
\r\n
\r\n
{item.data.title}
\r\n {/*
Chapter: {item.data.sequenceNumber}
*/}\r\n
\r\n\r\n {/*
\r\n \r\n Video : {item.data.courseVideo}\r\n
*/}\r\n
\r\n \r\n ));\r\n };\r\n\r\n createOpenWorkorder() {\r\n const path = window.location.pathname.split(\"/\");\r\n let ouid = 'edwin';\r\n const { woUrl } = store.getState().jwt.api;\r\n const method = \"post\";\r\n const url = `${woUrl}/workorder-public`;\r\n const axiosHeader = {\r\n headers: {\r\n \"x-ouid\": ouid,\r\n },\r\n };\r\n\r\n const woDetails = {\r\n courseTitle: store.getState().course.courseDetails.data.title,\r\n email: this.state.subcEmail,\r\n name: this.state.subcName,\r\n phone: this.state.subcPhone,\r\n };\r\n\r\n const payload = {\r\n type: \"CourseAccessRequestWorkorder\",\r\n description: \"Course Access Request Workorder\",\r\n targetOrg: ouid,\r\n requestId: \"\",\r\n deadline: \"\",\r\n details: woDetails,\r\n };\r\n\r\n console.log(\"payload:::::::\", JSON.stringify(payload));\r\n console.log(\"url:::::::\", url);\r\n\r\n return axios[method](url, payload, axiosHeader)\r\n .then(async (response) => {\r\n console.log(\r\n \"Create WorkOrder response : \",\r\n JSON.stringify(response.data)\r\n );\r\n\r\n console.log(\"response.data.identifier: \", response.data.identifier);\r\n\r\n await store.dispatch(\r\n showSnackbar(\"Course Access Request Success\", \"success\")\r\n );\r\n })\r\n .catch(async (err) => {\r\n store.dispatch(\r\n await showSnackbar(\r\n \"Course Access Request Failed, email support@xyz.com\",\r\n \"error\"\r\n )\r\n );\r\n store.dispatch(\r\n showSnackbar(\r\n \"Course Access Request Failed, email support@xyz.com\",\r\n \"error\"\r\n )\r\n );\r\n });\r\n }\r\n\r\n createWorkorder() {\r\n const path = window.location.pathname.split(\"/\");\r\n let ouid = 'edwin';\r\n const { woUrl, credentials } = store.getState().jwt.api;\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n const method = \"post\";\r\n const url = `${woUrl}/workorder`;\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": ouid,\r\n },\r\n };\r\n\r\n const woDetails = {\r\n courseTitle: store.getState().course.courseDetails.data.title,\r\n email: this.state.subcEmail,\r\n name: this.state.subcName,\r\n phone: this.state.subcPhone,\r\n };\r\n\r\n const payload = {\r\n type: \"CourseSubscriptionRequestWorkorder\",\r\n description: \"Course Subscription Request Workorder\",\r\n targetOrg: ouid,\r\n requestId: \"\",\r\n deadline: \"\",\r\n details: woDetails,\r\n };\r\n\r\n console.log(\"payload:::::::\", JSON.stringify(payload));\r\n console.log(\"url:::::::\", url);\r\n\r\n return axios[method](url, payload, axiosHeader)\r\n .then(async (response) => {\r\n console.log(\r\n \"Create WorkOrder response : \",\r\n JSON.stringify(response.data)\r\n );\r\n console.log(\"response.data.identifier: \", response.data.identifier);\r\n\r\n await store.dispatch(\r\n showSnackbar(\"Course Subcription Request Success\", \"success\")\r\n );\r\n })\r\n .catch(async (err) => {\r\n store.dispatch(\r\n await showSnackbar(\r\n \"Course Subcription Request Failed, email support@xyz.com\",\r\n \"error\"\r\n )\r\n );\r\n console.log(\r\n \"CourseSubcRequestorkorder failed, Please contact support : \",\r\n err\r\n );\r\n });\r\n }\r\n\r\n renderCourselinesForAdmin = (courselines, courseId) => {\r\n return courselines.map((item, index) => (\r\n <>\r\n {\" \"}\r\n {\r\n this.state.courselines.forEach((element) => {\r\n if (element[\"currentSelection\"] === \"true\") {\r\n delete element[\"currentSelection\"];\r\n }\r\n if (element.data.identifier === item.data.identifier) {\r\n element[\"currentSelection\"] = \"true\";\r\n }\r\n });\r\n this.setState({\r\n currentVideo: `${item.data.courseVideo}`,\r\n currentSequenceNumber: `${item.data.sequenceNumber}`,\r\n currentSummary: `${item.data.summary}`,\r\n currentTitle: `${item.data.title}`,\r\n });\r\n }}\r\n >\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n Title : \r\n {item.data.title}\r\n
\r\n
\r\n SequenceNumber : \r\n {item.data.sequenceNumber}\r\n
\r\n
\r\n FeaturedImage : \r\n {item.data.featuredImage}\r\n
\r\n
\r\n CourseVideo : \r\n {item.data.courseVideo}\r\n
\r\n
\r\n
\r\n \r\n ));\r\n };\r\n\r\n render() {\r\n const { permissions } = store.getState().permission;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
{this.renderCourse()}
\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n course: state.course,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_course: (activeOuid, activeOuidChain, id) =>\r\n dispatch(get_course(activeOuid, activeOuidChain, id)),\r\n get_course_public: (activeOuid, id) =>\r\n dispatch(get_course_public(activeOuid, id)),\r\n\r\n get_courselines: (activeOuid, id) =>\r\n dispatch(get_courselines(activeOuid, id)),\r\n get_courselines_public: (activeOuid, id) =>\r\n dispatch(get_courselines_public(activeOuid, id)),\r\n create_update_courseline: (activeOuid, courseId) =>\r\n dispatch(create_update_courseline(activeOuid)),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(CoursePublicDetails);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport { get_course, get_courselines } from \"../../../actions/action-course\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { history } from \"../../../reducers\";\r\nimport SidebarWrapper from \"../../layout/SidebarWrapper\";\r\nimport Player from \"../Vod/Player\";\r\nimport CommonDelete from \"../../common/CommonDelete\";\r\nimport { timeFormat } from \"../../common/CommonFunctions\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { hideSnackbar } from \"../../../actions/action-snackbar\";\r\nimport { Paper } from \"@material-ui/core\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport AddCircleIcon from \"@material-ui/icons/AddCircle\";\r\n\r\nconst store = configureStore();\r\n\r\nclass MyCourseDetails extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n courseDetails: {},\r\n signedUrl: \"\",\r\n courselines: [],\r\n currentVideo: \"\",\r\n currentSummary: \"\",\r\n currentSequenceNumber: \"\",\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return;\r\n }\r\n this.fetchDetails();\r\n }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n componentWillUnmount() {}\r\n\r\n async fetchDetails() {\r\n const path = window.location.pathname.split(\"/\");\r\n const id = path[path.length - 1];\r\n console.log(\"id : \", id);\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n const { get_course, get_courselines } = this.props;\r\n await get_course(activeOuid, activeOuidChain, id);\r\n await get_courselines(activeOuid, id);\r\n console.log(\"fetched course details: \", store.getState().course);\r\n this.setState({\r\n courseDetails: store.getState().course.courseDetails,\r\n courselines: store.getState().course.courselines,\r\n });\r\n if (this.state.courselines.length > 0) {\r\n this.state.courselines.forEach((element) => {\r\n console.log(\"element.data.sequenceNumber\", element.data.sequenceNumber);\r\n if (element.data.sequenceNumber === \"1\") {\r\n console.log(\"element.data.courseVideo\", element.data.courseVideo);\r\n element[\"currentSelection\"] = \"true\";\r\n\r\n this.setState({\r\n currentVideo: element.data.courseVideo,\r\n currentSequenceNumber: element.data.sequenceNumber,\r\n currentSummary: element.data.summary,\r\n currentTitle: element.data.title,\r\n currentIdentifier: element.data.identifier,\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n onInputChange = (event) => {\r\n if (event.target.id) {\r\n this.setState({ ...this.state, [event.target.id]: event.target.value });\r\n } else {\r\n this.setState({ ...this.state, [event.target.name]: event.target.value });\r\n }\r\n };\r\n\r\n renderCourse() {\r\n const { showGlobalLoader, showGlobalLoaderCourseline } =\r\n store.getState().course;\r\n const { activeOuid, userRoles, policies, activeOuidType } =\r\n store.getState().permission;\r\n const path = window.location.pathname.split(\"/\");\r\n console.log(\"activeOuidType in renderCourse : \", activeOuidType);\r\n\r\n console.log(\r\n \"store.getState().course.courseDetails : \",\r\n store.getState().course.courseDetails\r\n );\r\n\r\n return (\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n
\r\n
\r\n
\r\n {showGlobalLoaderCourseline ? (\r\n \r\n ) : store.getState().course.courselines.length !== 0 ? (\r\n <>\r\n \r\n
\r\n

{this.state.currentTitle}

\r\n
\r\n
Chapter: {this.state.currentSequenceNumber}
\r\n
{this.state.currentSummary}
\r\n \r\n ) : (\r\n \"No Questions.....\"\r\n )}\r\n
\r\n
\r\n\r\n \r\n {showGlobalLoaderCourseline ? (\r\n \r\n ) : store.getState().course.courselines.length !== 0 ? (\r\n
\r\n {this.renderCourselines(\r\n store.getState().course.courselines,\r\n store.getState().course.courseDetails.data.identifier\r\n )}\r\n
\r\n ) : (\r\n \"No Quetions.....\"\r\n )}\r\n
\r\n
\r\n {store.getState().course.courseDetails &&\r\n store.getState().course.courseDetails.data ? (\r\n

{store.getState().course.courseDetails.data.title}

\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n {store.getState().course.courseDetails &&\r\n store.getState().course.courseDetails.data ? (\r\n <>{store.getState().course.courseDetails.data.summary}\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n\r\n renderDetails(details) {\r\n return Object.keys(details).map(function (keyName, keyIndex) {\r\n return (\r\n
\r\n
{keyName} :
\r\n {keyName === \"lastModifiedDate\" || keyName === \"createdDate\" ? (\r\n
{timeFormat(details[keyName])}
\r\n ) : (\r\n
{details[keyName]}
\r\n )}\r\n
\r\n );\r\n });\r\n }\r\n\r\n renderCourselines = (courselines, courseId) => {\r\n const { activeOuid } = store.getState().permission;\r\n const courselinesSorted = courselines.sort(\r\n (a, b) => a.data.sequenceNumber - b.data.sequenceNumber\r\n );\r\n return courselinesSorted.map((item, index) => (\r\n <>\r\n {\" \"}\r\n {\r\n window.scrollTo({\r\n top: 0,\r\n behavior: \"smooth\",\r\n });\r\n this.state.courselines.forEach((element) => {\r\n if (element[\"currentSelection\"] === \"true\") {\r\n delete element[\"currentSelection\"];\r\n }\r\n if (element.data.identifier === item.data.identifier) {\r\n element[\"currentSelection\"] = \"true\";\r\n }\r\n });\r\n this.setState({\r\n currentVideo: `${item.data.courseVideo}`,\r\n currentSequenceNumber: `${item.data.sequenceNumber}`,\r\n currentSummary: `${item.data.summary}`,\r\n currentTitle: `${item.data.title}`,\r\n currentIdentifier: `${item.data.identifier}`,\r\n });\r\n }}\r\n >\r\n
\r\n \r\n
\r\n
\r\n
{item.data.title}
\r\n {/*
Chapter: {item.data.sequenceNumber}
*/}\r\n
\r\n
\r\n \r\n ));\r\n };\r\n\r\n renderCourselinesForAdmin = (courselines, courseId) => {\r\n const { activeOuid } = store.getState().permission;\r\n return courselines.map((item, index) => (\r\n <>\r\n {\" \"}\r\n {\r\n this.state.courselines.forEach((element) => {\r\n if (element[\"currentSelection\"] === \"true\") {\r\n delete element[\"currentSelection\"];\r\n }\r\n if (element.data.identifier === item.data.identifier) {\r\n element[\"currentSelection\"] = \"true\";\r\n }\r\n });\r\n this.setState({\r\n currentVideo: `${item.data.courseVideo}`,\r\n currentSequenceNumber: `${item.data.sequenceNumber}`,\r\n currentSummary: `${item.data.summary}`,\r\n currentTitle: `${item.data.title}`,\r\n });\r\n }}\r\n >\r\n
\r\n \r\n
\r\n
\r\n
\r\n Title : \r\n {item.data.title}\r\n
\r\n
\r\n SequenceNumber : \r\n {item.data.sequenceNumber}\r\n
\r\n
\r\n FeaturedImage : \r\n {item.data.featuredImage}\r\n
\r\n
\r\n CourseVideo : \r\n {item.data.courseVideo}\r\n
\r\n
\r\n
\r\n \r\n ));\r\n };\r\n\r\n render() {\r\n const { showGlobalLoader } = store.getState().course;\r\n const { permissions } = store.getState().permission;\r\n const path = window.location.pathname.split(\"/\");\r\n const id = path[path.length - 1];\r\n return (\r\n
\r\n
\r\n \r\n
{this.renderCourse()}
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n course: state.course,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_course: (activeOuid, activeOuidChain, id) =>\r\n dispatch(get_course(activeOuid, activeOuidChain, id)),\r\n get_courselines: (activeOuid, id) =>\r\n dispatch(get_courselines(activeOuid, id)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MyCourseDetails);\r\n","import {\r\n CREATE_EVENT_REQUESTED,\r\n CREATE_EVENT_SUCCESS,\r\n CREATE_EVENT_ERRORED,\r\n GET_EVENTS_REQUESTED,\r\n GET_EVENTS_SUCCESS,\r\n GET_EVENTS_ERRORED,\r\n} from \"../constant/action-types\";\r\nimport axios from \"axios\";\r\nimport { showSnackbar } from \"./action-snackbar\";\r\n\r\nimport configureStore from \"../store/configureStore\";\r\n\r\nconst store = configureStore();\r\n\r\nexport const create_event_requested = () => ({\r\n type: CREATE_EVENT_REQUESTED,\r\n});\r\n\r\nexport const create_event_success = () => ({\r\n type: CREATE_EVENT_SUCCESS,\r\n});\r\n\r\nexport const create_event_errored = (error) => ({\r\n type: CREATE_EVENT_ERRORED,\r\n error,\r\n});\r\n\r\nexport const create_event = (payload) => async (dispatch) => {\r\n console.log(`create_event`);\r\n\r\n dispatch(create_event_requested());\r\n const path = window.location.pathname.split(\"/\");\r\n const activeOuid = path[1];\r\n const { activeOuidChain } = store.getState().permission;\r\n console.log(`create_event`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n var url = `${coursesApiEndpoint}/event`;\r\n if (payload.bookInParent) {\r\n url = `${coursesApiEndpoint}/event`;\r\n }\r\n const method = \"post\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, payload, axiosHeader)\r\n .then((response) => {\r\n //dispatch(showSnackbar(\"Event created Successfully\", \"success\"));\r\n dispatch(create_event_success());\r\n })\r\n .catch((err) => {\r\n console.log(\"Event creation Failed\");\r\n //dispatch(showSnackbar(\"Exam creation Failed\", \"error\"));\r\n dispatch(create_event_errored(err));\r\n });\r\n }\r\n return null;\r\n};\r\n\r\nexport const get_events_requested = () => ({\r\n type: GET_EVENTS_REQUESTED,\r\n});\r\n\r\nexport const get_events_success = (payload) => ({\r\n type: GET_EVENTS_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const get_events_errored = (error) => ({\r\n type: GET_EVENTS_ERRORED,\r\n error,\r\n});\r\n\r\nexport const get_events =\r\n (activeOuid, activeOuidChain, groupObjectId, groupType) =>\r\n async (dispatch) => {\r\n dispatch(get_events_requested());\r\n console.log(`get_events`);\r\n const { coursesApiEndpoint, credentials } = store.getState().jwt.api;\r\n if (coursesApiEndpoint && credentials) {\r\n const jwt = `${credentials.idToken.jwtToken}`;\r\n let url = `${coursesApiEndpoint}/event`;\r\n url = `${coursesApiEndpoint}/event?groupObjectId=${groupObjectId}&groupType=${groupType}`;\r\n\r\n const method = \"get\";\r\n const axiosHeader = {\r\n headers: {\r\n Authorization: jwt,\r\n \"x-ouid\": activeOuid,\r\n \"x-ouidchain\": activeOuidChain,\r\n },\r\n };\r\n return axios[method](url, axiosHeader)\r\n .then((response) => {\r\n console.log(\"Get Events Fetched Successfully\");\r\n dispatch(get_events_success(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Get Events Failed\");\r\n if (err.response) {\r\n var data = err.response.data;\r\n dispatch(showSnackbar(data.error, \"error\"));\r\n } else {\r\n dispatch(showSnackbar(\"Get Events Failed\", \"error\"));\r\n }\r\n dispatch(get_events_errored(err));\r\n });\r\n }\r\n return null;\r\n };\r\n","import React, { useRef, useState } from \"react\";\r\nimport { history } from \"../../../reducers\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport { connect } from \"react-redux\";\r\nimport { submit_examinstance } from \"../../../actions/action-examinstance\";\r\nconst store = configureStore();\r\nconst timeCounter = (time) => {\r\n return time.toString().padStart(2, \"0\");\r\n};\r\n\r\nconst ExamTimer = (props) => {\r\n var examinstanceDetails = props.examinstanceDetails;\r\n console.log(\r\n \"examDurationMinutes in timers\",\r\n examinstanceDetails.data.examData.examDurationMinutes\r\n );\r\n\r\n console.log(\"startTime in epoch\", examinstanceDetails.startTime);\r\n let currentTimeinEpoc = Math.floor(Date.now() / 1000);\r\n console.log(\"currentTime in epoch\", currentTimeinEpoc);\r\n let timeSinceExamStart =\r\n currentTimeinEpoc - 0 - (examinstanceDetails.startTime - 0);\r\n console.log(\"time since exam start\", timeSinceExamStart);\r\n let timeLeftCalculated =\r\n examinstanceDetails.data.examData.examDurationMinutes * 60 -\r\n timeSinceExamStart;\r\n console.log(\"timeLeftCalculated\", timeLeftCalculated);\r\n\r\n const [timeLeft, setTimeLeft] = useState(timeLeftCalculated);\r\n const { activeOuid } = store.getState().permission;\r\n\r\n const examinstanceid = examinstanceDetails.data.identifier;\r\n console.log(\"examinstanceid: \", examinstanceid);\r\n // const [isCounting, setIsCounting] = useState(false);\r\n const intervalRef = useRef(null);\r\n const inputRef = useRef(\"\");\r\n startTimer();\r\n\r\n async function startTimer() {\r\n if (intervalRef.current !== null) return;\r\n if (isNaN(timeLeft)) return;\r\n //setIsCounting(true);\r\n inputRef.current = \"\";\r\n\r\n intervalRef.current = setInterval(() => {\r\n setTimeLeft((timeLeft) => {\r\n console.log(\"in timer\", timeLeft);\r\n console.log(store.getState().examinstance.examinstanceDetails.status);\r\n if (timeLeft >= 1) return timeLeft - 2;\r\n if (\r\n store.getState().examinstance.examinstanceDetails.status !==\r\n \"completed\"\r\n ) {\r\n // reset the timer\r\n clearInterval(intervalRef.current);\r\n //setIsCounting(false);\r\n intervalRef.current = null;\r\n submitExamInstance();\r\n return 0;\r\n }\r\n });\r\n }, 2000);\r\n }\r\n\r\n async function submitExamInstance() {\r\n const { submit_examinstance } = props;\r\n await submit_examinstance(activeOuid, examinstanceid);\r\n history.push(`/${activeOuid}/postexam/${examinstanceid}`);\r\n }\r\n\r\n const minutes = timeCounter(Math.floor(timeLeft / 60));\r\n const seconds = timeCounter(timeLeft - minutes * 60);\r\n\r\n return (\r\n
\r\n
\r\n Time remaining : {minutes}\r\n :\r\n {seconds}\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n examinstance: state.examinstance,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n submit_examinstance: (activeOuid, id) =>\r\n dispatch(submit_examinstance(activeOuid, id)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ExamTimer);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport Webcam from \"react-webcam\";\r\n\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport {\r\n get_examinstance,\r\n get_examlineinstances,\r\n get_examlineinstance,\r\n update_selectedanswer,\r\n submit_examinstance,\r\n} from \"../../../actions/action-examinstance\";\r\n\r\nimport { create_event } from \"../../../actions/action-event\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { history } from \"../../../reducers\";\r\nimport SidebarWrapper from \"../../layout/SidebarWrapper\";\r\nimport { timeFormat } from \"../../common/CommonFunctions\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { hideSnackbar } from \"../../../actions/action-snackbar\";\r\nimport { Paper } from \"@material-ui/core\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport ExamTimer from \"./ExamTimer\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogActions from \"@material-ui/core/DialogActions\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport DialogContentText from \"@material-ui/core/DialogContentText\";\r\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\r\n\r\nconst store = configureStore();\r\nconst videoConstraints = {\r\n width: 100,\r\n height: 100,\r\n facingMode: \"user\",\r\n};\r\n\r\nclass MyExamDetails extends Component {\r\n constructor() {\r\n super();\r\n this.webcamRef = React.createRef();\r\n this.state = {\r\n examinstanceDetails: {},\r\n examlineinstances: [],\r\n examlineinstanceDetails: {},\r\n currentIndex: 0,\r\n open: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return;\r\n }\r\n this.fetchDetails();\r\n }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n componentWillUnmount() {}\r\n\r\n async fetchDetails() {\r\n const path = window.location.pathname.split(\"/\");\r\n const id = path[path.length - 1];\r\n console.log(\"id : \", id);\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n const { get_examinstance, get_examlineinstances, get_examlineinstance } =\r\n this.props;\r\n await get_examinstance(activeOuid, activeOuidChain, id);\r\n console.log(\"fetched examinstance: \", store.getState().examinstance);\r\n\r\n await get_examlineinstances(activeOuid, id);\r\n console.log(\r\n \"fetched examlineinstances: \",\r\n store.getState().examinstance.examlineinstances[0]\r\n );\r\n\r\n if (\r\n store.getState().examinstance.examlineinstances &&\r\n store.getState().examinstance.examlineinstances.length > 0\r\n ) {\r\n var examlineinstanceId =\r\n store.getState().examinstance.examlineinstances[0].data.identifier;\r\n console.log(\"examlineinstanceId: \", examlineinstanceId);\r\n await get_examlineinstance(activeOuid, examlineinstanceId);\r\n }\r\n\r\n this.setState({\r\n examinstanceDetails: store.getState().examinstance.examinstanceDetails,\r\n examlineinstances: store.getState().examinstance.examlineinstances,\r\n examlineinstanceDetails:\r\n store.getState().examinstance.examlineinstanceDetails,\r\n });\r\n }\r\n\r\n async answerChanged(item, answerValue) {\r\n const { activeOuid } = store.getState().permission;\r\n const { update_selectedanswer, create_event } = this.props;\r\n item.selectedAnswer = answerValue;\r\n await update_selectedanswer(activeOuid, item.data.identifier, item);\r\n this.setState({\r\n ...this.state,\r\n examlineinstanceDetails:\r\n store.getState().examinstance.examlineinstanceDetails,\r\n });\r\n console.log(\r\n \"update_selectedanswer examinstance\",\r\n store.getState().examinstance\r\n );\r\n const imageSrc = this.webcamRef.current.getScreenshot();\r\n const path = window.location.pathname.split(\"/\");\r\n const id = path[path.length - 1];\r\n console.log(\"id : \", id);\r\n const payload = {\r\n groupObjectId: id,\r\n groupType: \"examlineinstance_answerSelected\",\r\n imageSrc: imageSrc,\r\n questionId: item.data.identifier,\r\n answerSelected: answerValue,\r\n };\r\n await create_event(payload);\r\n console.log(\"imageSrc\", imageSrc);\r\n }\r\n\r\n async gotoPrevious() {\r\n const { activeOuid } = store.getState().permission;\r\n const { get_examlineinstance } = this.props;\r\n console.log(\"currentIndex\", this.state.currentIndex);\r\n\r\n if (this.state.currentIndex > 0) {\r\n const previousIndex = this.state.currentIndex - 1;\r\n\r\n var examlineinstanceId =\r\n store.getState().examinstance.examlineinstances[previousIndex].data\r\n .identifier;\r\n console.log(\"examlineinstanceId: \", examlineinstanceId);\r\n await get_examlineinstance(activeOuid, examlineinstanceId);\r\n\r\n this.setState({\r\n ...this.state,\r\n examlineinstanceDetails:\r\n store.getState().examinstance.examlineinstanceDetails,\r\n currentIndex: previousIndex,\r\n });\r\n }\r\n }\r\n\r\n async submitExam() {\r\n const { activeOuid } = store.getState().permission;\r\n const { submit_examinstance } = this.props;\r\n console.log(\"submit_examinstance\");\r\n const examinstanceid = this.state.examinstanceDetails.data.identifier;\r\n console.log(\"examinstanceid: \", examinstanceid);\r\n await submit_examinstance(activeOuid, examinstanceid);\r\n history.push(`/${activeOuid}/postexam/${examinstanceid}`);\r\n }\r\n\r\n async gotoNext() {\r\n console.log(\"currentIndex\", this.state.currentIndex);\r\n const { get_examlineinstance } = this.props;\r\n const { activeOuid } = store.getState().permission;\r\n\r\n if (this.state.currentIndex < this.state.examlineinstances.length - 1) {\r\n const nextIndex = this.state.currentIndex + 1;\r\n\r\n var examlineinstanceId =\r\n store.getState().examinstance.examlineinstances[nextIndex].data\r\n .identifier;\r\n console.log(\"examlineinstanceId: \", examlineinstanceId);\r\n await get_examlineinstance(activeOuid, examlineinstanceId);\r\n\r\n this.setState({\r\n ...this.state,\r\n examlineinstanceDetails:\r\n store.getState().examinstance.examlineinstanceDetails,\r\n currentIndex: nextIndex,\r\n });\r\n }\r\n }\r\n\r\n renderExamInstance() {\r\n const {\r\n showGlobalLoader,\r\n showGlobalLoaderExamlineinstance,\r\n showGlobalLoaderExamlineinstances,\r\n } = store.getState().examinstance;\r\n\r\n const { activeOuidType } = store.getState().permission;\r\n console.log(\"activeOuidType in renderExamInstance : \", activeOuidType);\r\n\r\n console.log(\r\n \"store.getState().examinstance.examinstanceDetails : \",\r\n store.getState().examinstance.examinstanceDetails\r\n );\r\n\r\n console.log(\r\n \"store.getState().examinstance.examlineinstanceDetails : \",\r\n store.getState().examinstance.examlineinstanceDetails\r\n );\r\n\r\n return (\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n
\r\n \r\n
\r\n
\r\n
\r\n {store.getState().examinstance.examinstanceDetails &&\r\n store.getState().examinstance.examinstanceDetails.data ? (\r\n <>\r\n

\r\n {\r\n store.getState().examinstance.examinstanceDetails\r\n .data.examData.title\r\n }\r\n

\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n {showGlobalLoaderExamlineinstances ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {showGlobalLoaderExamlineinstance ||\r\n showGlobalLoaderExamlineinstances ? (\r\n \r\n ) : store.getState().examinstance.examlineinstances.length !==\r\n 0 &&\r\n (store.getState().examinstance.examinstanceDetails.data.examData\r\n .status === \"active\" ||\r\n store.getState().examinstance.examinstanceDetails.data\r\n .examData.status === \"open\") ? (\r\n
\r\n {this.renderQuestionMeta()}\r\n {this.renderQuestion(\r\n store.getState().examinstance.examlineinstanceDetails\r\n )}\r\n
\r\n\r\n {this.renderSubmit()}\r\n
\r\n ) : (\r\n \"Exam not open/active or no Questions.....\"\r\n )}\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n }\r\n\r\n renderQuestion = (examlineinstance) => {\r\n const { activeOuid } = store.getState().permission;\r\n\r\n var currentItem = examlineinstance;\r\n\r\n return (\r\n <>\r\n
\r\n
{currentItem.data.question}
\r\n
\r\n {currentItem.data.questionImage ? (\r\n \"\"\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n
1.
\r\n {\r\n this.answerChanged(currentItem, \"answer1\");\r\n }}\r\n />\r\n
{currentItem.data.answer1}
\r\n
\r\n
\r\n
2.
\r\n {\r\n this.answerChanged(currentItem, \"answer2\");\r\n }}\r\n />\r\n
{currentItem.data.answer2}
\r\n
\r\n
\r\n
3.
\r\n {\r\n this.answerChanged(currentItem, \"answer3\");\r\n }}\r\n />\r\n
{currentItem.data.answer3}
\r\n
\r\n
\r\n
4.
\r\n\r\n {\r\n this.answerChanged(currentItem, \"answer4\");\r\n }}\r\n />\r\n
{currentItem.data.answer4}
\r\n
\r\n
\r\n {\r\n this.gotoPrevious();\r\n }}\r\n color=\"primary\"\r\n variant=\"outlined\"\r\n >\r\n < Previous\r\n \r\n \r\n {\r\n this.gotoNext();\r\n }}\r\n color=\"primary\"\r\n variant=\"outlined\"\r\n >\r\n Next >\r\n \r\n
\r\n
\r\n \r\n );\r\n };\r\n\r\n renderQuestionMeta = () => {\r\n var currentQ = this.state.currentIndex + 1;\r\n var maxQ = this.state.examlineinstances.length;\r\n\r\n return (\r\n <>\r\n {\" \"}\r\n
\r\n

\r\n Question {currentQ} of {maxQ}\r\n

\r\n
\r\n \r\n );\r\n };\r\n\r\n handleSubmit = () => {\r\n console.log(\"I agree!\");\r\n this.handleClose();\r\n this.submitExam();\r\n };\r\n handleCancel = () => {\r\n console.log(\"Submit cancelled by user\");\r\n this.setState({ ...this.state, open: false });\r\n };\r\n\r\n handleClose = () => {\r\n console.log(\"handleClose\");\r\n this.setState({ ...this.state, open: false });\r\n };\r\n\r\n handleSubmitClickOpen = () => {\r\n this.setState({ ...this.state, open: true });\r\n };\r\n\r\n renderSubmit = () => {\r\n return (\r\n
\r\n {\r\n this.handleSubmitClickOpen();\r\n }}\r\n color=\"primary\"\r\n variant=\"contained\"\r\n >\r\n Submit Exam\r\n \r\n \r\n \r\n {\"CONFIRM SUBMIT to submit the exam\"}\r\n \r\n \r\n \r\n Some exams don't allow retake once submitted.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n render() {\r\n const { showGlobalLoader } = store.getState().exam;\r\n const { examinstanceDetails } = store.getState().examinstance;\r\n const { permissions } = store.getState().permission;\r\n const path = window.location.pathname.split(\"/\");\r\n const id = path[path.length - 1];\r\n return (\r\n
\r\n
\r\n \r\n\r\n
{this.renderExamInstance()}
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n exam: state.exam,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_examinstance: (activeOuid, activeOuidChain, id) =>\r\n dispatch(get_examinstance(activeOuid, activeOuidChain, id)),\r\n get_examlineinstances: (activeOuid, id) =>\r\n dispatch(get_examlineinstances(activeOuid, id)),\r\n get_examlineinstance: (activeOuid, id) =>\r\n dispatch(get_examlineinstance(activeOuid, id)),\r\n update_selectedanswer: (activeOuid, id, answer) =>\r\n dispatch(update_selectedanswer(activeOuid, id, answer)),\r\n submit_examinstance: (activeOuid, id) =>\r\n dispatch(submit_examinstance(activeOuid, id)),\r\n create_event: (payload) => dispatch(create_event(payload)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MyExamDetails);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport { get_examinstance_result } from \"../../../actions/action-examinstance\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { history } from \"../../../reducers\";\r\nimport SidebarWrapper from \"../../layout/SidebarWrapper\";\r\nimport { timeFormat } from \"../../common/CommonFunctions\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { hideSnackbar } from \"../../../actions/action-snackbar\";\r\nimport { Paper } from \"@material-ui/core\";\r\nimport Button from \"@material-ui/core/Button\";\r\n\r\nconst store = configureStore();\r\n\r\nclass MyExamResult extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n examinstanceDetails: {},\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return;\r\n }\r\n this.fetchDetails();\r\n }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n componentWillUnmount() {}\r\n\r\n async fetchDetails() {\r\n const path = window.location.pathname.split(\"/\");\r\n const id = path[path.length - 2];\r\n console.log(\"id : \", id);\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n const { get_examinstance_result } = this.props;\r\n await get_examinstance_result(activeOuid, activeOuidChain, id);\r\n console.log(\"fetched examinstance result: \", store.getState().examinstance);\r\n\r\n this.setState({\r\n examinstanceDetails: store.getState().examinstance.examinstanceDetails,\r\n });\r\n }\r\n\r\n renderExamInstanceResult() {\r\n const { showGlobalLoader } = store.getState().examinstance;\r\n\r\n const { activeOuidType } = store.getState().permission;\r\n console.log(\r\n \"activeOuidType in renderExamInstanceResult : \",\r\n activeOuidType\r\n );\r\n\r\n console.log(\r\n \"store.getState().examinstance.examinstanceDetails : \",\r\n store.getState().examinstance.examinstanceDetails\r\n );\r\n\r\n return (\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n
\r\n \r\n
\r\n
\r\n {store.getState().examinstance.examinstanceDetails &&\r\n store.getState().examinstance.examinstanceDetails.data &&\r\n store.getState().examinstance.examinstanceDetails.result ? (\r\n <>\r\n {store.getState().examinstance.examinstanceDetails.data\r\n .examData.passMarks && (\r\n

\r\n Result :\r\n {store.getState().examinstance.examinstanceDetails\r\n .result.passed\r\n ? \"Passed\"\r\n : \"Failed\"}\r\n

\r\n )}\r\n

\r\n Exam :{\" \"}\r\n {\r\n store.getState().examinstance.examinstanceDetails.data\r\n .examData.title\r\n }\r\n

\r\n

\r\n Name :{\" \"}\r\n {\r\n store.getState().examinstance.examinstanceDetails\r\n .modifiedBy\r\n }\r\n

\r\n

\r\n Username :{\" \"}\r\n {\r\n store.getState().examinstance.examinstanceDetails.data\r\n .examuser\r\n }\r\n

\r\n {store.getState().examinstance.examinstanceDetails.data\r\n .examData.passMarks && (\r\n

\r\n Minimum marks to pass :{\" \"}\r\n {\r\n store.getState().examinstance.examinstanceDetails\r\n .result.passMarks\r\n }\r\n

\r\n )}\r\n

\r\n Total Marks Scored :{\" \"}\r\n {\r\n store.getState().examinstance.examinstanceDetails\r\n .result.totalMarks\r\n }\r\n

\r\n

\r\n Date :{\" \"}\r\n {new Date(\r\n store.getState().examinstance.examinstanceDetails.modifiedDate\r\n )\r\n .toUTCString()\r\n .toLocaleString()}\r\n

\r\n \r\n ) : (\r\n \"Exam result is not available yet.\"\r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n const { showGlobalLoader } = store.getState().exam;\r\n const { permissions } = store.getState().permission;\r\n const path = window.location.pathname.split(\"/\");\r\n const id = path[path.length - 1];\r\n return (\r\n
\r\n
\r\n \r\n
{this.renderExamInstanceResult()}
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n exam: state.exam,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_examinstance_result: (activeOuid, activeOuidChain, id) =>\r\n dispatch(get_examinstance_result(activeOuid, activeOuidChain, id)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MyExamResult);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport {\r\n get_examinstance,\r\n start_examinstance,\r\n} from \"../../../actions/action-examinstance\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { history } from \"../../../reducers\";\r\n\r\nimport { Paper } from \"@material-ui/core\";\r\nimport Button from \"@material-ui/core/Button\";\r\n\r\nconst store = configureStore();\r\n\r\nclass ExamPre extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n examinstanceDetails: {},\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return;\r\n }\r\n this.fetchDetails();\r\n }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n componentWillUnmount() {}\r\n\r\n async fetchDetails() {\r\n const path = window.location.pathname.split(\"/\");\r\n const id = path[path.length - 1];\r\n console.log(\"id : \", id);\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n const { get_examinstance } = this.props;\r\n await get_examinstance(activeOuid, activeOuidChain, id);\r\n console.log(\"fetched examinstance: \", store.getState().examinstance);\r\n if (\r\n store.getState().examinstance.examinstanceDetails.status ===\r\n \"completed\" &&\r\n store.getState().examinstance.examinstanceDetails.data.examData\r\n .examAllowRetakes !== \"true\"\r\n ) {\r\n history.push(`/${activeOuid}/myexams`);\r\n }\r\n this.setState({\r\n examinstanceDetails: store.getState().examinstance.examinstanceDetails,\r\n });\r\n }\r\n\r\n async startExam() {\r\n const { activeOuid } = store.getState().permission;\r\n const { start_examinstance } = this.props;\r\n console.log(\"start_examinstance\");\r\n const examinstanceid = this.state.examinstanceDetails.data.identifier;\r\n console.log(\"examinstanceid: \", examinstanceid);\r\n await start_examinstance(activeOuid, examinstanceid);\r\n history.push(`/${activeOuid}/myexam/${examinstanceid}`);\r\n }\r\n\r\n renderExamPreText() {\r\n const { showGlobalLoader } = store.getState().examinstance;\r\n console.log(\r\n \"store.getState().examinstance.examinstanceDetails : \",\r\n store.getState().examinstance.examinstanceDetails\r\n );\r\n\r\n return (\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n
\r\n \r\n
\r\n
\r\n {store.getState().examinstance.examinstanceDetails &&\r\n store.getState().examinstance.examinstanceDetails.data ? (\r\n <>\r\n

\r\n {\r\n store.getState().examinstance.examinstanceDetails.data\r\n .examData.preExamText\r\n }\r\n

\r\n
\r\n {\r\n this.startExam();\r\n }}\r\n color=\"primary\"\r\n variant=\"contained\"\r\n >\r\n Start Exam\r\n \r\n
\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
{this.renderExamPreText()}
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n examinstance: state.examinstance,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_examinstance: (activeOuid, activeOuidChain, id) =>\r\n dispatch(get_examinstance(activeOuid, activeOuidChain, id)),\r\n start_examinstance: (activeOuid, id) =>\r\n dispatch(start_examinstance(activeOuid, id)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ExamPre);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport { get_examinstance_result } from \"../../../actions/action-examinstance\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { history } from \"../../../reducers\";\r\n\r\nimport { Paper } from \"@material-ui/core\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\n\r\nconst store = configureStore();\r\n\r\nclass ExamPost extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n examinstanceDetails: {},\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return;\r\n }\r\n this.fetchDetails();\r\n }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n componentWillUnmount() {}\r\n\r\n async fetchDetails() {\r\n const path = window.location.pathname.split(\"/\");\r\n const id = path[path.length - 1];\r\n console.log(\"id : \", id);\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n const { get_examinstance_result } = this.props;\r\n await get_examinstance_result(activeOuid, activeOuidChain, id);\r\n console.log(\"fetched examinstance: \", store.getState().examinstance);\r\n this.setState({\r\n examinstanceDetails: store.getState().examinstance.examinstanceDetails,\r\n });\r\n }\r\n\r\n async gotoMyExams() {\r\n const { activeOuid } = store.getState().permission;\r\n history.push(`/${activeOuid}/myexams`);\r\n }\r\n\r\n renderExamPreText() {\r\n const { showGlobalLoader } = store.getState().examinstance;\r\n console.log(\r\n \"store.getState().examinstance.examinstanceDetails : \",\r\n store.getState().examinstance.examinstanceDetails\r\n );\r\n\r\n return (\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n
\r\n \r\n
\r\n
\r\n {store.getState().examinstance.examinstanceDetails &&\r\n store.getState().examinstance.examinstanceDetails.data &&\r\n store.getState().examinstance.examinstanceDetails.status ===\r\n \"completed\" ? (\r\n <>\r\n

\r\n {\r\n store.getState().examinstance.examinstanceDetails.data\r\n .examData.postExamText\r\n }\r\n

\r\n
\r\n {\r\n this.gotoMyExams();\r\n }}\r\n color=\"primary\"\r\n variant=\"outlined\"\r\n >\r\n My Exams\r\n \r\n
\r\n \r\n ) : (\r\n \"Exam is not yet completed, for results to be shown.\"\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n
\r\n );\r\n }\r\n\r\n renderExamInstanceResult() {\r\n const { showGlobalLoader } = store.getState().examinstance;\r\n\r\n const { activeOuidType } = store.getState().permission;\r\n console.log(\r\n \"activeOuidType in renderExamInstanceResult : \",\r\n activeOuidType\r\n );\r\n\r\n console.log(\r\n \"store.getState().examinstance.examinstanceDetails : \",\r\n store.getState().examinstance.examinstanceDetails\r\n );\r\n\r\n return (\r\n
\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n
\r\n \r\n
\r\n
\r\n {store.getState().examinstance.examinstanceDetails &&\r\n store.getState().examinstance.examinstanceDetails.data &&\r\n store.getState().examinstance.examinstanceDetails.result ? (\r\n <>\r\n {store.getState().examinstance.examinstanceDetails.data\r\n .examData.passMarks && (\r\n

\r\n Result :\r\n {store.getState().examinstance.examinstanceDetails\r\n .result.passed\r\n ? \"Passed\"\r\n : \"Failed\"}\r\n

\r\n )}\r\n

\r\n Exam :{\" \"}\r\n {\r\n store.getState().examinstance.examinstanceDetails.data\r\n .examData.title\r\n }\r\n

\r\n

\r\n Name :{\" \"}\r\n {\r\n store.getState().examinstance.examinstanceDetails\r\n .modifiedBy\r\n }\r\n

\r\n

\r\n Username :{\" \"}\r\n {\r\n store.getState().examinstance.examinstanceDetails.data\r\n .examuser\r\n }\r\n

\r\n {store.getState().examinstance.examinstanceDetails.data\r\n .examData.passMarks && (\r\n

\r\n Minimum marks to pass :{\" \"}\r\n {\r\n store.getState().examinstance.examinstanceDetails\r\n .result.passMarks\r\n }\r\n

\r\n )}\r\n {store.getState().examinstance.examinstanceDetails\r\n .result && (\r\n

\r\n Total Marks Scored :{\" \"}\r\n {\r\n store.getState().examinstance.examinstanceDetails\r\n .result.totalMarks\r\n }\r\n

\r\n )}\r\n {store.getState().examinstance.examinstanceDetails\r\n .modifiedDate && (\r\n

\r\n Date :{\" \"}\r\n {new Date(\r\n store.getState().examinstance.examinstanceDetails.modifiedDate\r\n )\r\n .toUTCString()\r\n .toLocaleString()}\r\n

\r\n )}\r\n \r\n ) : (\r\n \" Please complete the exam and check the results after sometime.\"\r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
{this.renderExamPreText()}
\r\n
{this.renderExamInstanceResult()}
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n examinstance: state.examinstance,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_examinstance_result: (activeOuid, activeOuidChain, id) =>\r\n dispatch(get_examinstance_result(activeOuid, activeOuidChain, id)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ExamPost);\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { timeFormat } from '../../common/CommonFunctions';\r\nimport Button from '@material-ui/core/Button';\r\nimport {\r\n makeStyles,\r\n withStyles,\r\n } from '@material-ui/core/styles';\r\n import TextareaAutosize from '@material-ui/core/TextareaAutosize';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n Textarea: {\r\n background: '#fff',\r\n border: '1px solid #ccc',\r\n padding: 15,\r\n width: '100%',\r\n }\r\n }));\r\n\r\nfunction ConfigDetails(props) {\r\n const { configDetails, closeDetails } = props;\r\n const classes = useStyles();\r\n\r\n return (\r\n
\r\n \r\n
\r\n

{configDetails.key}

\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ConfigDetails);","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport SidebarWrapper from \"../../layout/SidebarWrapper\";\r\nimport {\r\n create_or_update_configs,\r\n get_all_active_configs,\r\n get_all_deployed_configs,\r\n} from \"../../../actions/action-config\";\r\nimport { setActiveOuid } from \"../../../actions/action-permissions\";\r\nimport { hideSnackbar } from \"../../../actions/action-snackbar\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { DataGrid } from \"@material-ui/data-grid\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { timeFormat } from \"../../common/CommonFunctions\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport ConfigDetails from \"./ConfigDetails\";\r\n\r\nconst store = configureStore();\r\n\r\nconst tableDeployColumns = [\r\n {\r\n field: \"Key\",\r\n headerName: \"Name\",\r\n width: 300,\r\n },\r\n {\r\n field: \"LastModified_Date\",\r\n headerName: \"Uploaded Time\",\r\n type: \"date\",\r\n width: 200,\r\n editable: false,\r\n valueGetter: (params) =>\r\n `${timeFormat(params.getValue(params.id, \"LastModified\")) || \"\"}`,\r\n },\r\n];\r\n\r\nconst tableActiveColumns = [\r\n {\r\n field: \"key\",\r\n headerName: \"Name\",\r\n width: 300,\r\n },\r\n {\r\n field: \"createdBy\",\r\n headerName: \"Created By\",\r\n width: 150,\r\n },\r\n {\r\n field: \"createdBy_Date\",\r\n headerName: \"Created Date\",\r\n type: \"date\",\r\n width: 150,\r\n editable: false,\r\n valueGetter: (params) =>\r\n `${timeFormat(params.getValue(params.id, \"createdDate\")) || \"\"}`,\r\n },\r\n {\r\n field: \"modifiedBy\",\r\n headerName: \"Modified By\",\r\n width: 150,\r\n },\r\n {\r\n field: \"lastModifiedDate_Date\",\r\n headerName: \"Modified Date\",\r\n type: \"date\",\r\n width: 150,\r\n editable: false,\r\n valueGetter: (params) =>\r\n `${timeFormat(params.getValue(params.id, \"lastModifiedDate\")) || \"\"}`,\r\n },\r\n];\r\n\r\nclass ConfigDash extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n activeConfigsToShow: [],\r\n deployedConfigsToShow: [],\r\n showDeployedDetails: false,\r\n showActiveDetails: false,\r\n currentDeployedConfig: {},\r\n selectionModelDeployed: [],\r\n selectionModelActive: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDetails();\r\n }\r\n\r\n componentWillUnmount() {\r\n // console.log(\"componentWillUnmount\");\r\n // this.unregisterHistoryListener()\r\n store.dispatch(hideSnackbar());\r\n }\r\n\r\n async fetchDetails() {\r\n const path = window.location.pathname.split(\"/\");\r\n const ouid = path[1];\r\n console.log(\"path : \", path);\r\n const { setActiveOuid } = this.props;\r\n await setActiveOuid(ouid);\r\n const { get_all_active_configs, get_all_deployed_configs } = this.props;\r\n await get_all_active_configs(ouid);\r\n await get_all_deployed_configs(ouid);\r\n const { allActiveConfigs, deployedConfigs } = store.getState().config;\r\n this.setState({\r\n activeConfigsToShow: allActiveConfigs,\r\n deployedConfigsToShow: deployedConfigs,\r\n });\r\n }\r\n\r\n // DataGrid\r\n\r\n openDeployDetails(e) {\r\n console.log(\"openDeployDetails : \", e.row);\r\n this.setState({\r\n showDeployedDetails: true,\r\n showActiveDetails: false,\r\n selectionModelActive: [],\r\n currentDeployedConfig: e.row,\r\n selectionModelDeployed: e.row.id,\r\n });\r\n }\r\n\r\n openActiveDetails(e) {\r\n console.log(\"openDeployDetails : \", e.row);\r\n this.setState({\r\n showActiveDetails: true,\r\n showDeployedDetails: false,\r\n selectionModelDeployed: [],\r\n currentActiveConfig: e.row,\r\n selectionModelActive: e.row.id,\r\n });\r\n }\r\n\r\n setSelectionModelDeployed(selection) {\r\n this.setState({\r\n selectionModelDeployed: selection,\r\n });\r\n }\r\n\r\n setSelectionModelActive(selection) {\r\n this.setState({\r\n selectionModelActive: selection,\r\n });\r\n }\r\n\r\n // DataGrid\r\n\r\n closeDetails() {\r\n console.log(\"closeDetails\");\r\n this.setState({\r\n showActiveDetails: false,\r\n currentActiveConfig: {},\r\n });\r\n }\r\n\r\n renderDeploylist(configs) {\r\n let newRows = [];\r\n configs.map((config, index) => {\r\n let newRow = config;\r\n newRow[\"id\"] = config.Key;\r\n newRows.push(newRow);\r\n });\r\n return newRows;\r\n }\r\n\r\n renderActivelist(configs) {\r\n let newRows = [];\r\n configs.map((config, index) => {\r\n let newRow = config.data;\r\n newRow[\"id\"] = config.data.key;\r\n newRows.push(newRow);\r\n });\r\n return newRows;\r\n }\r\n\r\n async handleActivate(currentConfig) {\r\n console.log(\"handleActivate\");\r\n const path = window.location.pathname.split(\"/\");\r\n const ouid = path[1];\r\n const splitedKey = currentConfig.Key.split(\"/\");\r\n const identifier = splitedKey[splitedKey.length - 1].replace(\".json\", \"\");\r\n const { create_or_update_configs } = this.props;\r\n let data = {\r\n key: currentConfig.Key,\r\n identifier: identifier,\r\n ETag: currentConfig.ETag,\r\n };\r\n let action = \"create\";\r\n const exist = this.state.activeConfigsToShow.find(\r\n ({ data }) => data.key === currentConfig.Key\r\n );\r\n // console.log(\"handleActivate exist : \", exist);\r\n if (exist) {\r\n action = \"update\";\r\n data[\"createdBy\"] = exist.data.createdBy;\r\n data[\"createdDate\"] = exist.data.uploadedDate;\r\n }\r\n // console.log(\"handleActivate data : \", data);\r\n await create_or_update_configs(ouid, identifier, data, action);\r\n this.fetchDetails();\r\n //window.location.reload();\r\n }\r\n\r\n render() {\r\n const { permissions } = store.getState().permission;\r\n const { showGlobalLoader } = store.getState().config;\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Deployed Configs

\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n <>\r\n
\r\n {\r\n this.openDeployDetails(e);\r\n }}\r\n selectionModel={this.state.selectionModelDeployed}\r\n hideFooterSelectedRowCount\r\n onSelectionModelChange={(selection) => {\r\n // console.log(\"selection :::: \", selection);\r\n if (selection.length > !2) {\r\n let lastElement = selection.pop();\r\n this.setSelectionModelDeployed(lastElement);\r\n } else {\r\n let lastElement = selection.pop();\r\n this.setSelectionModelDeployed(lastElement);\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n {this.state.showDeployedDetails ? (\r\n
\r\n {\r\n this.handleActivate(\r\n this.state.currentDeployedConfig\r\n );\r\n }}\r\n variant=\"contained\"\r\n color=\"primary\"\r\n >\r\n Activate\r\n \r\n
\r\n ) : (\r\n
\r\n )}\r\n
\r\n \r\n )}\r\n
\r\n
\r\n

Active Configs

\r\n {showGlobalLoader ? (\r\n \r\n ) : (\r\n
\r\n {\r\n this.openActiveDetails(e);\r\n }}\r\n selectionModel={this.state.selectionModelActive}\r\n hideFooterSelectedRowCount\r\n onSelectionModelChange={(selection) => {\r\n // console.log(\"selection :::: \", selection);\r\n if (selection.length > !2) {\r\n let lastElement = selection.pop();\r\n this.setSelectionModelActive(lastElement);\r\n } else {\r\n let lastElement = selection.pop();\r\n this.setSelectionModelActive(lastElement);\r\n }\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n
\r\n {this.state.showActiveDetails && (\r\n {\r\n this.closeDetails();\r\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 permission: state.permission,\r\n config: state.config,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setActiveOuid: (activeOuid) => dispatch(setActiveOuid(activeOuid)),\r\n create_or_update_configs: (activeOuid, identifier, payload, action) =>\r\n dispatch(create_or_update_configs(activeOuid, identifier, payload, action)),\r\n get_all_active_configs: (activeOuid) =>\r\n dispatch(get_all_active_configs(activeOuid)),\r\n get_all_deployed_configs: (activeOuid) =>\r\n dispatch(get_all_deployed_configs(activeOuid)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ConfigDash);\r\n","import React, { Component } from \"react\";\r\nimport SidebarWrapper from \"../../layout/SidebarWrapper\";\r\nimport { connect } from \"react-redux\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport usermanagement from \"../../assets/images/edwinImages/dashusermanagement.png\";\r\nimport home from \"../../assets/images/edwinImages/dashhome.png\";\r\nimport subscription from \"../../assets/images/edwinImages/dashmembership.png\";\r\nimport courses from \"../../assets/images/edwinImages/dashonlineeducation.png\";\r\n\r\nconst store = configureStore();\r\n\r\nclass OrgHome extends Component {\r\n render() {\r\n const { activeOuid } = store.getState().permission;\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = () => ({});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(OrgHome);\r\n","export default __webpack_public_path__ + \"static/media/objects-messages.a94d6679.svg\";","export default __webpack_public_path__ + \"static/media/objects-lightbulb.5d875a84.svg\";","export default __webpack_public_path__ + \"static/media/24-hours.60c6d118.png\";","import React from 'react';\r\nimport SidebarWrapper from '../../layout/SidebarWrapper';\r\nimport { connect } from 'react-redux';\r\nimport configureStore from '../../../store/configureStore';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Suggestion from '../../assets/images/edwinImages/objects-lightbulb.svg';\r\nimport Faq from '../../assets/images/edwinImages/objects-messages.svg';\r\nimport Call from '../../assets/images/edwinImages/24-hours.png';\r\nimport Email from '../../assets/images/edwinImages/email.png';\r\nimport { history } from '../../../reducers';\r\n\r\n\r\nconst store = configureStore();\r\n\r\nexport default function Support(props) {\r\n const { investor } = props;\r\n const { orgunits, showGlobalLoader } = store.getState().orgunit;\r\n const { permissions, activeOuid } = store.getState().permission;\r\n return (\r\n \r\n );\r\n}","export default \"data:image/png;base64,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vUNa+n0CX5P0hdafu9r+822SKt4WCADAxpyk85JqrT+Tbf/5HUkvju4fN/6Wd0VuAmAj9QN7hyXdKekOSZs8LwcAgHaJpLOSzozuHy/E78MpTAAAAID08It6AAAIEAEAAECACAAAAAJEAAAAECACAACAABEAAAAEiAAAACBABAAAAAEiAAAACBABAABAgAgAAAACRAAAABAgAgAAgAARAAAABIgAAAAgQAQAAAABIgAAAAgQAQAAQIAIAAAAAkQAAAAQIAIAAIAAEQAAAASIAAAAIEAEAAAAASIAAAAIEAEAAECACAAAAAJEAAAAECACAACAABEAAAAEiAAAACBABAAAAAEiAAAACBABAABAgAgAAAACRAAAABAgAgAAgAARAAAABIgAAAAgQAQAAAABIgAAAAgQAQAAQIAIAAAAAkQAAAAQIAIAAIAAEQAAAASIAAAAIEAEAAAAASIAAAAIEAEAAECACAAAAAJEAAAAECACAACAABEAAAAEiAAAACBABAAAAAEiAAAACBABAABAgAgAAAACRAAAABAgAgAAgAARAAAABIgAAAAgQAQAAAABIgAAAAjQ/wcVcDiL2dQ9bAAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAnFJREFUeNrsnE9SwjAUhwN6ALwB3gA3bJETgCcQ1izAG+ANdNE1vYG4dCWu2XAD8QT2BvqigWGgpf/S9L32981kOtNO2+Sbl6SPNigFAAAAAAAAAAAAkIIGtwpNJpMWbUZUelRaZndA5YOK73leAIHR8ua0mR6IO0bLeyaJcwg8lbcwkZcEHYljDvW+YBR5sxSndLrdbmu9Xr/VPgJJXps2nxlPv6ZI3FZGIMno0Ob2zBgWxkBHVMSxnZx2xPENldcU99Jj6Iqkb1gJNDPni5FnizE11DfX12PjwuK1V1TubMzoDUvy3s9EURZOJomUk0wSdBT280psWqjIzLI8zVfCfXnopJy4ChM4LWBsvg/Z1yvgPlMOXfinoAluqR+aDxo6LOg+V3m68SXjNHNYoLTjrrwqswvXGgiEQAiEQAgEEHiQnvkQmC+3HbuU2KyYvL+MwqXEZtXk7TASVxCYQZ7J0UfK7u+TlRMYJ2+BLsxcnlSBbORJFMhKnjSB7ORJEshSnmuBuvE3GR5w2cpzKTAwEjYpswTW8lwJ3Ms7yhJ86fJcCQz9lCJGogh5rgQOzVcFKqFEMfJcjoGjhBJFyXM9C8dJfJAmT+P6xbqWqMK+LqV9T2EncJZX1oN0ZCRKk1dmJhIrUYK8slO5SIlS5HHIhU8kSpLH5ceEvURp8sqYhc9JbCsH7zBYRaBptC3EybPRhduq5uDbGAiEwFoL3FbAQa422Fjm8K3SrY1jhed5jbK78FJw9C3L7sKaR/X/3kMagal7uQLNet2+MIm6rmMby16trRc++LOIAXN5en0xuz+vAAAAAAAAAAAAQE34FWAAkZoMu915UgQAAAAASUVORK5CYII=\"","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport configureStore from '../../../store/configureStore';\r\nimport { get_orgunit_details, update_Orgunit } from '../../../actions/action-orgunit';\r\nimport Loader from '../../common/Loader';\r\nimport { history } from '../../../reducers';\r\nimport SidebarWrapper from '../../layout/SidebarWrapper';\r\nimport CommonSnackBar from '../../common/CommonSnackBar';\r\nimport FormButton from '../../common/FormButton';\r\nimport { Input, Paper, TextField } from '@material-ui/core';\r\nimport { timeFormat } from '../../common/CommonFunctions'\r\nimport Divider from '@material-ui/core/Divider';\r\nimport Business from \"../../assets/images/edwinImages/buildings.png\";\r\nimport Tasks from \"../../assets/images/edwinImages/tasks.png\";\r\nimport Repo from \"../../assets/images/edwinImages/repo.png\";\r\nimport Employees from \"../../assets/images/edwinImages/Employes.png\";\r\nimport Branches from \"../../assets/images/edwinImages/branches.png\";\r\nimport HRM from \"../../assets/images/edwinImages/hrm.png\";\r\nimport Account from \"../../assets/images/edwinImages/account-manager.png\";\r\nimport CompanyProfileImage from \"../../assets/images/edwinImages/userprofile.png\";\r\n\r\n\r\n\r\nconst store = configureStore();\r\nconst { activeOuid } = store.getState().permission;\r\n\r\nclass CompanyProfile extends Component {\r\n \r\n constructor() {\r\n super();\r\n this.state = {\r\n OrgunitDetails: {},\r\n };\r\n this.onInputChange = this.onInputChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return\r\n }\r\n this.fetchDetails();\r\n }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n\r\n async fetchDetails() {\r\n const path = window.location.pathname.split('/');\r\n const id = path[path.length - 2];\r\n const { get_orgunit_details } = this.props;\r\n await get_orgunit_details(id);\r\n const { OrgunitDetails } = store.getState().orgunit;\r\n console.log(\"OrgunitDetails\", OrgunitDetails);\r\n\r\n this.setState({\r\n OrgunitDetails: OrgunitDetails,\r\n });\r\n }\r\n\r\n onInputChange(event) {\r\n let newOrgunitDetails = this.state.OrgunitDetails;\r\n newOrgunitDetails.data[event.target.id] = event.target.value;\r\n this.setState({\r\n OrgunitDetails: newOrgunitDetails\r\n });\r\n }\r\n\r\n async handleSubmit() {\r\n // event.preventDefault();\r\n // console.log(\"State : \", this.state);\r\n const path = window.location.pathname.split('/');\r\n const id = path[path.length - 2];\r\n const { update_Orgunit } = this.props;\r\n await update_Orgunit(this.state.OrgunitDetails, id);\r\n }\r\n\r\n\r\n render() {\r\n const { showGlobalLoader} = store.getState().orgunit;\r\n const { permissions } = store.getState().permission;\r\n const { OrgunitDetails } = store.getState().orgunit;\r\n console.log(\"OrgunitDetails render\", OrgunitDetails.data);\r\n return (\r\n
\r\n \r\n
\r\n {showGlobalLoader ?\r\n \r\n :
\r\n \r\n
\r\n
\r\n \r\n {this.state.OrgunitDetails.data ?\r\n \r\n
{ this.state.OrgunitDetails.data.name }
\r\n : ''}\r\n
\r\n
\r\n
\r\n
\r\n Name :\r\n {this.state.OrgunitDetails.data ?\r\n { this.state.OrgunitDetails.data.name }\r\n : ''}\r\n
\r\n
\r\n Email :ibc@ibc.com\r\n
\r\n
\r\n Address :Lakshmi Nivas Po munder kannur\r\n
\r\n
\r\n
\r\n
\r\n Phone :9999999999\r\n
\r\n
\r\n Email :ibc@ibc.com\r\n
\r\n
\r\n Address :Lakshmi Nivas Po munder kannur\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {this.state.OrgunitDetails.data ?\r\n
{this.state.OrgunitDetails.data.GSTNumber}
\r\n : ''}\r\n
\r\n
\r\n {this.state.OrgunitDetails.data ?\r\n
{this.state.OrgunitDetails.data.GSTNumber}
\r\n : ''}\r\n
\r\n
\r\n {this.state.OrgunitDetails.data ?\r\n
{this.state.OrgunitDetails.data.GSTNumber}
\r\n : ''}\r\n
\r\n
\r\n {this.state.OrgunitDetails.data ?\r\n
{this.state.OrgunitDetails.data.GSTNumber}
\r\n : ''}\r\n
\r\n {/* this.handleSubmit()}\r\n text=\"Update\"\r\n />\r\n */}\r\n
\r\n {/*
\r\n

Manage your company

\r\n \r\n
{ history.push(`/${activeOuid}/company-profile`); }}>\r\n \r\n

Company Profile

\r\n
\r\n
{ history.push(`/${activeOuid}/orgusers`); }}>\r\n \r\n

Employees

\r\n
\r\n
{ history.push(`/${activeOuid}/orgunits`); }}>\r\n \r\n

Branches

\r\n
\r\n
{ history.push(`/${activeOuid}/org-workqueue-dash`); }}>\r\n \r\n

Tasks

\r\n
\r\n
{ history.push(`/${activeOuid}/document-dash`); }}>\r\n \r\n

Repository

\r\n
\r\n
{ history.push(`/${activeOuid}/hrmapp-dash`); }}>\r\n \r\n

HRM

\r\n
\r\n
{ history.push(`/${activeOuid}/hrmapp-dash`); }}>\r\n \r\n

Accounts

\r\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 orgunit: state.orgunit,\r\n showGlobalLoader: state.orgunit.showGlobalLoader,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_orgunit_details: (id) => dispatch(get_orgunit_details(id)),\r\n update_Orgunit: (payload, orgunit) => dispatch(update_Orgunit(payload, orgunit)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CompanyProfile);\r\n\r\n","export default __webpack_public_path__ + \"static/media/registrationcomplete.138a77e8.png\";","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Box from '@material-ui/core/Box';\r\n\r\nfunction CircularProgressWithLabel(props) {\r\n return (\r\n \r\n \r\n \r\n {`${Math.round(\r\n props.value,\r\n )}%`}\r\n \r\n \r\n );\r\n}\r\n\r\nCircularProgressWithLabel.propTypes = {\r\n /**\r\n * The value of the progress indicator for the determinate variant.\r\n * Value between 0 and 100.\r\n */\r\n value: PropTypes.number.isRequired,\r\n};\r\n\r\nexport default function CircularStatic() {\r\n const [progress, setProgress] = React.useState(10);\r\n\r\n React.useEffect(() => {\r\n const timer = setInterval(() => {\r\n setProgress((prevProgress) => (prevProgress >= 100 ? 0 : prevProgress + 10));\r\n }, 2000);\r\n return () => {\r\n clearInterval(timer);\r\n };\r\n }, []);\r\n\r\n return ;\r\n}","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport configureStore from '../../../store/configureStore';\r\nimport CommonSnackBar from '../../common/CommonSnackBar';\r\nimport SidebarWrapper from '../../layout/SidebarWrapper';\r\nimport { Auth } from 'aws-amplify';\r\nimport { history } from '../../../reducers';\r\nimport { resetState } from '../../../actions';\r\nimport CompletedImage from '../../../components/assets/images/edwinImages/registrationcomplete.png';\r\nimport ProgressCircle from '../../common/ProgressCircle';\r\n\r\n\r\nconst store = configureStore();\r\n\r\nclass RegistartionCompleted extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n };\r\n this.handleLogOut = this.handleLogOut.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n setTimeout(() => {\r\n this.handleLogOut();\r\n }, 5000)\r\n }\r\n\r\n\r\n handleLogOut() {\r\n try {\r\n Auth.signOut();\r\n this.props.auth.setAuthStatus(false);\r\n this.props.auth.setUser(null);\r\n store.dispatch(resetState());\r\n history.push(\"/login\");\r\n } catch (error) {\r\n console.log(error.message);\r\n }\r\n }\r\n\r\n render() {\r\n const { permissions } = store.getState().permission;\r\n return (\r\n
\r\n {/* */}\r\n
\r\n
\r\n \r\n
\r\n \"\"\r\n
\r\n

\r\n Business Registration Completed\r\n

\r\n
\r\n You need to login to your organisation.\r\n
\r\n
\r\n You will be automaticaly redirected to login page in 5 Seconds\r\n
\r\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 permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n // get_user_profile_details: (username) => dispatch(get_user_profile_details(username)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(RegistartionCompleted);","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport { create_course } from \"../../../actions/action-course\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { history } from \"../../../reducers\";\r\nimport SidebarWrapper from \"../../layout/SidebarWrapper\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport { Auth } from \"aws-amplify\";\r\nimport FormErrors from \"../../FormErrors\";\r\nimport Input from \"@material-ui/core/Input\";\r\nimport FormButton from \"../../common/FormButton\";\r\nimport Validate from \"../../utility/FormValidation\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\n\r\nconst store = configureStore();\r\n\r\nclass CreateCourse extends Component {\r\n constructor() {\r\n super();\r\n let r = (Math.random() + 1).toString(36).substring(7);\r\n this.state = {\r\n postDetails: {\r\n title: \"\",\r\n summary: \"\",\r\n type: \"default\",\r\n category: \"\",\r\n featuredImage: \"\"\r\n },\r\n categoriesToshow: [\r\n \"Entrepreneurship\",\r\n \"BusinessAdministration\",\r\n \"BusinessOperations\",\r\n ],\r\n errors: {},\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return;\r\n }\r\n }\r\n\r\n clearErrorState = () => {\r\n this.setState({\r\n errors: {},\r\n });\r\n };\r\n\r\n handleSubmit = async (event) => {\r\n this.clearErrorState();\r\n const error = Validate(event, this.state);\r\n const payload = this.state.postDetails;\r\n if (!payload.type) {\r\n payload[\"type\"] = \"default\";\r\n }\r\n const path = window.location.pathname.split(\"/\");\r\n const ouid = path[1];\r\n if (error) {\r\n this.setState({\r\n errors: { ...this.state.errors, ...error },\r\n });\r\n } else {\r\n const { create_course } = this.props;\r\n await create_course(payload);\r\n this.props.history.push(`/${ouid}/course-dash`);\r\n }\r\n };\r\n async categoryChange(newValue) {\r\n const newPostDetails = this.state.postDetails;\r\n newPostDetails[\"category\"] = newValue;\r\n console.log(\"newValue newValue : \", newValue);\r\n this.setState({\r\n postDetails: newPostDetails,\r\n });\r\n }\r\n\r\n onInputChange = (event) => {\r\n const newPostDetails = this.state.postDetails;\r\n newPostDetails[event.target.id] = event.target.value;\r\n this.setState({\r\n postDetails: newPostDetails,\r\n });\r\n };\r\n\r\n render() {\r\n const { permissions } = store.getState().permission;\r\n const { showGlobalLoader } = store.getState().permission;\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n

Create a Certification Course

\r\n {/*
\r\n {\r\n this.categoryChange(newValue);\r\n }}\r\n defaultValue={\"ChannelPartner\"}\r\n value={this.state.postDetails.category}\r\n options={this.state.categoriesToshow}\r\n getOptionLabel={(option) => option}\r\n style={{ width: 300 }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n
*/}\r\n
\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.handleSubmit()}\r\n text=\"Add\"\r\n />\r\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 permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n create_course: (payload) => dispatch(create_course(payload)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CreateCourse);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport { create_exam } from \"../../../actions/action-exam\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { history } from \"../../../reducers\";\r\nimport SidebarWrapper from \"../../layout/SidebarWrapper\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport { Auth } from \"aws-amplify\";\r\nimport FormErrors from \"../../FormErrors\";\r\nimport Input from \"@material-ui/core/Input\";\r\nimport FormButton from \"../../common/FormButton\";\r\nimport Validate from \"../../utility/FormValidation\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\n\r\nconst store = configureStore();\r\n\r\nclass CreateExam extends Component {\r\n constructor() {\r\n super();\r\n let r = (Math.random() + 1).toString(36).substring(7);\r\n this.state = {\r\n postDetails: {\r\n title: \"\",\r\n summary: \"\",\r\n type: \"default\",\r\n category: \"\",\r\n featuredImage: \"\",\r\n },\r\n categoriesToshow: [\"Developer\", \"Architect\"],\r\n errors: {},\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return;\r\n }\r\n }\r\n\r\n clearErrorState = () => {\r\n this.setState({\r\n errors: {},\r\n });\r\n };\r\n\r\n handleSubmit = async (event) => {\r\n this.clearErrorState();\r\n const error = Validate(event, this.state);\r\n const payload = this.state.postDetails;\r\n if (!payload.type) {\r\n payload[\"type\"] = \"default\";\r\n }\r\n const path = window.location.pathname.split(\"/\");\r\n const ouid = path[1];\r\n if (error) {\r\n this.setState({\r\n errors: { ...this.state.errors, ...error },\r\n });\r\n } else {\r\n const { create_exam } = this.props;\r\n await create_exam(payload);\r\n this.props.history.push(`/${ouid}/exam-dash`);\r\n }\r\n };\r\n async categoryChange(newValue) {\r\n const newPostDetails = this.state.postDetails;\r\n newPostDetails[\"category\"] = newValue;\r\n console.log(\"newValue newValue : \", newValue);\r\n this.setState({\r\n postDetails: newPostDetails,\r\n });\r\n }\r\n\r\n onInputChange = (event) => {\r\n const newPostDetails = this.state.postDetails;\r\n newPostDetails[event.target.id] = event.target.value;\r\n this.setState({\r\n postDetails: newPostDetails,\r\n });\r\n };\r\n\r\n render() {\r\n const { permissions } = store.getState().permission;\r\n const { showGlobalLoader } = store.getState().permission;\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n

Create an Exam

\r\n
\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.handleSubmit()}\r\n text=\"Add\"\r\n />\r\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 permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n create_exam: (payload) => dispatch(create_exam(payload)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CreateExam);\r\n","import React, { Component } from \"react\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport { connect } from \"react-redux\";\r\nimport configureStore from \"../../../store/configureStore\";\r\nimport { get_events } from \"../../../actions/action-event\";\r\n\r\nimport Button from \"@material-ui/core/Button\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { history } from \"../../../reducers\";\r\nimport SidebarWrapper from \"../../layout/SidebarWrapper\";\r\nimport CommonSnackBar from \"../../common/CommonSnackBar\";\r\nimport { Paper, TextField } from \"@material-ui/core\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport VisibilityIcon from \"@material-ui/icons/Visibility\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\n\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableContainer from \"@material-ui/core/TableContainer\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\n\r\nconst store = configureStore();\r\n\r\nconst Icontooltip = withStyles({\r\n tooltip: {\r\n fontSize: 12,\r\n },\r\n})(Tooltip);\r\n\r\nclass ExamViewEvents extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n eventsToShow: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.auth.isAuthenticated) {\r\n const path = window.location.pathname;\r\n history.push(`/login?redirect=${path}`);\r\n return;\r\n }\r\n this.fetchDetails();\r\n }\r\n\r\n componentDidUpdate() {\r\n console.log(\"componentDidUpdate\");\r\n }\r\n\r\n async fetchDetails() {\r\n const path = window.location.pathname.split(\"/\");\r\n const ouid = path[1];\r\n console.log(\"fetchDetails ouid : \", ouid);\r\n const id = path[path.length - 1];\r\n console.log(\"id : \", id);\r\n const { activeOuid, activeOuidChain } = store.getState().permission;\r\n\r\n console.log(\" fetchDetails activeOuid : \", activeOuid);\r\n console.log(\"fetchDetails permission : \", store.getState().permission);\r\n let groupType = \"examlineinstance_answerSelected\";\r\n let groupObjectId = id;\r\n\r\n const { get_events } = this.props;\r\n\r\n await get_events(activeOuid, activeOuidChain, groupObjectId, groupType);\r\n const { events } = store.getState().event;\r\n console.log(\"fetchDetails > events : \", events);\r\n console.log(\" get_all_orguesr activeOuid : \", activeOuid);\r\n\r\n this.setState({\r\n eventsToShow: events,\r\n });\r\n }\r\n\r\n renderEvents(events) {\r\n console.log(\"events : \", events);\r\n return events.map((event) => (\r\n \r\n \r\n \r\n questionId : {event.data.questionId}\r\n

\r\n answerSelected : {event.data.answerSelected}\r\n
\r\n
\r\n ));\r\n }\r\n\r\n render() {\r\n const { permissions } = store.getState().permission;\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Exam Instance Events\r\n \r\n \r\n \r\n \r\n {this.state.eventsToShow.length !== 0\r\n ? this.renderEvents(this.state.eventsToShow)\r\n : \"No Events\"}\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 orgunit: state.orgunit,\r\n showGlobalLoader: state.orgunit.showGlobalLoader,\r\n permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n get_events: (activeOuid, activeOuidChain, groupObjectId, groupType) =>\r\n dispatch(get_events(activeOuid, activeOuidChain, groupObjectId, groupType)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ExamViewEvents);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { Router, Switch, Route, Redirect } from \"react-router-dom\";\r\nimport \"./App.css\";\r\n\r\n//Orgunit\r\nimport Orgunit from \"./components/pages/Orgunit/Orgunit\";\r\nimport RegisterOrgunit from \"./components/pages/Orgunit/RegisterOrgunit\";\r\nimport EditOrgunitDetails from \"./components/pages/Orgunit/EditOrgunitDetails\";\r\nimport OrgunitDetails from \"./components/pages/Orgunit/OrgunitDetails\";\r\n\r\n// Users\r\nimport OrgUsers from \"./components/pages/UserManagement/OrgUsers\";\r\nimport OrgUserDetails from \"./components/pages/UserManagement/OrgUserDetails\";\r\nimport Users from \"./components/pages/UserManagement/Users\";\r\nimport CreateUser from \"./components/pages/UserManagement/CreateUser\";\r\nimport UserDetails from \"./components/pages/UserManagement/UserDetails\";\r\nimport EditUser from \"./components/pages/UserManagement/EditUser\";\r\n\r\n// Authentication\r\nimport { Auth } from \"aws-amplify\";\r\nimport LogIn from \"./components/auth/LogIn\";\r\nimport Register from \"./components/auth/Register\";\r\n\r\nimport ForgotPassword from \"./components/auth/ForgotPassword\";\r\nimport ForgotPasswordVerification from \"./components/auth/ForgotPasswordVerification\";\r\nimport ChangePassword from \"./components/auth/ChangePassword\";\r\nimport ChangePasswordConfirm from \"./components/auth/ChangePasswordConfirm\";\r\n\r\n// Home\r\nimport Home from \"./components/pages/Home\";\r\nimport Dashboard from \"./components/pages/Dashboard\";\r\n\r\n// Profile\r\nimport MyProfile from \"./components/pages/MyProfile\";\r\nimport Welcome from \"./components/auth/Welcome\";\r\n\r\nimport ThankYouPage from \"./components/pages/ThankYouPage\";\r\nimport PageNotFound from \"./components/pages/PageNotFound\";\r\nimport { setJwt } from \"../src/actions/action-jwt\";\r\nimport { setAllPermissions } from \"../src/actions/action-permissions\";\r\nimport { history } from \"./reducers\";\r\nimport jwt from \"jwt-decode\";\r\nimport Help from \"./components/pages/Help\";\r\n\r\nimport UserHome from \"./components/pages/UserHome\";\r\n\r\nimport Notifications from \"./components/pages/Notification/Notifications\";\r\nimport PermissionError from \"./components/pages/PermissionError\";\r\n\r\nimport {\r\n userRoleCheck,\r\n permissionsCheck,\r\n getParentChain,\r\n} from \"../src/components/common/CommonFunctions\";\r\nimport configureStore from \"../src/store/configureStore\";\r\nimport config from \"../src/config\";\r\nimport EditOrgUser from \"./components/pages/UserManagement/EditOrgUser\";\r\n\r\nimport {\r\n setActiveOuid,\r\n setActiveOuidChain,\r\n} from \"../src/actions/action-permissions\";\r\nimport { setActiveOiudConfigs } from \"../src/actions/action-config\";\r\nimport CreateOrgUser from \"./components/pages/UserManagement/CreateOrgUser\";\r\nimport OrgPlan from \"./components/pages/Orgunit/OrgPlan\";\r\n\r\nimport DocumentBoard from \"./components/pages/Document/DocumentBoard\";\r\n\r\nimport CourseDash from \"./components/pages/Post/CourseDash\";\r\nimport MyCourseDash from \"./components/pages/Post/MyCourseDash\";\r\nimport SubscriptionDash from \"./components/pages/Post/SubscriptionDash\";\r\n\r\nimport ExamDash from \"./components/pages/Post/ExamDash\";\r\nimport MyExamDash from \"./components/pages/Post/MyExamDash\";\r\nimport ExamSubscriptionDash from \"./components/pages/Post/ExamSubscriptionDash\";\r\nimport ExamInstances from \"./components/pages/Post/ExamInstances\";\r\n\r\nimport Slate from \"./components/pages/UserPage/Slate\";\r\n\r\nimport CourseDetails from \"./components/pages/Post/CourseDetails\";\r\n\r\nimport ExamDetails from \"./components/pages/Post/ExamDetails\";\r\n\r\nimport ManageQuestions from \"./components/pages/Post/ManageQuestions\";\r\n\r\nimport CourseLineTest from \"./components/pages/Post/CourseLineTest\";\r\n\r\nimport CoursePublicDetails from \"./components/pages/Post/CoursePublicDetails\";\r\n\r\nimport MyCourseDetails from \"./components/pages/Post/MyCourseDetails\";\r\nimport MyExamDetails from \"./components/pages/Post/MyExamDetails\";\r\nimport MyExamResult from \"./components/pages/Post/MyExamResult\";\r\n\r\nimport ExamPre from \"./components/pages/Post/ExamPre\";\r\nimport ExamPost from \"./components/pages/Post/ExamPost\";\r\n\r\nimport ConfigDash from \"./components/pages/Config/ConfigDash\";\r\n\r\nimport { get_profile_details } from \"../src/actions/action-myProfile\";\r\n\r\nimport OrgHome from \"./components/pages/Orgunit/OrgHome\";\r\nimport Support from \"./components/pages/UserPage/Support\";\r\nimport CompanyProfile from \"./components/pages/UserPage/CompanyProfile\";\r\n\r\nimport RegistartionCompleted from \"./components/pages/UserPage/RegistartionCompleted\";\r\nimport CreateCourse from \"./components/pages/Post/CreateCourse\";\r\nimport CreateExam from \"./components/pages/Post/CreateExam\";\r\n\r\nimport ExamViewEvents from \"./components/pages/Post/ExamViewEvents\";\r\n\r\nconst store = configureStore();\r\n\r\nclass App extends Component {\r\n state = {\r\n isAuthenticated: false,\r\n isAuthenticating: true,\r\n user: null,\r\n };\r\n\r\n setAuthStatus = (authenticated) => {\r\n this.setState({ isAuthenticated: authenticated });\r\n };\r\n\r\n setUser = (user) => {\r\n this.setState({ user: user });\r\n };\r\n\r\n async componentDidMount() {\r\n // console.log(\"StageEnv : \", process.env);\r\n // console.log(\"StageEnvConfig : \", config);\r\n try {\r\n const session = await Auth.currentSession();\r\n this.setAuthStatus(true);\r\n // console.log(\"currentSession\", session);\r\n const user = await Auth.currentAuthenticatedUser();\r\n // console.log(\"currentSession user\", JSON.stringify(user.username));\r\n this.setUser(user);\r\n const { setJwt, get_profile_details } = this.props;\r\n await setJwt(user);\r\n await get_profile_details(user.username);\r\n // jwt refresh intervel...........\r\n //this.refreshJwt();\r\n const idToken = user.signInUserSession.idToken;\r\n const decodedToken = jwt(idToken.jwtToken);\r\n const path = window.location.pathname.split(\"/\");\r\n const urlOuid = path[1];\r\n await store.dispatch(setActiveOuid(urlOuid));\r\n if (decodedToken.policies) {\r\n const policies = decodedToken.policies.split(\";\");\r\n let teamPolicies = [];\r\n if (decodedToken.teamPolicies !== \"\")\r\n teamPolicies = decodedToken.teamPolicies.split(\";\");\r\n let appPolicies = [];\r\n if (decodedToken.appPolicies !== \"\")\r\n appPolicies = decodedToken.appPolicies.split(\";\");\r\n const allPolicy = {\r\n policies,\r\n teamPolicies,\r\n appPolicies,\r\n };\r\n const { setAllPermissions } = this.props;\r\n await setAllPermissions(allPolicy);\r\n const userRole = await userRoleCheck(policies);\r\n if (!urlOuid) {\r\n const { userRoles } = store.getState().permission;\r\n await store.dispatch(setActiveOuid(userRoles[0].ouid));\r\n await store.dispatch(setActiveOuidChain(userRoles[0].ouid));\r\n await store.dispatch(setActiveOiudConfigs(userRoles[0].ouid));\r\n } else {\r\n await store.dispatch(setActiveOuidChain(urlOuid));\r\n await store.dispatch(setActiveOiudConfigs(urlOuid));\r\n }\r\n if (this.state.redirection) {\r\n this.props.history.push(this.state.redirection);\r\n } else {\r\n let activeOuid = store.getState().permission.activeOuid;\r\n this.props.history.push(`/${activeOuid}/dashboard`);\r\n }\r\n } else {\r\n this.props.history.push(`/system/user-home`);\r\n }\r\n } catch (error) {\r\n if (error !== \"No current user\") {\r\n console.log(error);\r\n }\r\n }\r\n this.setState({ isAuthenticating: false });\r\n }\r\n\r\n async refreshJwt() {\r\n console.log(\"refreshJwt\");\r\n try {\r\n let intervalId = setInterval(async () => {\r\n const session = await Auth.currentSession();\r\n this.setAuthStatus(true);\r\n // console.log(\"currentSession\", session);\r\n const user = await Auth.currentAuthenticatedUser();\r\n // console.log(\"currentSession user\", user);\r\n this.setUser(user);\r\n const { setJwt } = this.props;\r\n await setJwt(user);\r\n }, 60000);\r\n this.setState({ intervalId: intervalId });\r\n } catch (e) {\r\n console.log(\"setInterval error :\", e);\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n console.log(\"APP unmounted\");\r\n clearInterval(this.state.intervalId);\r\n }\r\n\r\n render() {\r\n const authProps = {\r\n isAuthenticated: this.state.isAuthenticated,\r\n user: this.state.user,\r\n setAuthStatus: this.setAuthStatus,\r\n setUser: this.setUser,\r\n };\r\n const { userRoles } = store.getState().permission;\r\n return (\r\n !this.state.isAuthenticating && (\r\n
\r\n \r\n {/* */}\r\n \r\n }\r\n />\r\n\r\n {/* Auth */}\r\n }\r\n />\r\n }\r\n />\r\n\r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n }\r\n />\r\n {/* Auth */}\r\n\r\n {/* Orgunit */}\r\n \r\n permissionsCheck(userRoles, \"CreateOrgunit\", \"orgunit\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"ListOrgunit\", \"orgunit\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n\r\n \r\n permissionsCheck(userRoles, \"ViewOrgunit\", \"orgunit\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"EditOrgunit\", \"orgunit\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"OrgPlan\", \"orgunit\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"OrgHome\", \"orgunit\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n {/* orgunit */}\r\n\r\n {/* Document */}\r\n \r\n permissionsCheck(userRoles, \"DocumentBoard\", \"document\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n\r\n {/* Document */}\r\n\r\n {/* Post */}\r\n\r\n \r\n permissionsCheck(userRoles, \"CourseDash\", \"post\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"ExamDash\", \"post\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"MyCourseDash\", \"post\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"MyExamDash\", \"post\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n\r\n \r\n permissionsCheck(userRoles, \"SubscriptionDash\", \"post\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(\r\n userRoles,\r\n \"ExamSubscriptionDash\",\r\n \"post\"\r\n ) ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"CreateExam\", \"post\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"CreateExam\", \"post\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n\r\n \r\n permissionsCheck(userRoles, \"CreateExam\", \"post\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"ExamDetails\", \"post\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"MyCourseDetails\", \"post\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"MyCourseDetails\", \"post\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"MyCourseDetails\", \"post\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"MyCourseDetails\", \"post\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"CreateCourse\", \"post\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"CourseDetails\", \"post\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"CoursePublicDetails\", \"post\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"MyCourseDetails\", \"post\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"ManageQuestions\", \"post\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"CourseLineTest\", \"post\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n\r\n {/* Post */}\r\n\r\n {/* Config */}\r\n \r\n permissionsCheck(userRoles, \"ConfigDash\", \"config\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n {/* Config */}\r\n\r\n {/* User */}\r\n \r\n permissionsCheck(userRoles, \"ListOrgUsers\", \"orgUser\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"ViewOrgUser\", \"orgUser\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"EditOrgUser\", \"orgUser\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"ListUsers\", \"authUser\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"CreateUser\", \"authUser\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"CreateUser\", \"authUser\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"ViewUser\", \"authUser\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n permissionsCheck(userRoles, \"EditUser\", \"authUser\") ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n }\r\n />\r\n }\r\n />\r\n\r\n }\r\n />\r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n\r\n {/* User */}\r\n\r\n {/* Notification */}\r\n (\r\n \r\n )}\r\n />\r\n {/* Notification */}\r\n\r\n \r\n permissionsCheck(\r\n userRoles,\r\n \"ViewDashboard\",\r\n \"commonPages\"\r\n ) ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n }\r\n />\r\n }\r\n />\r\n }\r\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 permission: state.permission,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setJwt: (user) => dispatch(setJwt(user)),\r\n setAllPermissions: (policies) => dispatch(setAllPermissions(policies)),\r\n get_profile_details: (username) => dispatch(get_profile_details(username)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(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 http://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 http://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 http://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\n// import 'bulma/css/bulma.min.css';\r\nimport './index.css';\r\nimport App from './App';\r\nimport Amplify from \"aws-amplify\";\r\nimport config from \"./config\";\r\nimport * as serviceWorker from './serviceWorker';\r\nimport { Provider } from \"react-redux\";\r\nimport { createTheme, makeStyles, ThemeProvider } from '@material-ui/core/styles';\r\nimport purple from '@material-ui/core/colors/purple';\r\nimport green from '@material-ui/core/colors/green';\r\nimport configureStore from '../src/store/configureStore';\r\n// import swDev from './swDev';\r\n\r\nconst store = configureStore();\r\n\r\nconst theme = createTheme({\r\n palette: {\r\n background: {\r\n default: \"#fff\"\r\n },\r\n primary: {\r\n // light: will be calculated from palette.primary.main,\r\n main: '#F29F05',\r\n contrastText: \"#fff\",\r\n // dark: will be calculated from palette.primary.main,\r\n // contrastText: will be calculated to contrast with palette.primary.main\r\n },\r\n secondary: {\r\n light: '#0066ff',\r\n main: '#fff',\r\n // dark: will be calculated from palette.secondary.main,\r\n contrastText: '#fff',\r\n },\r\n // Used by `getContrastText()` to maximize the contrast between\r\n // the background and the text.\r\n contrastThreshold: 3,\r\n // Used by the functions below to shift a color's luminance by approximately\r\n // two indexes within its tonal palette.\r\n // E.g., shift from Red 500 to Red 300 or Red 700.\r\n tonalOffset: 0.2,\r\n },\r\n typography: {\r\n fontSize: 12,\r\n },\r\n});\r\n\r\nAmplify.configure({\r\n Auth: {\r\n mandatorySignIn: true,\r\n region: config.cognito.REGION,\r\n userPoolId: config.cognito.USER_POOL_ID,\r\n userPoolWebClientId: config.cognito.APP_CLIENT_ID\r\n }\r\n});\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n ,document.getElementById('root')\r\n);\r\n{/* \r\n \r\n \r\n \r\n \r\n \r\n \r\n ,document.getElementById('root') */}\r\n\r\n// swDev();\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: http://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}