{"version":3,"sources":["pods/Intro.js","assets/gmr_logo_light.png","utils/NetworkSettings.js","assets/gmr_avatar.png","httpClient/RestApi.js","router/Routes.js","assets/user_avatar.jpeg","pods/SamlCallback.js","pods/MainNavbar.js","applications/ManageUsers/AddUser.js","applications/ManageUsers/ManageUsers.js","httpClient/Charts.js","applications/Charts/components/InputList.js","applications/Charts/components/MultiSelect.js","applications/Charts/components/ImageUploader.js","applications/Charts/components/DatePicker.js","applications/Charts/ChartQuestions.js","applications/Charts/ChartDetails.js","applications/Charts/Charts.js","pods/Dashboard.js","context/InfoContext.js","httpClient/Authentication.js","assets/gmr_logo.png","App.js","serviceWorker.js","index.js"],"names":["Intro","error","loadingProp","useContext","InfoContext","info","setInfo","useState","loading","setLoading","loadingOkta","setLoadingOkta","errorMessage","setErrorMessage","successMessage","setSuccessMessage","loginScreen","setLoginScreen","employeeNumber","fullName","email","password","confirmPassword","userRecord","setUserRecord","useEffect","navigate","updateUserRecord","useCallback","e","target","name","value","validateInput","preventDefault","test","loginUser","createAccount","encryptedPassword","sha256","AuthenticationClient","then","data","catch","err","response","Message","registerUser","className","src","logo","alt","length","aria-label","onClick","onSubmit","htmlFor","type","placeholder","onChange","required","disabled","samlCallbackUrl","window","location","origin","href","fullApiUrl","module","exports","RestApi","instance","axios","create","baseURL","headers","this","state","restApi","requestUrl","get","message","status","logOutAdmin","params","post","put","delete","Routes","__dirname","SamlCallback","parsed","queryString","parse","search","hash","Email","loginOktaUser","MainNavbar","Container","fluid","Row","Col","gmr_logo_light","Button","variant","initialUserRecord","AddUser","show","setShow","isValidated","setIsValidated","splitEmail","split","domain","toLowerCase","addUser","handleClose","Modal","backdrop","onHide","Header","closeButton","Title","Body","Footer","Spinner","as","animation","size","role","aria-hidden","ManageUsers","currentRecord","setCurrentRecord","currentUserRecordLoading","userListLoading","baseListLoading","reloadCurrentRecord","setReloadCurrentRecord","portalUsersList","setPortalUsersList","filteredPortalUsersList","setFilteredPortalUsersList","copaBasesList","setCopaBasesList","filteredCopaBasesList","setFilteredCopaBasesList","updateLoading","key","fetchAllUsers","id","userRecords","fetchUserRecord","userInfo","copaUserBases","updateAccountStatus","payload","updateUserBaseList","portalUsers","map","record","ListGroup","Item","isActive","active","filteredPortalUsers","copaBases","base","md","onColor","checked","filteredCopaBases","xs","InputGroup","FormControl","filter","user","includes","isAdmin","lg","writeAccess","ChartsClient","employeeID","GET","encodeURIComponent","copaBase","chartID","appName","username","caseNumber","integration","chartKey","PUT","PCR_ID","DELETE","POST","InputList","props","currentQuestion","questionAnswerOptions","onButtonOptionClicked","onCustomQuestionAnswerClicked","option","customQuestion","MultiSelect","onSelectedOptionsSubmitted","selectedOptions","setSelectedOptions","indexOf","selectedOptionsArr","valueIndex","splice","push","onOptionSelectedChange","join","ImageUploaderComponent","onImageUploaded","withIcon","singleImage","buttonText","imgExtension","maxFileSize","file","reader","FileReader","readAsDataURL","onloadend","result","DatePickerComponent","onDateSelected","placeholderText","maxDate","Date","date","toLocaleDateString","ChartQuestions","formKey","currentFormQuestions","submitFormAnswers","setFormName","setFormDescription","formQuestions","setFormQuestions","inlineErrorMessage","setInlineErrorMessage","originalformQuestions","setOriginalFormQuestions","setCurrentQuestion","setQuestionAnswerOptions","inputValue","setInputValue","firstName","lastName","city","zipcode","dob","employeePhone","emailAddress","supervisorID","supervisorEmail","supervisorsFullName","lookupSource","BUName","BUCode","BUCity","BUState","BUZipcode","submittedBy","notes","employeeInformation","setEmployeeInformation","displaySubmitButton","setDisplaySubmitButton","displayContactInformation","setDisplayContactInformation","isLoading","messageLoading","setMessageLoading","formName","formDescription","inputType","inputOptions","JSON","processFormAnswerInput","newQuestionsArr","find","x","answer","endsForm","expectedAnswer","properties","operator","passCombination","questionKey","observesQuestionKeys","nextQuestionIndex","getEmployeeDetails","allQuestionsObservingCurrentyKey","BreakException","forEach","question","questionIndex","indexOfCurrentQnsKey","onInputTextChange","FIRST_NAME","LAST_NAME","WORK_CITY","WORK_STATE","WORK_ZIP","DOB","MOBILE_PH","replace","EMAIL_ADDRESS","SUPERVISOR_ID","SUPERVISOR_EMAIL_ADDRESS","SUPERVISOR_NAME","LOOKUP_SOURCE","orderBy","submitResultsToApi","refreshPage","reload","questions","gmr_avatar","user_avatar","width","style","whiteSpace","text","color","rows","cols","ImageUploader","ChartDetails","reloadChartsList","currentRecordDetails","setCurrentRecordDetails","currentRecordDetailsLoading","chartQuestionsLoading","formSubmission","currentChartUpdating","currentChartQuestions","setCurrentChartQuestions","statusMessage","setStatusMessage","pdfFile","fetchChartDetails","fetchChartQuestions","updateChartStatus","getChartDetails","getAllChartQuestions","incidentNumber","eResponse_03","Status","integrationIdentifier","checkIfDateValid","isNaN","dAgency_03","eRecord_03","exitChartFromReview","ePatient_15","ePatient_16","ePatient_17","ePatient_13","eExam_01","eDispatch_01","eResponse_24","eResponse_23","eDisposition_12","ePayment_40","eResponse_07","eScene_09","eDisposition_01","eDisposition_21","eDisposition_22","eDisposition_20","eResponse_09","eResponse_10","eResponse_11","eTimes_01","format","eTimes_02","eTimes_04","eTimes_05","eTimes_06","eTimes_07","eTimes_09","eTimes_11","eTimes_12","eTimes_13","eTimes_15","diff","unit","eSituation_11","eSituation_12","eNarrative_01","class","eProcedures","procedure","eProcedures_01","eProcedures_02","eProcedures_03","eProcedures_05","eProcedures_06","eProcedures_07","eProcedures_08","eProcedures_10","eProcedures_11","eMedications","medication","eMedications_01","eMedications_02","eMedications_03","eMedications_04","eMedications_05","eMedications_06","eMedications_07","eMedications_08","eMedications_10","eMedications_11","eVitals","vital","eVitals_01","eVitals_02","eVitals_06","eVitals_07","eVitals_09","eVitals_08","eVitals_10","eVitals_13","eVitals_11","eVitals_14","eVitals_15","eVitals_12","eVitals_16","eVitals_27","eVitals_18","eVitals_03","eVitals_23","Charts","chartStatuses","setChartStatuses","currentRecordLoading","chartsListLoading","chartsList","setChartsList","chartsInQueueList","setChartsInQueueList","filteredChartsList","setFilteredChartsList","incidentCounties","setIncidentCounties","timesEnRoute","setTimesEnRoute","selectedCopaBase","setSelectedCopaBase","selectedIncidentCounty","setSelectedIncidentCounty","selectedTimeEnRoute","setSelectedTimeEnRoute","fetchChartStatuses","fetchChartsInEmployeeQueue","fetchUserBases","fetchChartsSelectedBase","chart","eScene_21","timeEnRouteDate","trim","getAllActiveChartsForBase","activeCharts","a","getChartStatuses","getChartsInEmployeeQueue","chartsInQueue","chartDate","filteredCharts","options","icon","faCheckCircle","faInfoCircle","faFileMedicalAlt","Dashboard","activeApplication","setActiveApplciation","Card","height","faUser","Text","block","frameborder","allowFullScreen","reducer","newInfo","localStorage","removeItem","initialState","localState","getItem","React","createContext","InfoProvider","useReducer","setItem","stringify","Provider","children","adminID","App","routeResult","useRoutes","Boolean","hostname","match","setBasepath","ReactDOM","render","document","getElementById","navigator","serviceWorker","ready","registration","unregister","console"],"mappings":"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","file":"static/js/main.e8c13589.chunk.js","sourcesContent":["//react\r\nimport React, { useState, useCallback, useEffect, useContext } from \"react\";\r\nimport { navigate } from \"hookrouter\";\r\nimport { fullApiUrl } from \"../utils/NetworkSettings\";\r\n\r\nimport { sha256 } from \"js-sha256\";\r\n\r\n//Context API for User Info\r\nimport { InfoContext } from \"./../context/InfoContext\";\r\n\r\n//Images\r\nimport logo from \"./../assets/gmr_logo_light.png\";\r\n\r\n//httpClient\r\nimport AuthenticationClient from \"./../httpClient/Authentication\";\r\n\r\nconst Intro = ({error = \"\", loadingProp = false}) => {\r\n //current user Info\r\n const { info, setInfo } = useContext(InfoContext);\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [loadingOkta, setLoadingOkta] = useState(loadingProp);\r\n\r\n const [errorMessage, setErrorMessage] = useState(error);\r\n const [successMessage, setSuccessMessage] = useState(\"\");\r\n const [loginScreen, setLoginScreen] = useState(true);\r\n const [userRecord, setUserRecord] = useState({\r\n employeeNumber: \"\",\r\n fullName: \"\",\r\n email: \"\",\r\n password: \"\",\r\n confirmPassword: \"\",\r\n });\r\n\r\n //on component mount\r\n useEffect(() => {\r\n if (info !== null) {\r\n navigate(\"/copa/dashboard\");\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n setErrorMessage(error)\r\n setLoadingOkta(loadingProp)\r\n }, [error, loadingProp])\r\n\r\n const oktaLogin = () => {\r\n let samlCallbackUrl = window.location.origin + \"/copa/samlCallback\";\r\n window.location.href =\r\n fullApiUrl + \"saml/Login?returnUrl=\" + samlCallbackUrl;\r\n };\r\n\r\n\r\n const updateUserRecord = useCallback((e) => {\r\n const { name, value } = e.target;\r\n setUserRecord((userRecord) => {\r\n return {\r\n ...userRecord,\r\n [name]: value,\r\n };\r\n });\r\n }, []);\r\n\r\n const validateInput = (e) => {\r\n e.preventDefault()\r\n //validate Input Fields\r\n let emailAddressPattern = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (!emailAddressPattern.test(userRecord.email)) {\r\n setErrorMessage(\"Please enter a valid Email Address\");\r\n return;\r\n } else if (\r\n !loginScreen &&\r\n userRecord.password !== userRecord.confirmPassword\r\n ) {\r\n setErrorMessage(\"Password fields do not match\");\r\n return;\r\n } else {\r\n setErrorMessage(\"\");\r\n loginScreen ? loginUser() : createAccount();\r\n }\r\n };\r\n\r\n const loginUser = () => {\r\n setLoading(true);\r\n\r\n //Add Password Encryption\r\n let encryptedPassword = sha256(userRecord.password);\r\n AuthenticationClient.loginUser(userRecord.email, encryptedPassword)\r\n .then((data) => {\r\n setLoading(false);\r\n setInfo(data.userRecord);\r\n navigate(\"/dashboard\");\r\n })\r\n .catch((err) => {\r\n setLoading(false);\r\n setErrorMessage(err.response.data.Message);\r\n });\r\n };\r\n\r\n const createAccount = () => {\r\n setLoading(true);\r\n let encryptedPassword = sha256(userRecord.password);\r\n\r\n AuthenticationClient.registerUser({\r\n \"employeeNumber\": userRecord.employeeNumber,\r\n \"fullName\": userRecord.fullName,\r\n \"email\": userRecord.email,\r\n \"password\": encryptedPassword\r\n })\r\n .then(data => {\r\n setLoading(false);\r\n setLoginScreen(true);\r\n setSuccessMessage(data.Message);\r\n })\r\n .catch(err => {\r\n setLoading(false);\r\n setErrorMessage(err.response.data.Message);\r\n });\r\n\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"logo\"\r\n
\r\n
\r\n

\r\n Clinical Outcomes and Performance Analysis (CO/PA)\r\n

\r\n
\r\n
\r\n\r\n {errorMessage.length > 0 && (\r\n
\r\n
\r\n
\r\n
\r\n

Error

\r\n setErrorMessage(\"\")}\r\n />\r\n
\r\n
\r\n {errorMessage}\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n\r\n {successMessage.length > 0 && (\r\n
\r\n
\r\n
\r\n
\r\n

Success

\r\n setSuccessMessage(\"\")}\r\n />\r\n
\r\n
\r\n {successMessage}\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n\r\n {loginScreen ? (\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n 0 ||\r\n userRecord.email.length === 0 ||\r\n userRecord.password.length < 6\r\n }\r\n >\r\n Login\r\n \r\n
\r\n

\r\n \r\n setLoginScreen(false)}\r\n >\r\n Create Account\r\n \r\n \r\n

\r\n
\r\n
\r\n ) : (\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n 0 ||\r\n userRecord.employeeNumber.length === 0 ||\r\n userRecord.fullName.length === 0 ||\r\n userRecord.email.length === 0 ||\r\n userRecord.password.length < 6 ||\r\n userRecord.confirmPassword.length < 6\r\n }\r\n onClick={validateInput}\r\n >\r\n Create Account\r\n \r\n
\r\n

\r\n \r\n Already got an account?{\" \"}\r\n setLoginScreen(true)}\r\n >\r\n Login Here\r\n \r\n \r\n

\r\n
\r\n
\r\n )}\r\n\r\n

Or

\r\n\r\n
\r\n \r\n Login with Okta\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Intro;\r\n","module.exports = __webpack_public_path__ + \"static/media/gmr_logo_light.b9d9595f.png\";","\r\nconst fullApiUrl = 'https://integratedservices.amr.net/copaapi/api/';\r\n\r\n// const fullApiUrl = 'https://localhost:44326/api/';\r\n\r\nexport { fullApiUrl };","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA0CAYAAAAqunDVAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAqySURBVGhD7ZkLcFTVGce/cx+7sAl5AE0IAQwjKtJqjAhVbBgSEBSVh6J16mitY6Vaa2tHUIFgHAQJr2pph/E11HG0Dpog2Dr4IKJRIEoARVCBBAiPQCRsHmSze1+n/7t7kpBs9pm16oy/mbs557t3N+d/zne+851zGSWKxz4YSSb/HCVHwBAHjB6hksJlohY3kvjbewzqg8/4BSWQxIn6AfGTqB8LkUWVtWRQWWOhqIVG4lyUvncii+JGET42Q9i/aUPTCGENRmaMZAURLHEBNYh1Z1Kp1P0n2njcJSw9El7UG6dHIszeG6jw28i0qqjM/QRt+LZfwNbJ4I8rmOtotQFRnCRZWBNImftOUtkXaM/fSXfdJ6w9El6UJK/A57lhOgXXQjKVHVR65jcBU4Akw8sHHfxK6r+3ymKa1yBFFXd6SemZqzE6H6H0EnEa5rcxKvJPixCEFlXWcC0+rw9UgrgQI/IKeu9dWt801jbw1jbdVB1S2ul6OWvXNlIbTmqkqjxud3yzYSh+/3l8vwIi8oW1nVQi8wlRDqJnUes4/EdaKWrhuIa4VUmbvCWtQ7PTmWVhEFVyaj4le0+VnFz9lYZnTP9ciwbD1OkAd2L+PkyWtBOWe3CF6BX+e3rDnScqXehZlNx4Pz5HBSpR4NPmNl9XkCz59DftqmXPKUmWMw4dVAd+8anJ2loMjJr/0bCYXKP9nqfR4OWoDQwYQyKj9fZzQQSLWtfyM/TNQlGLDtOk1lGXH6vZsXwm4sRdsBzicDvT4ZBSGt3q4F3bmfPkMQ3zDEEkhMfbK4JMGFKeLSzRMJHWu2eIcgfB/0ExHsdnpF4KprHJaf85/NHil2Snnsc5W4qq11QUphqmnLVvt5z6zec6WegBJYw7cqaLUnRYGK234bLn0FVU2Zlf4FOE8Pipeb+kqfbjRY9ZsjUGkWIDx+hwRZUHHK9VM3dvN+XmRj3gjglY0xiNIG/TX0TNT/eRsoNDgmIx0dEtS76srVg0g3M+Dc3fg+jIXGdbHIN3V2JNq9FJkRO0pvF5VPptlqicI6r0DMI3myxqCaX248VvDfDUj0ZxriUrjZChZO7fq6bv3amT4UvEmpZCTHlSlIWoD7iCYYwmhIfGDO9LVVXP6UcqnlwuW0ougshaS3VQ2qk6R9bObUw5U4/oiDVe6pW431Fp0xi7EBDlds/GKF3kL8eLZLSKUlhqPimuhbi7ucXzMc8q+ni9cvaeHUrSkQPwIhNTUDwYO4yYZWdAKKxvPB/hdDvKsUe8dmS5jpL6XUKTWIOwRM15+UX3QMzjzLSGmLL08NGiJ66i1rM3i9uxw/ntEsmtdcip/orq4YA1BuwUKDnpH65D1dOzHpndJqwxcaRi0QuGk19GTHrO6fO1kWUFJcsxwdhjEk3L9tDN6S+ToV8CyxJI9Yrb4VGUd6lPUkFW0cItma++8oKclBHLotmF45ufaji8dcnsVKvlefJ49gtzHLDX0Cm3BXvwhuaLyDQW4YFbhKUrslRNjj4L6K3yakruW5xes29q+nEMsuQ6z54v4qnesb7xZngPohkfKSyR+IwsNo9mpb1vV7qvU0TTU76hm/rfigTOztI/CxgBY22UBDF7v5pGm8rHUpKzkiQ2lek+5DdSG+d6/FO8OzPTSslIzYWoBaidDRh7gp0kxu+nm9LHtguyCRbVzqzUdyg9bRwaPoecjrWke/IxOg3kPltOTudDsDNk6Lrk9WoQHPp34uVWpqFzFyOUXYLrZWFtx15AkPjKuTSz/xph6yC63n3gP1MgZBGinH8d8ANNjFtWVtVW7vC2aYyziw9tXXxE3E08u3kendKWktdrkm7Np1npu8SdIMKLerR8NHwV84tfJyydYHDgepSNDaGiaR6IGvVdihoxcvaNWkZGVu1Hi54TppD0LGre+5lkSPNQegBXz64ly8TONvuG7K50yJx7mUXfyUgNz58/1iK2GMVJ9vYE/lGBrU7R4W1PfRh4IphuDeaMHtl8HwTZZ+IP4gozVxjJhmYw7CTgiokLEoKcCcWDhuXPXwNB21CdZNsYREmmnm+o8hbX7WvX0oLK4ba9O52NmbMZySzWKUZ24hkZJKGu+hNW5t6dzFJUr2TyhIzU6NH3qg2ujAcQUh9F1X+4IlnoOBPb4r4uoyUjyzo7KNthOV12291ocwm56BkqLuhYXxnNLZ+Iv7/FdYffEi3YxbqO1VDmgX22KA9E9XpO5eTPnw4Hsw9Ucu0WM9OA83CrLbmf0TxoCHkyBkvUxyVDIMNm0/+dAHwPpC+kZQX+4wRb1Cb8nWJXYkJRLVf1Pk9mbU0yRLX1ZqSG/6oo12K8GMUZtovZYiwmma1p6WZL1lDyDciUsam0xWCnawW+1DMb8cX5EmnsNlTsORQrzKn5erU+ZU0oHnhe/oJVELQDYmbIuk4YA6M5c7DvRO4Y63TuLxVf5hAH5qxMuBdBkM00ZOoYzqcLGtE+u5dig3OmGobLHux4yMkv+oPDML6ULOshSdcUXZb1b4cN147nXcUbRuWpetpAlUxLQk5q/y/xrUjw12j5xHcDPR3wRfsUNDrsYGcZFukaVvbYROXkL5wyLH9BJVxsDSJZprdvX73+/JHaidFXs5YLfg6f7qeSYUjIP/F0TO8cWpFn2MHlnJAt+bcfUf4KhBiGLmk+b8gjr25cOOCWbOyd3mOmvkkyjbGtKal63cWXanWXj5Nacy50cIdTgYt1CwCxwFfQyon+Od3ZoqWFVWjrWlELDzTJpqnA/RwRe2FdU38qa3qw7v77cpTTp3Y1pw8wjl86huovu1LxDhqG+SJhvmjRzJdwHIXndBxsdu1mWbGzYsyxCNh5n6HLmA9qWFFl7rtJsarQ4mdarriitPqfz37dMKFwvJ6M/ZtlISTEMl/CwOB2K6Z0HCd0FbVkfB2esA8hw2PPI83rRZbePqcYd6idk6vUPV68qXgRV47fZpqZ1Nj0Io28YBVNGLOWNO0GuPCn/nu9YyuVFL4qyn6CJ0Rbm32WfUDUQoAUyYcUqd1lOFfv2lJ8gjZ6hmF0/oXbH+Lq/qYCYFR040rSjHK6ZvyvKW/UveTx/ZEsXi8eiBWOEX9YlDsIFrV6qg/muaLWMxidPrqWLHEuQ9hnTGE3FP+38c9kal/irp2dRMbnu4OSk7fTjRPSKTmpACMZMfsOgvNXaMUkOzfsQqfLdGdO+Wbc7fldLzL0lEP7Tw089PVTd1auXF3M+QBswePtbfyedJAGpsyk199LJYeKCc+vEnfC0YLmj8JydEzUOwgeqXYCIb6nkIQcxlzdPHTwZTWVK5/Bqm3R66f7++3xYloj6FRjIT09+RM0chxmqH2eH9TYriCR7UGQTWhRJYV26vRCoNLBO0iZx+Heg7T8+pPCRtgVi0Jv4PYLugAlE58nSb0UOyH7cLKntyCHSXeuEuUgQouyUSz7PZUHVw3891ZaVngtLZ3UeRjzXbI0303LC+ZgCuRhDq8X1gCcz6W/jQt5zhhe1JJJp/ALBUh6RyOnel1Y/7+UFO6lkoKbUJqO6yCu7ZHaEl6UzbKJnwaS3u+ZZYUbqc2LDawR8Ug6sqgfEqunNtOyySdELSQ/LlFR8pOoHwuhM4pYWHc6mxT5WSyaCnEpjrSbq8j/VtGs/m8LQy8g+h/tJgcPzvBYugAAAABJRU5ErkJggg==\"","import axios from 'axios';\r\n\r\n//App Settings\r\nimport { fullApiUrl } from '../utils/NetworkSettings';\r\n\r\nclass RestApi {\r\n constructor() {\r\n const instance = axios.create({\r\n baseURL: fullApiUrl,\r\n headers: {\r\n 'X-Token-Key': 'covid-19'\r\n }\r\n });\r\n\r\n this.state = {\r\n restApi: instance\r\n };\r\n }\r\n\r\n GET(requestUrl) {\r\n return this.state.restApi\r\n .get(requestUrl)\r\n .then(response => {\r\n if (response.error) {\r\n throw response.error.message;\r\n } else {\r\n return response.data;\r\n }\r\n })\r\n .catch(err => {\r\n if (err.response.status === 401) {\r\n this.logOutAdmin();\r\n } else {\r\n throw err;\r\n }\r\n });\r\n }\r\n\r\n POST(requestUrl, params) {\r\n return this.state.restApi\r\n .post(requestUrl, params)\r\n .then(response => {\r\n if (response.error) {\r\n throw response.error.message;\r\n } else {\r\n return response.data;\r\n }\r\n })\r\n .catch(err => {\r\n if (err.response.status === 401) {\r\n this.logOutAdmin();\r\n } else {\r\n throw err;\r\n }\r\n });\r\n }\r\n\r\n PUT(requestUrl, params) {\r\n return this.state.restApi\r\n .put(requestUrl, params)\r\n .then(response => {\r\n if (response.error) {\r\n throw response.error.message;\r\n } else {\r\n return response.data;\r\n }\r\n })\r\n .catch(err => {\r\n if (err.response.status === 401) {\r\n this.logOutAdmin();\r\n } else {\r\n throw err;\r\n }\r\n });\r\n }\r\n\r\n DELETE(requestUrl) {\r\n return this.state.restApi\r\n .delete(requestUrl)\r\n .then(response => {\r\n if (response.error) {\r\n throw response.error.message;\r\n } else {\r\n return response.data;\r\n }\r\n })\r\n .catch(err => {\r\n if (err.response.status === 401) {\r\n this.logOutAdmin();\r\n } else {\r\n throw err;\r\n }\r\n });\r\n }\r\n\r\n EXTERNALGET(requestUrl) {\r\n return this.state.restApi\r\n .get(requestUrl)\r\n .then(response => {\r\n if (response.error) {\r\n throw response.error.message;\r\n } else {\r\n return response.data;\r\n }\r\n })\r\n .catch(err => {\r\n if (err.response.status === 401) {\r\n this.logOutAdmin();\r\n } else {\r\n throw err;\r\n }\r\n });\r\n }\r\n\r\n EXTERNALPOST(requestUrl, params) {\r\n return this.state.restApi\r\n .post(requestUrl, params)\r\n .then(response => {\r\n if (response.error) {\r\n throw response.error.message;\r\n } else {\r\n return response.data;\r\n }\r\n })\r\n .catch(err => {\r\n throw err;\r\n });\r\n }\r\n}\r\n\r\nexport default RestApi;\r\n","import React from \"react\";\r\nimport Intro from \"../pods/Intro\";\r\nimport Dashboard from \"../pods/Dashboard\";\r\nimport SamlCallback from \"../pods/SamlCallback\";\r\n\r\nconst Routes = {\r\n [`${__dirname}/index.html`]: () => ,\r\n \"/\": () => ,\r\n \"/intro\": () => ,\r\n \"/dashboard\": () => ,\r\n \"/samlCallback\": () => \r\n};\r\nexport default Routes;","module.exports = \"data:image/jpeg;base64,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\"","import React, { useEffect, useContext, useState } from \"react\";\r\nimport queryString from \"query-string\";\r\nimport { navigate } from \"hookrouter\";\r\n\r\n//Context API for User Info\r\nimport { InfoContext } from \"./../context/InfoContext\";\r\n\r\n//httpClient\r\nimport AuthenticationClient from \"./../httpClient/Authentication\";\r\n\r\nimport Intro from './Intro'\r\n\r\nconst SamlCallback = () => {\r\n const { info, setInfo } = useContext(InfoContext);\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n const [loading, setLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n const parsed = queryString.parse(\r\n window.location.search + window.location.hash\r\n );\r\n\r\n if (parsed && parsed.Email) {\r\n loginUser(parsed.Email);\r\n }\r\n }, []);\r\n\r\n const loginUser = (email) => {\r\n setLoading(true);\r\n AuthenticationClient.loginOktaUser(email)\r\n .then((data) => {\r\n setLoading(false);\r\n setInfo(data.userRecord);\r\n navigate(\"/dashboard\");\r\n })\r\n .catch((err) => {\r\n setLoading(false);\r\n setErrorMessage(err.response.data.Message);\r\n });\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SamlCallback;","import React, { useState, useContext } from 'react';\r\nimport { navigate } from 'hookrouter';\r\n\r\n// import { useOktaAuth } from '@okta/okta-react';\r\n\r\n//Context API for User Info\r\nimport { InfoContext } from \"./../context/InfoContext\";\r\n\r\n//react-bootstrap\r\nimport Container from 'react-bootstrap/Container';\r\nimport Row from 'react-bootstrap/Row';\r\nimport Col from 'react-bootstrap/Col';\r\nimport Button from 'react-bootstrap/Button';\r\n\r\n//images\r\nimport gmr_logo_light from './../assets/gmr_logo_light.png';\r\n\r\n\r\nconst MainNavbar = () => {\r\n //current user Info\r\n const { info, setInfo } = useContext(InfoContext);\r\n\r\n // const { authState, authService } = useOktaAuth();\r\n\r\n // const login = async () => authService.login('/');\r\n // const logout = async () => authService.logout('/');\r\n const signOut = () => {\r\n setInfo(null);\r\n navigate('/');\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n { info !== null && \r\n Signed in as: {info.fullName}\r\n }\r\n \r\n \r\n \r\n \r\n {' '}\r\n \r\n \r\n \r\n\r\n
\r\n );\r\n};\r\nexport default MainNavbar;\r\n\r\n","import React, { useState, useCallback, useEffect } from \"react\";\r\n\r\n//react-bootstrap\r\nimport Modal from \"react-bootstrap/Modal\";\r\nimport Button from \"react-bootstrap/Button\";\r\nimport Container from \"react-bootstrap/Container\";\r\nimport Spinner from \"react-bootstrap/Spinner\";\r\nimport Row from \"react-bootstrap/Row\";\r\nimport Col from \"react-bootstrap/Col\";\r\n\r\n//httpClient\r\nimport AuthenticationClient from './../../httpClient/Authentication'; \r\n\r\nconst initialUserRecord = {\r\n\temployeeNumber: \"\",\r\n\tfullName: \"\",\r\n\temail: \"\"\r\n}\r\nfunction AddUser() {\r\n const [show, setShow] = useState(false);\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n const [loading, setLoading] = useState(false);\r\n const [successMessage, setSuccessMessage] = useState(\"\");\r\n const [isValidated, setIsValidated] = useState(false);\r\n\r\n const [userRecord, setUserRecord] = useState(initialUserRecord);\r\n\r\n const updateUserRecord = useCallback((e) => {\r\n const { name, value } = e.target;\r\n setUserRecord((userRecord) => {\r\n return {\r\n ...userRecord,\r\n [name]: value,\r\n };\r\n });\r\n }, []);\r\n\r\n\t//validation for submit button\r\n\tuseEffect(() => {\r\n\t\t//check for gmr email\r\n\t\tconst splitEmail = userRecord.email.split('@');\r\n\t\tconst domain = splitEmail.length > 0 ? splitEmail[1] : '';\r\n\r\n let emailAddressPattern = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (!emailAddressPattern.test(userRecord.email) || domain.toLowerCase() !== 'gmr.net') {\r\n setIsValidated(false);\r\n } else if (userRecord.fullName.length < 2 || userRecord.employeeNumber.length < 2){\r\n setIsValidated(false);\r\n\t\t} else {\r\n setIsValidated(true);\r\n }\r\n\t}, [userRecord])\r\n\r\n\t//validation to control what message to play\r\n\t//not even sure if necessary since submit is disabled until all these are true\r\n const validateInput = () => {\r\n\t\t//check for gmr email\r\n\t\tconst splitEmail = userRecord.email.split('@');\r\n\t\tconst domain = splitEmail.length > 0 ? splitEmail[1] : '';\r\n\r\n //validate Input Fields\r\n let emailAddressPattern = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (!emailAddressPattern.test(userRecord.email) || domain.toLowerCase() !== 'gmr.net') {\r\n setErrorMessage(\"Please enter a valid Email Address\");\r\n return;\r\n } else if (userRecord.fullName.length < 2 || userRecord.employeeNumber.length < 2){\r\n\t\t\tsetErrorMessage(\"Please enter a name and employee number\");\r\n return;\r\n\t\t} else {\r\n setErrorMessage(\"\");\r\n\t\t\tcreateAccount();\r\n }\r\n };\r\n\r\n const createAccount = () => {\r\n setLoading(true);\r\n\t\tsetSuccessMessage('');\r\n\t\tsetErrorMessage('');\r\n\r\n AuthenticationClient.addUser(userRecord)\r\n\t\t.then((data) => {\r\n\t\t\tsetLoading(false);\r\n\t\t\tsetSuccessMessage(data.Message);\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\tsetLoading(false);\r\n\t\t\tsetErrorMessage(err.response.data.Message);\r\n\t\t});\r\n };\r\n\r\n const handleClose = () => {\r\n\t\tsetLoading(false);\r\n\t\tsetSuccessMessage('');\r\n\t\tsetErrorMessage('');\r\n\t\tsetUserRecord(initialUserRecord);\r\n\t\tsetShow(false);\r\n\t\tsetIsValidated(false)\r\n\t}\r\n const handleShow = () => setShow(true);\r\n\r\n return (\r\n <>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{/*

Click the button on the left to add a new user

*/}\r\n\t\t\t
\r\n\r\n \r\n \r\n Enter New User Information\r\n \r\n \r\n\t\t\t\t\t

Please fill out all information

\r\n\t\t\t\t\t{errorMessage.length > 0 && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Error

\r\n\t\t\t\t\t\t\t\t setErrorMessage(\"\")}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{errorMessage}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{successMessage.length > 0 && \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Success

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{successMessage}\r\n\t\t\t\t\t\t\t
\r\n
}\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n\t\t\t\t\t\t\tMust be a valid company email \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {loading ? <>\r\n\t\t\t\t\t\t\t {' '}\r\n\t\t\t\t\t\t\t\tLoading... \r\n\t\t\t\t\t\t: \"Save User\"}\r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default AddUser;","import React, { useState, useCallback, useEffect, useContext } from 'react';\r\nimport Switch from \"react-switch\";\r\nimport AddUser from './AddUser'\r\n\r\n//httpClient\r\nimport AuthenticationClient from './../../httpClient/Authentication'; \r\n\r\n//Context API for User Info\r\nimport { InfoContext } from \"./../../context/InfoContext\";\r\n\r\n//react-bootstrap\r\nimport Container from 'react-bootstrap/Container';\r\nimport Row from 'react-bootstrap/Row';\r\nimport Col from 'react-bootstrap/Col';\r\nimport Form from 'react-bootstrap/Form';\r\nimport ListGroup from 'react-bootstrap/ListGroup';\r\nimport Button from 'react-bootstrap/Button';\r\nimport InputGroup from 'react-bootstrap/InputGroup';\r\nimport FormControl from 'react-bootstrap/FormControl';\r\nimport Spinner from 'react-bootstrap/Spinner';\r\n// import RecordDetails from './components/RecordDetails';\r\n\r\nconst ManageUsers = () => {\r\n //current user Info\r\n const { info, setInfo } = useContext(InfoContext); \r\n const [searchText, setSearchText] = useState(\"\"); //Set Search Text\r\n const [currentRecord, setCurrentRecord] = useState(null); //Set Current Record variable\r\n const [loading, setLoading] = useState({currentUserRecordLoading: false, userListLoading: false, baseListLoading: false});\r\n const [reloadCurrentRecord, setReloadCurrentRecord] = useState(false);\r\n const [portalUsersList, setPortalUsersList] = useState([]);\r\n const [filteredPortalUsersList, setFilteredPortalUsersList] = useState([]);\r\n const [copaBasesList, setCopaBasesList] = useState([]);\r\n const [filteredCopaBasesList, setFilteredCopaBasesList] = useState([]);\r\n\r\n const updateLoading = useCallback((key,value) => {\r\n setLoading((loading)=>{\r\n return({\r\n ...loading,\r\n [key]: value\r\n });\r\n });\r\n },[]);\r\n\r\n //Fetch Portal Users \r\n const loadUserRecords = useEffect(() => {\r\n updateLoading(\"userListLoading\",true);\r\n\r\n AuthenticationClient.fetchAllUsers(info.id)\r\n .then(data => {\r\n updateLoading(\"userListLoading\",false);\r\n setPortalUsersList(data.userRecords);\r\n setCurrentRecord(data.userRecords[0]);\r\n })\r\n .catch(err => {\r\n updateLoading(\"userListLoading\",false);\r\n // setErrorMessage(err.response.data.Message);\r\n });\r\n \r\n },[]);\r\n\r\n useEffect(() => {\r\n if(currentRecord) {\r\n setReloadCurrentRecord(true);\r\n }\r\n },[currentRecord]);\r\n\r\n useEffect(() => {\r\n if(reloadCurrentRecord) {\r\n updateLoading(\"currentUserRecordLoading\",true);\r\n\r\n AuthenticationClient.fetchUserRecord(currentRecord.email)\r\n .then(data => {\r\n updateLoading(\"currentUserRecordLoading\",false);\r\n setCurrentRecord(data.userInfo);\r\n setCopaBasesList(data.copaUserBases);\r\n setReloadCurrentRecord(false);\r\n })\r\n .catch(err => {\r\n updateLoading(\"currentUserRecordLoading\",false);\r\n // setErrorMessage(err.response.data.Message);\r\n });\r\n }\r\n },[reloadCurrentRecord]);\r\n\r\n const updateAccountStatus = (key,value) => {\r\n let payload= {\r\n \"userID\": currentRecord.id,\r\n [key]: value\r\n };\r\n\r\n updateLoading(\"currentUserRecordLoading\",true);\r\n AuthenticationClient.updateAccountStatus(payload)\r\n .then(data => {\r\n updateLoading(\"currentUserRecordLoading\",false);\r\n setReloadCurrentRecord(true)\r\n })\r\n .catch(err => {\r\n updateLoading(\"currentUserRecordLoading\",false);\r\n });\r\n }\r\n\r\n const updateUserBaseList = (value) => {\r\n let payload= {\r\n \"email\": currentRecord.email,\r\n \"baseID\": value\r\n };\r\n\r\n updateLoading(\"baseListLoading\",true);\r\n AuthenticationClient.updateUserBaseList(payload)\r\n .then(data => {\r\n updateLoading(\"baseListLoading\",false);\r\n setReloadCurrentRecord(true)\r\n })\r\n .catch(err => {\r\n updateLoading(\"baseListLoading\",false);\r\n });\r\n }\r\n\r\n const portalUsers = portalUsersList.map((record, key) => setCurrentRecord(record)}>{record.fullName} ({record.email}));\r\n \r\n const filteredPortalUsers = filteredPortalUsersList.map((record, key) => setCurrentRecord(record)}>{record.fullName} ({record.email}));\r\n\r\n const copaBases = copaBasesList.map((base, key) => \r\n \r\n \r\n updateUserBaseList(base.id)} checked={base.isActive} />\r\n \r\n \r\n {base.name}\r\n \r\n );\r\n\r\n const filteredCopaBases = filteredCopaBasesList.map((base, key) => \r\n \r\n \r\n updateUserBaseList(base.id)} checked={base.isActive} />\r\n \r\n \r\n {base.name}\r\n \r\n );\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n setFilteredPortalUsersList(portalUsersList.filter(user => (user.fullName.toLowerCase().includes(e.target.value.toLowerCase()) \r\n || user.email.toLowerCase().includes(e.target.value.toLowerCase()))\r\n ))}\r\n />\r\n \r\n\r\n
\r\n\r\n {loading.userListLoading && }\r\n\r\n \r\n {filteredPortalUsers.length > 0 ? filteredPortalUsers : portalUsers}\r\n \r\n \r\n \r\n { currentRecord && info.isAdmin &&
\r\n \r\n \r\n \r\n

{currentRecord.fullName} ({currentRecord.email})

\r\n
\r\n \r\n \r\n \r\n Email: {currentRecord.email}
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n

Account Settings

\r\n
\r\n \r\n \r\n \r\n updateAccountStatus(\"active\",checked)} checked={currentRecord.isActive} />\r\n \r\n \r\n Account Active\r\n \r\n \r\n \r\n \r\n updateAccountStatus(\"isAdmin\",checked)} checked={currentRecord.isAdmin} />\r\n \r\n \r\n Admin Account\r\n \r\n \r\n \r\n \r\n updateAccountStatus(\"writeAccess\",checked)} checked={currentRecord.writeAccess} />\r\n \r\n \r\n Write Access\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

Bases ({filteredCopaBasesList.length || copaBasesList.length})

\r\n
\r\n \r\n \r\n \r\n setFilteredCopaBasesList(copaBasesList.filter(base => base.name.toLowerCase().includes(e.target.value.toLowerCase())))}\r\n />\r\n \r\n \r\n \r\n \r\n {(loading.baseListLoading || loading.currentUserRecordLoading) && }\r\n {!loading.baseListLoading && !loading.currentUserRecordLoading &&
{filteredCopaBases.length > 0 ? filteredCopaBases : copaBases}
}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
}\r\n\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default ManageUsers;","import RestApi from './RestApi';\r\n\r\nclass ChartsClient {\r\n\r\n static getChartStatuses(employeeID) {\r\n const api = new RestApi();\r\n return api.GET('/charts/GetChartStatuses?employeeID=' + encodeURIComponent(employeeID)).then(response => {\r\n return response;\r\n });\r\n }\r\n\r\n static getChartsInEmployeeQueue(employeeID) {\r\n const api = new RestApi();\r\n return api.GET('/charts/ChartsInEmployeeQueue?employeeID=' + encodeURIComponent(employeeID)).then(response => {\r\n return response;\r\n });\r\n }\r\n\r\n static getAllActiveChartsForBase(copaBase) {\r\n const api = new RestApi();\r\n return api.GET('/charts/GetActiveChartsForBase?copaBase=' + encodeURIComponent(copaBase)).then(response => {\r\n return response;\r\n });\r\n }\r\n\r\n static getAllActiveCharts(employeeID) {\r\n const api = new RestApi();\r\n return api.GET('/charts/GetAllActiveCharts?employeeID=' + encodeURIComponent(employeeID)).then(response => {\r\n return response;\r\n });\r\n }\r\n\r\n static getChartPDF(chartID,appName,username,caseNumber,integration) {\r\n const api = new RestApi();\r\n return api.GET('/charts/GetChartPDF?chartID=' + encodeURIComponent(chartID) + '&appName='+ encodeURIComponent(appName) + '&username='+ encodeURIComponent(username) + '&caseNumber='+ encodeURIComponent(caseNumber) + '&integration='+ encodeURIComponent(integration)).then(response => {\r\n return response;\r\n });\r\n }\r\n\r\n static getChartDetails(chartID,integration) {\r\n const api = new RestApi();\r\n return api.GET('/charts/GetChartDetails?chartID=' + encodeURIComponent(chartID) + '&integration='+ encodeURIComponent(integration)).then(response => {\r\n return response;\r\n });\r\n }\r\n\r\n static getAllChartQuestions(chartKey) {\r\n const api = new RestApi();\r\n return api.GET('/charts/GetChartQuestions?chartKey=' + encodeURIComponent(chartKey)).then(response => {\r\n return response;\r\n });\r\n }\r\n\r\n static updateChartStatus(payload) {\r\n const api = new RestApi();\r\n return api.PUT('/charts/updateChartStatus', payload).then(response => {\r\n return response;\r\n });\r\n }\r\n\r\n static exitChartFromReview(PCR_ID) {\r\n const api = new RestApi();\r\n return api.DELETE('/charts/exitChartFromReview?PCR_ID=' + encodeURIComponent(PCR_ID)).then(response => {\r\n return response;\r\n });\r\n }\r\n \r\n static submitFormAnswers(payload) {\r\n const api = new RestApi();\r\n return api.POST('/charts/SubmitForm', payload).then(response => {\r\n return response;\r\n });\r\n }\r\n\r\n}\r\n \r\nexport default ChartsClient;","import React from 'react';\r\n\r\n//styling\r\nimport './InputList.css';\r\n\r\nconst InputList = (props) => {\r\n const {\r\n currentQuestion,\r\n questionAnswerOptions,\r\n onButtonOptionClicked,\r\n onCustomQuestionAnswerClicked\r\n } = props;\r\n\r\n return (
{\r\n questionAnswerOptions.map((option, key) => { \r\n if(currentQuestion.customQuestion && currentQuestion.customQuestion === true) { \r\n return
onCustomQuestionAnswerClicked(option)}>{option}
\r\n } else {\r\n return
onButtonOptionClicked(option)}>{option}
\r\n }\r\n })\r\n }
);\r\n}\r\n\r\nexport default InputList;","import React, { useState } from 'react';\r\n\r\n//styling\r\nimport './MultiSelect.css';\r\n\r\nconst MultiSelect = (props) => {\r\n\r\n const {\r\n currentQuestion,\r\n questionAnswerOptions,\r\n onSelectedOptionsSubmitted\r\n } = props;\r\n\r\n const [selectedOptions, setSelectedOptions] = useState([]);\r\n\r\n const onOptionSelectedChange = (value) => {\r\n let selectedOptionsArr = [...selectedOptions];\r\n let valueIndex = selectedOptions.indexOf(value);\r\n valueIndex > -1 ? selectedOptionsArr.splice(valueIndex) : selectedOptionsArr.push(value);\r\n setSelectedOptions(selectedOptionsArr);\r\n }\r\n\r\n const submitSelectedOptions = () => {\r\n onSelectedOptionsSubmitted(selectedOptions.join(', '));\r\n }\r\n\r\n return (
\r\n
\r\n

Select all that apply:

\r\n {\r\n questionAnswerOptions.map((option, key) => { \r\n return
-1 ? \"answerOptionsSelected\" : \"answerOptions\" } value={option} onClick={()=>onOptionSelectedChange(option)}>{option}
\r\n })\r\n }\r\n\r\n \r\n
\r\n
);\r\n}\r\n\r\nexport default MultiSelect;","import React from 'react';\r\nimport ImageUploader from 'react-images-upload';\r\n\r\nconst ImageUploaderComponent = (props) => {\r\n\r\n const {\r\n onImageUploaded\r\n } = props;\r\n\r\n const onChange = (file) => {\r\n let reader = new FileReader();\r\n reader.readAsDataURL(file[0]);\r\n reader.onloadend = () => {\r\n onImageUploaded(reader.result);\r\n };\r\n }\r\n\r\n return (
\r\n \r\n
);\r\n}\r\n\r\nexport default ImageUploaderComponent;","import React from 'react';\r\nimport DatePicker from \"react-datepicker\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\n\r\n//styling\r\nimport './DatePicker.css';\r\n\r\nconst DatePickerComponent = (props) => {\r\n\r\n const {\r\n onDateSelected\r\n } = props;\r\n\r\n const onChange = (date) => {\r\n onDateSelected(date.toLocaleDateString(\"en-US\"));\r\n }\r\n\r\n return (
\r\n Date: \r\n

 

\r\n \r\n
);\r\n}\r\n\r\nexport default DatePickerComponent;","//react\r\nimport React, { useState, useEffect } from 'react';\r\nimport { BallBeat } from 'react-pure-loaders';\r\n\r\n//httpClient\r\nimport ChartsClient from './../../httpClient/Charts'; \r\n\r\n//components\r\nimport InputList from './components/InputList'; \r\nimport MultiSelect from './components/MultiSelect'; \r\nimport ImageUploaderComponent from './components/ImageUploader';\r\nimport DatePickerComponent from './components/DatePicker';\r\n\r\n//styling\r\nimport './ChartQuestions.css';\r\n\r\n//Images\r\nimport logo from './../../assets/gmr_logo_light.png';\r\nimport gmr_avatar from './../../assets/gmr_avatar.png';\r\nimport user_avatar from './../../assets/user_avatar.jpeg';\r\n\r\nconst ChartQuestions = (props) => {\r\n const {formKey, currentFormQuestions, submitFormAnswers} = props; //\r\n const [formName, setFormName] = useState('');\r\n const [formDescription, setFormDescription] = useState('');\r\n const [formQuestions, setFormQuestions] = useState([]);\r\n const [successMessage, setSuccessMessage] = useState(''); \r\n const [errorMessage, setErrorMessage] = useState('');\r\n const [inlineErrorMessage, setInlineErrorMessage] = useState(''); \r\n const [originalformQuestions, setOriginalFormQuestions] = useState([]);\r\n const [currentQuestion, setCurrentQuestion] = useState(null);\r\n const [questionAnswerOptions, setQuestionAnswerOptions] = useState([]);\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [employeeInformation, setEmployeeInformation] = useState({formKey: '', firstName: '', lastName: '', city: '', state: '', zipcode: '', dob: '', employeePhone: '', emailAddress: '', supervisorID: '', supervisorEmail: '', supervisorsFullName: '', lookupSource: '', BUName: '', BUCode: '', BUCity: '', BUState: '', BUZipcode: '', submittedBy: 'Self', notes: ''});\r\n const [displaySubmitButton, setDisplaySubmitButton] = useState(false);\r\n const [displayContactInformation, setDisplayContactInformation] = useState(false);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [messageLoading, setMessageLoading] = useState(false);\r\n\r\n //on component mount\r\n useEffect(() => {\r\n if(currentFormQuestions) {\r\n let formName = currentFormQuestions.formName;\r\n let formDescription = currentFormQuestions.formDescription;\r\n let formQuestions = currentFormQuestions.formQuestions;\r\n setFormName(formName);\r\n setFormDescription(formDescription);\r\n setFormQuestions(formQuestions);\r\n setOriginalFormQuestions(formQuestions);\r\n setCurrentQuestion(formQuestions[0]);\r\n }\r\n },[currentFormQuestions]);\r\n\r\n\r\n useEffect(() => {\r\n if(currentQuestion && (currentQuestion.inputType === \"List\" || currentQuestion.inputType === \"MultiSelect\")) {\r\n var inputOptions = JSON.parse(currentQuestion.inputOptions);\r\n setQuestionAnswerOptions(inputOptions);\r\n } else {\r\n setQuestionAnswerOptions([]);\r\n }\r\n\r\n },[currentQuestion]);\r\n\r\n\r\n //SELECTED INPUT ACTIONS START\r\n const onButtonOptionClicked = (e) => {\r\n var { value } = e.target;\r\n\r\n if(value.length === 0){\r\n value = inputValue;\r\n }\r\n\r\n processFormAnswerInput(value);\r\n }\r\n\r\n const onCustomQuestionAnswerClicked = (value) => {\r\n \r\n if(currentQuestion.questionKey === \"ConfirmEmployeeID\") {\r\n //if identity confirmed, move on to next question else restart process\r\n if(value === \"Yes\") {\r\n // updateCurrentQuestion(currentQuestion.orderBy-1);\r\n setCurrentQuestion(formQuestions[currentQuestion.orderBy-1]);\r\n\r\n } else {\r\n setFormQuestions(originalformQuestions);\r\n setCurrentQuestion(originalformQuestions[0]);\r\n }\r\n }\r\n }\r\n \r\n //SELECTED INPUT ACTIONS END\r\n\r\n const processFormAnswerInput = (value) => {\r\n //1. set current question's answer\r\n let newQuestionsArr = [...formQuestions]; // copying the old questions array\r\n newQuestionsArr.find(x => x.id === currentQuestion.id).answer = value; //update answer value for current question\r\n setFormQuestions(newQuestionsArr); \r\n\r\n if(currentQuestion.endsForm && (currentQuestion.expectedAnswer === value || currentQuestion.expectedAnswer === null)) {\r\n setCurrentQuestion(null);\r\n setDisplaySubmitButton(true);\r\n } else if(currentQuestion.endsForm && currentQuestion.properties !== null && JSON.parse(currentQuestion.properties)[0].operator.toLowerCase() === \"pass combination\") {\r\n // 2. special logic for questions that end forms but depending on the answer of the another question (observing question)\r\n // - for example if pass combination = [\"Yes\",\"No\"] then observing question's answer has to be \"Yes\" and current\r\n // question answer has to be \"No\" for the form to continue else the form ends.\r\n \r\n let passCombination = JSON.parse(currentQuestion.properties)[0].value; //end result should be an array e.g [\"Yes\",\"No\"] \r\n let observesQuestionAnswer = newQuestionsArr.find(x => x.questionKey === JSON.parse(currentQuestion.observesQuestionKeys)[0]).answer; //right now only supports observing the answer of one other question\r\n\r\n if(observesQuestionAnswer === passCombination[0] && value === passCombination[1]){\r\n let nextQuestionIndex = newQuestionsArr.indexOf(currentQuestion)+1;\r\n setCurrentQuestion(formQuestions[nextQuestionIndex]);\r\n } else {\r\n setCurrentQuestion(null);\r\n setDisplaySubmitButton(true);\r\n }\r\n\r\n } else {\r\n if(currentQuestion.questionKey === \"EmployeeID\") {\r\n getEmployeeDetails(value);\r\n } else {\r\n\r\n //3. find all other questions observing current question\r\n let allQuestionsObservingCurrentyKey = newQuestionsArr.filter(x => x.observesQuestionKeys !== null \r\n && JSON.parse(x.observesQuestionKeys).indexOf(currentQuestion.questionKey) > -1\r\n && x.properties !== null\r\n && JSON.parse(x.properties)[JSON.parse(x.observesQuestionKeys).indexOf(currentQuestion.questionKey)].operator.toLowerCase() !== \"pass combination\");\r\n\r\n\r\n if(allQuestionsObservingCurrentyKey.length > 0) {\r\n // a. loop through those question and see conditional property for the\r\n // current question's answer.\r\n\r\n var BreakException = {};\r\n\r\n try {\r\n\r\n allQuestionsObservingCurrentyKey.forEach((question, questionIndex) => {\r\n let properties = JSON.parse(question.properties);\r\n //get index of current Qns key in observesQuestionKeys\r\n let indexOfCurrentQnsKey = JSON.parse(question.observesQuestionKeys).indexOf(currentQuestion.questionKey);\r\n if((properties[indexOfCurrentQnsKey].operator.toLowerCase() === \"equals\" && properties[indexOfCurrentQnsKey].value === value) || (properties[indexOfCurrentQnsKey].operator.toLowerCase() === \"not null\" && value.length > 0)){\r\n // b. if condition met, set current question to that question\r\n // Note: There's no built-in ability to break in forEach. To interrupt execution you would have to throw an exception of some sort. \r\n setCurrentQuestion(question);\r\n throw BreakException;\r\n }\r\n });\r\n } catch (e) {\r\n if (e !== BreakException) throw e;\r\n }\r\n //move to next question in the form that isn't observing anyquestion.\r\n\r\n\r\n\r\n\r\n } else {\r\n //3. if no other questions are observing the current question, proceed to the next question \r\n //index of next question by order by value\r\n let nextQuestionIndex = newQuestionsArr.indexOf(currentQuestion)+1;\r\n setCurrentQuestion(formQuestions[nextQuestionIndex]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const onInputTextChange = e => {\r\n const { name, value } = e.target;\r\n setEmployeeInformation((employeeInformation)=>{\r\n return({\r\n ...employeeInformation,\r\n [name]: value\r\n })\r\n })\r\n }\r\n\r\n const validateContactInformation = () => {\r\n if(displayContactInformation) {\r\n //validate Input Fields\r\n let emailAddressPattern = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n\r\n if(!emailAddressPattern.test(employeeInformation.emailAddress)){\r\n setInlineErrorMessage('Please enter a valid Email Address');\r\n return;\r\n } else if (employeeInformation.employeePhone.length !== 10) {\r\n setInlineErrorMessage('Please enter a valid Cell Phone Number');\r\n return; \r\n } else {\r\n setInlineErrorMessage('');\r\n setDisplayContactInformation(false);\r\n submitResultsToApi(); \r\n }\r\n }\r\n }\r\n\r\n //API CALLS START\r\n const getEmployeeDetails = (employeeID) => {\r\n setMessageLoading(true);\r\n\r\n ChartsClient.getEmployeeDetails(employeeID)\r\n .then(data => {\r\n\r\n setEmployeeInformation((employeeInformation)=>{\r\n return({\r\n ...employeeInformation,\r\n firstName: data.FIRST_NAME,\r\n lastName: data.LAST_NAME,\r\n city: data.WORK_CITY,\r\n state: data.WORK_STATE,\r\n zipcode: data.WORK_ZIP,\r\n dob: data.DOB,\r\n employeePhone: data.MOBILE_PH ? data.MOBILE_PH.replace(/\\D/g,'') : '',\r\n emailAddress: data.EMAIL_ADDRESS,\r\n supervisorID: data.SUPERVISOR_ID,\r\n supervisorEmail: data.SUPERVISOR_EMAIL_ADDRESS,\r\n supervisorsFullName: data.SUPERVISOR_NAME,\r\n lookupSource: data.LOOKUP_SOURCE,\r\n BUName: data.BUName,\r\n BUCode: data.BUCode,\r\n BUCity: data.BUCity,\r\n BUState: data.BUState,\r\n BUZipcode: data.BUZipcode\r\n });\r\n });\r\n\r\n setMessageLoading(false);\r\n\r\n setCurrentQuestion({\r\n id: currentQuestion.id,\r\n questionKey: \"ConfirmEmployeeID\",\r\n question: `Are you ${data.FIRST_NAME} ${data.LAST_NAME}?`,\r\n inputType: \"List\",\r\n inputOptions: '[\"Yes\",\"No\"]',\r\n observesQuestionKeys: null,\r\n endsForm: 0,\r\n customQuestion: true,\r\n orderBy: currentQuestion.orderBy\r\n });\r\n\r\n })\r\n .catch(err => {\r\n setCurrentQuestion({\r\n id: currentQuestion.id,\r\n questionKey: \"EmployeeID\",\r\n question: `I couldn't find an Employee Record for ${employeeID}. Let's try again. What's your Employee ID`,\r\n inputType: \"Text\",\r\n inputOptions: null,\r\n observesQuestionKeys: null,\r\n endsForm: 0,\r\n customQuestion: true,\r\n orderBy: currentQuestion.orderBy\r\n });\r\n\r\n setMessageLoading(false);\r\n });\r\n }\r\n\r\n // const submitResultsToApi = () => {\r\n // setIsLoading(true);\r\n // let payload = {\r\n // formKey: formKey,\r\n // employeeInformation,\r\n // formQuestions\r\n // }\r\n // ChartsClient.submitForm(payload)\r\n // .then(data => {\r\n // setIsLoading(false);\r\n // setSuccessMessage(data.message ? data.message : \"Form Submitted Successfully\");\r\n // })\r\n // .catch(err => {\r\n // setIsLoading(false);\r\n // setErrorMessage(\"Something went wrong. Please try again in a few minutes\");\r\n // });\r\n\r\n // }\r\n\r\n \r\n const submitResultsToApi = () => {\r\n // setIsLoading(true);\r\n let payload = {\r\n formKey: formKey,\r\n formQuestions\r\n }\r\n submitFormAnswers(payload);\r\n }\r\n //API CALLS END\r\n\r\n const refreshPage = () => {\r\n setSuccessMessage('');\r\n window.location.reload(false);\r\n }\r\n\r\n var questions = formQuestions.map((record, key) => {\r\n\r\n if(record.answer && record.answer.length > 0) { \r\n return
\r\n
\r\n
\r\n \"Avatar\"\r\n
\r\n
\r\n
\r\n {record.question}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \"Avatar\"\r\n
\r\n
\r\n { record.inputType === \"Image\" ?\r\n
\r\n \r\n
\r\n : \r\n
\r\n
\r\n { record.answer}\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n } \r\n });\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
0 ? \"is-active\" : \"\"}`}>\r\n
\r\n
\r\n
\r\n

Form Submission Result

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n {successMessage.split(\"\\n\").map((text,key) => {\r\n return
\r\n {text} \r\n
\r\n
;\r\n })}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n {/* \r\n
\r\n \"logo\"\r\n

\r\n {formName}\r\n

\r\n {formDescription}\r\n
*/}\r\n\r\n
\r\n\r\n
\r\n
\r\n {questions}\r\n\r\n { currentQuestion &&
\r\n\r\n
\r\n
\r\n \"Avatar\"\r\n
\r\n
\r\n
\r\n {messageLoading ? :
{currentQuestion && currentQuestion.question}
}\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n { \r\n {\r\n 'Text':
\r\n setInputValue(e.target.value)} />\r\n \r\n
,\r\n 'MultiLineText':
\r\n