{"version":3,"sources":["services/httpService.js","services/scoreService/scoreSAService.js","components/utils/toastMessage.js","services/scoreService/scoreTSService_v2.js","services/scoreService/scoreEWService.js","bank/Ana_PEng_s1.mp3","bank/Terri_AEng_s1.mp3","bank/Gargi_IEng_s1.mp3","components/allTypingAssessmentTypeFiles_v2/InputArea/style.module.css","services/authService.js","components/allTypingAssessmentTypeFiles_v2/Statistics/style.module.css","bank/Gragi_French.mp3","components/NavBar_v2.js","components/LoginForm_v2.js","components/ForgetPass.js","components/ForceUpdatePass_v2.js","components/SignUpForm_v2.js","components/Logout.js","services/userAssignmentProfileService.js","components/UserProfileCustom.js","components/AssessmentModuleTypeMain_v1.js","components/allMCQAssessmentTypeFiles/MultipleInputForm_3.js","components/allMCQAssessmentTypeFiles/AssessmentForm.js","components/allMCQAssessmentTypeFiles/ModuleForm.js","components/allDEntryAssessmentTypeFiles/DataEntryMain.js","bank/DataEntryQ_v1.js","components/allDEntryAssessmentTypeFiles/DataEntryPanel_q1.js","components/allDEntryAssessmentTypeFiles/DataEntryPanel_q2.js","components/allDEntryAssessmentTypeFiles/DataEntryPanel_q3.js","components/allTypingAssessmentTypeFiles_v2/util/helperFunctions.js","components/allTypingAssessmentTypeFiles_v2/InputArea/index.js","components/allTypingAssessmentTypeFiles_v2/ShowText/index.js","components/allTypingAssessmentTypeFiles_v2/util/UI/StatisticsItem/index.js","components/allTypingAssessmentTypeFiles_v2/Statistics/index.js","components/allTypingAssessmentTypeFiles_v2/TypingMain.js","components/allWritingAssessmentTypeFiles/writingTestPanel.js","components/allWritingAssessmentTypeFiles/writingModuleMain.js","components/allSpeechAssessmentTypeFiles/SpeechAssessmentMain.js","components/allSpeechAssessmentTypeFiles/SpeechAnalysisPanel_v2.js","services/analyticsService.js","i18n.js","components/CustomAnalytics_v1.js","components/commonContext/userContext.js","components/allDEntryAssessmentTypeFiles/DataEntryPanel_q4.js","components/App.js","serviceWorker.js","index.js","components/common/selectDrop.jsx","components/common/form.jsx","bank/PredifinedUserLocations.js","services/scoreService/scoreDEService.js","services/userService.js","services/assessmentService.js","services/moduleService.js","components/common/input.jsx","components/allTypingAssessmentTypeFiles_v2/app.module.css","components/allTypingAssessmentTypeFiles_v2/ShowText/style.module.css"],"names":["axios","defaults","baseURL","process","interceptors","response","use","error","status","Promise","reject","get","post","put","delete","setJwt","jwt","headers","common","submitSpeechScoreNew","blob","blobURL","uId","textScript","audioData","FormData","append","http","getSpeechAnalysisScore","userId","assessmentScoreUrl","getSpeechAnalysisScoreBleu","assessmentScoreUrlBleu","showSuccessToast","message","options","toast","success","showErrorToast","getTypeSpeedScore","submitTypeSpeedScore","score_cpm","score_wpm","acc","score1wpm","toString","score2cpm","accuracy","errorIndex","getEssayWritingScore","submitEssayWritingScore","textAnswer","questionSel","language","questionSelected","module","exports","getJwt","login","email","password","a","data","localStorage","setItem","getLoginDetails","uuid","updatePassword","emailId","oldPass","newPass","confirmPass","oldPassword","newPassword","confirmPassword","forgotPassword","logout","removeItem","getCurrentUser","getItem","jwtDecode","ex","loginWithJwt","NavBar","user","useTranslation","t","i18n","useState","selectedLanguage","setSelectedLanguage","useEffect","languageData","id","value","label","handleLanguageChange","lng","changeLanguage","Fragment","className","src","alt","isAdmin","to","aria-hidden","style","lineHeight","classNamePrefix","onChange","Language","maxMenuHeight","menuPlacement","isSearchable","textAlign","background","LoginForm","state","errors","userUuid","userDetails","schema","Joi","string","tlds","allow","required","min","doSubmit","props","window","location","this","setState","params","URLSearchParams","search","getUsersDetail","onSubmit","handleSubmit","renderInput","renderPassword","renderButton","href","float","Form","withTranslation","ForgetPass","isLoading","isDisabled","languageLoaded","setTimeout","UpdatePassword","test","validateEmail","disabled","class","type","RegisterForm","username","userLocation","allLocations","allLocationsInFrench","uLocation","max","trim","regex","setLocation","location_options","location_options_In_French","handleLocationOption","uSelectLocation","registerUser","history","push","usernameRef","React","createRef","current","focus","focusUsernameField","Logout","Component","apiEndpoint","addUserAssignmentProfile","candidate_Id","recruiter_Id","profile","candidateId","recruiterId","recruitmentStatus","assignedAssessments","assignedMQAssessments","assignedDEAssessments","assignedTSAssessments","assignedEWAssessments","assignedSAAssessments","isArchived","UserProfileCustom","assessments","modules","userInfo","recruiterInfo","selectedOption","selectedOption_v2","checkedMQ","checkedLS","checkedTS","checkedAW","checkedSA","checkArchive","checkAdmin","handleChangeMCQ","handleChangeLS","handleChangeTS","handleChangeAW","handleChangeSA","handleArchive","handleAdmin","handleChange","updateOptions","map","i","title","assessmentId","_id","handleStatusChange","e","preventDefault","assignedTests","reqStatus","updateUserInfo","_","pick","createProfile","updateUserProfile","match","getOneUser","userData","getModules","getAssessments","recruiter","replace","options_v2","name","isMulti","checked","isSuperAdmin","onClick","titleStyle","fontFamily","fontSize","fontWeight","fontStyle","marginBottom","cardStyle","borderRadius","border","padding","width","marginTop","display","gridTemplateColumns","gap","buttonStyle","linkStyle","ExamCard","tests","subtitle","action","AssessmentModuleTypeMain_v1","position","MultipleInputForm","receiveDataCallback","question","qsId","answer","inputList_v2","setInputList_v2","index","optionIndex","target","list","console","log","item","key","length","handleAddOption","option","splice","handleRemoveOption","handleRemoveInput","AssessmentForm","moduleId","onSubmitData","questionSet","saveAssessment","getAssessment","assessment","mapToViewModel","populateModules","qSetChildData","qData","count","createQuestionSet","getAllQuestionSet","bind","renderSelect","ModuleForm","saveModule","DataEntryModuleMain","card1","CardContent","Typography","sx","color","gutterBottom","variant","component","CardActions","Button","card2","card3","card4","Box","minWidth","boxShadow","transition","transform","Card","q1_DataEntry","address","phoneNumber","cpin","shippingDetails","q1_DataEntry_French","DataEntryPanel_q1","assessmentName","score_1","score_2","scores","replayCount","timerStart","playAudioClip","inputFields","audioClip","replay","countdownTimer","onClickBackButton","startTime","Attempted","timeLeft","validate","abortEarly","details","path","playClip","prevState","stopClip","handleAlert","confirmAlert","closeOnEscape","closeOnClickOutside","buttons","Date","now","startAssessment","focusInputField","removeEventListener","_confirm","_backConfirm","handleInputChange","event","checkInputAnswer_v2","countDown","total","Object","keys","similarity","compareTwoStrings","handleSubmit_v2","submitDataEntryScore","timercountdown","date","onComplete","saveDataToLocalStorage","submitDataFlag","confirm","back","pushState","confirmationMessage","returnValue","inputRef","attemptAndTimeListeningQ1","time","JSON","parse","Math","abs","selectedAnswers","stringify","addEventListener","localData","timestamp1","timestamp2","difference","reAttempt","Ana_PEng_s1","playing","onEnd","field","array","charAt","toUpperCase","slice","placeholder","ref","DataEntryPanel_q2","attemptAndTimeListeningQ2","Terri_AEng_s1","DataEntryPanel_q3","attemptAndTimeListeningQ3","Gargi_IEng_s1","quotesArray","quote","author","quotesArrayInFrench","allowedKeys","InputArea","styles","inputArea_div","ShowText","started","ended","isError","input","handleKeyDown","main","ended_div","ended_div_author_span","started_div","outline","tabIndex","onKeyDown","last_section_div","StatisticsItem","Statistics","cpm","wpm","duration","lastScore","TypingAssessment","useRef","outputRef","setDuration","setStarted","setEnded","setIndex","correctIndex","setCorrectIndex","setErrorIndex","setQuote","setInput","setCpm","setWpm","setAccuracy","setIsError","setUserId","setIsDisabled","setIsLoading","sleep","ms","resolve","interval","stopBrowserPopup","newQuote","floor","random","clearInterval","handleEnd","handleBackConfirm","handleConfirm","handleClick","contains","document","startButton","backgroundColor","Spinner","as","size","role","animation","seconds","setInterval","secondLeft","round","setTimer","container","leftSideInContainer","rightSideInContainer","quoteText","currenChar","substring","innerHTML","includes","elapsedTime","_accuracy","_wpm","WritingTestPanel","object","Text","messages","validateForm","handleQuestionChange","countDownOver","attemptAndTimeWriting","defaultValue","spellCheck","onPaste","WritingModuleMain","SpeechAssessmentMain","card","SpeechPanel","setText","texts","textsInFrench","text","handleAudioSubmit","componentDidMount","confirmShown","isRecording","isSubmitting","audioType","audioSrc","audioProps","timeslice","strokeColor","startCallback","pauseCallback","stopCallback","onRecordCallback","errorCallback","err","controlAudio","changeScheme","getConsolidatedReport","stDate","enDate","uLoc","startDate","endDate","resources","en","translation","fr","initReactI18next","init","fallbackLng","interpolation","escapeValue","moment","extendMoment","originalMoment","locale","ExportAnalytics","context","location_filter_In_French","location_filter","uL","onSelect","states","customEnd","end","clone","add","onToggle","isOpen","renderSelectionValue","start","format","handleSubmitAll","consolidatedData","userScores","csvLinkEl","link","click","handleSubmitRange","customEndD","handleSubmitMcqAssessmentIndividualRange","mcqAssessmentData","mcqAssessmentLink","handleSubmitListeningAssessmentIndividualRange","listeningAssessmentData","listeningAssessmentLink","handleSubmitTypeSpeedAssessmentIndividualRange","typeSpeedAssessmentData","typeSpeedAssessmentLink","handleSubmitArticleAssessmentIndividualRange","articleAssessmentData","articleAssessmentLink","handleSubmitSpeechAssessmentIndividualRange","speechAssessmentData","speechAssessmentLink","handleSubmitCandidateAssignmentProfileRange","assignmentProfileData","recruiterLocation","candidateLocation","userAssignmentProfileLink","today","range","subtract","startOf","endOf","headersUserDetails","headersUserAssignmentProfile","headersUserAssignmentProfileInFrench","headersConsolidated","headersConsolidatedInFrench","headersMcqAssessment","headersMcqAssessmentInFrench","headersListeningAssessment","headersListeningAssessmentInFrench","headersTypeAssessment","headersTypeAssessmentInFrench","headersArticleAssessment","headersArticleAssessmentInFrench","headersSpeechAssessment","headersSpeechAssessmentInFrench","prevProps","Accordion","AccordionSummary","expandIcon","aria-controls","AccordionDetails","singleDateRange","filename","UserContext","createContext","currentUserInfo","DataEntryPanel_q4","attemptAndTimeListeningQ4","Gargi_French_s1","Loading","HomePageMn","Loadable","loader","loading","Header","DashboardMain","AssessmentPanel","AssessmentViewOne","Performance","App","appInitiation","user_imp","hotjar","initialize","initialized","identify","userProperty","amplitude","defaultTracking","sessions","pageViews","formInteractions","fileDownloads","set","Provider","exact","render","from","Boolean","hostname","ReactDOM","StrictMode","getElementById","navigator","serviceWorker","ready","then","registration","unregister","catch","SelectDropDown","rest","htmlFor","validateProperty","obj","currentTarget","errorMessage","handleChangePassword","showPassword","handleTogglePassword","getDataEntryScore","score1","score2","getUsersCount","getUsersList","page","limit","filter","para","find","request","userUrl","deleteUser","body","assessmentUrl","title_","moduleId_","questionSet_","deleteAssessment","Input"],"mappings":"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","file":"static/js/main.8459f243.chunk.js","sourcesContent":["import axios from \"axios\";\n// import { toast } from \"react-toastify\";\n// import logger from \"./logService\"\n//import auth from \"./authService\"\n//axios.defaults.headers.common['x-auth-token'] = auth.getJwt(); \n\naxios.defaults.baseURL = process.env.REACT_APP_API_URL;\n\naxios.interceptors.response.use(null, (error) => {\n const expectedError =\n error.response &&\n error.response.status >= 400 &&\n error.response.status < 500;\n\n if (!expectedError) {\n // logger.log(error)\n // console.log(\"Logging the error\", error);\n // toast.error(\"An unexpected error occusrred.\");\n }\n return Promise.reject(error);\n});\n\nfunction setJwt(jwt){\n\n axios.defaults.headers.common['x-auth-token'] = jwt; \n\n}\n\nexport default {\n get: axios.get,\n post: axios.post,\n put: axios.put,\n delete: axios.delete,\n setJwt\n};\n","import http from \"../httpService\";\nimport _ from \"lodash\";\n\n// const apiEndpointEW = \"/userScoreEssayWriting\";\n// const apiEndpointEmW = \"/userScoreEmailWriting\";\n\nconst apiEndpointSAV = \"/userScoreSpeechAnalysis\";\nconst apiEndpointSAVB = \"/userScoreSpeechAnalysisBleu\";\n\n\nexport function submitSpeechScoreNew(blob,blobURL,uId,textScript){\n let audioData = new FormData();\n audioData.append(\"soundBlob\", blob, blobURL);\n audioData.append(\"userId\", uId);\n audioData.append(\"textScriptt\",textScript);\n const config = {\n // timeout:1000*30,\n headers: { 'content-type': 'multipart/form-data' }\n }\n return http.post(apiEndpointSAV, audioData,config);\n}\n\n\nfunction assessmentScoreUrl(userId) {\n return `${apiEndpointSAV}/${userId}`;\n }\n\nfunction assessmentScoreUrlBleu(userId) {\n return `${apiEndpointSAVB}/${userId}`;\n }\n\n export function getSpeechAnalysisScore(userId) {\n return http.get(assessmentScoreUrl(userId));\n }\n\n export function getSpeechAnalysisScoreBleu(userId) {\n return http.get(assessmentScoreUrlBleu(userId));\n }\n\n export function submitSpeechAnalysisScore(userId,blob_,blobURL_) {\n \n return http.post(apiEndpointSAV, {\n userId:userId,\n soundBlob:blobURL_\n });\n }\n\n export function submitSpeechAnalysisScoreBleu(userId,blob_,blobURL_) {\n \n return http.post(apiEndpointSAVB, {\n userId:userId,\n soundBlob:blobURL_\n });\n }","import { toast } from \"react-toastify\";\n\nexport const showSuccessToast = (message, options = {}) => {\n toast.success(message, options);\n};\n\nexport const showErrorToast = (message, options = {}) => {\n toast.error(message, options);\n};\n","import http from \"../httpService\";\n\nconst apiEndpointTS = \"/userScoreTypeSpeed\";\n\nfunction assessmentScoreUrl(userId) {\n return `${apiEndpointTS}/${userId}`;\n }\n\n export function getTypeSpeedScore(userId) {\n return http.get(assessmentScoreUrl(userId));\n }\n\n export function submitTypeSpeedScore(userId,score_cpm,score_wpm, acc, error) {\n // console.log(userId,score_cpm,score_wpm, acc, error)\n \n return http.post(apiEndpointTS, {\n userId: userId,\n score1wpm: score_wpm.toString(),\n score2cpm: score_cpm.toString(),\n accuracy: acc.toString(),\n errorIndex: error.toString(),\n });\n }","import http from \"../httpService\";\n// const apiEndpointEW = \"/userScoreEssayWriting\";\n// const apiEndpointEmW = \"/userScoreEmailWriting\";\n\nconst apiEndpointEW = \"/userScoreEssayWriting\";\n\nfunction assessmentScoreUrl(userId) {\n return `${apiEndpointEW}/${userId}`;\n }\n\n export function getEssayWritingScore(userId) {\n return http.get(assessmentScoreUrl(userId));\n }\n\n export function submitEssayWritingScore(userId,textAnswer,questionSel,language) {\n \n return http.post(apiEndpointEW, {\n userId:userId,\n textAnswer:textAnswer,\n questionSelected:questionSel,\n language:language\n });\n }","module.exports = __webpack_public_path__ + \"static/media/Ana_PEng_s1.23147c7b.mp3\";","module.exports = __webpack_public_path__ + \"static/media/Terri_AEng_s1.9b03f3b3.mp3\";","module.exports = __webpack_public_path__ + \"static/media/Gargi_IEng_s1.56c54148.mp3\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"inputArea_div\":\"style_inputArea_div__16Rlc\",\"container\":\"style_container__2mc9u\"};","import jwtDecode from \"jwt-decode\";\nimport http from \"./httpService\";\n\nconst apiEndpoint = \"/auth\";\nconst apiUpdatePass = \"/auth/updatePass\";\nconst apiForgotPass = \"/forgetPassword/forgotPassword\";\nhttp.setJwt(getJwt());\nconst apiGetEmail = \"/user/userUuid\";\n\nexport async function login(email, password) {\n const { data: jwt } = await http.post(apiEndpoint, { email, password });\n localStorage.setItem(\"token\", jwt);\n}\n\nexport async function getLoginDetails(uuid) {\n const { data } = await http.get(`${apiGetEmail}/${uuid}`);\n return data?.[0];\n}\n\nexport async function updatePassword(emailId, oldPass, newPass, confirmPass) {\n await http.put(apiUpdatePass, {\n email: emailId,\n oldPassword: oldPass,\n newPassword: newPass,\n confirmPassword: confirmPass,\n });\n}\n\nexport async function forgotPassword(emailId,language) {\n return await http.post(apiForgotPass, {\n email: emailId,\n language:language\n });\n}\n\n// axioms login\n/*\nexport async function login(email, password){\n const data = JSON.stringify({\n \"email\": email,\n \"password\": password\n });\n \n var config = {\n method: 'post',\n url: URL,\n headers: { \n 'Content-Type': 'application/json'\n },\n data : data\n };\n \n axios(config)\n .then(function (response) {\n console.log(JSON.stringify(response.data));\n })\n .catch(function (error) {\n console.log(error);\n });\n}\n*/\n\nexport function loginWithJwt(jwt) {\n localStorage.setItem(\"token\", jwt);\n}\n\nexport function logout() {\n localStorage.removeItem(\"token\");\n localStorage.removeItem(\"attemptAndTimeMCQ\");\n localStorage.removeItem(\"attemptAndTimeListeningQ1\");\n localStorage.removeItem(\"attemptAndTimeListeningQ2\");\n localStorage.removeItem(\"attemptAndTimeListeningQ3\");\n localStorage.removeItem(\"attemptAndTimeWriting\");\n}\n\nexport function getCurrentUser() {\n try {\n const jwt = localStorage.getItem(\"token\");\n return jwtDecode(jwt);\n } catch (ex) {\n return null;\n }\n}\n\nexport function getJwt() {\n return localStorage.getItem(\"token\");\n}\n\nexport default {\n login,\n logout,\n loginWithJwt,\n getCurrentUser,\n getJwt,\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"style_main__3XYTX\"};","module.exports = __webpack_public_path__ + \"static/media/Gragi_French.f31e8a60.mp3\";","import React, { useEffect, useState } from \"react\";\nimport \"../designStyles/NavBar.css\";\nimport { NavLink } from \"react-router-dom\";\nimport { useTranslation } from 'react-i18next';\nimport Select from \"react-select\";\nimport { Language } from \"../bank/PredifinedUserLocations\";\n\nconst NavBar = ({ user }) => {\n const { t, i18n } = useTranslation();\n const [selectedLanguage, setSelectedLanguage] = useState(\"\");\n\n useEffect(() => {\n let languageData = {\n id: localStorage.getItem(\"selectedLanguage\") === \"en\" ? 1 : 2,\n value: localStorage.getItem(\"selectedLanguage\") || \"en\",\n label: localStorage.getItem(\"selectedLanguage\") === \"fr\" ? \"Français\" : \"English\"\n}\n setSelectedLanguage(languageData);\n localStorage.setItem('selectedLanguage', localStorage.getItem(\"selectedLanguage\") === \"fr\" ? \"fr\" : \"en\");\n }, []);\n\nconst handleLanguageChange = async (lng) => {\n i18n.changeLanguage(lng?.value);\n setSelectedLanguage(lng);\n localStorage.setItem('selectedLanguage', lng?.value);\n};\n return (\n \n \n \n );\n};\n\nexport default NavBar;\n","import React from \"react\";\nimport Joi from \"joi-browser\";\n// import Joi from \"joi\";\n\nimport Form from \"./common/form\";\n\nimport { getLoginDetails, login } from \"./../services/authService\";\nimport \"./../designStyles/LoginForm.css\";\nimport { showErrorToast } from \"./utils/toastMessage\";\nimport { withTranslation } from 'react-i18next';\n\nclass LoginForm extends Form {\n state = {\n data: { email: \"\", password: \"\" },\n errors: {},\n userUuid: \"\",\n userDetails:\"\",\n };\n\n schema = {\n email: Joi.string()\n .email({ tlds: { allow: false } })\n .required()\n .label(\"Email ID\"),\n password: Joi.string().min(5).required().label(\"Password\"),\n };\n\n doSubmit = async () => {\n const { t } = this.props;\n try {\n const { data } = this.state;\n await login(data.email, data.password);\n window.location = \"/allAssessmentTypes\";\n } catch (ex) {\n if (ex.response && ex.response.status === 400) {\n showErrorToast(t(`LogIn.${ex.response.data.message}`));\n }\n }\n };\n\n async getUsersDetail(userUuid){\n const userDetails = await getLoginDetails(userUuid);\n this.setState({ userDetails });\n this.setState({ data:{email:userDetails?.email} });\n }\n \n componentDidMount() {\n const params = new URLSearchParams(this.props.location.search);\n const userUuid = params.get(\"userUuid\");\n const language = params.get(\"language\");\n this.setState({ userUuid });\n this.getUsersDetail(userUuid);\n\n let selectedLanguage = \"\";\n if (language) {\n selectedLanguage = language;\n localStorage.setItem(\"selectedLanguage\", language);\n } else {\n selectedLanguage = localStorage.getItem(\"selectedLanguage\") || \"en\";\n }\n this.changeLanguage(selectedLanguage);\n }\n\n changeLanguage(lng) {\n const { i18n } = this.props;\n i18n.changeLanguage(lng);\n }\n\n render() {\n const { t } = this.props;\n return (\n \n {/* */}\n
\n
\n
\n
\n
\n \n
\n
\n
\n

{t('LogIn.Welcome back')}

\n
\n
\n

\n {t('LogIn.True Potential Message')}\n

\n
\n
\n
\n
\n
\n
\n
\n
\n

{t('LogIn.Log In')}

\n {/*

Log In

*/}\n
\n {this.state.userUuid ? this.renderInput(\"email\", t('LogIn.Email'),true) : this.renderInput(\"email\", t('LogIn.Email'))}\n {this.state.userUuid\n ? this.renderPassword(\n \"password\",\n t('LogIn.Temporary Password*'),\n \"password\"\n )\n : this.renderPassword(\n \"password\",\n t('LogIn.Password'),\n \"password\"\n )}\n {/* {this.renderPassword(\"password\", \"Password\", \"password\")} */}\n {this.renderButton(t(\"LogIn.Sign In\"))}\n
\n \n {t('LogIn.Forgot Password')}\n {\" \"}\n

\n \n {\" \"}\n {t('LogIn.Update Password')}\n {\" \"}\n

\n {t(\"LogIn.Don't have an account?\")}\n {t('LogIn.Sign Up')} {\" \"}\n

\n
\n
\n
\n
\n
\n \"\"\n
\n
\n
\n
\n );\n }\n}\n\nexport default withTranslation()(LoginForm);\n","import React from \"react\";\nimport Joi from \"joi-browser\";\nimport Form from \"./common/form\";\nimport { withTranslation } from 'react-i18next';\nimport { forgotPassword } from \"../services/authService\";\nimport \"./../designStyles/LoginForm.css\";\nimport \"./../designStyles/AllForms.css\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport { showErrorToast, showSuccessToast } from \"./utils/toastMessage\";\n\nclass ForgetPass extends Form {\n state = {\n data: { email: \"\" },\n errors: {},\n isLoading: false,\n isDisabled: false,\n languageLoaded: false\n };\n\n schema = {\n email: Joi.string().email().required().label(\"Email ID\"),\n };\n\n doSubmit = async () => {\n const { i18n,t } = this.props;\n try {\n //call the server\n const { data } = this.state;\n let response = await forgotPassword(data.email,i18n.language);\n showSuccessToast(t(`ForgotPassword.${response.data.message}`));\n setTimeout(() => {\n window.location = \"/login\";\n // window.location.reload(); // Refresh the page\n }, 3000);\n } catch (ex) {\n if (ex.response && ex.response.status === 400) {\n showErrorToast(t(`ForgotPassword.${ex.response.data.message}`));\n }\n }\n };\n\n changeLanguage = async (lng) => {\n const { i18n } = this.props;\n await i18n.changeLanguage(lng);\n this.setState({languageLoaded:true})\n };\n\n componentDidMount() {\n const selectedLanguage = localStorage.getItem(\"selectedLanguage\");\n this.changeLanguage(selectedLanguage);\n }\n\n render() {\n const { t } = this.props;\n return (\n \n {/* */}\n
\n
\n
\n
\n
\n \n
\n
\n
\n

\n {t(\"ForgotPassword.Welcome back\")}\n

\n
\n
\n

\n {t(\n \"ForgotPassword.Show your true potential with Semantify. The easy to use and intelligent talent assessment, evaluation and management platform, offering an engaging and seamless test experience. Register and start your tests now.\"\n )}\n

\n
\n
\n
\n
\n
\n
\n
\n
\n

\n {t(\"ForgotPassword.Forgot Password\")}\n

\n
\n {this.renderInput(\"email\", t(\"ForgotPassword.Email\"))}\n {this.renderButton(t(\"ForgotPassword.Submit\"))}\n
\n

\n \n {\" \"}\n {t(\"ForgotPassword.Update Password\")}\n {\" \"}\n

\n {t(\"ForgotPassword.Don't have an account?\")}\n \n {\" \"}\n {t(\"ForgotPassword.Sign Up\")}{\" \"}\n {\" \"}\n

\n
\n
\n
\n
\n
\n \"\"\n
\n
\n
\n
\n );\n }\n}\n\nexport default withTranslation()(ForgetPass);\n","import React from \"react\";\nimport Joi from \"joi-browser\";\nimport Form from \"./common/form\";\nimport { withTranslation } from 'react-i18next';\nimport { updatePassword } from \"./../services/authService\";\nimport \"./../designStyles/LoginForm.css\";\nimport { showSuccessToast, showErrorToast } from \"./utils/toastMessage\";\n\nclass UpdatePassword extends Form {\n state = {\n isLoading: false,\n isDisabled: false,\n data: { email: \"\", newPassword: \"\", oldPassword: \"\", confirmPassword: \"\" },\n errors: {},\n languageLoaded: false\n };\n\n schema = {\n email: Joi.string()\n .email({ tlds: { allow: false } })\n .required()\n .label(\"Email ID\"),\n oldPassword: Joi.string().required().label(\"Old Password\"),\n newPassword: Joi.string().min(5).required().label(\"New Password\"),\n confirmPassword: Joi.string().min(5).required().label(\"Confirm Password\"),\n };\n\n doSubmit = async () => {\n const { t } = this.props;\n try {\n //call the server\n const { data } = this.state;\n await updatePassword(data.email, data.oldPassword, data.newPassword, data.confirmPassword);\n showSuccessToast(t(\"UpdatePassword.Password updated successfully\"));\n setTimeout(() => {\n window.location = \"/login\";\n }, 3000);\n } catch (ex) {\n if (ex.response && ex.response.status === 400) {\n showErrorToast(t(`UpdatePassword.${ex.response.data.message}`)); \n }\n }\n };\n\n validateEmail(email) {\n const re = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\n return re.test(email);\n }\n\n renderButton(label) {\n const { email, oldPassword, newPassword, confirmPassword } =\n this.state.data;\n const isDisabled =\n !email ||\n !this.validateEmail(email) ||\n !oldPassword ||\n !newPassword ||\n !confirmPassword ||\n newPassword !== confirmPassword;\n\n return (\n \n {label}\n \n );\n }\n\n changeLanguage = async (lng) => {\n const { i18n } = this.props;\n await i18n.changeLanguage(lng);\n this.setState({languageLoaded:true})\n };\n\n componentDidMount() {\n const selectedLanguage = localStorage.getItem(\"selectedLanguage\");\n this.changeLanguage(selectedLanguage);\n }\n render() {\n const { t } = this.props;\n return (\n \n {/* */}\n
\n
\n
\n
\n
\n \n
\n
\n
\n

{t(\"UpdatePassword.Welcome back\")}

\n
\n
\n

\n {t(\"UpdatePassword.Show your true potential with Semantify. The easy to use and intelligent talent assessment, evaluation and management platform, offering an engaging and seamless test experience. Register and start your tests now.\")}\n

\n
\n
\n
\n
\n
\n
\n
\n
\n

{t(\"UpdatePassword.Update Password\")}

\n
\n {this.renderInput(\"email\", t(\"UpdatePassword.Email\"))}\n {this.renderPassword(\n \"oldPassword\",\n t(\"UpdatePassword.Old Password\"),\n \"password\"\n )}\n {this.renderPassword(\n \"newPassword\",\n t(\"UpdatePassword.New Password\"),\n \"password\"\n )}\n {this.renderPassword(\n \"confirmPassword\",\n t(\"UpdatePassword.Confirm Password\"),\n \"password\"\n )}\n {this.state.data.confirmPassword &&\n this.state.data.newPassword !==\n this.state.data.confirmPassword && (\n
\n {t(\"UpdatePassword.Confirm Password does not match with New Password\")}\n
\n )}\n {this.renderButton(t(\"UpdatePassword.Submit\"))}\n
\n

\n
\n
\n
\n
\n
\n \"\"\n
\n
\n
\n
\n );\n }\n}\n\nexport default withTranslation()(UpdatePassword);\n","import React from \"react\";\nimport Joi from \"joi-browser\";\nimport Form from \"./common/form\";\nimport loginWithJwt from \"./../services/authService\";\nimport { registerUser } from \"./../services/userService\";\nimport \"./../designStyles/LoginForm.css\";\nimport { location_options , location_options_In_French} from \"../bank/PredifinedUserLocations\";\nimport { withTranslation } from 'react-i18next';\nimport Select from \"react-select\";\nimport { showSuccessToast } from \"./utils/toastMessage\";\n\nclass RegisterForm extends Form {\n constructor(props) {\n super(props);\n this.usernameRef = React.createRef();\n }\n state = {\n data: { username: \"\", email: \"\", password: \"\", userLocation: \"\" },\n errors: {},\n allLocations: [],\n allLocationsInFrench: [],\n uLocation: null,\n };\n\n schema = {\n username: Joi.string().min(5).max(50).required().label(\"Username\"),\n email: Joi.string().min(5).max(50).email().required().label(\"Email\"),\n password: Joi.string()\n .trim()\n .min(8)\n .regex(/^(?=.*[A-Z])(?=.*\\d).{8,}$/)\n .required()\n .label(\"Password\"),\n userLocation: Joi.string().required().label(\"User location\"),\n };\n\n setLocation = async () => {\n // const {data:allLocations} = await location_options();\n this.setState({ allLocations: location_options });\n this.setState({ allLocationsInFrench: location_options_In_French });\n };\n\n handleLocationOption = async (uLocation) => {\n await this.setState({ uLocation });\n const uSelectLocation = this.state.uLocation.value;\n await this.setState({\n data: { ...this.state.data, userLocation: uSelectLocation },\n });\n };\n\n doSubmit = async () => {\n try {\n // Call the server\n const response = await registerUser(this.state.data);\n if (response.status === 200) {\n showSuccessToast(\"User Created Successfully\");\n this.props.history.push(\"/login\");\n }\n await loginWithJwt(response.headers[\"x-auth-token\"]);\n } catch (ex) {\n if (ex.response && ex.response.status === 400) {\n const errors = { ...this.state.errors };\n errors.email = ex?.response?.data?.message;\n this.setState({ errors });\n }\n }\n };\n\n focusUsernameField() {\n if (this.usernameRef.current) {\n this.usernameRef.current.focus();\n }\n }\n\n async componentDidMount() {\n await this.setLocation();\n this.focusUsernameField();\n const selectedLanguage = localStorage.getItem(\"selectedLanguage\");\n this.changeLanguage(selectedLanguage);\n }\n\n changeLanguage(lng) {\n const { i18n } = this.props;\n i18n.changeLanguage(lng);\n }\n\n render() {\n const { t } = this.props;\n const { uLocation } = this.state;\n const { i18n } = this.props;\n return (\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n

\n {t(\"Register.Looks Like You Are A New User\")}\n

\n
\n
\n

\n {t(\n \"Register.Show your true potential with Semantify. The easy to use and intelligent talent assessment, evaluation and management platform, offering an engaging and seamless test experience. Register and start your tests now.\"\n )}\n

\n
\n
\n
\n
\n
\n
\n
\n
\n

{t(\"Register.Register\")}

\n
\n {this.renderInput(\"username\", t(\"Register.Username*\"))}\n {this.renderInput(\"email\", t(\"Register.Email*\"))}\n {this.renderPassword(\n \"password\",\n t(\"Register.Password*\"),\n \"password\"\n )}\n \n \n
\n {this.renderButton(t(\"Register.Register\"))}\n \n

\n {t(\"Register.Already have an account?\")}\n {t(\"Register.Log In\")} {\" \"}\n

\n
\n
\n
\n
\n
\n \"\"\n
\n
\n
\n
\n );\n }\n}\n\nexport default withTranslation()(RegisterForm);\n","import React, { Component } from 'react';\nimport { logout } from '../services/authService';\n\nclass Logout extends Component {\n \n componentDidMount(){\n\n logout();\n window.location ='/';\n }\n render() { \n return null ;\n }\n}\n \nexport default Logout;","import http from \"./httpService\";\n\nconst apiEndpoint = \"/userassignmentprofile\";\n\nfunction userUrl(userId) {\n return `${apiEndpoint}/${userId}`;\n }\n \n export function getAllUserAssignmentProfile(stDate,enDate,uLoc) {\n return http.get(apiEndpoint,{params:{\n userLocation: uLoc,\n startDate: stDate,\n endDate: enDate\n }});\n }\n \n export function getOneUserAssignmentProfile(userId){\n return http.get(userUrl(userId));\n }\n \n export function deleteUserAssignmentProfile(userId){\n return http.delete(apiEndpoint + \"/\" + userId);\n }\n \n \n export function addUserAssignmentProfile(candidate_Id,recruiter_Id,profile){\n return http.post(apiEndpoint , {\n candidateId:candidate_Id,\n recruiterId:recruiter_Id,\n recruitmentStatus:profile.recruitmentStatus,\n assignedAssessments:profile.assignedAssessments,\n assignedMQAssessments:profile.assignedMQAssessments,\n assignedDEAssessments:profile.assignedDEAssessments,\n assignedTSAssessments:profile.assignedTSAssessments,\n assignedEWAssessments:profile.assignedEWAssessments,\n assignedSAAssessments:profile.assignedSAAssessments,\n isArchived:profile.isArchived,\n isAdmin:profile.isAdmin\n })\n }","import React, { Component } from \"react\";\nimport Select from \"react-select\";\n\nimport _ from \"lodash\";\nimport Switch from \"react-switch\";\n\nimport { getModules } from \"../services/moduleService\";\nimport { getAssessments } from \"../services/assessmentService\";\nimport { getOneUser, updateUserProfile } from \"../services/userService\";\nimport { getCurrentUser } from \"../services/authService\";\nimport { addUserAssignmentProfile } from \"../services/userAssignmentProfileService\";\nimport { withTranslation } from 'react-i18next';\nimport \"./../designStyles/AllForms.css\";\nimport { showErrorToast, showSuccessToast } from \"./utils/toastMessage\";\n\nclass UserProfileCustom extends Component {\n state = {\n assessments: [],\n modules: [],\n userInfo: {},\n recruiterInfo: {},\n selectedOption: null,\n selectedOption_v2: null,\n recruitmentStatus: \"\",\n options: [{ value: \"\", label: \"\", id: \"\" }],\n assignedAssessments: [],\n checkedMQ: false,\n checkedLS: false,\n checkedTS: false,\n checkedAW: false,\n checkedSA: false,\n checkArchive: false,\n checkAdmin: false,\n };\n\n handleChangeMCQ = (checkedMQ) => {\n this.setState({ checkedMQ });\n };\n handleChangeLS = (checkedLS) => {\n this.setState({ checkedLS });\n };\n handleChangeTS = (checkedTS) => {\n this.setState({ checkedTS });\n };\n handleChangeAW = (checkedAW) => {\n this.setState({ checkedAW });\n };\n handleChangeSA = (checkedSA) => {\n this.setState({ checkedSA });\n };\n handleArchive = (checkArchive) => {\n this.setState({ checkArchive });\n };\n handleAdmin = (checkAdmin) => {\n this.setState({ checkAdmin });\n };\n handleChange = (selectedOption) => {\n this.setState({ selectedOption });\n this.setState({ assignedAssessments: selectedOption });\n };\n updateOptions = () => {\n this.setState({\n checkedMQ: this.state.userInfo.assignedMQAssessments,\n checkedLS: this.state.userInfo.assignedDEAssessments,\n checkedTS: this.state.userInfo.assignedTSAssessments,\n checkedAW: this.state.userInfo.assignedEWAssessments,\n checkedSA: this.state.userInfo.assignedSAAssessments,\n checkArchive: this.state.userInfo.isArchived,\n checkAdmin: this.state.userInfo.isAdmin,\n });\n this.state.assessments.map((test, i) =>\n this.setState({\n options: [\n ...this.state.options,\n { value: test.title, label: test.title, assessmentId: test._id },\n ],\n })\n );\n };\n\n handleStatusChange = async (selectedOption_v2) => {\n this.setState({ selectedOption_v2 });\n await this.setState({ recruitmentStatus: selectedOption_v2.value });\n };\n\n handleSubmit = async (e) => {\n e.preventDefault();\n const { i18n, t } = this.props;\n try {\n const assignedTests = this.state.assignedAssessments;\n const reqStatus = this.state.recruitmentStatus;\n const { checkedLS, checkedAW, checkedMQ, checkedSA, checkedTS } =\n this.state;\n const { checkArchive, checkAdmin } = this.state;\n\n await this.setState({\n userInfo: {\n ...this.state.userInfo,\n assignedAssessments: assignedTests,\n recruitmentStatus: reqStatus,\n assignedMQAssessments: checkedMQ,\n assignedDEAssessments: checkedLS,\n assignedTSAssessments: checkedTS,\n assignedEWAssessments: checkedAW,\n assignedSAAssessments: checkedSA,\n isArchived: checkArchive,\n isAdmin: checkAdmin,\n },\n });\n let updateUserInfo = _.pick(this.state.userInfo, [\n \"_id\",\n \"name\",\n \"email\",\n \"registrationTime\",\n \"assignedAssessments\",\n \"recruitmentStatus\",\n \"assignedMQAssessments\",\n \"assignedDEAssessments\",\n \"assignedTSAssessments\",\n \"assignedEWAssessments\",\n \"assignedSAAssessments\",\n \"isArchived\",\n \"isAdmin\",\n ]);\n updateUserInfo = {...updateUserInfo, language: i18n.language}\n const createProfile = _.pick(this.state.userInfo, [\n \"assignedAssessments\",\n \"recruitmentStatus\",\n \"assignedMQAssessments\",\n \"assignedDEAssessments\",\n \"assignedTSAssessments\",\n \"assignedEWAssessments\",\n \"assignedSAAssessments\",\n \"isArchived\",\n \"isAdmin\",\n ]);\n // console.log(updateUserInfo)\n // await updateUserProfile(this.state.userInfo);\n let response = await updateUserProfile(updateUserInfo);\n await addUserAssignmentProfile(\n this.state.userInfo._id,\n this.state.recruiterInfo._id,\n createProfile\n );\n showSuccessToast(t(`assignTest.${response.data.message}`));\n setTimeout(() => {\n window.location = \"/mainDashboard\";\n }, 3000);\n } catch (ex) {\n if (\n ex.response &&\n ex.response.status >= 400 &&\n ex.response.status <= 500\n ) {\n showErrorToast(t(`common.${ex.response.data.message}`));\n }\n }\n };\n\n async componentDidMount() {\n try {\n const userId = this.props.match.params.id;\n const { data: userData } = await getOneUser(userId);\n this.setState({ userInfo: userData });\n //console.log(this.state.userInfo.assignedAssessments);\n\n const { data } = await getModules();\n const modules = data;\n\n const { data: assessments } = await getAssessments();\n this.setState({ assessments, modules });\n\n await this.updateOptions();\n\n const recruiter = getCurrentUser();\n this.setState({ recruiterInfo: recruiter });\n } catch (ex) {\n if (ex.response && ex.response.status === 404)\n this.props.history.replace(\"/not found\");\n }\n const { i18n } = this.props;\n const language = localStorage.getItem(\"selectedLanguage\")\n i18n.changeLanguage(language);\n }\n\n render() {\n const { selectedOption, selectedOption_v2 } = this.state;\n const { t } = this.props;\n\n const options_v2 = [\n { value: \"Not Recruited\", label: t(\"assignTest.Not Recruited\") },\n { value: \"Recruited\", label: t(\"assignTest.Recruited\") },\n { value: \"On Hold\", label: t(\"assignTest.On Hold\") },\n ];\n\n return (\n
\n

\n {t(\"assignTest.Update Profile of Candidate\")} :{this.state.userInfo.name}\n

\n
\n
\n
\n
\n \n {\n return {\n ...module,\n label: module.label\n ? t(`mcqAssessmentModule.${module.label}`)\n : module.label,\n };\n })}\n />\n
\n
\n
\n
\n \n \n
\n
\n
\n\n
\n {/* MCQ Skills Assessments */}\n \n {/* Listening Skills Assessments */}\n \n {/* Typing Speed Assessments */}\n \n {/* Article Writing Assessments */}\n \n {/* Speaking Skills Assessments */}\n \n
\n {this.state.recruiterInfo.isSuperAdmin && (\n
\n {/* User Archive */}\n \n
\n )}\n\n {this.state.recruiterInfo.isSuperAdmin && (\n
\n {/* User Archive */}\n \n
\n )}\n\n \n {t(\"assignTest.Save\")}\n \n \n
\n );\n }\n}\nexport default withTranslation()(UserProfileCustom)\n","import React, { useEffect } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { useTranslation } from 'react-i18next';\nconst titleStyle = {\n fontFamily: \"inter\",\n fontSize: \"16px\",\n fontWeight: \"600\",\n fontStyle: \"normal\",\n lineHeight: \"24px\",\n marginBottom: \"4px\"\n}\n\nconst cardStyle = {\n borderRadius: \"8px\",\n border: \"1px solid rgb(234, 236, 240)\",\n padding: \"24px 16px\",\n width: \"100%\",\n marginTop: \"32px\",\n background: \"white\",\n display: \"grid\",\n gridTemplateColumns: \"1fr 200px\",\n gap : \"16px\"\n}\n\nconst buttonStyle = {\n border: \"1px solid rgb(7, 43, 21)\",\n background: \"white\",\n padding: \"8px 32px\",\n borderRadius: \"4px\",\n}\n\nconst linkStyle = {\n \"color\": \"rgb(7, 43, 21)\",\n \"fontWeight\" :\"600\",\n\n}\nconst ExamCard = ({ type }) => {\n const { t } = useTranslation();\n let tests = {\n assignedMQAssessments: {\n title: t(\"Assessment Types.MCQ Assessment\"),\n subtitle:\n t(\"Assessment Types.A Comprehensive Evaluation of Your Knowledge and Skills, Covering Problem-Solving, and Critical Thinking\"),\n action: \"/allAssessments\",\n },\n assignedDEAssessments: {\n title: t(\"Assessment Types.Listening Assessment\"),\n subtitle:\n t(\"Assessment Types.Evaluating Your Ability to understand and respond to spoken information\"),\n action: \"/dataEntryAssessment\",\n },\n assignedTSAssessments: {\n title: t(\"Assessment Types.Typing Speed Assessment\"),\n subtitle:\n t(\"Assessment Types.Demonstrate your Keyboard proficiency and accuracy through a series of Typing Assessments\"),\n action: \"/typingSpeedTest\",\n },\n assignedEWAssessments: {\n title: t(\"Assessment Types.Article Writing Assessment\"),\n subtitle:\n t(\"Assessment Types.Demonstrate your Writing Skills and Creativity Through a series of Writing Prompts and Tasks.\"),\n action: \"/articleWritingAssessment\",\n },\n assignedSAAssessments: {\n title: t(\"Assessment Types.Speech Assessment\"),\n subtitle:\n t(\"Assessment Types.Demonstrate tour Oral Communication Skills through a series of Spoken Tasks\"),\n action: \"/speechVoiceAssessment\",\n },\n };\n return
\n
\n

\n {tests[type]?.title}\n

\n

{tests[type]?.subtitle}

\n {/* \n Assessment Philippine English 1\n

*/}\n
\n
\n \n
\n
\n};\n\n\n\n\n\n//\nconst AssessmentModuleTypeMain_v1 = ({ user }) => {\n const { t, i18n } = useTranslation();\n function changeLanguage(lng) {\n i18n.changeLanguage(lng);\n }\n // componentDidMount() {\n // const selectedLanguage = localStorage.getItem(\"selectedLanguage\");\n // this.changeLanguage(selectedLanguage);\n // }\nuseEffect(() => {\n const selectedLanguage = localStorage.getItem(\"selectedLanguage\");\n changeLanguage(selectedLanguage);\n}, []);\n \n return (\n
\n

{t('Assessment Types.Assigned Assessments')}

\n {user && !user.assignedMQAssessments && !user.assignedDEAssessments && !user.assignedTSAssessments && !user.assignedEWAssessments && !user.assignedSAAssessments &&
\"No
}\n {user && user.assignedMQAssessments && (\n \n )}\n {user && user.assignedDEAssessments && (\n \n )}\n {user && user.assignedTSAssessments && (\n \n )}\n {user && user.assignedEWAssessments && (\n \n )}\n {user && user.assignedSAAssessments && (\n \n )}\n\n\n\n\n\n
\n );\n};\n\nexport default AssessmentModuleTypeMain_v1;\n","import React, { useState } from \"react\";\nimport Input from \"../common/input\";\nimport \"../../designStyles/AssessmentEntryForm.css\";\n\nconst MultipleInputForm = ({ receiveDataCallback }) => {\n const [inputList_v2, setInputList_v2] = useState([\n {\n question: \"\",\n qsId: \"\",\n options: [\"\"],\n answer: \"\",\n },\n ]);\n\n const handleChange = (e, index, optionIndex) => {\n const { name, value, type } = e.target;\n const list = [...inputList_v2];\n\n if (type === \"radio\") {\n // list[index].answer = optionIndex;\n list[index].answer = list[index].options[optionIndex];\n } else if (name === \"option\") {\n list[index].options[optionIndex] = value;\n } else {\n list[index][name] = value;\n }\n\n setInputList_v2(list);\n };\n\n const handleAddOption = (index) => {\n const list = [...inputList_v2];\n\n if (list[index].options.length < 5) {\n list[index].options.push(\"\");\n setInputList_v2(list);\n }\n };\n\n const handleRemoveOption = (index, optionIndex) => {\n const list = [...inputList_v2];\n list[index].options.splice(optionIndex, 1);\n setInputList_v2(list);\n };\n\n const handleAddInput = () => {\n setInputList_v2([\n ...inputList_v2,\n { question: \"\", qsId: \"\", options: [\"\"], answer: \"\" },\n ]);\n };\n\n const handleRemoveInput = (index) => {\n const list = [...inputList_v2];\n list.splice(index, 1);\n setInputList_v2(list);\n };\n\n const handleSetQuestions = () => {\n console.log(\"Submitted\");\n receiveDataCallback(inputList_v2);\n };\n\n return (\n \n
\n
\n
\n
\n

\n Please set the questions first and then Save it.\n

\n
\n
\n
\n {\n \n }\n
\n
\n
\n
\n {inputList_v2.map((item, i) => {\n return (\n
\n
\n
\n
\n handleChange(e, i)}\n />\n
\n
\n handleChange(e, i)}\n />\n
\n
\n {item.options.length < 5 && (\n handleAddOption(i)}\n >\n Add Option\n \n )}{\" \"}\n
\n
\n {item.options.map((option, optionIndex) => (\n
\n
\n
\n
\n \n
\n
\n \n handleChange(e, i, optionIndex)\n }\n />\n
\n
\n
\n
\n
\n
\n \n handleChange(e, i, optionIndex)\n }\n />\n
\n
\n \n handleRemoveOption(i, optionIndex)\n }\n >\n Remove\n \n
\n
\n
\n
\n ))}\n
\n
\n
\n
\n
\n handleChange(e, i)}\n />\n
\n
\n {inputList_v2.length !== 1 && (\n handleRemoveInput(i)}\n />\n )}\n
\n
\n
\n
\n );\n })}\n
\n \n
\n
\n
\n );\n};\n\nexport default MultipleInputForm;\n","import React from \"react\";\nimport Joi from \"joi-browser\";\nimport Form from \"../common/form\";\n\nimport { getModules } from \"../../services/moduleService\";\nimport {\n getAssessment,\n saveAssessment,\n} from \"../../services/assessmentService\";\n// import MultipleInputForm from \"./MultipleInputFrm_2\";\nimport MultipleInputForm from \"./MultipleInputForm_3\";\n\nimport \"../../designStyles/AssessmentEntryForm.css\";\n\nclass AssessmentForm extends Form {\n state = {\n data: {\n title: \"\",\n moduleId: \"\",\n },\n modules: [],\n errors: {},\n onSubmitData: false,\n };\n\n schema = {\n _id: Joi.string(),\n title: Joi.string().required().label(\"Title\"),\n moduleId: Joi.string().required().label(\"Module\"),\n questionSet: Joi.required(),\n };\n\n async populateModules() {\n const { data: modules } = await getModules();\n this.setState({ modules });\n }\n async populateAssessments() {\n try {\n const assessmentId = this.props.match.params.id;\n if (assessmentId === \"new\") return;\n\n const { data: assessment } = await getAssessment(assessmentId);\n this.setState({ data: this.mapToViewModel(assessment) });\n } catch (ex) {\n if (ex.response && ex.response.status === 404)\n this.props.history.replace(\"/not found\");\n }\n }\n\n async componentDidMount() {\n await this.populateModules();\n }\n\n mapToViewModel(assessment) {\n return {\n _id: assessment._id,\n title: assessment.title,\n moduleId: assessment.modules._id,\n };\n }\n\n getAllQuestionSet(qSetChildData) {\n const qData = qSetChildData;\n const { length: count } = qData;\n\n for (let i = 0; i < count; i++) {\n if (!!qData[i].question && !!qData[i].qsId && !!qData[i].answer) {\n this.setState({ onSubmitData: true });\n this.setState({ data: { ...this.state.data, questionSet: qData } });\n } else {\n this.setState({ onSubmitData: false });\n }\n }\n }\n\n doSubmit = async () => {\n try {\n const { data } = this.state;\n await saveAssessment(data.title, data.moduleId, data.questionSet);\n this.props.history.push(\"/allAssessments\");\n console.log(\"Submitted Full Form\");\n } catch (ex) {\n if (ex.response && ex.response.status === 400) {\n const errors = { ...this.state.errors };\n this.setState({ errors });\n }\n }\n };\n render() {\n const createQuestionSet = (\n \n );\n return (\n
\n

\n Create Assessment Form\n

\n
\n\n
\n
\n
\n
\n {this.renderInput(\"title\", \"Title\")}\n {this.renderSelect(\"moduleId\", \"Module\", this.state.modules)}\n {this.state.onSubmitData && this.renderButton(\"Save\")}\n
\n
\n
\n
\n
\n
{createQuestionSet}
\n
\n
\n
\n
\n
\n );\n }\n}\n\nexport default AssessmentForm;\n","import React from 'react';\nimport Joi from 'joi-browser'\nimport Form from '../common/form';\nimport { getModules , saveModule } from '../../services/moduleService';\n\n\nimport { getAssessment } from '../../services/assessmentService';\nimport \"../../designStyles/AssessmentEntryForm.css\"\nimport \"../../designStyles/AllForms.css\"\n\nclass ModuleForm extends Form {\n state = { \n data:{\n title:\"\",\n \n },\n modules:[],\n errors:{}\n }\n\n schema = {\n _id:Joi.string(),\n title:Joi.string().required().label(\"Title\"), \n }\n\n async populateModules(){\n const {data : modules} = await getModules();\n this.setState({modules});\n }\n async populateAssessments(){\n try{\n const assessmentId = this.props.match.params.id;\n if(assessmentId === \"new\") return;\n\n const {data : assessment} = await getAssessment(assessmentId);\n this.setState({data : this.mapToViewModel(assessment)}); \n }\n catch(ex){\n if(ex.response && ex.response.status===404)\n this.props.history.replace('/not found')\n }\n }\n\n async componentDidMount(){\n\n await this.populateModules();\n \n }\n mapToViewModel(assessment){\n return{\n _id:assessment._id,\n title:assessment.title,\n };\n }\n\n doSubmit = async ()=>{\n try {\n const response = await saveModule(this.state.data);\n if(response.status===200){\n // window.location=\"/allAssessments\";\n this.props.history.push(\"/allAssessments\");\n }\n } catch (ex) {\n if(ex.response && ex.response.status===400){\n const errors = {...this.state.errors};\n //errors.email = ex.response.data;\n this.setState({errors});\n }\n }\n \n }\n render() { \n return ( \n
\n

Create New Modules

\n
\n
\n
\n {this.renderInput(\"title\",\"Title\")}\n {this.renderButton(\"Save\")}\n\n
\n
\n
\n\n );\n }\n}\n \nexport default ModuleForm;\n","import React, { Component } from \"react\";\n\nimport { Link, NavLink } from \"react-router-dom\";\nimport Box from \"@material-ui/core/Box\";\nimport Paper from \"@material-ui/core/Paper\";\nimport Card from \"@material-ui/core/Card\";\nimport CardActions from \"@material-ui/core/CardActions\";\nimport CardContent from \"@material-ui/core/CardContent\";\nimport Button from \"@material-ui/core/Button\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { withTranslation } from 'react-i18next';\n\n\nclass DataEntryModuleMain extends Component {\n constructor(props) {\n super(props);\n const { t } = props;\n this.t = t;\n\n this.card1 = (\n \n \n \n {t('ListeningAssessment.Listening Assessment Type')}\n \n \n {t('ListeningAssessment.Assessment Philippine English 1')}\n \n \n \n \n \n \n );\n \n this.card2 = (\n \n \n \n {t('ListeningAssessment.Listening Assessment Type')}\n \n \n {t('ListeningAssessment.Assessment American English 1')}\n \n \n \n \n \n \n );\n \n this.card3 = (\n \n \n \n {t('ListeningAssessment.Listening Assessment Type')}\n \n \n {t('ListeningAssessment.Assessment Indian English 1')}\n \n \n \n \n \n \n );\n\n this.card4 = (\n \n \n \n {this.t('ListeningAssessment.Listening Assessment Type')}\n \n \n {this.t('ListeningAssessment.Assessment French')}\n \n \n \n \n \n \n );\n}\ncomponentDidMount(){\n const language = localStorage.getItem(\"selectedLanguage\");\n const { i18n } = this.props;\n i18n.changeLanguage(language);\n}\n render() {\n const { i18n, t } = this.props;\n\n return (\n <>\n

\n {t(\"ListeningAssessment.Listening Assessment\")}\n

\n {i18n.language === \"fr\" ? (\n \n {this.card4}\n \n ) : (\n <>\n \n {this.card1}\n \n
\n \n {this.card2}\n \n
\n \n {this.card3}\n \n
\n \n )}\n \n );\n }\n}\n\nexport default withTranslation()(DataEntryModuleMain)"," const q1_DataEntry ={\n\n name:\"Isabella Johnson\",\n address:\"4945 Perine Street, New Mexico\",\n phoneNumber:\"7037291453\",\n cpin:\"99067554768\",\n shippingDetails:\"Will be needing 3 bottles of sanitizers,delivered by tomorrow evening.Please make sure the bottles are packed properly.\",\n\n} \n const q1_DataEntry_French = {\n\n name:\"Isabella Johnson\",\n address:\"4945 rue Perine, Nouveau-Mexique\",\n phoneNumber:\"7037291453\",\n cpin:\"99067554768\",\n shippingDetails:\"Vous aurez besoin de 3 bouteilles de désinfectant, livrées d'ici demain soir. Veuillez vous assurer que les bouteilles sont correctement emballées.\",\n\n} \nexport {q1_DataEntry, q1_DataEntry_French};\n//\n// Hi this is Isabella Johnson\n// Speaking from 4945 Perine Street, New Mexico \n// zip code is 80007\n// phone num is 7037291453\n// my cpin id is 99067554768\n// Will be needing 3 bottles of sanitizers ,delivered by tomorrow evening.\n// Please make sure the bottles are packed properly .\n\n\n// Hi this is Patrick Williams\n// Residing at 2759 Townsgate Road,Lake Village,California \n// zip code is 91362\n// mobile num is 2053371197\n// my cpin id is 98867954568\n// The order is 4 bottles of fresh maple syrup ,delivered by wednesday afternoon.\n// Mark the package fragile and make sure to call before delivery.","import React, { Component } from \"react\";\nimport { Prompt } from \"react-router-dom\";\nimport Joi from \"joi-browser\";\nimport { compareTwoStrings } from \"string-similarity\";\nimport ReactHowler from \"react-howler\";\nimport Countdown from \"react-countdown\";\n\nimport \"../../designStyles/DEPanelMain/DePanel_v1.css\";\n\nimport { confirmAlert } from \"react-confirm-alert\"; // Import\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\n\nimport { q1_DataEntry } from \"../../bank/DataEntryQ_v1\";\nimport Ana_PEng_s1 from \"../../bank/Ana_PEng_s1.mp3\";\nimport { submitDataEntryScore } from \"../../services/scoreService/scoreDEService\";\nimport { getCurrentUser } from \"../../services/authService\";\nimport { showSuccessToast, showErrorToast } from \"../utils/toastMessage\";\n\nexport default class DataEntryPanel_q1 extends Component {\n state = {\n userInfo: { userId: \"\" },\n assessmentName: \"\",\n score_1: 0,\n score_2: 0,\n scores: { score_1: 0, score_2: 0 },\n replayCount: 0,\n timerStart: false,\n playAudioClip: false,\n inputFields: {\n name: \"\",\n address: \"\",\n phoneNumber: \"\",\n cpin: \"\",\n shippingDetails: \"\",\n },\n audioClip: \"\",\n replay: false,\n countdownTimer: null,\n errors: {},\n onClickBackButton: false,\n startTime: null,\n Attempted: false,\n timeLeft: null,\n };\n\n constructor(props) {\n super(props);\n this.inputRef = React.createRef();\n }\n\n validate = () => {\n const schema = {\n name: Joi.string().max(20).required().label(\"Name\"),\n address: Joi.string().max(50).required().label(\"Address\"),\n phoneNumber: Joi.string().max(15).required().label(\"Phone Number\"),\n shippingDetails: Joi.string()\n .max(50)\n .required()\n .label(\"Shipping Details\"),\n cpin: Joi.string().max(20).required().label(\"CPIN\"),\n };\n const { inputFields } = this.state;\n const { error } = Joi.validate(inputFields, schema, { abortEarly: false });\n if (!error) return null;\n\n const errors = {};\n for (let item of error.details) {\n errors[item.path[0]] = item.message;\n }\n\n return errors;\n };\n\n playClip = (src) => {\n this.setState((prevState) => {\n return {\n playAudioClip: true,\n replayCount: prevState.replayCount + 1,\n };\n });\n };\n\n stopClip = () => {\n this.setState({\n playAudioClip: false,\n replay: true,\n });\n };\n\n handleAlert = () => {\n confirmAlert({\n title: \"Confirm to Start\",\n message: \"Are you sure to start the assesment.\",\n closeOnEscape: false,\n closeOnClickOutside: false,\n buttons: [\n {\n className: \"mdk-confirm-yes\",\n label: \"Yes\",\n onClick: () => {\n this.setState({ countdownTimer: Date.now() + 180000 }); // Initialize countdown timer\n this.startAssessment();\n setTimeout(() => {\n this.focusInputField();\n }, 200);\n },\n },\n {\n className: \"mdk-confirm-no\",\n label: \"No\",\n onClick: () => {\n window.removeEventListener(\"beforeunload\", this._confirm);\n window.removeEventListener(\"popstate\", this._backConfirm);\n window.location = \"/dataEntryAssessment\";\n },\n },\n ],\n });\n };\n\n startAssessment = () => {\n this.setState((prevState) => {\n return {\n timerStart: true,\n };\n });\n this.playClip();\n };\n\n handleInputChange = (event) => {\n const { name, value } = event.target;\n this.setState((prevState) => ({\n inputFields: {\n ...prevState.inputFields,\n [name]: value,\n },\n }));\n };\n\n checkInputAnswer_v2 = async (e, countDown) => {\n if (!countDown) {\n e.preventDefault();\n const errors = this.validate();\n this.setState({ errors: errors || {} });\n\n if (errors) return;\n }\n\n const { inputFields } = this.state;\n let total = 0;\n for (const key of Object.keys(q1_DataEntry)) {\n let similarity = 0;\n similarity = await compareTwoStrings(inputFields[key], q1_DataEntry[key]);\n total = total + similarity;\n }\n this.setState({ score_1: total }, () => this.handleSubmit_v2());\n };\n\n handleSubmit_v2 = async () => {\n try {\n this.setState({ timerStart: false });\n const { userId } = this.state.userInfo;\n const { assessmentName, score_1, replayCount } = this.state;\n const response = await submitDataEntryScore(\n userId,\n assessmentName,\n score_1,\n replayCount\n );\n showSuccessToast(response.data.message);\n setTimeout(() => {\n this.props.history.push(\"/dataEntryAssessment\");\n localStorage.removeItem(\"attemptAndTimeListeningQ1\");\n }, 3000);\n } catch (ex) {\n if (\n ex.response &&\n ex.response.status >= 400 &&\n ex.response.status <= 500\n ) {\n showErrorToast(ex.response.data.message);\n }\n }\n };\n\n timercountdown = () => {\n if (this.state.timerStart) {\n return (\n \n
\n this.checkInputAnswer_v2(e, true)}\n />\n
\n
\n );\n }\n };\n\n saveDataToLocalStorage() {\n const attemptAndTimeListeningQ1 = {\n time: Date.now(),\n count:\n JSON.parse(localStorage.getItem(\"attemptAndTimeListeningQ1\"))?.count +\n 1 || 1,\n countdownTimer: Math.abs(this.state.countdownTimer),\n selectedAnswers: this.state.selectedAnswers,\n inputFields: this.state.inputFields,\n replayCount: this.state.replayCount,\n };\n localStorage.setItem(\n \"attemptAndTimeListeningQ1\",\n JSON.stringify(attemptAndTimeListeningQ1)\n );\n }\n\n componentWillUnmount() {\n window.removeEventListener(\"beforeunload\", this._confirm);\n window.removeEventListener(\"popstate\", this._backConfirm);\n this.saveDataToLocalStorage();\n }\n\n _backConfirm = (e) => {\n const { t } = this.props\n this.saveDataToLocalStorage();\n if (!this.state.submitDataFlag) {\n e.preventDefault();\n let event = window.confirm(t(\"common.Changes that you may not be saved.\"));\n if (event) {\n window.history.back();\n } else {\n window.history.pushState(null, \"\", window.location.href);\n }\n }\n };\n\n _confirm = (e) => {\n const { t } = this.props\n this.saveDataToLocalStorage();\n if (!this.state.submitDataFlag) {\n var confirmationMessage = t(\"common.Do you want to leave this page.\");\n e.returnValue = confirmationMessage;\n return confirmationMessage;\n }\n };\n\n async componentDidMount() {\n window.addEventListener(\"beforeunload\", this._confirm);\n window.addEventListener(\"popstate\", this._backConfirm);\n window.history.pushState(null, \"\", window.location.href);\n\n try {\n const user = await getCurrentUser();\n this.setState({ userInfo: { userId: user._id } });\n this.setState({ assessmentName: \"Philippine English Question-1\" });\n } catch (ex) {}\n\n const localData = JSON.parse(\n localStorage.getItem(\"attemptAndTimeListeningQ1\")\n );\n const timestamp1 = localData?.time;\n const timestamp2 = Date.now();\n const difference = Math.abs(timestamp1 - timestamp2);\n const threeMinutesInMilliseconds = 3 * 60 * 1000;\n let reAttempt = false;\n if (difference <= threeMinutesInMilliseconds) {\n reAttempt = true;\n }\n if (localData && reAttempt) {\n const timeLeft = Math.abs(localData.countdownTimer - localData.time);\n this.setState({ Attempted: true });\n this.setState({ timeLeft: timeLeft });\n this.setState({ inputFields: localData?.inputFields });\n this.setState({ replayCount: localData?.replayCount });\n\n this.setState({\n countdownTimer: Date.now() + this.state.timeLeft,\n });\n this.startAssessment();\n setTimeout(() => {\n this.focusInputField();\n }, 200);\n } else {\n this.handleAlert();\n }\n }\n\n focusInputField = () => {\n this.inputRef.current.focus();\n };\n\n render() {\n const { inputFields, playAudioClip, replay, errors } = this.state;\n\n return (\n
\n
\n
\n
\n
\n
\n \n Please submit once you have completed answering the question.\n Do not change pages untill submitted successfully.\n

\n \n Page will refresh automatically once submitted.\n

\n \n Play the Audio and fill in the form accordingly. Replay to\n listen again. Remember number of replays/attempts are\n recorded.\n
\n
\n
\n
\n
\n
\n {/*
*/}\n
\n {this.state.timerStart && this.timercountdown()}{\" \"}\n
\n {/*
*/}\n
\n
\n {\" \"}\n \n {replay ? \"Replay Audio\" : \"Playing...\"}\n \n
\n
\n
\n
\n
\n
\n
\n
\n {Object.keys(inputFields).map((field, index, array) => (\n \n
\n \n {field === array[array.length - 1] ? (\n \n ) : (\n \n )}\n {errors[field] && (\n
{errors[field]}
\n )}\n
\n
\n ))}\n
\n
\n \n Submit\n \n
\n
\n
\n
\n
\n
\n
\n \n
\n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport Joi from \"joi-browser\";\nimport { compareTwoStrings } from \"string-similarity\";\nimport \"../../designStyles/DEPanelMain/DePanel_v1.css\";\nimport Countdown from \"react-countdown\";\nimport { confirmAlert } from \"react-confirm-alert\"; // Import\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\nimport ReactHowler from \"react-howler\";\nimport { q1_DataEntry } from \"../../bank/DataEntryQ_v1\";\nimport Terri_AEng_s1 from \"../../bank/Terri_AEng_s1.mp3\";\nimport { submitDataEntryScore } from \"../../services/scoreService/scoreDEService\";\nimport { getCurrentUser } from \"../../services/authService\";\nimport { showSuccessToast,showErrorToast } from \"../utils/toastMessage\";\n\n\nexport default class DataEntryPanel_q2 extends Component {\n state = {\n userInfo: { userId: \"\" },\n assessmentName: \"\",\n score_1: 0,\n score_2: 0,\n scores: { score_1: 0, score_2: 0 },\n replayCount: 0,\n timerStart: false,\n playAudioClip: false,\n inputFields: {\n name: \"\",\n address: \"\",\n phoneNumber: \"\",\n cpin: \"\",\n shippingDetails: \"\",\n },\n audioClip: \"\",\n replay: false,\n countdownTimer: null,\n errors: {},\n startTime: null,\n Attempted: false,\n timeLeft: null,\n };\n\n constructor(props) {\n super(props);\n this.inputRef = React.createRef();\n }\n\n validate = () => {\n const schema = {\n name: Joi.string().max(20).required().label(\"Name\"),\n address: Joi.string().max(50).required().label(\"Address\"),\n phoneNumber: Joi.string().max(15).required().label(\"Phone Number\"),\n shippingDetails: Joi.string()\n .max(50)\n .required()\n .label(\"Shipping Details\"),\n cpin: Joi.string().max(20).required().label(\"CPIN\"),\n };\n const { inputFields } = this.state;\n const { error } = Joi.validate(inputFields, schema, { abortEarly: false });\n if (!error) return null;\n\n const errors = {};\n for (let item of error.details) {\n errors[item.path[0]] = item.message;\n }\n\n return errors;\n };\n\n playClip = (src) => {\n this.setState((prevState) => {\n return {\n playAudioClip: true,\n replayCount: prevState.replayCount + 1,\n };\n });\n };\n\n stopClip = () => {\n this.setState({\n playAudioClip: false,\n replay: true,\n });\n // this.setState((prevState) => {\n // return {\n // playAudioClip: false,\n // replay: !prevState.replay,\n // };\n // });\n };\n\n handleAlert = () => {\n confirmAlert({\n title: \"Confirm to Start\",\n message: \"Are you sure to start the assesment.\",\n closeOnEscape: false,\n closeOnClickOutside: false,\n buttons: [\n {\n className: \"mdk-confirm-yes\",\n label: \"Yes\",\n onClick: () => {\n this.setState({ countdownTimer: Date.now() + 180000 }); // Initialize countdown timer\n this.startAssessment();\n setTimeout(() => {\n this.focusInputField();\n }, 200);\n },\n },\n {\n className: \"mdk-confirm-no\",\n label: \"No\",\n onClick: () => {\n window.removeEventListener(\"beforeunload\", this._confirm);\n window.removeEventListener(\"popstate\", this._backConfirm);\n window.location = \"/dataEntryAssessment\";\n },\n },\n ],\n });\n };\n\n startAssessment = () => {\n this.setState((prevState) => {\n return {\n timerStart: true,\n };\n });\n this.playClip();\n };\n\n handleInputChange = (event) => {\n const { name, value } = event.target;\n this.setState((prevState) => ({\n inputFields: {\n ...prevState.inputFields,\n [name]: value,\n },\n }));\n };\n\n checkInputAnswer_v2 = async (e, countDown) => {\n if (!countDown) {\n e.preventDefault();\n const errors = this.validate();\n this.setState({ errors: errors || {} });\n\n if (errors) return;\n }\n\n const { inputFields } = this.state;\n let total = 0;\n for (const key of Object.keys(q1_DataEntry)) {\n let similarity = 0;\n similarity = await compareTwoStrings(inputFields[key], q1_DataEntry[key]);\n total = total + similarity;\n }\n this.setState({ score_1: total }, () => this.handleSubmit_v2());\n };\n\n handleSubmit_v2 = async () => {\n try {\n this.setState({ timerStart: false });\n const { userId } = this.state.userInfo;\n const { assessmentName, score_1, replayCount } = this.state;\n const response = await submitDataEntryScore(\n userId,\n assessmentName,\n score_1,\n replayCount\n );\n showSuccessToast(response.data.message);\n setTimeout(() => {\n this.props.history.push(\"/dataEntryAssessment\");\n localStorage.removeItem(\"attemptAndTimeListeningQ2\");\n // window.location = \"/allAssessmentTypes\";\n // window.location.reload(); // Refresh the page\n }, 3000);\n } catch (ex) {\n if (ex.response && ex.response.status === 400) {\n showErrorToast(ex.response.data.message);\n }\n }\n };\n\n timercountdown = () => {\n //timerStartSignal and TimerTimeLimit\n if (this.state.timerStart) {\n return (\n \n
\n this.checkInputAnswer_v2(e, true)}\n />\n
\n
\n );\n }\n };\n\n saveDataToLocalStorage() {\n const attemptAndTimeListeningQ2 = {\n time: Date.now(),\n count:\n JSON.parse(localStorage.getItem(\"attemptAndTimeListeningQ2\"))?.count +\n 1 || 1,\n countdownTimer: Math.abs(this.state.countdownTimer),\n selectedAnswers: this.state.selectedAnswers,\n inputFields: this.state.inputFields,\n replayCount: this.state.replayCount,\n };\n localStorage.setItem(\n \"attemptAndTimeListeningQ2\",\n JSON.stringify(attemptAndTimeListeningQ2)\n );\n }\n\n componentWillUnmount() {\n window.removeEventListener(\"beforeunload\", this._confirm);\n window.removeEventListener(\"popstate\", this._backConfirm);\n this.saveDataToLocalStorage();\n }\n\n _backConfirm = (e) => {\n const { t } = this.props\n this.saveDataToLocalStorage();\n if (!this.state.submitDataFlag) {\n e.preventDefault();\n let event = window.confirm(t(\"common.Changes that you may not be saved.\"));\n if (event) {\n window.history.back();\n } else {\n window.history.pushState(null, \"\", window.location.href);\n }\n }\n };\n\n _confirm = (e) => {\n const { t } = this.props\n this.saveDataToLocalStorage();\n if (!this.state.submitDataFlag) {\n var confirmationMessage = t(\"common.Do you want to leave this page.\");\n e.returnValue = confirmationMessage;\n return confirmationMessage;\n }\n };\n \n async componentDidMount() {\n window.addEventListener(\"beforeunload\", this._confirm);\n window.addEventListener(\"popstate\", this._backConfirm);\n window.history.pushState(null, \"\", window.location.href);\n\n try {\n const user = await getCurrentUser();\n this.setState({ userInfo: { userId: user._id } });\n this.setState({ assessmentName: \"American English Question-1\" });\n } catch (ex) {}\n\n const localData = JSON.parse(\n localStorage.getItem(\"attemptAndTimeListeningQ2\")\n );\n const timestamp1 = localData?.time;\n const timestamp2 = Date.now();\n const difference = Math.abs(timestamp1 - timestamp2);\n const threeMinutesInMilliseconds = 3 * 60 * 1000;\n let reAttempt = false;\n if (difference <= threeMinutesInMilliseconds) {\n reAttempt = true;\n }\n if (localData && reAttempt) {\n const timeLeft = Math.abs(localData.countdownTimer - localData.time);\n this.setState({ Attempted: true });\n this.setState({ timeLeft: timeLeft });\n this.setState({ inputFields: localData?.inputFields });\n this.setState({ replayCount: localData?.replayCount });\n\n this.setState({\n countdownTimer: Date.now() + this.state.timeLeft,\n });\n this.startAssessment();\n setTimeout(() => {\n this.focusInputField();\n }, 200);\n } else {\n this.handleAlert();\n }\n }\n\n focusInputField = () => {\n this.inputRef.current.focus();\n };\n\n render() {\n const { inputFields, playAudioClip, replay, errors } = this.state;\n\n return (\n
\n
\n
\n
\n
\n
\n \n Please submit once you have completed answering the question.\n Do not change pages untill submitted successfully.\n

\n \n Page will refresh automatically once submitted.\n

\n \n Play the Audio and fill in the form accordingly. Replay to\n listen again. Remember number of replays/attempts are\n recorded.\n
\n
\n
\n
\n
\n
\n {/*
*/}\n
\n {this.state.timerStart && this.timercountdown()}{\" \"}\n
\n {/*
*/}\n
\n
\n {\" \"}\n \n {replay ? \"Replay Audio\" : \"Playing...\"}\n \n
\n
\n
\n
\n
\n
\n
\n
\n {Object.keys(inputFields).map((field, index, array) => (\n \n
\n \n {field === array[array.length - 1] ? (\n \n ) : (\n \n )}\n {errors[field] && (\n
{errors[field]}
\n )}\n
\n
\n ))}\n
\n
\n \n Submit\n \n
\n
\n
\n
\n
\n
\n
\n \n
\n \n );\n }\n}\n\n","import React, { Component } from \"react\";\nimport Joi from \"joi-browser\";\n\nimport { compareTwoStrings } from \"string-similarity\";\nimport \"../../designStyles/DEPanelMain/DePanel_v1.css\";\nimport Countdown from \"react-countdown\";\nimport { confirmAlert } from \"react-confirm-alert\"; // Import\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\nimport ReactHowler from \"react-howler\";\nimport {q1_DataEntry} from \"../../bank/DataEntryQ_v1\";\nimport Gargi_IEng_s1 from \"../../bank/Gargi_IEng_s1.mp3\"\nimport { submitDataEntryScore } from \"../../services/scoreService/scoreDEService\";\nimport { getCurrentUser } from \"../../services/authService\";\nimport { showSuccessToast,showErrorToast } from \"../utils/toastMessage\";\n\n\nexport default class DataEntryPanel_q3 extends Component {\n state = {\n userInfo: { userId: \"\" },\n assessmentName: \"\",\n score_1: 0,\n score_2: 0,\n scores: { score_1: 0, score_2: 0 },\n replayCount: 0,\n timerStart: false,\n playAudioClip: false,\n inputFields: {\n name: \"\",\n address: \"\",\n phoneNumber: \"\",\n cpin: \"\",\n shippingDetails: \"\",\n },\n audioClip: \"\",\n replay: false,\n countdownTimer: null,\n errors: {},\n startTime: null,\n Attempted: false,\n timeLeft: null,\n };\n constructor(props) {\n super(props);\n this.inputRef = React.createRef();\n }\n validate = () => {\n const schema = {\n name: Joi.string().max(20).required().label(\"Name\"),\n address: Joi.string().max(200).required().label(\"Address\"),\n phoneNumber: Joi.string().max(15).required().label(\"Phone Number\"),\n shippingDetails: Joi.string()\n .max(200)\n .required()\n .label(\"Shipping Details\"),\n cpin: Joi.string().max(20).required().label(\"CPIN\"),\n };\n const { inputFields } = this.state;\n const { error } = Joi.validate(inputFields, schema, { abortEarly: false });\n if (!error) return null;\n\n const errors = {};\n for (let item of error.details) {\n errors[item.path[0]] = item.message;\n }\n\n return errors;\n };\n\n playClip = (src) => {\n this.setState((prevState) => {\n return {\n playAudioClip: true,\n replayCount: prevState.replayCount + 1,\n };\n });\n };\n\n stopClip = () => {\n this.setState({\n playAudioClip: false,\n replay: true,\n });\n };\n\n handleAlert = () => {\n confirmAlert({\n title: \"Confirm to Start\",\n message: \"Are you sure to start the assesment.\",\n closeOnEscape: false,\n closeOnClickOutside: false,\n buttons: [\n {\n className: \"mdk-confirm-yes\",\n label: \"Yes\",\n onClick: () => {\n this.setState({ countdownTimer: Date.now() + 180000 }); // Initialize countdown timer\n this.startAssessment();\n setTimeout(() => {\n this.focusInputField();\n }, 200);\n },\n },\n {\n className: \"mdk-confirm-no\",\n label: \"No\",\n onClick: () => {\n window.removeEventListener(\"beforeunload\", this._confirm);\n window.removeEventListener(\"popstate\", this._backConfirm);\n window.location = \"/dataEntryAssessment\";\n },\n },\n ],\n });\n };\n\n startAssessment = () => {\n this.setState((prevState) => {\n return {\n timerStart: true,\n };\n });\n this.playClip();\n };\n\n handleInputChange = (event) => {\n const { name, value } = event.target;\n this.setState((prevState) => ({\n inputFields: {\n ...prevState.inputFields,\n [name]: value,\n },\n }));\n };\n\n checkInputAnswer_v2 = async (e, countDown) => {\n if (!countDown) {\n e.preventDefault();\n const errors = this.validate();\n this.setState({ errors: errors || {} });\n\n if (errors) return;\n }\n\n const { inputFields } = this.state;\n let total = 0;\n for (const key of Object.keys(q1_DataEntry)) {\n let similarity = 0;\n similarity = await compareTwoStrings(inputFields[key], q1_DataEntry[key]);\n total = total + similarity;\n }\n this.setState({ score_1: total }, () => this.handleSubmit_v2());\n };\n\n handleSubmit_v2 = async () => {\n try {\n this.setState({ timerStart: false });\n const { userId } = this.state.userInfo;\n const { assessmentName, score_1, replayCount } = this.state;\n const response = await submitDataEntryScore(\n userId,\n assessmentName,\n score_1,\n replayCount\n );\n showSuccessToast(response.data.message);\n setTimeout(() => {\n this.props.history.push(\"/dataEntryAssessment\");\n localStorage.removeItem(\"attemptAndTimeListeningQ3\");\n }, 3000);\n } catch (ex) {\n if (ex.response && ex.response.status === 400) {\n showErrorToast(ex.response.data.message);\n }\n }\n };\n\n timercountdown = () => {\n //timerStartSignal and TimerTimeLimit\n if (this.state.timerStart) {\n return (\n \n
\n this.checkInputAnswer_v2(e, true)}\n />\n
\n
\n );\n }\n };\n\n saveDataToLocalStorage() {\n const attemptAndTimeListeningQ3 = {\n time: Date.now(),\n count:\n JSON.parse(localStorage.getItem(\"attemptAndTimeListeningQ3\"))?.count +\n 1 || 1,\n countdownTimer: Math.abs(this.state.countdownTimer),\n selectedAnswers: this.state.selectedAnswers,\n inputFields: this.state.inputFields,\n replayCount: this.state.replayCount,\n };\n localStorage.setItem(\n \"attemptAndTimeListeningQ3\",\n JSON.stringify(attemptAndTimeListeningQ3)\n );\n }\n\n componentWillUnmount() {\n window.removeEventListener(\"beforeunload\", this._confirm);\n window.removeEventListener(\"popstate\", this._backConfirm);\n this.saveDataToLocalStorage();\n }\n\n _backConfirm = (e) => {\n const { t } = this.props\n this.saveDataToLocalStorage();\n if (!this.state.submitDataFlag) {\n e.preventDefault();\n let event = window.confirm(t(\"common.Changes that you may not be saved.\"));\n if (event) {\n window.history.back();\n } else {\n window.history.pushState(null, \"\", window.location.href);\n }\n }\n };\n\n _confirm = (e) => {\n const { t } = this.props\n this.saveDataToLocalStorage();\n if (!this.state.submitDataFlag) {\n var confirmationMessage = t(\"common.Do you want to leave this page.\");\n e.returnValue = confirmationMessage;\n return confirmationMessage;\n }\n };\n\n async componentDidMount() {\n window.addEventListener(\"beforeunload\", this._confirm);\n window.addEventListener(\"popstate\", this._backConfirm);\n window.history.pushState(null, \"\", window.location.href);\n try {\n const user = await getCurrentUser();\n this.setState({ userInfo: { userId: user._id } });\n this.setState({ assessmentName: \"Indian English Question-1\" });\n } catch (ex) {}\n\n const localData = JSON.parse(\n localStorage.getItem(\"attemptAndTimeListeningQ3\")\n );\n const timestamp1 = localData?.time;\n const timestamp2 = Date.now();\n const difference = Math.abs(timestamp1 - timestamp2);\n const threeMinutesInMilliseconds = 3 * 60 * 1000;\n let reAttempt = false;\n if (difference <= threeMinutesInMilliseconds) {\n reAttempt = true;\n }\n if (localData && reAttempt) {\n const timeLeft = Math.abs(localData.countdownTimer - localData.time);\n this.setState({ Attempted: true });\n this.setState({ timeLeft: timeLeft });\n this.setState({ inputFields: localData?.inputFields });\n this.setState({ replayCount: localData?.replayCount });\n\n this.setState({\n countdownTimer: Date.now() + timeLeft,\n });\n this.startAssessment();\n setTimeout(() => {\n this.focusInputField();\n }, 200);\n } else {\n this.handleAlert();\n }\n }\n\n focusInputField = () => {\n this.inputRef.current.focus();\n };\n\n render() {\n const { inputFields, playAudioClip, replay, errors } = this.state;\n\n return (\n
\n
\n
\n
\n
\n
\n \n Please submit once you have completed answering the question.\n Do not change pages untill submitted successfully.\n

\n \n Page will refresh automatically once submitted.\n

\n \n Play the Audio and fill in the form accordingly. Replay to\n listen again. Remember number of replays/attempts are\n recorded.\n
\n
\n
\n
\n
\n
\n {/*
*/}\n
\n {this.state.timerStart && this.timercountdown()}{\" \"}\n
\n {/*
*/}\n
\n
\n {\" \"}\n \n {replay ? \"Replay Audio\" : \"Playing...\"}\n \n
\n
\n
\n
\n
\n
\n
\n
\n {Object.keys(inputFields).map((field, index, array) => (\n \n
\n \n {field === array[array.length - 1] ? (\n \n ) : (\n \n )}\n {errors[field] && (\n
{errors[field]}
\n )}\n
\n
\n ))}\n
\n
\n \n Submit\n \n
\n
\n
\n
\n
\n
\n
\n \n
\n \n );\n }\n}\n\n","export const quotesArray = [\n {\n quote: \"A subset of machine learning is closely related to computational statistics, which focuses on making predictions using computers, but not all machine learning is statistical learning.\",\n author: \"Wiki\",\n },\n {\n quote:\n \"Cells can acquire specified function and carry out various tasks within the cell such as replication, DNA repair, protein synthesis, and motility. Cells are capable of specialization and mobility within the cell.\",\n author: \"Wiki\",\n },\n {\n quote:\n \"The individual amino acid residues are bonded together by peptide bonds and adjacent amino acid residues. The sequence of amino acid residues in a protein is defined by the sequence of a gene, which is encoded in the genetic code.\",\n author: \"Wiki\",\n },\n];\n\nexport const quotesArrayInFrench = [\n {\n quote:\n \"Un sous-ensemble de l'apprentissage automatique est étroitement lié aux statistiques informatiques, qui se concentrent sur la réalisation de prédictions à l'aide d'ordinateurs, mais tout l'apprentissage automatique n'est pas qu'un apprentissage statistique.\",\n author: \"Wiki\",\n },\n {\n quote:\n \"Les cellules peuvent acquérir une fonction spécifique et effectuer diverses tâches au sein de la cellule, telles que la réplication, la réparation de l'ADN, la synthèse des protéines et la motilité. Les cellules sont capables de spécialisation et de mobilité au sein de la cellule.\",\n author: \"Wiki\",\n },\n {\n quote:\n \"Les résidus d'acides aminés individuels sont liés entre eux par des liaisons peptidiques et des résidus d'acides aminés adjacents. La séquence des résidus d'acides aminés dans une protéine est définie par la séquence d'un gène, qui est codée dans le code génétique.\",\n author: \"Wiki\",\n },\n];\n\nexport const random = (array) =>\n array[Math.floor(Math.random() * array.length)];\nexport const allowedKeys = [\n \"q\",\n \"w\",\n \"e\",\n \"r\",\n \"t\",\n \"y\",\n \"u\",\n \"i\",\n \"o\",\n \"p\",\n \"a\",\n \"s\",\n \"d\",\n \"f\",\n \"g\",\n \"h\",\n \"j\",\n \"k\",\n \"l\",\n \"z\",\n \"x\",\n \"c\",\n \"v\",\n \"b\",\n \"n\",\n \"m\",\n \"Q\",\n \"W\",\n \"E\",\n \"R\",\n \"T\",\n \"Y\",\n \"U\",\n \"I\",\n \"O\",\n \"P\",\n \"A\",\n \"S\",\n \"D\",\n \"F\",\n \"G\",\n \"H\",\n \"J\",\n \"K\",\n \"L\",\n \"Z\",\n \"X\",\n \"C\",\n \"V\",\n \"B\",\n \"N\",\n \"M\",\n \";\",\n \"'\",\n \",\",\n \".\",\n];\n","import React from \"react\";\nimport styles from \"./style.module.css\";\n// import \"../../../designStyles/TypingTestMain/typingTestStyle.css\"\n\nconst InputArea = ({ value }) => {\n return (\n
\n {\" \"}\n {\" \"}\n
\n );\n};\n\nexport default InputArea;\n","import React from \"react\";\nimport styles from \"./style.module.css\";\n// import \"../../../designStyles/TypingTestMain/typingTestStyle.css\"\n\nconst ShowText = ({\n quote,\n started,\n ended,\n isError,\n inputRef,\n input,\n handleKeyDown,\n}) => {\n return (\n
\n {ended ? (\n
\n \"{quote.quote}\"\n
\n - {quote.author}\n
\n ) : started ? (\n \n {input}\n
\n ) : (\n
\n {input}\n
\n )}\n \n );\n};\n\nexport default ShowText;\n","import React from \"react\";\nimport styles from \"./style.module.css\";\n\nconst StatisticsItem = ({ name = \"N/A\", value = \"N/A\", color = \"#512DA8\" }) => {\n return (\n 0 && value < 26\n // ? \"rgb(205,39,188,1)\"\n // : value >= 26 && value < 46\n // ? \"rgb(14,136,174,1)\"\n // : value >= 46 && value < 65\n // ? \"rgb(181,159,17,1)\"\n // : value >= 65\n // ? \"rgb(15,174,35,1)\"\n // : \"\"\n // : {},\n // }}\n >\n {value}\n {name}\n \n );\n};\n\nexport default StatisticsItem;\n","import React from \"react\";\nimport styles from \"./style.module.css\";\nimport StatisticsItem from \"../util/UI/StatisticsItem\";\nimport { useTranslation } from 'react-i18next';\n\nconst Statistics = ({\n cpm,\n wpm,\n lastScore,\n duration,\n accuracy,\n errorIndex,\n}) => {\n const { t, i18n } = useTranslation();\n return (\n \n
\n \n \n \n \n 0 ? duration : 0} />\n
\n \n );\n};\n\nexport default Statistics;\n","import React, { useState, useRef, useEffect } from \"react\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport styles from \"./app.module.css\";\nimport \"../../designStyles/TypingTestMain/typingTestStyle.css\";\nimport { quotesArray, random, allowedKeys, quotesArrayInFrench } from \"./util/helperFunctions\";\n\nimport InputArea from \"./InputArea\";\nimport ShowText from \"./ShowText\";\nimport Statistics from \"./Statistics\";\n\nimport { Spinner } from \"react-bootstrap\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\n\nimport { submitTypeSpeedScore } from \"../../services/scoreService/scoreTSService_v2\";\nimport { getCurrentUser } from \"../../services/authService\";\nimport { showErrorToast, showSuccessToast } from \"../utils/toastMessage\";\nimport { useTranslation } from 'react-i18next';\n\n\nconst TypingAssessment = () => {\n const inputRef = useRef(null);\n const outputRef = useRef(null);\n const [duration, setDuration] = useState(60);\n const [started, setStarted] = useState(false);\n const [ended, setEnded] = useState(false);\n const [index, setIndex] = useState(0);\n const [correctIndex, setCorrectIndex] = useState(0);\n const [errorIndex, setErrorIndex] = useState(0);\n const [quote, setQuote] = useState({});\n const [input, setInput] = useState(\"\");\n const [cpm, setCpm] = useState(0);\n const [wpm, setWpm] = useState(0);\n const [accuracy, setAccuracy] = useState(0);\n const [isError, setIsError] = useState(false);\n const [userId, setUserId] = useState();\n const [isDisabled, setIsDisabled] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [submitDataFlag, setSubmitDataFlag] = useState(false);\n const { t, i18n } = useTranslation();\n const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));\n let interval = null;\n const stopBrowserPopup = useRef(false)\n\n useEffect(() => {\n const newQuote = random(i18n.language === \"en\" ? quotesArray : quotesArrayInFrench);\n setQuote(newQuote);\n setInput(newQuote.quote);\n try {\n const user = getCurrentUser();\n setUserId(user._id);\n } catch (ex) {\n }\n }, [i18n.language]);\n\n useEffect(() => {\n if (ended) {\n handleSubmit();\n }\n return () => {\n clearInterval(interval);\n };\n }, [ended]);\n\n const handleEnd = async () => {\n setEnded(true);\n setStarted(false);\n clearInterval(interval);\n };\n\n const setTimer = () => {\n const now = Date.now();\n const seconds = now + duration * 1000;\n interval = setInterval(() => {\n const secondLeft = Math.round((seconds - Date.now()) / 1000);\n setDuration(secondLeft);\n if (secondLeft === 0) {\n handleEnd();\n }\n }, 1000);\n };\n\n const handleStart = () => {\n setStarted(true);\n setEnded(false);\n setInput(quote.quote);\n inputRef.current.focus();\n setTimer();\n };\n\n const handleKeyDown = (e) => {\n e.preventDefault();\n const { key } = e;\n \n const quoteText = quote.quote;\n if (key === quoteText.charAt(index)) {\n setIndex(index + 1);\n const currenChar = quoteText.substring(\n index + 1,\n index + quoteText.length\n );\n setInput(currenChar);\n setCorrectIndex(correctIndex + 1);\n setIsError(false);\n outputRef.current.innerHTML += key;\n } else {\n if (allowedKeys.includes(key)) {\n setErrorIndex(errorIndex + 1);\n setIsError(true);\n outputRef.current.innerHTML += `${key}`;\n }\n }\n\n const elapsedTime = (60 - duration) / 60;\n // const _accuracy = Math.floor(((index - errorIndex) / index) * 100);\n const _accuracy = index === 0 ? 0 : Math.max(0, Math.floor(((index - errorIndex) / index) * 100));\n const _wpm = elapsedTime === 0 ? 0 : Math.round(correctIndex / 5 / elapsedTime);\n\n // if (index > 5) {\n // }\n setAccuracy(_accuracy);\n setCpm(correctIndex);\n setWpm(_wpm);\n\n if (index + 1 === quoteText.length || errorIndex > 50) {\n if(errorIndex > 50){\n showErrorToast(\"Error threshold exceeded\");\n }\n handleEnd();\n }\n };\n\n const handleBackConfirm = (e) => {\n if (!submitDataFlag && !stopBrowserPopup.current) {\n e.preventDefault();\n let event = window.confirm(t(\"common.Changes that you may not be saved.\"));\n if (event) {\n window.history.back();\n } else {\n window.history.pushState(null, \"\", window.location.href);\n }\n }\n };\n\n const handleConfirm = (e) => {\n if (!submitDataFlag && !stopBrowserPopup.current) {\n var confirmationMessage = t(\"common.Do you want to leave this page.\");\n e.returnValue = confirmationMessage;\n return confirmationMessage;\n }\n };\n\n const handleSubmit = async () => {\n setIsDisabled(true);\n setIsLoading(true);\n stopBrowserPopup.current = true\n try {\n const response = await submitTypeSpeedScore(\n userId,\n cpm,\n wpm,\n accuracy,\n errorIndex\n );\n window.removeEventListener(\"beforeunload\", handleConfirm);\n window.removeEventListener(\"popstate\", handleBackConfirm);\n showSuccessToast(response.data.message);\n await sleep(3000);\n window.location = \"/allAssessmentTypes\";\n } catch (error) {}\n };\n\n useEffect(() => {\n window.addEventListener(\"beforeunload\", handleConfirm);\n window.addEventListener(\"popstate\", handleBackConfirm);\n window.history.pushState(null, \"\", window.location.href);\n const language = localStorage.getItem(\"selectedLanguage\")\n i18n.changeLanguage(language);\n return () => {\n window.removeEventListener(\"beforeunload\", handleConfirm);\n window.removeEventListener(\"popstate\", handleBackConfirm);\n };\n }, []);\n\n useEffect(() => {\n const handleClick = (event) => {\n if (inputRef.current && !inputRef.current.contains(event.target)) {\n inputRef.current.focus();\n }\n };\n document.addEventListener(\"click\", handleClick);\n return () => {\n document.removeEventListener(\"click\", handleClick);\n };\n }, []);\n \n return (\n
\n {/*
*/}\n \n\n {/* Start Button */}\n {ended || started ? (\n \n {\" \"}\n {isLoading && (\n \n )}\n {isLoading ? \" Submitting...\" : \"Submit\"}{\" \"}\n \n ) : (\n \n {\" \"}\n {t('TypingTest.Start')} {\" \"}\n
\n )}\n {/* Start Button end */}\n\n
\n
\n
\n \n\n \n
\n
\n \n );\n};\n\nexport default TypingAssessment;\n","import React, { Component } from \"react\";\nimport Countdown from \"react-countdown\";\nimport Joi from \"joi\";\nimport { showSuccessToast, showErrorToast } from \"../utils/toastMessage\"; // Import the toast utility\n\nimport { submitEssayWritingScore } from \"../../services/scoreService/scoreEWService\";\nimport { getCurrentUser } from \"../../services/authService\";\nimport { withTranslation } from 'react-i18next';\nimport { confirmAlert } from \"react-confirm-alert\"; // Import\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\nimport \"../../designStyles/WritingEssayTest/writingTest.css\";\n\nclass WritingTestPanel extends Component {\n state = {\n userInfo: { userId: \"\" },\n value: \"\",\n timerStart: false,\n questionSelected: \"\",\n isLoading: false,\n countdownTimer: null,\n errors: \"\",\n startTime: null,\n Attempted: false,\n timeLeft: null,\n selectedLanguage:null\n };\n\n schema = Joi.object({\n Text: Joi.string().min(50).max(2500).label(\"Content\").required(),\n }).messages({\n \"string.base\": \"Please provide a valid input\",\n });\n\n handleAlert = () => {\n const { t } = this.props;\n confirmAlert({\n title: t(\"articleWriting.Confirm to Start\"),\n message: t(\"articleWriting.Are you sure to start the assessment.\"),\n closeOnEscape: false,\n closeOnClickOutside: false,\n buttons: [\n {\n className: \"btn btn-primary\",\n label: t(\"articleWriting.Start Assessment\"),\n onClick: () => {\n this.setState({ countdownTimer: Date.now() + 1200000 }); // Initialize countdown timer\n this.startAssessment();\n this.setState({ startTime: Date.now() });\n },\n },\n {\n className: \"btn btn-outline\",\n label: t(\"articleWriting.Cancel\"),\n onClick: () => {\n window.removeEventListener(\"beforeunload\", this._confirm);\n window.removeEventListener(\"popstate\", this._backConfirm);\n window.location = \"/allAssessmentTypes\";\n },\n },\n ],\n });\n };\n startAssessment = () => {\n this.setState({ timerStart: true });\n };\n\n handleChange = (e) => {\n const { name, value } = e.target;\n this.setState({ value });\n const { error } = this.schema.validate({ Text: value });\n this.setState({\n errors: error\n ? { ...this.state.errors, Text: error.details[0].message }\n : { ...this.state.errors, Text: \"\" },\n });\n };\n\n validateForm = () => {\n const { error } = this.schema.validate({ value: this.state.value });\n this.setState({ errors: error });\n };\n handleQuestionChange = (event) => {\n this.setState({ questionSelected: event.target.value });\n };\n\n handleSubmit = async (countDownOver) => {\n const { value, questionSelected } = this.state;\n const { t } = this.props;\n const { error } = this.schema.validate({ Text: value });\n if ((countDownOver || !error) && questionSelected) {\n this.setState({ isLoading: true });\n this.setState({ timerStart: false });\n\n const userId = this.state.userInfo.userId;\n const textAnswer = this.state.value || \"random\";\n try {\n const response = await submitEssayWritingScore(\n userId,\n textAnswer,\n questionSelected,\n this.state.selectedLanguage\n );\n this.setState({ isLoading: false });\n showSuccessToast(t(`common.${response.data.message}`));\n window.removeEventListener(\"beforeunload\", this._confirm);\n window.removeEventListener(\"popstate\", this._backConfirm);\n setTimeout(() => {\n window.location = \"/allAssessmentTypes\";\n }, 3000);\n } catch (ex) {\n if (\n ex.response &&\n ex.response.status >= 400 &&\n ex.response.status <= 500\n ) {\n showErrorToast(t(`common.${ex.response.data.message}`));\n }\n }\n } else {\n if (!questionSelected) {\n showErrorToast(t(\"articleWriting.Please select a question.\"));\n } else {\n showErrorToast(t(\"articleWriting.Please fill out the form.\"));\n }\n }\n localStorage.removeItem(\"attemptAndTimeWriting\");\n };\n\n timercountdown = () => {\n return (\n \n
\n this.handleSubmit(true)}\n />\n
\n
\n );\n };\n\n saveDataToLocalStorage() {\n const attemptAndTimeWriting = {\n time: Date.now(),\n count:\n JSON.parse(localStorage.getItem(\"attemptAndTimeWriting\"))?.count + 1 ||\n 1,\n countdownTimer: Math.abs(this.state.countdownTimer),\n value: this.state.value,\n questionSelected: this.state.questionSelected,\n };\n localStorage.setItem(\n \"attemptAndTimeWriting\",\n JSON.stringify(attemptAndTimeWriting)\n );\n }\n\n componentWillUnmount() {\n window.removeEventListener(\"beforeunload\", this._confirm);\n window.removeEventListener(\"popstate\", this._backConfirm);\n this.saveDataToLocalStorage();\n }\n\n _backConfirm = (e) => {\n const { t } = this.props\n this.saveDataToLocalStorage();\n if (!this.state.submitDataFlag) {\n e.preventDefault();\n let event = window.confirm(t(\"common.Changes that you may not be saved.\"));\n if (event) {\n window.history.back();\n } else {\n window.history.pushState(null, \"\", window.location.href);\n }\n }\n };\n\n _confirm = (e) => {\n const { t } = this.props\n this.saveDataToLocalStorage();\n if (!this.state.submitDataFlag) {\n var confirmationMessage = t(\"common.Do you want to leave this page.\");\n e.returnValue = confirmationMessage;\n return confirmationMessage;\n }\n };\n\n componentDidMount() {\n window.addEventListener(\"beforeunload\", this._confirm);\n window.addEventListener(\"popstate\", this._backConfirm);\n window.history.pushState(null, \"\", window.location.href);\n try {\n const user = getCurrentUser();\n this.setState({ userInfo: { userId: user._id } });\n } catch (ex) {\n if (\n ex.response &&\n ex.response.status >= 400 &&\n ex.response.status <= 500\n ) {\n showErrorToast(ex.response.data.message);\n }\n }\n const localData = JSON.parse(localStorage.getItem(\"attemptAndTimeWriting\"));\n const timestamp1 = localData?.time;\n const timestamp2 = Date.now();\n const difference = Math.abs(timestamp1 - timestamp2);\n const threeMinutesInMilliseconds = 3 * 60 * 1000;\n let reAttempt = false;\n if (difference <= threeMinutesInMilliseconds) {\n reAttempt = true;\n }\n if (localData && reAttempt) {\n const timeLeft = Math.abs(localData.countdownTimer - localData.time);\n this.setState({ Attempted: true });\n this.setState({ timeLeft: timeLeft });\n this.setState({ value: localData?.value });\n this.setState({ questionSelected: localData?.questionSelected });\n this.setState({\n countdownTimer: Date.now() + timeLeft,\n });\n this.startAssessment();\n this.setState({ startTime: Date.now() });\n } else {\n this.handleAlert();\n }\n\n const { i18n } = this.props;\n const language = localStorage.getItem(\"selectedLanguage\")\n this.setState({selectedLanguage:language})\n i18n.changeLanguage(language);\n }\n\n render() {\n const { questionSelected, value, errors } = this.state;\n const { user, t } = this.props;\n return (\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n e.preventDefault()}\n />\n
\n {errors.Text && (\n
{t(\"articleWriting.'Content' length must be at least 50 characters long\")}
\n )}\n
\n
\n
\n
\n {this.state.timerStart && this.timercountdown()}\n
\n
\n
\n
\n
\n \n {this.state.isLoading ? t(\"articleWriting.Submitting...\") : t(\"articleWriting.Submit\")}\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n );\n }\n}\nexport default withTranslation()(WritingTestPanel);\n","import React, { Component } from 'react'\nimport WritingTestPanel from \"./writingTestPanel\"\n\nexport default class WritingModuleMain extends Component {\n render() {\n return (\n
\n {}\n
\n )\n }\n}\n","import React, { Component } from \"react\";\nimport { Link, NavLink } from \"react-router-dom\";\n\nimport Box from '@material-ui/core/Box';\nimport Card from \"@material-ui/core/Card\";\nimport CardActions from \"@material-ui/core/CardActions\";\nimport CardContent from \"@material-ui/core/CardContent\";\nimport Button from \"@material-ui/core/Button\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { withTranslation } from 'react-i18next';\n\n\nclass SpeechAssessmentMain extends Component {\n state = {};\n\n componentDidMount() {\n const { i18n } = this.props;\n const language = localStorage.getItem(\"selectedLanguage\");\n i18n.changeLanguage(language);\n }\n\n render() {\n const { t } = this.props;\n const card = (\n \n \n \n {t(\"speechAssessment.Speech Assessment Type\")}\n \n \n {t(\"speechAssessment.Pronunciation and Verbal Analysis\")}\n \n \n \n \n \n \n );\n\n return (\n
\n \n {card}\n \n
\n );\n }\n}\n\nexport default withTranslation()(SpeechAssessmentMain);\n","import React, { Component } from \"react\";\nimport AudioAnalyser from \"react-audio-analyser\";\nimport axios from \"axios\";\nimport { getCurrentUser } from \"../../services/authService\";\nimport { submitSpeechScoreNew } from \"../../services/scoreService/scoreSAService\";\nimport \"../../designStyles/SpeechAssessment/SpeechSeen.css\";\nimport { showSuccessToast, showErrorToast } from \"../utils/toastMessage\";\nimport { withTranslation } from 'react-i18next';\nconst URL = axios.defaults.baseURL + \"/userScoreSpeechAnalysis\";\n\n class SpeechPanel extends Component {\n constructor(props) {\n super(props);\n this.state = {\n text: \"\",\n isRecording: false,\n isSubmitting: false,\n userInfo: { userId: \"\" },\n status: \"neutral\",\n audioType: \"audio/wav\",\n submitDataFlag: false,\n confirmShown: false,\n };\n }\n\n setText = () => {\n const { i18n } = this.props;\n const texts = [\n `As customers of all nationalities, and cultures visit the Dekalb Farmers Market by the thousands, I doubt that many stand in awe and contemplate the meaning of its existence. But in the capital of the Sunbelt South, the quiet revolution of immigration and food continues to upset and redefine the meanings of local, regional, and global identity.`,\n `Ikigai is a Japanese concept referring to having a direction or purpose in life, providing a sense of fulfillment and towards which they the person may take actions, giving them satisfaction and a sense of meaning.`,\n `The Sun is the star at the center of the Solar System. It is a nearly perfect ball of hot plasma, heated to incandescence by nuclear fusion reactions in its core. The Sun radiates this energy mainly as light, ultraviolet, and infrared radiation, and is the most important source of energy for life on Earth.`,\n `Machine learning is the study of computer algorithms that can improve automatically through experience and by the use of data. It is seen as a part of artificial intelligence. Machine learning algorithms build a model based on sample data, known as training data, in order to make predictions or decisions without being explicitly programmed to do so.`,\n `Mass is the quantity of matter in a physical body. It is also a measure of the body's inertia, the resistance to acceleration when a net force is applied. An object's mass also determines the strength of its gravitational attraction to other bodies.`,\n `Although the equivalence principle guided the development of general relativity, it is not a founding principle of relativity but rather a simple consequence of the geometrical nature of the theory. In general relativity, objects in free-fall follow geodesics of spacetime, and what we perceive as the force of gravity is instead a result of our being unable to follow those geodesics of spacetime, because the mechanical resistance of Earth's matter or surface prevents us from doing so.`,\n ];\n const textsInFrench = [\n `Alors que des clients de toutes nationalités et cultures visitent le marché fermier de Dekalb par milliers, je doute que beaucoup soient impressionnés et contemplent le sens de son existence. Mais dans la capitale de la Sunbelt South, la révolution tranquille de l’immigration et de l’alimentation continue de bouleverser et de redéfinir le sens de l’identité locale, régionale et mondiale.`,\n `L'ikigai est un concept japonais faisant référence au fait d'avoir une direction ou un but dans la vie, procurant un sentiment d'épanouissement et vers lequel la personne peut entreprendre des actions, lui donnant satisfaction et un sens.`,\n `Le Soleil est l'étoile au centre du système solaire. Il s’agit d’une boule presque parfaite de plasma chaud, chauffée à incandescence par des réactions de fusion nucléaire en son cœur. Le Soleil rayonne cette énergie principalement sous forme de lumière, de rayonnement ultraviolet et infrarouge et constitue la source d’énergie la plus importante pour la vie sur Terre.`,\n `L’apprentissage automatique est l’étude d’algorithmes informatiques qui peuvent s’améliorer automatiquement grâce à l’expérience et à l’utilisation de données. Elle est considérée comme faisant partie de l’intelligence artificielle. Les algorithmes d'apprentissage automatique construisent un modèle basé sur des échantillons de données, appelés données d'entraînement, afin de faire des prédictions ou des décisions sans être explicitement programmés pour le faire.`,\n `La masse est la quantité de matière présente dans un corps physique. C'est également une mesure de l'inertie du corps, la résistance à l'accélération lorsqu'une force nette est appliquée. La masse d’un objet détermine également la force de son attraction gravitationnelle vers d’autres corps.`,\n `Bien que le principe d’équivalence ait guidé le développement de la relativité générale, il n’est pas un principe fondateur de la relativité mais plutôt une simple conséquence de la nature géométrique de la théorie. En relativité générale, les objets en chute libre suivent les géodésiques de l'espace-temps, et ce que nous percevons comme la force de gravité est plutôt le résultat de notre incapacité à suivre ces géodésiques de l'espace-temps, car la résistance mécanique de la matière ou de la surface terrestre nous empêche de Ce faisant.`,\n ];\n const text =\n i18n.language === \"fr\"\n ? textsInFrench[Math.floor(Math.random() * textsInFrench.length)]\n : texts[Math.floor(Math.random() * texts.length)];\n\n this.setState({\n text: text,\n });\n };\n\n handleAudioSubmit = async (blob, blobURL) => {\n const { t } = this.props\n this.setState({ submitDataFlag: true });\n const uId = this.state.userInfo.userId;\n const textScript = this.state.text;\n try {\n let response = await submitSpeechScoreNew(\n blob,\n blobURL,\n uId,\n textScript\n );\n showSuccessToast(t(`common.${response.data.message}`));\n setTimeout(() => {\n window.location = \"/allAssessmentTypes\";\n }, 3000);\n } catch (ex) {\n if (\n ex.response &&\n ex.response.status >= 400 &&\n ex.response.status <= 500\n ) {\n showErrorToast(t(`common.${ex.response.data.message}`));\n }\n }\n };\n\n controlAudio(status) {\n this.setState({\n status,\n });\n }\n\n changeScheme(e) {\n this.setState({\n audioType: e.target.value,\n });\n }\n\n componentDidMount = async () => {\n window.addEventListener(\"beforeunload\", this._confirm);\n window.addEventListener(\"popstate\", this._backConfirm);\n window.history.pushState(null, \"\", window.location.href);\n\n try {\n const user = await getCurrentUser();\n this.setState({ userInfo: { userId: user._id } });\n this.setText();\n } catch (ex) {\n console.log(\"Error\");\n }\n\n const { i18n } = this.props;\n const language = localStorage.getItem(\"selectedLanguage\");\n i18n.changeLanguage(language);\n };\n\n componentWillUnmount() {\n window.removeEventListener(\"beforeunload\", this._confirm);\n window.removeEventListener(\"popstate\", this._backConfirm);\n }\n\n _backConfirm = (e) => {\n const { t } = this.props\n if (!this.state.submitDataFlag && !this.state.confirmShown) {\n e.preventDefault();\n let event = window.confirm(t(\"common.Changes that you may not be saved.\"));\n if (event) {\n this.setState({ confirmShown: true });\n window.history.back();\n } else {\n window.history.pushState(null, \"\", window.location.href);\n }\n }\n };\n\n _confirm = (e) => {\n const { t } = this.props\n if (!this.state.submitDataFlag) {\n var confirmationMessage = t(\"common.Do you want to leave this page.\");\n e.returnValue = confirmationMessage;\n return confirmationMessage;\n }\n };\n\n render() {\n const { status, audioSrc, audioType, text } = this.state;\n const { t } = this.props\n const audioProps = {\n audioType,\n status,\n audioSrc,\n timeslice: 1000,\n backgroundColor: \"#e3e3e3\",\n strokeColor: \"#7386D5\",\n startCallback: (e) => {\n console.log(\"succ start\", e);\n },\n pauseCallback: (e) => {\n console.log(\"succ pause\", e);\n },\n stopCallback: (e) => {\n this.setState({});\n this.handleAudioSubmit(e, this.state.audioSrc);\n console.log(\"succ stop\", e);\n },\n onRecordCallback: (e) => {\n },\n errorCallback: (err) => {\n console.log(\"error\", err);\n },\n };\n if (!text) return

{t(\"speechAssessmentTest.Loading...\")}

;\n\n return (\n
\n \n
\n {t(\"speechAssessmentTest.Read The Text Below\")}:\n
\n
\n
\n

{text}

\n
\n
\n
\n this.controlAudio(\"recording\")}\n disabled={status === \"inactive\"}\n >\n {status === \"recording\" ? t(\"speechAssessmentTest.Recording...\") : t(\"speechAssessmentTest.Record\")}\n \n this.controlAudio(\"inactive\")}\n disabled={status === \"neutral\"}\n >\n {status === \"inactive\" ? t(\"speechAssessmentTest.Submitting...\") : t(\"speechAssessmentTest.Stop Record\")}\n \n this.changeScheme(e)}\n value={audioType}\n >\n \n \n
\n
\n
\n );\n }\n }\n\nexport default withTranslation()(SpeechPanel);\n","import http from \"./httpService\";\n\nconst apiEndpoint = \"/exportAnalysis\";\nconst apiMcqAssessmentEndpoint=\"/exportAnalysis/allMcqAssessmentScoreExport\"\nconst apiListeningAssessmentEndpoint=\"/exportAnalysis/allListeningAssessmentScoreExport\"\nconst apiTypingAssessmentEndpoint=\"/exportAnalysis/allTypingAssessmentScoreExport\"\nconst apiArticleAssessmentEndpoint=\"/exportAnalysis/allArticleAssessmentScoreExport\"\nconst apiSpeechAssessmentEndpoint=\"/exportAnalysis/allSpeechAssessmentScoreExport\"\n\n\nexport function getConsolidatedReport(stDate,enDate,uLoc) {\n return http.get(apiEndpoint,{params:{\n userLocation: uLoc,\n startDate: stDate,\n endDate: enDate\n }});\n }\n export function getMcqAssessmentReport(stDate,enDate, uLoc) {\n return http.get(apiMcqAssessmentEndpoint,{params:{\n userLocation: uLoc,\n startDate: stDate,\n endDate: enDate\n }});\n }\n export function getListeningAssessmentReport(stDate,enDate, uLoc) {\n return http.get(apiListeningAssessmentEndpoint,{params:{\n userLocation: uLoc,\n startDate: stDate,\n endDate: enDate\n }});\n }\n export function getTypeAssessmentReport(stDate,enDate, uLoc) {\n return http.get(apiTypingAssessmentEndpoint,{params:{\n userLocation: uLoc,\n startDate: stDate,\n endDate: enDate\n }});\n }\n export function getArticleAssessmentReport(stDate,enDate,uLoc) {\n return http.get(apiArticleAssessmentEndpoint,{params:{\n userLocation: uLoc,\n startDate: stDate,\n endDate: enDate\n }});\n }\n export function getSpeechAssessmentReport(stDate,enDate,uLoc) {\n return http.get(apiSpeechAssessmentEndpoint,{params:{\n userLocation: uLoc,\n startDate: stDate,\n endDate: enDate\n }});\n }\n\n","import i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\n\nimport translationEN from './locales/en/translation.json';\nimport translationFN from './locales/fr/translation.json';\n\nconst resources = {\n en: {\n translation: translationEN,\n },\n fr: {\n translation: translationFN,\n },\n};\n\ni18n\n .use(initReactI18next)\n .init({\n resources,\n lng: 'en',\n fallbackLng: 'en', \n interpolation: {\n escapeValue: false,\n },\n });\n\nexport default i18n;\n","import React from \"react\";\nimport DateRangePicker from \"react-daterange-picker\";\nimport \"react-daterange-picker/dist/css/react-calendar.css\";\nimport Select from \"react-select\";\n\nimport originalMoment from \"moment\";\nimport { extendMoment } from \"moment-range\";\nimport { CSVLink } from \"react-csv\";\n\nimport Accordion from \"@material-ui/core/Accordion\";\nimport AccordionDetails from \"@material-ui/core/AccordionDetails\";\nimport AccordionSummary from \"@material-ui/core/AccordionSummary\";\nimport Typography from \"@material-ui/core/Typography\";\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\n\nimport { location_filter, location_filter_In_French } from \"../bank/PredifinedUserLocations\";\nimport \"./../designStyles/SketchDashb.css\";\nimport \"./../designStyles/Analytics_v1.css\";\nimport {\n getConsolidatedReport,\n getMcqAssessmentReport,\n getListeningAssessmentReport,\n getTypeAssessmentReport,\n getArticleAssessmentReport,\n getSpeechAssessmentReport,\n} from \"../services/analyticsService\";\nimport { getAllUserAssignmentProfile } from \"../services/userAssignmentProfileService\";\nimport { withTranslation } from 'react-i18next';\nimport i18n from \"../i18n\";\nimport 'moment/locale/fr';\nconst moment = extendMoment(originalMoment);\nmoment.locale('fr'); \nclass ExportAnalytics extends React.Component {\n constructor(props, context) {\n super(props, context);\n\n const today = moment();\n\n this.state = {\n isOpen: false,\n value: moment.range(today.clone().subtract(6, 'days').startOf('day'), today.endOf('day')),\n customEnd: today.clone().add(1, \"days\"),\n consolidatedData: [],\n assignmentProfileData: [],\n mcqAssessmentData: [],\n listeningAssessmentData: [],\n typeSpeedAssessmentData: [],\n articleAssessmentData: [],\n speechAssessmentData: [],\n allLocations: [],\n uLocation: \"\",\n language: i18n.language\n };\n\n this.csvLinkEl = React.createRef();\n this.mcqAssessmentLink = React.createRef();\n this.listeningAssessmentLink = React.createRef();\n this.typeSpeedAssessmentLink = React.createRef();\n this.articleAssessmentLink = React.createRef();\n this.speechAssessmentLink = React.createRef();\n this.userAssignmentProfileLink = React.createRef();\n\n this.headersUserDetails = [];\n\n this.headersUserAssignmentProfile = [\n { label: \"CandidateId\", key: \"candidateId\" },\n { label: \"CandidateEmail\", key: \"candidateEmail\" },\n { label: \"CandidateLocation\", key: \"candidateLocation\" },\n { label: \"CandidateRegistrationTime\", key: \"candidateRegistrationTime\" },\n { label: \"RecruiterId\", key: \"recruiterId\" },\n { label: \"RecruiterEmail\", key: \"recruiterEmail\" },\n { label: \"RecruiterLocation\", key: \"recruiterLocation\" },\n { label: \"AssessmentAssignedAt\", key: \"assessmentAssignedAt\" },\n { label: \"MCQModule\", key: \"mcqModule\" },\n { label: \"ListeningModule\", key: \"listeningModule\" },\n { label: \"TypingModule\", key: \"typingModule\" },\n { label: \"ArticleModule\", key: \"articleModule\" },\n { label: \"SpeechModule\", key: \"speechModule\" },\n { label: \"isArchived\", key: \"isArchived\" },\n { label: \"isAdmin\", key: \"isAdmin\" },\n { label: \"RecruitmentStatus\", key: \"recruitmentStatus\" },\n ];\n\n this.headersUserAssignmentProfileInFrench = [\n { label: \"Identifiant du candidat\", key: \"candidateId\" },\n { label: \"Email du candidat\", key: \"candidateEmail\" },\n { label: \"Lieu du candidat\", key: \"candidateLocation\" },\n { label: \"Heure d'inscription du candidat\", key: \"candidateRegistrationTime\" },\n { label: \"Identifiant du recruteur\", key: \"recruiterId\" },\n { label: \"Email du recruteur\", key: \"recruiterEmail\" },\n { label: \"Lieu du recruteur\", key: \"recruiterLocation\" },\n { label: \"Assigné à l'évaluation à\", key: \"assessmentAssignedAt\" },\n { label: \"Module MCQ\", key: \"mcqModule\" },\n { label: \"Module d'écoute\", key: \"listeningModule\" },\n { label: \"Module de frappe\", key: \"typingModule\" },\n { label: \"Module d'article\", key: \"articleModule\" },\n { label: \"Module de discours\", key: \"speechModule\" },\n { label: \"Est archivé\", key: \"isArchived\" },\n { label: \"Est administrateur\", key: \"isAdmin\" },\n { label: \"Statut de recrutement\", key: \"recruitmentStatus\" },\n ];\n \n this.headersConsolidated = [\n { label: \"UserId\", key: \"userId\" },\n { label: \"UserEmail\", key: \"email\" },\n { label: \"Location\", key: \"location\" },\n { label: \"RegistrationTime\", key: \"registrationTime\" },\n { label: \"McqAttemptsCount\", key: \"noMcqAttempt\" },\n { label: \"ListeningAttemptsCount\", key: \"noListeningAttempt\" },\n { label: \"TypingAttemptsCount\", key: \"noTypingAttempt\" },\n { label: \"ArticleAttemptsCount\", key: \"noArticleAttempt\" },\n { label: \"SpeechAttemptsCount\", key: \"noSpeechAttempt\" },\n { label: \"AvgMcq\", key: \"avgMcq\" },\n { label: \"AvgListen\", key: \"avgListen\" },\n { label: \"AvgTyping\", key: \"avgTyping\" },\n { label: \"AvgArticle\", key: \"avgArticle\" },\n { label: \"AvgSpeech\", key: \"avgSpeech\" },\n ];\n\n this.headersConsolidatedInFrench = [\n { label: \"Identifiant de l'utilisateur\", key: \"userId\" },\n { label: \"Email de l'utilisateur\", key: \"email\" },\n { label: \"Lieu\", key: \"location\" },\n { label: \"Heure d'inscription\", key: \"registrationTime\" },\n { label: \"Nombre de tentatives MCQ\", key: \"noMcqAttempt\" },\n { label: \"Nombre de tentatives d'écoute\", key: \"noListeningAttempt\" },\n { label: \"Nombre de tentatives de frappe\", key: \"noTypingAttempt\" },\n { label: \"Nombre de tentatives d'article\", key: \"noArticleAttempt\" },\n { label: \"Nombre de tentatives de discours\", key: \"noSpeechAttempt\" },\n { label: \"Moyenne MCQ\", key: \"avgMcq\" },\n { label: \"Moyenne d'écoute\", key: \"avgListen\" },\n { label: \"Moyenne de frappe\", key: \"avgTyping\" },\n { label: \"Moyenne d'article\", key: \"avgArticle\" },\n { label: \"Moyenne de discours\", key: \"avgSpeech\" },\n ];\n \n this.headersMcqAssessment = [\n { label: \"UserId\", key: \"userId\" },\n { label: \"UserEmail\", key: \"userEmail\" },\n { label: \"UserLocation\", key: \"userLocation\" },\n { label: \"UserRegistrationTime\", key: \"registrationTime\" },\n { label: \"ScoreObtained\", key: \"score1\" },\n { label: \"TotalMarks\", key: \"totalMarks\" },\n { label: \"AssessmentId\", key: \"assessmentId\" },\n { label: \"AssessmentTitle\", key: \"assessmentTitle\" },\n { label: \"SubmitTime\", key: \"submitTime\" },\n { label: \"AssignedBy\", key: \"assignedBy\" },\n { label: \"AssignedAt\", key: \"assignedAt\" },\n ];\n\n this.headersMcqAssessmentInFrench = [\n { label: \"Identifiant de l'utilisateur\", key: \"userId\" },\n { label: \"Email de l'utilisateur\", key: \"userEmail\" },\n { label: \"Lieu de l'utilisateur\", key: \"userLocation\" },\n { label: \"Heure d'inscription de l'utilisateur\", key: \"registrationTime\" },\n { label: \"Score obtenu\", key: \"score1\" },\n { label: \"Nombre total de points\", key: \"totalMarks\" },\n { label: \"Identifiant de l'évaluation\", key: \"assessmentId\" },\n { label: \"Titre de l'évaluation\", key: \"assessmentTitle\" },\n { label: \"Heure de soumission\", key: \"submitTime\" },\n { label: \"Assigné par\", key: \"assignedBy\" },\n { label: \"Assigné à\", key: \"assignedAt\" },\n ];\n \n this.headersListeningAssessment = [\n { label: \"UserId\", key: \"userId\" },\n { label: \"UserEmail\", key: \"userEmail\" },\n { label: \"UserLocation\", key: \"userLocation\" },\n { label: \"UserRegistrationTime\", key: \"registrationTime\" },\n { label: \"ScoreObtained\", key: \"score1\" },\n { label: \"TotalMarks\", key: \"totalMarks\" },\n { label: \"AudioReplayCount\", key: \"replayCount\" },\n { label: \"SubmitTime\", key: \"submitTime\" },\n { label: \"AssignedBy\", key: \"assignedBy\" },\n { label: \"AssignedAt\", key: \"assignedAt\" },\n ];\n\n this.headersListeningAssessmentInFrench = [\n { label: \"Identifiant de l'utilisateur\", key: \"userId\" },\n { label: \"Email de l'utilisateur\", key: \"userEmail\" },\n { label: \"Lieu de l'utilisateur\", key: \"userLocation\" },\n { label: \"Heure d'inscription de l'utilisateur\", key: \"registrationTime\" },\n { label: \"Score obtenu\", key: \"score1\" },\n { label: \"Nombre total de points\", key: \"totalMarks\" },\n { label: \"Nombre de réécoutes audio\", key: \"replayCount\" },\n { label: \"Heure de soumission\", key: \"submitTime\" },\n { label: \"Assigné par\", key: \"assignedBy\" },\n { label: \"Assigné à\", key: \"assignedAt\" },\n ];\n\n this.headersTypeAssessment = [\n { label: \"UserId\", key: \"userId\" },\n { label: \"UserLocation\", key: \"userLocation\" },\n { label: \"UserRegistrationTime\", key: \"registrationTime\" },\n { label: \"UserEmail\", key: \"userEmail\" },\n { label: \"WordPerMinuteScore\", key: \"score1wpm\" },\n { label: \"CharacterPerMinuteScore\", key: \"score2cpm\" },\n { label: \"AccuracyPercentage\", key: \"accuracy\" },\n { label: \"ErrorCount\", key: \"errorIndex\" },\n { label: \"SubmitTime\", key: \"submitTime\" },\n { label: \"AssignedBy\", key: \"assignedBy\" },\n { label: \"AssignedAt\", key: \"assignedAt\" },\n ];\n\n this.headersTypeAssessmentInFrench = [\n { label: \"Identifiant de l'utilisateur\", key: \"userId\" },\n { label: \"Lieu de l'utilisateur\", key: \"userLocation\" },\n {\n label: \"Heure d'inscription de l'utilisateur\",\n key: \"registrationTime\",\n },\n { label: \"Email de l'utilisateur\", key: \"userEmail\" },\n { label: \"Score de mots par minute\", key: \"score1wpm\" },\n { label: \"Score de caractères par minute\", key: \"score2cpm\" },\n { label: \"Pourcentage de précision\", key: \"accuracy\" },\n { label: \"Nombre d'erreurs\", key: \"errorIndex\" },\n { label: \"Heure de soumission\", key: \"submitTime\" },\n { label: \"Assigné par\", key: \"assignedBy\" },\n { label: \"Assigné à\", key: \"assignedAt\" },\n ];\n\n this.headersArticleAssessment = [\n { label: \"UserId\", key: \"userId\" },\n { label: \"UserEmail\", key: \"userEmail\" },\n { label: \"UserLocation\", key: \"userLocation\" },\n { label: \"UserRegistrationTime\", key: \"registrationTime\" },\n { label: \"ScoreObtained\", key: \"score1\" },\n { label: \"TotalMarks\", key: \"totalMarks\" },\n { label: \"QuestionSelected\", key: \"questionSelected\" },\n { label: \"TextAnswer\", key: \"answer\" },\n { label: \"SubmitTime\", key: \"submitTime\" },\n { label: \"AssignedBy\", key: \"assignedBy\" },\n { label: \"AssignedAt\", key: \"assignedAt\" },\n ];\n\n this.headersArticleAssessmentInFrench = [\n { label: \"Identifiant de l'utilisateur\", key: \"userId\" },\n { label: \"Email de l'utilisateur\", key: \"userEmail\" },\n { label: \"Lieu de l'utilisateur\", key: \"userLocation\" },\n {\n label: \"Heure d'inscription de l'utilisateur\",\n key: \"registrationTime\",\n },\n { label: \"Score obtenu\", key: \"score1\" },\n { label: \"Nombre total de points\", key: \"totalMarks\" },\n { label: \"Question sélectionnée\", key: \"questionSelected\" },\n { label: \"Réponse textuelle\", key: \"answer\" },\n { label: \"Heure de soumission\", key: \"submitTime\" },\n { label: \"Assigné par\", key: \"assignedBy\" },\n { label: \"Assigné à\", key: \"assignedAt\" },\n ];\n\n this.headersSpeechAssessment = [\n { label: \"UserId\", key: \"userId\" },\n { label: \"UserEmail\", key: \"userEmail\" },\n { label: \"UserLocation\", key: \"userLocation\" },\n { label: \"UserRegistrationTime\", key: \"registrationTime\" },\n { label: \"AccuracyPercentage\", key: \"accuracy\" },\n { label: \"FluencyPercentage\", key: \"fluency\" },\n { label: \"CompletenessPercentage\", key: \"completeness\" },\n { label: \"PronunciationPercentage\", key: \"pronscore\" },\n { label: \"AudioPath\", key: \"audioPath\" },\n { label: \"SubmitTime\", key: \"submitTime\" },\n { label: \"AssignedBy\", key: \"assignedBy\" },\n { label: \"AssignedAt\", key: \"assignedAt\" },\n ];\n\n this.headersSpeechAssessmentInFrench = [\n { label: \"Identifiant de l'utilisateur\", key: \"userId\" },\n { label: \"Email de l'utilisateur\", key: \"userEmail\" },\n { label: \"Lieu de l'utilisateur\", key: \"userLocation\" },\n {\n label: \"Heure d'inscription de l'utilisateur\",\n key: \"registrationTime\",\n },\n { label: \"Pourcentage de précision\", key: \"accuracy\" },\n { label: \"Pourcentage de fluidité\", key: \"fluency\" },\n { label: \"Pourcentage de complétude\", key: \"completeness\" },\n { label: \"Pourcentage de prononciation\", key: \"pronscore\" },\n { label: \"Chemin audio\", key: \"audioPath\" },\n { label: \"Heure de soumission\", key: \"submitTime\" },\n { label: \"Assigné par\", key: \"assignedBy\" },\n { label: \"Assigné à\", key: \"assignedAt\" },\n ];\n }\n setLocation = async () => {\n const allLocations =\n this.state.language === \"fr\"\n ? location_filter_In_French\n : location_filter;\n \n this.setState({\n allLocations,\n uLocation: allLocations[0],\n });\n };\n \n\n handleLocationOption = async (uL) => {\n await this.setState({ uLocation: uL });\n };\n\n onSelect = (value, states) => {\n this.setState({ value, states });\n this.setState({\n customEnd: originalMoment(this.state.value.end).clone().add(1, \"days\"),\n });\n };\n\n onToggle = () => {\n this.setState({ isOpen: !this.state.isOpen });\n };\n\n renderSelectionValue = () => {\n const { t } = this.props;\n return (\n
\n {t(\"Custom Analytics.Select Date Range\")}\n
\n
\n

\n {this.state.value.start.format(\"YYYY-MM-DD\")}\n {\" to \"}\n {this.state.value.end.format(\"YYYY-MM-DD\")}\n

\n
\n
\n );\n };\n\n handleSubmitAll = async (e) => {\n const { t } = this.props\n try {\n let { data: consolidatedData } = await getConsolidatedReport();\n\n consolidatedData = consolidatedData.map((userScores) => {\n return {\n ...userScores,\n location: t(`location.${userScores?.location}`),\n };\n });\n\n this.setState({ consolidatedData }, () => {\n setTimeout(() => {\n this.csvLinkEl.current.link.click();\n });\n });\n } catch (error) {\n throw error;\n }\n };\n\n handleSubmitRange = async (e) => {\n const { t } = this.props\n e.preventDefault();\n const start = this.state.value.start.format(\"YYYY-MM-DD\");\n const end = this.state.value.end.format(\"YYYY-MM-DD\");\n const customEndD = this.state.customEnd.format(\"YYYY-MM-DD\");\n try {\n let { data: consolidatedData } = await getConsolidatedReport(\n start,\n customEndD,\n this.state.uLocation.value\n );\n\n consolidatedData = consolidatedData.map((userScores) => {\n return {\n ...userScores,\n location: t(`location.${userScores?.location}`),\n };\n });\n\n this.setState({ consolidatedData }, () => {\n setTimeout(() => {\n this.csvLinkEl.current.link.click();\n });\n });\n } catch (error) {\n throw error;\n }\n };\n\n handleSubmitMcqAssessmentIndividualRange = async (e) => {\n const { t } = this.props\n e.preventDefault();\n const start = this.state.value.start.format(\"YYYY-MM-DD\");\n const end = this.state.value.end.format(\"YYYY-MM-DD\");\n const customEndD = this.state.customEnd.format(\"YYYY-MM-DD\");\n try {\n let { data: mcqAssessmentData } = await getMcqAssessmentReport(\n start,\n customEndD,\n this.state.uLocation.value\n );\n\n mcqAssessmentData = mcqAssessmentData.map((userScores) => {\n return {\n ...userScores,\n userLocation: t(`location.${userScores?.userLocation}`),\n };\n });\n this.setState({ mcqAssessmentData }, () => {\n setTimeout(() => {\n this.mcqAssessmentLink.current.link.click();\n });\n });\n } catch (error) {\n throw error;\n }\n };\n\n handleSubmitListeningAssessmentIndividualRange = async (e) => {\n const { t } = this.props\n e.preventDefault();\n const start = this.state.value.start.format(\"YYYY-MM-DD\");\n const end = this.state.value.end.format(\"YYYY-MM-DD\");\n const customEndD = this.state.customEnd.format(\"YYYY-MM-DD\");\n try {\n let { data: listeningAssessmentData } =\n await getListeningAssessmentReport(\n start,\n customEndD,\n this.state.uLocation.value\n );\n listeningAssessmentData = listeningAssessmentData.map((userScores) => {\n return {\n ...userScores,\n userLocation: t(`location.${userScores?.userLocation}`),\n };\n });\n\n this.setState({ listeningAssessmentData }, () => {\n setTimeout(() => {\n this.listeningAssessmentLink.current.link.click();\n });\n });\n } catch (error) {\n throw error;\n }\n };\n\n handleSubmitTypeSpeedAssessmentIndividualRange = async (e) => {\n const { t } = this.props\n e.preventDefault();\n const start = this.state.value.start.format(\"YYYY-MM-DD\");\n const end = this.state.value.end.format(\"YYYY-MM-DD\");\n const customEndD = this.state.customEnd.format(\"YYYY-MM-DD\");\n try {\n let { data: typeSpeedAssessmentData } = await getTypeAssessmentReport(\n start,\n customEndD,\n this.state.uLocation.value\n );\n\n typeSpeedAssessmentData = typeSpeedAssessmentData.map((userScores) => {\n return {\n ...userScores,\n userLocation: t(`location.${userScores?.userLocation}`),\n };\n });\n\n this.setState({ typeSpeedAssessmentData }, () => {\n setTimeout(() => {\n this.typeSpeedAssessmentLink.current.link.click();\n });\n });\n } catch (error) {\n throw error;\n }\n };\n\n handleSubmitArticleAssessmentIndividualRange = async (e) => {\n const { t } = this.props\n e.preventDefault();\n const start = this.state.value.start.format(\"YYYY-MM-DD\");\n const end = this.state.value.end.format(\"YYYY-MM-DD\");\n const customEndD = this.state.customEnd.format(\"YYYY-MM-DD\");\n try {\n let { data: articleAssessmentData } = await getArticleAssessmentReport(\n start,\n customEndD,\n this.state.uLocation.value\n );\n\n articleAssessmentData = articleAssessmentData.map((userScores) => {\n return {\n ...userScores,\n userLocation: t(`location.${userScores?.userLocation}`),\n };\n });\n\n this.setState({ articleAssessmentData }, () => {\n setTimeout(() => {\n this.articleAssessmentLink.current.link.click();\n });\n });\n } catch (error) {\n throw error;\n }\n };\n\n handleSubmitSpeechAssessmentIndividualRange = async (e) => {\n const { t } = this.props\n e.preventDefault();\n const start = this.state.value.start.format(\"YYYY-MM-DD\");\n const end = this.state.value.end.format(\"YYYY-MM-DD\");\n const customEndD = this.state.customEnd.format(\"YYYY-MM-DD\");\n try {\n let { data: speechAssessmentData } = await getSpeechAssessmentReport(\n start,\n customEndD,\n this.state.uLocation.value\n );\n\n speechAssessmentData = speechAssessmentData.map((userScores) => {\n return {\n ...userScores,\n userLocation: t(`location.${userScores?.userLocation}`),\n };\n });\n\n this.setState({ speechAssessmentData }, () => {\n setTimeout(() => {\n this.speechAssessmentLink.current.link.click();\n });\n });\n } catch (error) {\n throw error;\n }\n };\n\n handleSubmitCandidateAssignmentProfileRange = async (e) => {\n const { t } = this.props\n e.preventDefault();\n const start = this.state.value.start.format(\"YYYY-MM-DD\");\n const end = this.state.value.end.format(\"YYYY-MM-DD\");\n const customEndD = this.state.customEnd.format(\"YYYY-MM-DD\");\n try {\n let { data: assignmentProfileData } = await getAllUserAssignmentProfile(\n start,\n customEndD,\n this.state.uLocation.value\n );\n\n assignmentProfileData = assignmentProfileData.map((userScores) => {\n return {\n ...userScores,\n recruiterLocation: t(`location.${userScores?.recruiterLocation}`),\n candidateLocation: t(`location.${userScores?.candidateLocation}`)\n };\n });\n\n this.setState({ assignmentProfileData }, () => {\n setTimeout(() => {\n this.userAssignmentProfileLink.current.link.click();\n });\n });\n } catch (error) {\n throw error;\n }\n };\n\n async componentDidMount() {\n await this.setLocation();\n const language = localStorage.getItem(\"selectedLanguage\");\n const { i18n } = this.props;\n i18n.changeLanguage(language);\n moment.locale(\"fr\");\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (i18n.language !== prevState.language) {\n this.setState({language: i18n.language})\n this.setLocation();\n }\n }\n\n render() {\n const { uLocation, allLocations } = this.state;\n const { t } = this.props;\n\n return (\n \n

\n {t(\"Custom Analytics.Custom Analytics\")}\n

\n {/* Select Location */}\n
\n
\n \n\n \n
\n
\n\n {/* Consolidated Results */}\n \n }\n aria-controls=\"panel5a-content\"\n id=\"panel5a-header\"\n >\n \n {t(\n \"Custom Analytics.Get Consolidated Result (User Registration Time Based)\"\n )}\n \n \n \n
\n
\n
{this.renderSelectionValue()}
\n
\n \n
\n\n {this.state.isOpen && (\n \n )}\n
\n\n
\n
\n \n {t(\"Custom Analytics.Get Report\")}\n \n\n {/* \n Get All Report\n */}\n
\n\n \n
\n
\n\n {/*
*/}\n {/*
*/}\n
\n
\n\n {/* Individual Results */}\n \n }\n aria-controls=\"panel5a-content\"\n id=\"panel5a-header\"\n >\n \n {t(\n \"Custom Analytics.Individual Results (Assessment Submit Time Based)\"\n )}\n \n \n \n
\n
\n
{this.renderSelectionValue()}
\n
\n \n
\n\n {this.state.isOpen && (\n \n )}\n
\n\n
\n
\n \n {t(\"Custom Analytics.Get MCQ Report\")}\n \n\n \n {t(\"Custom Analytics.Get Listening Report\")}\n \n\n \n {t(\"Custom Analytics.Get Typing Report\")}\n \n\n \n {t(\"Custom Analytics.Get Article Report\")}\n \n\n \n {t(\"Custom Analytics.Get Speech Report\")}\n \n
\n\n \n \n \n \n \n
\n
\n
\n
\n\n \n }\n aria-controls=\"panel5a-content\"\n id=\"panel5a-header\"\n >\n \n {t(\n \"Custom Analytics.Get Assignment Report (Assignment Registration Time Based)\"\n )}\n \n \n \n
\n
\n
{this.renderSelectionValue()}
\n
\n \n
\n\n {this.state.isOpen && (\n \n )}\n
\n\n
\n
\n \n {t(\"Custom Analytics.Get Assignment Report\")}\n \n
\n\n \n
\n
\n\n {/*
*/}\n {/*
*/}\n
\n
\n
\n );\n }\n}\n\nexport default withTranslation()(ExportAnalytics);\n","import React,{Component} from \"react\";\n\nconst UserContext = React.createContext({\n currentUserInfo:null,\n\n})\n \nexport default UserContext;","import React, { Component } from \"react\";\nimport Joi from \"joi-browser\";\n\nimport { compareTwoStrings } from \"string-similarity\";\nimport \"../../designStyles/DEPanelMain/DePanel_v1.css\";\nimport Countdown from \"react-countdown\";\nimport { confirmAlert } from \"react-confirm-alert\"; // Import\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\nimport ReactHowler from \"react-howler\";\nimport Gargi_French_s1 from \"../../bank/Gragi_French.mp3\"\nimport { submitDataEntryScore } from \"../../services/scoreService/scoreDEService\";\nimport { getCurrentUser } from \"../../services/authService\";\nimport { showSuccessToast,showErrorToast } from \"../utils/toastMessage\";\nimport { q1_DataEntry_French } from \"../../bank/DataEntryQ_v1\";\nimport { withTranslation } from 'react-i18next';\n\nclass DataEntryPanel_q4 extends Component {\n constructor(props) {\n super(props);\n const { t, i18n } = props;\n this.t = t;\n this.i18n = i18n;\n this.inputRef = React.createRef();\n this.state = {\n userInfo: { userId: \"\" },\n assessmentName: \"\",\n score_1: 0,\n score_2: 0,\n scores: { score_1: 0, score_2: 0 },\n replayCount: 0,\n timerStart: false,\n playAudioClip: false,\n inputFields: {\n name: \"\",\n address: \"\",\n phoneNumber: \"\",\n cpin: \"\",\n shippingDetails: \"\",\n },\n audioClip: \"\",\n replay: false,\n countdownTimer: null,\n errors: {},\n startTime: null,\n Attempted: false,\n timeLeft: null,\n };\n }\n\n validate = () => {\n const schema = {\n name: Joi.string().max(20).required().label(\"Name\"),\n address: Joi.string().max(200).required().label(\"Address\"),\n phoneNumber: Joi.string().max(15).required().label(\"Phone Number\"),\n shippingDetails: Joi.string()\n .max(200)\n .required()\n .label(\"Shipping Details\"),\n cpin: Joi.string().max(20).required().label(\"CPIN\"),\n };\n const { inputFields } = this.state;\n const { error } = Joi.validate(inputFields, schema, { abortEarly: false });\n if (!error) return null;\n\n const errors = {};\n for (let item of error.details) {\n errors[item.path[0]] = item.message;\n }\n\n return errors;\n };\n\n playClip = (src) => {\n this.setState((prevState) => {\n return {\n playAudioClip: true,\n replayCount: prevState.replayCount + 1,\n };\n });\n };\n\n stopClip = () => {\n this.setState({\n playAudioClip: false,\n replay: true,\n });\n };\n\n handleAlert = () => {\n confirmAlert({\n title: \"Confirmer pour démarrer\",\n message: \"Êtes-vous sûr de commencer l'évaluation.\",\n closeOnEscape: false,\n closeOnClickOutside: false,\n buttons: [\n {\n className: \"mdk-confirm-yes\",\n label: \"Oui\",\n onClick: () => {\n this.setState({ countdownTimer: Date.now() + 180000 }); // Initialize countdown timer\n this.startAssessment();\n setTimeout(() => {\n this.focusInputField();\n }, 200);\n },\n },\n {\n className: \"mdk-confirm-no\",\n label: \"Non\",\n onClick: () => {\n window.removeEventListener(\"beforeunload\", this._confirm);\n window.removeEventListener(\"popstate\", this._backConfirm);\n window.location = \"/dataEntryAssessment\";\n },\n },\n ],\n });\n };\n\n startAssessment = () => {\n this.setState((prevState) => {\n return {\n timerStart: true,\n };\n });\n this.playClip();\n };\n\n handleInputChange = (event) => {\n const { name, value } = event.target;\n this.setState((prevState) => ({\n inputFields: {\n ...prevState.inputFields,\n [name]: value,\n },\n }));\n };\n\n checkInputAnswer_v2 = async (e, countDown) => {\n if (!countDown) {\n e.preventDefault();\n const errors = this.validate();\n this.setState({ errors: errors || {} });\n\n if (errors) return;\n }\n\n const { inputFields } = this.state;\n let total = 0;\n for (const key of Object.keys(q1_DataEntry_French)) {\n let similarity = 0;\n similarity = await compareTwoStrings(\n inputFields[key],\n q1_DataEntry_French[key]\n );\n total = total + similarity;\n }\n this.setState({ score_1: total }, () => this.handleSubmit_v2());\n };\n\n handleSubmit_v2 = async () => {\n const { t } = this.props\n try {\n this.setState({ timerStart: false });\n const { userId } = this.state.userInfo;\n const { assessmentName, score_1, replayCount } = this.state;\n const response = await submitDataEntryScore(\n userId,\n assessmentName,\n score_1,\n replayCount\n );\n showSuccessToast(t(`ListeningAssessmentQ4.${response.data.message}`));\n setTimeout(() => {\n this.props.history.push(\"/dataEntryAssessment\");\n localStorage.removeItem(\"attemptAndTimeListeningQ4\");\n }, 3000);\n } catch (ex) {\n if (ex.response && ex.response.status === 400) {\n showErrorToast(t(`mcqAssisment.${ex.response.data.message}`));\n }\n }\n };\n\n timercountdown = () => {\n //timerStartSignal and TimerTimeLimit\n if (this.state.timerStart) {\n return (\n \n
\n this.checkInputAnswer_v2(e, true)}\n />\n
\n
\n );\n }\n };\n\n saveDataToLocalStorage() {\n const attemptAndTimeListeningQ4 = {\n time: Date.now(),\n count:\n JSON.parse(localStorage.getItem(\"attemptAndTimeListeningQ4\"))?.count +\n 1 || 1,\n countdownTimer: Math.abs(this.state.countdownTimer),\n selectedAnswers: this.state.selectedAnswers,\n inputFields: this.state.inputFields,\n replayCount: this.state.replayCount,\n };\n localStorage.setItem(\n \"attemptAndTimeListeningQ4\",\n JSON.stringify(attemptAndTimeListeningQ4)\n );\n }\n\n componentWillUnmount() {\n window.removeEventListener(\"beforeunload\", this._confirm);\n window.removeEventListener(\"popstate\", this._backConfirm);\n this.saveDataToLocalStorage();\n }\n\n _backConfirm = (e) => {\n const { t } = this.props\n this.saveDataToLocalStorage();\n if (!this.state.submitDataFlag) {\n e.preventDefault();\n let event = window.confirm(t(\"common.Changes that you may not be saved.\"));\n if (event) {\n window.history.back();\n } else {\n window.history.pushState(null, \"\", window.location.href);\n }\n }\n };\n\n _confirm = (e) => {\n const { t } = this.props\n this.saveDataToLocalStorage();\n if (!this.state.submitDataFlag) {\n var confirmationMessage = t(\"common.Do you want to leave this page.\");\n e.returnValue = confirmationMessage;\n return confirmationMessage;\n }\n };\n\n async componentDidMount() {\n window.addEventListener(\"beforeunload\", this._confirm);\n window.addEventListener(\"popstate\", this._backConfirm);\n window.history.pushState(null, \"\", window.location.href);\n try {\n const user = await getCurrentUser();\n this.setState({ userInfo: { userId: user._id } });\n this.setState({ assessmentName: \"Assessment French\" });\n } catch (ex) {}\n\n const localData = JSON.parse(\n localStorage.getItem(\"attemptAndTimeListeningQ4\")\n );\n const timestamp1 = localData?.time;\n const timestamp2 = Date.now();\n const difference = Math.abs(timestamp1 - timestamp2);\n const threeMinutesInMilliseconds = 3 * 60 * 1000;\n let reAttempt = false;\n if (difference <= threeMinutesInMilliseconds) {\n reAttempt = true;\n }\n if (localData && reAttempt) {\n const timeLeft = Math.abs(localData.countdownTimer - localData.time);\n this.setState({ Attempted: true });\n this.setState({ timeLeft: timeLeft });\n this.setState({ inputFields: localData?.inputFields });\n this.setState({ replayCount: localData?.replayCount });\n\n this.setState({\n countdownTimer: Date.now() + timeLeft,\n });\n this.startAssessment();\n setTimeout(() => {\n this.focusInputField();\n }, 200);\n } else {\n this.handleAlert();\n }\n const language = localStorage.getItem(\"selectedLanguage\")\n this.i18n.changeLanguage(language);\n }\n\n focusInputField = () => {\n this.inputRef.current.focus();\n };\n\n render() {\n const { inputFields, playAudioClip, replay, errors } = this.state;\n const { t, i18n } = this.props;\n return (\n
\n
\n
\n
\n
\n
\n \n {t('ListeningAssessmentQ4.Please submit once you have completed answering the question.')}\n {t('ListeningAssessmentQ4.Do not change pages untill submitted successfully.')}\n

\n \n {t('ListeningAssessmentQ4.Page will refresh automatically once submitted.')}\n

\n \n {t('ListeningAssessmentQ4.Play the Audio and fill in the form accordingly. Replay to listen again. Remember number of replays/attempts are recorded.')}\n
\n
\n
\n
\n
\n
\n {/*
*/}\n
\n {this.state.timerStart && this.timercountdown()}{\" \"}\n
\n {/*
*/}\n
\n
\n {\" \"}\n \n {replay ? t(`ListeningAssessmentQ4.Replay Audio`) : t(`ListeningAssessmentQ4.Playing...`)}\n \n
\n
\n
\n
\n
\n
\n
\n
\n {Object.keys(inputFields).map((field, index, array) => (\n \n
\n \n {field === array[array.length - 1] ? (\n \n ) : (\n \n )}\n {errors[field] && (\n
{errors[field]}
\n )}\n
\n
\n ))}\n
\n
\n \n SOUMETTRE\n \n
\n
\n
\n
\n
\n
\n
\n \n
\n \n );\n }\n}\n\nexport default withTranslation()(DataEntryPanel_q4)","import React, { Component } from \"react\";\nimport { Redirect, Route, Switch } from \"react-router-dom\";\nimport jwtDecode from \"jwt-decode\";\nimport \"bootstrap/dist/css/bootstrap.css\";\nimport \"font-awesome/css/font-awesome.css\";\nimport Loadable from \"react-loadable\";\n\nimport { hotjar } from \"react-hotjar\";\nimport * as amplitude from \"@amplitude/analytics-browser\";\n// import { track, identify, setGroup, groupIdentify, Identify } from '@amplitude/analytics-browser';\n\n// import { env } from 'process';\nimport { ToastContainer } from \"react-toastify\";\nimport \"react-toastify/dist/ReactToastify.css\";\n\nimport \"./../designStyles/Home_Page_Files/css/custom_v2.css\";\nimport \"./../designStyles/Home_Page_Files/css/stellarnav.css\";\nimport \"./../designStyles/Home_Page_Files/css/animate.css\";\nimport \"./../designStyles/Home_Page_Files/css/mobile-responsive.css\";\n\nimport { getOneUser } from \"../services/userService\";\n\n/**Components Import */\n\n// import ProtectedRoutes from \"./common/protectedRoute\";\nimport NavBar from \"./NavBar_v2\";\nimport LoginForm from \"./LoginForm_v2\";\nimport ForgetPass from \"./ForgetPass\";\nimport UpdatePassword from \"./ForceUpdatePass_v2\";\nimport RegisterForm from \"./SignUpForm_v2\";\nimport Logout from \"./Logout\";\nimport UserProfileCustom from \"./UserProfileCustom\";\n\nimport AssessmentModuleTypeMain from \"./AssessmentModuleTypeMain_v1\";\n\nimport AssessmentForm from \"./allMCQAssessmentTypeFiles/AssessmentForm\";\nimport ModuleForm from \"./allMCQAssessmentTypeFiles/ModuleForm\";\nimport DataEntryModuleMain from \"./allDEntryAssessmentTypeFiles/DataEntryMain\";\nimport DataEntryPanel_q1 from \"./allDEntryAssessmentTypeFiles/DataEntryPanel_q1\";\nimport DataEntryPanel_q2 from \"./allDEntryAssessmentTypeFiles/DataEntryPanel_q2\";\nimport DataEntryPanel_q3 from \"./allDEntryAssessmentTypeFiles/DataEntryPanel_q3\";\n\nimport TypingAssessment from \"./allTypingAssessmentTypeFiles_v2/TypingMain\";\n\nimport WritingModuleMain from \"./allWritingAssessmentTypeFiles/writingModuleMain\";\nimport SpeechAssessmentMain from \"./allSpeechAssessmentTypeFiles/SpeechAssessmentMain\";\nimport SpeechPanel from \"./allSpeechAssessmentTypeFiles/SpeechAnalysisPanel_v2\";\n\nimport ExportAnalytics from \"./CustomAnalytics_v1\";\n// import Performance_v2 from \"./Performance_v2\";\n// import Performance from \"./Performance_v4\";\n\n// import Header from \"./Header\";\n//import Performance from \"./Performance\";\n//import HomePageMn from './HomePageMn';\n// import AssessmentViewOne from './AllAssessmentsDb';\n// import DashboardMain from \"./DashboardMain\";\n\n// import LoginForm from './LoginForm';\n// import RegisterForm from './SignUpForm';\n\n// import AssessmentPanel from './AssessmentPanelMn';\n\n// import IdleLogout from \"./utils/checkIdleLogout\";\n\nimport UserContext from \"./commonContext/userContext\";\n\nimport \"./App.css\";\nimport DataEntryPanel_q4 from \"./allDEntryAssessmentTypeFiles/DataEntryPanel_q4\";\n\nfunction Loading({ error }) {\n if (error) {\n return \"Oh-noes..Something wrong happened!\";\n } else {\n return

Loading...

;\n }\n}\n\nconst HomePageMn = Loadable({\n loader: () => import(\"./HomePageMn\"),\n loading: Loading,\n});\n\nconst Header = Loadable({\n loader: () => import(\"./Header\"),\n loading: Loading,\n});\n\nconst DashboardMain = Loadable({\n loader: () => import(\"./DashboardMain\"),\n loading: Loading,\n});\n\nconst AssessmentPanel = Loadable({\n loader: () => import(\"./allMCQAssessmentTypeFiles/AssessmentPanelMn\"),\n loading: Loading,\n});\n\nconst AssessmentViewOne = Loadable({\n loader: () => import(\"./allMCQAssessmentTypeFiles/AllAssessmentsDb\"),\n loading: Loading,\n});\n\nconst Performance = Loadable({\n loader: () => import(\"./Performance_v5\"),\n loading: Loading,\n});\n\n//Main App Component\n\nclass App extends Component {\n state = {\n isOpen: false,\n };\n appInitiation = async () => {\n try {\n const jwt = localStorage.getItem(\"token\");\n const user_imp = jwtDecode(jwt);\n const { data: user } = await getOneUser(user_imp._id);\n this.setState({ user });\n this.setState({ user_imp: user_imp });\n // console.log(user);\n if (process.env.NODE_ENV === \"production\") {\n console.log(process.env.NODE_ENV);\n hotjar.initialize(\n process.env.REACT_APP_HOTJAR_KEY,\n process.env.REACT_APP_HOTJAR_VER\n );\n if (hotjar.initialized()) {\n hotjar.identify(\"USER_ID\", { userProperty: user_imp._id });\n }\n\n amplitude.init(process.env.REACT_APP_AMPLITUDE_KEY, user_imp._id, {\n defaultTracking: {\n sessions: true,\n pageViews: true,\n formInteractions: true,\n fileDownloads: true,\n },\n });\n\n const event = new amplitude.Identify();\n event.set(\"User_ID\", user_imp._id);\n }\n } catch (ex) {\n // console.log(\"No active user found\")\n }\n };\n\n componentDidMount() {\n this.appInitiation();\n }\n\n render() {\n const { user , isOpen} = this.state;\n // const { user_imp } = this.state;\n return (\n \n \n \n
\n {/* {user && } */}\n\n
\n
\n {!user && (\n
\n \n \n \n \n\n {\n return (\n \n );\n }}\n />\n\n {\n return (\n \n );\n }}\n />\n \n
\n )}\n
\n {user &&
{}
}\n {user && (\n
\n {user && (\n
\n {/*Header*/}\n
\n
\n )}\n
\n
\n {user && (\n
\n \n \n {user ? (\n \n ) : (\n \n )}\n {\n if (!user) return ;\n return (\n \n );\n }}\n />\n {user && {\n if (!user) return ;\n return (\n \n );\n }}\n />}\n {\n if (!user) return ;\n return (\n \n );\n }}\n />\n {/* */}\n \n \n \n\n {user.assignedDEAssessments && (\n \n )}\n {user.assignedDEAssessments && (\n \n )}\n {user.assignedDEAssessments && (\n \n )}\n {user.assignedDEAssessments && (\n \n )}\n {user.assignedDEAssessments && (\n \n )}\n {user.assignedTSAssessments && (\n \n )}\n {user.assignedEWAssessments && (\n \n )}\n {user.assignedSAAssessments && (\n \n )}\n {user.assignedSAAssessments && (\n \n )}\n \n \n \n \n \n \n
\n )}\n
\n
\n
\n )}\n
\n
\n
\n
\n \n
\n );\n }\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport \"./index.css\";\nimport App from \"./components/App\";\nimport logger from \"./services/logService\";\nimport * as serviceWorker from \"./serviceWorker\";\nimport './i18n';\n\nimport { BrowserRouter } from \"react-router-dom\";\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","import React from 'react'\n\nconst SelectDropDown = ({name,label,options,error, ...rest}) => {\n return ( \n
\n \n \n\n {error &&
{error}
}\n\n\n
\n );\n}\n \nexport default SelectDropDown;","import React, { Component } from \"react\";\nimport Joi from \"joi-browser\";\nimport Input from \"./input\";\nimport SelectDropDown from \"./selectDrop\";\nimport \"./../../designStyles/AllForms.css\";\nimport VisibilityIcon from '@material-ui/icons/Visibility';\nimport VisibilityOffIcon from '@material-ui/icons/VisibilityOff';\n\nclass Form extends Component {\n state = {\n data: {},\n errors: {},\n };\n\n\n validate = () => {\n const options = { abortEarly: false };\n const { error } = Joi.validate(this.state.data, this.schema, options);\n if (!error) return null;\n\n const errors = {};\n for (let item of error.details) errors[item.path[0]] = item.message;\n return errors;\n };\n\n validateProperty = ({ name, value }) => {\n const obj = { [name]: value };\n const schema = { [name]: this.schema[name] };\n const { error } = Joi.validate(obj, schema);\n return error ? error.details[0].message : null;\n };\n\n handleSubmit = (e) => {\n e.preventDefault();\n const errors = this.validate();\n this.setState({ errors: errors || {} });\n if (errors) return;\n\n this.doSubmit();\n };\n\n handleChange = ({ currentTarget: input }) => {\n const errors = { ...this.state.errors };\n const errorMessage = this.validateProperty(input);\n if (errorMessage) errors[input.name] = errorMessage;\n else delete errors[input.name];\n\n const data = { ...this.state.data };\n data[input.name] = input.value;\n\n this.setState({ data, errors });\n };\n\n\n renderButton(label) {\n return (\n \n {label}\n \n );\n }\n\n renderSelect(name, label, options) {\n const { data, errors } = this.state;\n return (\n \n );\n }\n\n renderhandleAddInput(label) {\n return ;\n }\n\n renderhandleRemoveInput(label) {\n return ;\n }\n\n\n renderInput(name, label, userUuid, type = \"text\") {\n const { data, errors } = this.state;\n const { t } = this.props\n let err;\n if(errors[name]?.includes('\"Email Id\" is not allowed')){\n err = errors[name] && t(`LogIn.${errors[name]?.replace(/\"Email ID\"/g, 'Email ID')}`)\n } else if (errors[name]?.includes('\"Username\" is not allowed to be empty')){\n err = errors[name] && t(`Register.${errors[name]?.replace(/\"Username\"/g, 'Username')}`)\n } else if (errors[name]?.includes('\"Email\" length must be at least 5 characters long')){\n err = errors[name] && t(`Register.${errors[name]?.replace(/\"Email\"/g, 'Email')}`)\n } else if (errors[name]?.includes('\"Email\" must be a valid email')){\n err = errors[name] && t(`Register.${errors[name]?.replace(/\"Email\"/g, 'Email')}`)\n } else if (errors[name]?.includes('\"Email ID\" must be a valid email')){\n err = errors[name] && t(`LogIn.${errors[name]?.replace(/\"Email ID\"/g, 'Email ID')}`)\n } else if (errors[name]?.includes('\"Email ID\" is not allowed to be empty')){\n err = errors[name] && t(`LogIn.${errors[name]?.replace(/\"Email ID\"/g, 'Email ID')}`)\n } else if (errors[name]?.includes('User already registered.')){\n err = errors[name] && t(`LogIn.${errors[name]}`)\n } else if (errors[name]?.includes('\"Username\" length must be at least 5 characters long')){\n err = errors[name] && t(`LogIn.${errors[name]?.replace(/\"Username\"/g, 'Username')}`)\n } else if (errors[name]?.includes('\"Email\" is not allowed to be empty')){\n err = errors[name] && t(`LogIn.${errors[name]?.replace(/\"Email\"/g, 'Email')}`)\n }\n return (\n \n );\n }\n\n handleChangePassword = (e, label) => {\n const { name, value } = e.target;\n const { t } = this.props\n let error = null;\n if (name === \"newPassword\" || label==\"Password*\" || label === \"Mot de passe*\") {\n const passwordRegex = /^(?=.*[A-Z])(?=.*[0-9])/;\n if (value.length < 8) {\n error = `${name === \"newPassword\" ? t(\"Register.New Password\") : t(\"Register.Password\")} ${t(\"Register.should be at least 8 characters long\")}`;\n } else if (!passwordRegex.test(value)) {\n error = `${name === \"newPassword\" ? t(\"Register.New Password\") : t(\"Register.Password\")} ${t(\"Register.should contain at least one capital letter and one digit\")}`;\n }\n }\n this.setState((prevState) => ({\n data: {\n ...prevState.data,\n [name]: value\n },\n errors: {\n ...prevState.errors,\n [name]: error\n }\n }));\n };\n \n renderPassword(name, label, type = \"text\") {\n const { data, errors } = this.state;\n const showPassword = this.state[`showPassword_${name}`] || false;\n \n const handleTogglePassword = () => {\n this.setState((prevState) => ({\n [`showPassword_${name}`]: !prevState[`showPassword_${name}`]\n }));\n };\n \n \n return (\n
\n \n
\n this.handleChangePassword(event, label)}\n error={errors[name]}\n />\n \n {showPassword ? : }\n \n
\n
\n );\n }\n \n \n}\n\nexport default (Form);","export const location_options= [\n { id:1,value: \"USA\", label: \"USA\" },\n { id:2,value: \"Jamaica\", label: \"Jamaica\" },\n { id:3,value: \"El Salvador\", label: \"El Salvador\" },\n { id:4,value: \"Philippiness\", label: \"Philippines\" },\n { id:5,value: \"Mexico\", label: \"Mexico\"},\n\n { id:6,value: \"India-Kolkata\", label: \"India-Kolkata\" },\n { id:7,value: \"India-Mohali\", label: \"India-Mohali\" },\n { id:8,value: \"India-Mumbai\", label: \"India-Mumbai\"},\n { id:9,value: \"India-Chennai\", label: \"India-Chennai\"},\n { id:10,value: \"India-Kochi\", label: \"India-Kochi\"},\n { id:11,value: \"India-Noida\", label: \"India-Noida\"},\n { id:12,value: \"India-Howrah\", label: \"India-Howrah\"},\n { id:13,value: \"India-Kalyani\", label: \"India-Kalyani\"},\n { id:14,value: \"India-Durgapur\", label: \"India-Durgapur\"},\n { id:15,value: \"India-Other\", label: \"India-Other\" },\n { id:16,value: \"Colombia\", label: \"Colombia\" },\n { id:17,value: \"Morocco–Casablanca\", label: \"Morocco–Casablanca\"},\n { id:18,value: \"Albania\", label: \"Albania\"},\n { id:19,value: \"France-Paris\", label: \"France-Paris\"},\n { id:20,value: \"Kosovo\", label: \"Kosovo\"},\n { id:21,value: \"UK-London\", label: \"UK-London\"},\n { id:22,value: \"Mexico\", label: \"Mexico\"},\n { id:23,value: \"Belize\", label: \"Belize\"},\n { id:24,value: \"Canada-Montreal\", label: \"Canada-Montreal\"},\n { id:25,value: \"USA-Atlanta\", label: \"USA-Atlanta\"},\n { id:26,value: \"USA-Cambridge W@H\", label: \"USA-Cambridge W@H\"},\n { id:27,value: \"USA-Draper\", label: \"USA-Draper\"},\n { id:28,value: \"USA-Higbee\", label: \"USA-Higbee\"},\n { id:29,value: \"USA-Spindale\", label: \"USA-Spindale\"},\n { id:30,value: \"USA-Utah\", label: \"USA-Utah\"},\n { id:31,value: \"USA-Florida\", label: \"USA-Florida\"},\n { id:32,value: \"India-Bengaluru\", label: \"India-Bengaluru\"},\n { id:33,value: \"India-Chandigarh\", label: \"India-Chandigarh\"},\n { id:34,value: \"Indonesia\", label: \"Indonesia\"},\n { id:35,value: \"Philippines-Cebu\", label: \"Philippines-Cebu\"},\n { id:36,value: \"Philippines-Legazpi\", label: \"Philippines-Legazpi\"},\n { id:37,value: \"Philippines-Manila\", label: \"Philippines-Manila\"},\n { id:38,value: \"Philippines-Ortigas\", label: \"Philippines-Ortigas\"},\n { id:39,value: \"Philippines-Silang\", label: \"Philippines-Silang\"},\n { id:40,value: \"Thailand\", label: \"Thailand\"}\n];\n\nexport const location_options_In_French = [\n { id: 1, value: \"USA\", label: \"États-Unis\" },\n { id: 2, value: \"Jamaica\", label: \"Jamaïque\" },\n { id: 3, value: \"El Salvador\", label: \"Le Salvador\" },\n { id: 4, value: \"Philippiness\", label: \"Philippines\" },\n { id: 5, value: \"Mexico\", label: \"Mexique\" },\n { id: 6, value: \"India-Kolkata\", label: \"Inde-Kolkata\" },\n { id: 7, value: \"India-Mohali\", label: \"Inde-Mohali\" },\n { id: 8, value: \"India-Mumbai\", label: \"Inde-Mumbai\" },\n { id: 9, value: \"India-Chennai\", label: \"Inde-Chennai\" },\n { id: 10, value: \"India-Kochi\", label: \"Inde-Kochi\" },\n { id: 11, value: \"India-Noida\", label: \"Inde-Noida\" },\n { id: 12, value: \"India-Howrah\", label: \"Inde-Howrah\" },\n { id: 13, value: \"India-Kalyani\", label: \"Inde-Kalyani\" },\n { id: 14, value: \"India-Durgapur\", label: \"Inde-Durgapur\" },\n { id: 15, value: \"India-Other\", label: \"Inde-Autre\" },\n { id: 16, value: \"Colombia\", label: \"Colombie\" },\n { id: 17, value: \"Morocco–Casablanca\", label: \"Maroc–Casablanca\" },\n { id: 18, value: \"Albania\", label: \"Albanie\" },\n { id: 19, value: \"France-Paris\", label: \"France-Paris\" },\n { id: 20, value: \"Kosovo\", label: \"Kosovo\" },\n { id: 21, value: \"UK-London\", label: \"Royaume-Uni-Londres\" },\n { id: 22, value: \"Mexico\", label: \"Mexique\" },\n { id: 23, value: \"Belize\", label: \"Belize\" },\n { id: 24, value: \"Canada-Montreal\", label: \"Canada-Montréal\" },\n { id: 25, value: \"USA-Atlanta\", label: \"États-Unis-Atlanta\" },\n { id: 26, value: \"USA-Cambridge W@H\", label: \"États-Unis-Cambridge W@H\" },\n { id: 27, value: \"USA-Draper\", label: \"États-Unis-Draper\" },\n { id: 28, value: \"USA-Higbee\", label: \"États-Unis-Higbee\" },\n { id: 29, value: \"USA-Spindale\", label: \"États-Unis-Spindale\" },\n { id: 30, value: \"USA-Utah\", label: \"États-Unis-Utah\" },\n { id: 31, value: \"USA-Florida\", label: \"États-Unis-Floride\" },\n { id: 32, value: \"India-Bengaluru\", label: \"Inde-Bangalore\" },\n { id: 33, value: \"India-Chandigarh\", label: \"Inde-Chandigarh\" },\n { id: 34, value: \"Indonesia\", label: \"Indonésie\" },\n { id: 35, value: \"Philippines-Cebu\", label: \"Philippines-Cebu\" },\n { id: 36, value: \"Philippines-Legazpi\", label: \"Philippines-Legazpi\" },\n { id: 37, value: \"Philippines-Manila\", label: \"Philippines-Manille\" },\n { id: 38, value: \"Philippines-Ortigas\", label: \"Philippines-Ortigas\" },\n { id: 39, value: \"Philippines-Silang\", label: \"Philippines-Silang\" },\n { id: 40, value: \"Thailand\", label: \"Thaïlande\" }\n];\n\nexport const location_filter= [\n { id:1,value:\"All\",label:\"All\"},\n { id:2,value: \"USA\", label: \"USA\" },\n { id:3,value: \"Jamaica\", label: \"Jamaica\" },\n { id:4,value: \"El Salvador\", label: \"El Salvador\" },\n { id:5,value: \"Philippines\", label: \"Philippines\" },\n { id:6,value: \"Mexico\", label: \"Mexico\"},\n\n { id:7,value: \"India-Kolkata\", label: \"India-Kolkata\" },\n { id:8,value: \"India-Mohali\", label: \"India-Mohali\" },\n { id:9,value: \"India-Mumbai\", label: \"India-Mumbai\"},\n { id:10,value: \"India-Chennai\", label: \"India-Chennai\"},\n { id:11,value: \"India-Kochi\", label: \"India-Kochi\"},\n { id:12,value: \"India-Noida\", label: \"India-Noida\"},\n { id:13,value: \"India-Howrah\", label: \"India-Howrah\"},\n { id:14,value: \"India-Kalyani\", label: \"India-Kalyani\"},\n { id:15,value: \"India-Durgapur\", label: \"India-Durgapur\"},\n { id:16,value: \"India-Other\", label: \"India-Other\" },\n { id:17,value: \"Colombia\", label: \"Colombia\" },\n { id:18,value: \"Morocco–Casablanca\", label: \"Morocco–Casablanca\" },\n { id:19,value: \"Albania\", label: \"Albania\"},\n { id:20,value: \"France-Paris\", label: \"France-Paris\"},\n { id:21,value: \"Kosovo\", label: \"Kosovo\"},\n { id:22,value: \"UK-London\", label: \"UK-London\"},\n { id:23,value: \"Mexico\", label: \"Mexico\"},\n { id:24,value: \"Belize\", label: \"Belize\"},\n { id:25,value: \"Canada-Montreal\", label: \"Canada-Montreal\"},\n { id:26,value: \"USA-Atlanta\", label: \"USA-Atlanta\"},\n { id:27,value: \"USA-Cambridge W@H\", label: \"USA-Cambridge W@H\"},\n { id:28,value: \"USA-Draper\", label: \"USA-Draper\"},\n { id:29,value: \"USA-Higbee\", label: \"USA-Higbee\"},\n { id:30,value: \"USA-Spindale\", label: \"USA-Spindale\"},\n { id:31,value: \"USA-Utah\", label: \"USA-Utah\"},\n { id:32,value: \"USA-Florida\", label: \"USA-Florida\"},\n { id:33,value: \"India-Bengaluru\", label: \"India-Bengaluru\"},\n { id:34,value: \"India-Chandigarh\", label: \"India-Chandigarh\"},\n { id:35,value: \"Indonesia\", label: \"Indonesia\"},\n { id:36,value: \"Philippines-Cebu\", label: \"Philippines-Cebu\"},\n { id:37,value: \"Philippines-Legazpi\", label: \"Philippines-Legazpi\"},\n { id:38,value: \"Philippines-Manila\", label: \"Philippines-Manila\"},\n { id:39,value: \"Philippines-Ortigas\", label: \"Philippines-Ortigas\"},\n { id:40,value: \"Philippines-Silang\", label: \"Philippines-Silang\"},\n { id:41,value: \"Thailand\", label: \"Thailand\"}\n];\n\nexport const location_filter_In_French = [\n { id: 1, value: \"All\", label: \"Tout\" },\n { id: 2, value: \"USA\", label: \"États-Unis\" },\n { id: 3, value: \"Jamaica\", label: \"Jamaïque\" },\n { id: 4, value: \"El Salvador\", label: \"Le Salvador\" },\n { id: 5, value: \"Philippines\", label: \"Philippines\" },\n { id: 6, value: \"Mexico\", label: \"Mexique\" },\n { id: 7, value: \"India-Kolkata\", label: \"Inde-Kolkata\" },\n { id: 8, value: \"India-Mohali\", label: \"Inde-Mohali\" },\n { id: 9, value: \"India-Mumbai\", label: \"Inde-Mumbai\" },\n { id: 10, value: \"India-Chennai\", label: \"Inde-Chennai\" },\n { id: 11, value: \"India-Kochi\", label: \"Inde-Kochi\" },\n { id: 12, value: \"India-Noida\", label: \"Inde-Noida\" },\n { id: 13, value: \"India-Howrah\", label: \"Inde-Howrah\" },\n { id: 14, value: \"India-Kalyani\", label: \"Inde-Kalyani\" },\n { id: 15, value: \"India-Durgapur\", label: \"Inde-Durgapur\" },\n { id: 16, value: \"India-Other\", label: \"Inde-Autre\" },\n { id: 17, value: \"Colombia\", label: \"Colombie\" },\n { id: 18, value: \"Morocco–Casablanca\", label: \"Maroc–Casablanca\" },\n { id: 19, value: \"Albania\", label: \"Albanie\" },\n { id: 20, value: \"France-Paris\", label: \"France-Paris\" },\n { id: 21, value: \"Kosovo\", label: \"Kosovo\" },\n { id: 22, value: \"UK-London\", label: \"Royaume-Uni-Londres\" },\n { id: 23, value: \"Mexico\", label: \"Mexique\" },\n { id: 24, value: \"Belize\", label: \"Belize\" },\n { id: 25, value: \"Canada-Montreal\", label: \"Canada-Montréal\" },\n { id: 26, value: \"USA-Atlanta\", label: \"États-Unis-Atlanta\" },\n { id: 27, value: \"USA-Cambridge W@H\", label: \"États-Unis-Cambridge W@H\" },\n { id: 28, value: \"USA-Draper\", label: \"États-Unis-Draper\" },\n { id: 29, value: \"USA-Higbee\", label: \"États-Unis-Higbee\" },\n { id: 30, value: \"USA-Spindale\", label: \"États-Unis-Spindale\" },\n { id: 31, value: \"USA-Utah\", label: \"États-Unis-Utah\" },\n { id: 32, value: \"USA-Florida\", label: \"États-Unis-Floride\" },\n { id: 33, value: \"India-Bengaluru\", label: \"Inde-Bangalore\" },\n { id: 34, value: \"India-Chandigarh\", label: \"Inde-Chandigarh\" },\n { id: 35, value: \"Indonesia\", label: \"Indonésie\" },\n { id: 36, value: \"Philippines-Cebu\", label: \"Philippines-Cebu\" },\n { id: 37, value: \"Philippines-Legazpi\", label: \"Philippines-Legazpi\" },\n { id: 38, value: \"Philippines-Manila\", label: \"Philippines-Manille\" },\n { id: 39, value: \"Philippines-Ortigas\", label: \"Philippines-Ortigas\" },\n { id: 40, value: \"Philippines-Silang\", label: \"Philippines-Silang\" },\n { id: 41, value: \"Thailand\", label: \"Thaïlande\" }\n];\n\nexport const Language = [\n { id:1,value: \"en\", label: \"English\" },\n { id:2,value: \"fr\", label: \"Français\" }\n]\nexport default {location_options,location_filter};\n","import http from \"../httpService\";\n\nconst apiEndpointDE = \"/userScoreDataEntry\";\n\nfunction assessmentScoreUrl(userId) {\n return `${apiEndpointDE}/${userId}`;\n }\n\n export function getDataEntryScore(userId) {\n return http.get(assessmentScoreUrl(userId));\n }\n\n export function submitDataEntryScore(userId,assessmentName,score_1,score_2) {\n \n return http.post(apiEndpointDE, {\n userId:userId,\n assessmentName:assessmentName,\n score1:score_1.toString(),\n score2:score_2.toString()\n });\n }","import http from \"./httpService\";\nimport _ from \"lodash\";\n\n\nconst apiEndpoint = \"/user\";\n\nfunction userUrl(userId) {\n return `${apiEndpoint}/${userId}`;\n}\n\nexport function getUsers() {\n return http.get(apiEndpoint);\n}\nexport function getUsersCount() {\n return http.get(apiEndpoint+\"/usercount\");\n}\n\nexport function getUsersList(page,limit,search,filter) {\n let para = new URLSearchParams();\n para.append(\"_page\",page);\n para.append(\"_limit\",limit);\n if(search){\n para.append(\"q\",search);\n }\n // if(_.find(filter, {field:\"q\"})){\n // para.append(\"q\",_.get(_.find(filter, {field:\"q\"}),\"value\"));\n // }\n if(_.find(filter, {field:\"name\"})){\n para.append(\"name\",_.get(_.find(filter, {field:\"name\"}),\"value\"));\n }\n if(_.find(filter, {field:\"email\"})){\n para.append(\"email\",_.get(_.find(filter, {field:\"email\"}),\"value\"));\n }\n if(_.find(filter, {field:\"userLocation\"})){\n para.append(\"location\",_.get(_.find(filter, {field:\"userLocation\"}),\"value\"));\n }\n if(_.find(filter, {field:\"registrationTime\"})){\n para.append(\"registrationTime\",_.get(_.find(filter, {field:\"registrationTime\"}),\"value\"));\n }\n if(_.find(filter, {field:\"recruitmentStatus\"})){\n para.append(\"recruitmentStatus\",_.get(_.find(filter, {field:\"recruitmentStatus\"}),\"value\"));\n }\n // para.append(\"_page\",page)\n // para.append(\"_page\",page)\n let request = {\n params:para\n };\n return http.get(apiEndpoint+\"/listUser\",request);\n}\n\nexport function getUsersArchived() {\n return http.get(apiEndpoint+\"/archivedUser\");\n}\n\nexport function getOneUser(userId){\n return http.get(userUrl(userId));\n}\n\nexport function deleteUser(userId){\n return http.delete(apiEndpoint + \"/\" + userId);\n}\n\nexport function updateUserProfile(user){\n const finalEndpoint = apiEndpoint +\"/userProfileCustomUpdate/\"\n if (user._id) {\n const body = { ...user };\n delete body._id;\n // return http.put(userUrl(user._id), body);\n return http.put(finalEndpoint + user._id,body)\n }\n}\n\nexport function registerUser(user){\n return http.post(apiEndpoint , {\n name:user.username,\n email:user.email,\n password:user.password,\n userLocation:user.userLocation,\n })\n}","import http from \"./httpService\";\n\nconst apiEndpoint = \"/MCQAssessments\";\n\nfunction assessmentUrl(id) {\n return `${apiEndpoint}/${id}`;\n}\n\nexport function getAssessments() {\n return http.get(apiEndpoint);\n}\n\nexport function getAssessment(id) {\n return http.get(assessmentUrl(id));\n}\n\nexport function saveAssessment(title_ , moduleId_ , questionSet_) {\n /*{ if (assessment._id) {\n const body = { ...assessment };\n delete body._id;\n return http.put(assessmentUrl(assessment._id), body);\n }\n}*/\n return http.post(apiEndpoint, {\n title:title_,\n moduleId:moduleId_,\n questionSet : questionSet_\n\n });\n}\n\nexport function deleteAssessment(assessmentId) {\n return http.delete(assessmentUrl(assessmentId));\n}\n","import http from \"./httpService\";\n\nconst apiEndpoint = \"/allModules\";\n\nfunction moduleUrl(id) {\n return `${apiEndpoint}/${id}`;\n}\n\n\nexport function getModules() {\n return http.get(apiEndpoint);\n}\n\n\nexport function saveModule(module) {\n if (module._id) {\n const body = { ...module };\n delete body._id;\n return http.put(moduleUrl(module._id), body);\n }\n return http.post(apiEndpoint, module);\n}\n\n\n","import React from 'react';\n\nconst Input = ({type,name , label , value , onChange , error,inputRef, disabled}) => {\n return ( \n
\n \n \n { error &&
{error}
}\n
\n );\n}\n \nexport default Input;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"app_container__1o_Eg\",\"leftSideInContainer\":\"app_leftSideInContainer__2CyuS\",\"rightSideInContainer\":\"app_rightSideInContainer__1QYCY\",\"startButton\":\"app_startButton__3wwuv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"style_main__2EGVx\",\"ended_div\":\"style_ended_div__VU5y0\",\"ended_div_author_span\":\"style_ended_div_author_span__13VxX\",\"last_section_div\":\"style_last_section_div__2v1qQ\",\"started_div\":\"style_started_div__2Eoiq\",\"started_div_active\":\"style_started_div_active__2vF39\",\"started_div_active_is_error\":\"style_started_div_active_is_error__2PAA9\",\"flash\":\"style_flash__1bkVq\"};"],"sourceRoot":""}