{"version":3,"sources":["_actions/alert.actions.js","_services/user.service.js","_services/mytraining.service.js","_services/mydocument.service.js","_services/adddocument.service.js","_services/dashboard.service.js","_actions/user.actions.js","_actions/mytraining.action.js","_actions/mydocument.actions.js","_actions/adddocument.actions.js","_actions/dashboard.action.js","_helpers/history.js","_helpers/store.js","_helpers/auth-header.js","_components/Employee/Dashboard/MyTraining.js","_components/Common/Loader.js","_constants/alert.constants.js","_constants/configConstants.js","_constants/user.constants.js","_constants/mytraining.constant.js","_constants/mydocument.constants.js","_constants/adddocument.constant.js","_constants/dashboard.constant.js","_routes/PrivateRoute.js","_components/Common/Header.js","_components/Common/Footer.js","_components/Layout/LayoutDashbaord.js","_components/Auth/Login.js","_components/Auth/ChangePassword.js","_components/Auth/ForgotPassword.js","_components/Employee/Dashboard/EmpDashboard.js","_components/Common/WindowDimensions.js","_components/Employee/CredentiallingProfile/EmployeeCredentialForm.js","_components/Employee/MyDocuments/AlertDocSearch.js","_components/Employee/MyDocuments/AlertDocument.js","_components/Employee/MyDocuments/ReviewDocSerach.js","_components/Employee/MyDocuments/ReviewDocument.js","_components/Employee/MyDocuments/AddDocModal.js","_components/Employee/MyDocuments/HRSAGapReport.js","App.js","serviceWorker.js","index.js","_reducers/authentication.reducer.js","_reducers/index.js","_reducers/changepassword.reducer.js","_reducers/forgoatpassword.reducer.js","_reducers/alert.reducer.js","_reducers/users.reducer.js","_reducers/mytraining.reducer.js","_reducers/mydocument.reducer.js","_reducers/adddocument.reducer.js","_reducers/dashboard.reducer.js","_helpers/store.prod.js","_components/Common/Pagination.js","_helpers/index.js"],"names":["alertActions","success","message","type","alertConstants","SUCCESS","error","ERROR","clear","CLEAR","userService","login","username","password","requestOptions","method","headers","body","JSON","stringify","Username","Password","fetch","configConstants","API_BASE_PATH","then","handleResponse","user","localStorage","setItem","logout","register","changepassword","inputs","authHeader","forgotpassword","getEmpProfileById","HRMRId","getById","id","update","delete","removeItem","response","text","data","parse","ok","status","document","location","reload","statusCode","Promise","reject","statusText","mytrainingtService","getAllTrainngs","HRMRUserId","UserId","Year","SearchedText","mydocumentService","getAll","updateReviewApporveStatus","PPRepositoryShareId","Activity","IsDownload","adddocumentService","getCredActList","DeptId","getCredDocTypeList","ActId","addCredentialing","fdata","getAllHRSADoc","getHRSAGapReport","downloadHRSADoc","docName","responseType","resp1","blob","hideCredentialDoc","credentialingDocId","dashboardService","getOrgDetail","userActions","dispatch","userConstants","LOGIN_REQUEST","LOGIN_SUCCESS","hrmrUser","firstLogin","history","push","LOGIN_FAILURE","failure","toString","LOGOUT","CHANGEPASSWORD_REQUEST","request","CHANGEPASSWORD_SUCCESS","CHANGEPASSWORD_FAILURE","FORGOTPASSWORD_REQUEST","FORGOTPASSWORD_SUCCESS","FORGOTPASSWORD_FAILURE","empProfile","GETEMPPROFILE_REQUEST","GETEMPPROFILE_SUCCESS","GETEMPPROFILE_FAILURE","REGISTER_REQUEST","REGISTER_SUCCESS","REGISTER_FAILURE","GETALL_REQUEST","users","GETALL_SUCCESS","GETALL_FAILURE","DELETE_REQUEST","DELETE_SUCCESS","DELETE_FAILURE","mytrainingActions","mytrainingConstants","mytraining","mydocumentActions","mydocumentConstants","mydocument","PPREPODOCSTATUS_REQUEST","PPREPODOCSTATUS_SUCCESS","PPREPODOCSTATUS_FAILURE","adddocumentActions","adddocumentConstants","adddocument","GETDOCTYPEALL_REQUEST","docTypeList","GETDOCTYPEALL_SUCCESS","GETDOCTYPEALL_FAILURE","DOWNLOAD_REQUEST","DOWNLOAD_SUCCESS","DOWNLOAD_FAILURE","activityId","isHide","dashboardActions","dashboardConstants","GET_REQUEST","orgDetail","GET_SUCCESS","GET_FAILURE","createBrowserHistory","forceRefresh","module","exports","require","getItem","token","MyTraining","props","alert","useSelector","state","dashboard","orgProfile","items","authentication","useDispatch","useState","Loading","setLoading","Date","getFullYear","serachParam","setSearchParam","useEffect","loding","userId","hrmrUserId","Item","undefined","filter","training","isScormTraining","optionsYear","columns","Header","maxWidth","sortable","filterable","Cell","row","index","accessor","length","loading","Buffer","from","organizationId","code","email","e","String","s","surveyId","isResultPass","anualYear","blsTraining","style","color","cursor","title","target","onClick","handleDownloadTrainingCertificate","surveyName","TrainingId","TrainingName","url","window","URL","createObjectURL","a","createElement","href","download","click","catch","err","console","log","handleDownloadBLSCertificate","HIPAAURLOLD","year","years","Array","val","map","value","label","Fragment","className","background","alt","src","class","form-inline","name","onSubmit","preventDefault","placeholder","onChange","options","onChangeData","result","find","item","handleChangeSelect","defaultValue","marginTop","backgroundColor","PaginationComponent","Pagination","defaultPageSize","showPagination","pageSizeOptions","minRows","NoDataComponent","Loader","process","WP_BASE_PATH","SUCCESS_CODE","ERROR_CODE","EXCEPTION_CODE","UNAUTHENTICATE_CODE","FORBIDDEN_CODE","INACTIVE_USER_CODE","RESOURCE_TYPE","LOGIN_TOKEN","USER_INFO","START_YEAR","END_YEAR","START_MONTH","END_MONTH","USER_ROLE_ADMIN","USER_ROLE_TPA","USER_ROLE_OWNER","USER_ROLE_MGMT","USER_ROLE_MANAGER","USER_ROLE_EMPLOYEE","UNAUTHENTICATE","HIPAAURL","MEDIA_BASE_PATH","PROFILE_BASE_PATH","DEFAULT_IMAGE_PATH","PROFILE_LOAING","CONFIRM_ALERT_YES","CONFIRM_ALERT_NO","W4_FORM_ID","I9_FORM_ID","WOTC_FORM_ID","DD_FORM_ID","A4_FORM_ID","HIPAAORIGINURL","origin","PrivateRoute","Component","component","rest","render","to","pathname","rel","role","data-toggle","data-target","Footer","currentYear","Moment","margin","textAlign","width","required","ListItemLink","path","children","match","LayoutDashbaord","HRMRUserName","firstName","lastName","organizationName","fontWeight","aria-hidden","data-widget","transform","Login","setInputs","submitted","setSubmitted","loggingIn","handleChange","display","ChangePassword","cpass","setCpass","passStrenth","setPassStrenth","isDisabled","setIsDisabled","userName","oldPassword","newPassword","confirmPassword","handleChangePwdVal","setTimeout","paddingTop","test","autoComplete","disabled","event","ForgotPassword","listen","action","EmpDashboard","mydocs","date","format","convertDate","str","mnth","getMonth","slice","day","getDate","join","employeeName","trainingItem","trainingData","hrsaItem","hrsaData","hrsacred","lstHRSACredDoc","child","dateofExpiry","position","cellpadding","cellspacing","border","verticalAlign","height","data-page","right","left","top","overflow","attr","train","key","lastEdited","float","hrsa","hrsaCredentialingId","docType","getWindowDimensions","innerWidth","innerHeight","CryptoJS","EmployeeCredentialForm","windowDimensions","setWindowDimensions","handleResize","addEventListener","removeEventListener","useWindowDimensions","_h","parseInt","formHeight","getElementById","onload","userEmail","enc","Utf8","iv","encryptedUserId","AES","encrypt","keySize","mode","CBC","padding","pad","Pkcs7","replace","encryptKey","encUrl","encodeURI","_panelStyle","frameBorder","DropDownComponent","setState","searchInput","globalSearch","filteredData","activity","toLowerCase","includes","dateVerified","handleSetData","size","this","React","AlertDocument","serachResult","setSerachResult","custom_date","hrsaDOCList","outputDoc","Math","random","actualFileName","handleDownloadDocument","filePath","exp_dateList","output","expDate","utc","alertDocument","ReviewDocument","templateList","settemplateList","onBoarddata","ppRepodata","onBoardDocuSign","pPOnBoardDetail","pRepositoryShare","isApproved","lstDSTemplateFinal","columnsOnDocuSign","defaultTemplateId","checked","filt","handleCheckboxChange","columnsOnBoard","handleDownloadDoc","documentName","documentPath","docuSignPath","fileName","handleDownloadOnboardSignDoc","columnsPPRepo","lstPPRepoShareActivityModel","isApprove","IsApproveDate","uploadDate","isReview","handleUpdateReviewApporveStatus","ppRepositoryShareId","isType","FileName","FilePath","aria-multiselectable","data-parent","aria-expanded","aria-controls","aria-labelledby","AddDocModal","showAddDocPopup","closeAddDocPopup","onGapRptModalCloseAfterLoad","credDefaultChecklist","credActivityNumber","DocTypeId","DocType","CustomShowHide","CustomText","ActualFileName","OriginalDocType","DateofExpiry","isExpiration","isDocRequired","inputList","setInputList","credActivity","verifiedDate","docTypeAry","note","activityTextShowHide","activityNumberText","allInputs","SetallInputs","setdocButtonHide","optionsDocType","ItemDocType","todo","credDocType","docTypeId","handleAddClick","credActivityId","open","onClose","aria-label","isEmpty","doDocTypeId","some","doActualFileName","doDateofExpiry","doCustomShowHide","doCustomText","checCustmeText","r","confirm","postData","ClinicalStaffOptions","DateVerified","Description","ActivityNumber","axios","post","Authorization","resp","selected","dropdownMode","showMonthDropdown","showYearDropdown","adjustDateOnChange","x","i","closeMenuOnSelect","list","handleInputChangeDocType","isClearable","isMulti","handleChangeCustomText","file_reader","FileReader","file","files","filename","filetype","readAsDataURL","handleFileChangeDocFile","accept","handleInputChangeExpiryDate","splice","handleRemoveClick","HRSAGapReport","gapReport","setShowAddDocPopup","setdocTypeList","setCredActivityId","credActivityDefault","setcredActivityDefault","setcredActivityNumber","handleHideCredentialDoc","showDocument","docDetial","textDecoration","openAddDocPopup","DefaultChecklist","getDocTypeList","IsUsdinReport","get","deleteError","deleting","HRSAgapRpt","gapReportDoclst","doclist","Count","ExpiredCount","DocumentCount","forEach","element","fontSize","countDocument","isDefaultChecklist","activityNumber","HRSAdoc","department","App","basename","exact","Boolean","hostname","ReactDOM","store","navigator","serviceWorker","ready","registration","unregister","initialState","loggedIn","rootReducer","combineReducers","userCopy","item1","item2","updating","updatedRowsState","newdoclist","rw","ppRepoShareId","mydocumentCopy","adddocumentCopy","loggerMiddleware","createLogger","createStore","applyMiddleware","thunkMiddleware","defaultButton","filterPages","visiblePages","totalPages","page","getVisiblePages","total","changePage","bind","pages","nextProps","onPageChange","PageButtonComponent","activePage","showPageSizeOptions","onPageSizeChange","Number","pageSize","previousText","array","nextText"],"mappings":"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","file":"static/js/main.98cadaa5.chunk.js","sourcesContent":["import {alertConstants} from '../_constants';\r\n\r\nexport const alertActions = {\r\n success,\r\n error,\r\n clear\r\n};\r\n\r\nfunction success(message) {\r\n return { type: alertConstants.SUCCESS, message };\r\n}\r\n\r\nfunction error(message) {\r\n return { type: alertConstants.ERROR, message };\r\n}\r\n\r\nfunction clear() {\r\n return { type: alertConstants.CLEAR };\r\n}","//import {config} from '../config';\r\nimport {configConstants} from '../_constants';\r\nimport { authHeader } from '../_helpers';\r\nimport { location } from 'react-router-dom';\r\n\r\nexport const userService = {\r\n login,\r\n logout,\r\n register,\r\n changepassword,\r\n forgotpassword,\r\n getEmpProfileById,\r\n getById,\r\n update,\r\n delete: _delete\r\n};\r\n\r\nfunction login(username, password) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n //body: JSON.stringify({ username, password })\r\n body: JSON.stringify({ Username: username,\r\n Password: password })\r\n };\r\n return fetch(`${configConstants.API_BASE_PATH}Account/LogOn`, requestOptions)\r\n .then(handleResponse)\r\n .then(user => {\r\n // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n localStorage.setItem('userToken', JSON.stringify(user));\r\n return user;\r\n });\r\n}\r\n\r\nfunction logout() {\r\n // remove user from local storage to log user out\r\n localStorage.removeItem('userToken');\r\n}\r\nfunction changepassword(inputs) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: {...authHeader(), 'Content-Type': 'application/json' },\r\n body: JSON.stringify(inputs)\r\n };\r\n\r\n return fetch(`${configConstants.API_BASE_PATH}Account/ChangePassword`, requestOptions).then(handleResponse);\r\n}\r\n\r\nfunction forgotpassword(username) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n };\r\n return fetch(`${configConstants.API_BASE_PATH}Account/ForgotPassword?Username=${username}`, requestOptions).then(handleResponse);\r\n}\r\nfunction getEmpProfileById(HRMRId) {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n return fetch(`${configConstants.API_BASE_PATH}Employee/GetEmpProfile?HRMRUserId=${HRMRId}`, requestOptions).then(handleResponse);\r\n}\r\n\r\nfunction getById(id) {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n return fetch(`${configConstants.API_BASE_PATH}/users/${id}`, requestOptions).then(handleResponse);\r\n}\r\n\r\nfunction register(user) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(user)\r\n };\r\n\r\n return fetch(`${configConstants.API_BASE_PATH}/users/register`, requestOptions).then(handleResponse);\r\n}\r\n\r\nfunction update(user) {\r\n const requestOptions = {\r\n method: 'PUT',\r\n headers: { ...authHeader(), 'Content-Type': 'application/json' },\r\n body: JSON.stringify(user)\r\n };\r\n\r\n return fetch(`${configConstants.API_BASE_PATH}/users/${user.id}`, requestOptions).then(handleResponse);;\r\n}\r\n\r\n// prefixed function name with underscore because delete is a reserved word in javascript\r\nfunction _delete(id) {\r\n const requestOptions = {\r\n method: 'DELETE',\r\n headers: authHeader()\r\n };\r\n\r\n return fetch(`${configConstants.API_BASE_PATH}/users/${id}`, requestOptions).then(handleResponse);\r\n}\r\n\r\nfunction handleResponse(response) {\r\n return response.text().then(text => {\r\n const data = text && JSON.parse(text);\r\n if (!response.ok) {\r\n if (response.status === 401) {\r\n // auto logout if 401 response returned from api\r\n logout();\r\n document.location.reload(true);\r\n }\r\n else if (data.statusCode === 400) {\r\n const error = data.response;\r\n return Promise.reject(error);\r\n }\r\n else if (data.statusCode === 404) {\r\n const error = data.response;\r\n return Promise.reject(error);\r\n }\r\n\r\n const error = (data && data.message) || response.statusText;\r\n return Promise.reject(error);\r\n }\r\n\r\n return data;\r\n });\r\n}","import {configConstants} from '../_constants';\r\nimport { authHeader } from '../_helpers';\r\n\r\nexport const mytrainingtService = {\r\n getAllTrainngs,\r\n logout\r\n};\r\nfunction getAllTrainngs(HRMRUserId,UserId,Year,SearchedText) {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n // return fetch(`${configConstants.API_BASE_PATH}HRTraining/MyTraining?HRMRUserId=${HRMRUserId}&UserId=${UserId}&Year=${Year}`, requestOptions).then(resp1 => resp1.json());\r\n return fetch(`${configConstants.API_BASE_PATH}HRTraining/MyTraining?HRMRUserId=${HRMRUserId}&UserId=${UserId}&Year=${Year}&SearchedText=${SearchedText}`, requestOptions).then(handleResponse);\r\n}\r\nfunction logout() {\r\n // remove user from local storage to log user out\r\n localStorage.removeItem('userToken');\r\n}\r\nfunction handleResponse(response) {\r\n return response.text().then(text => {\r\n const data = text && JSON.parse(text);\r\n if (!response.ok) {\r\n if (response.status === 401) {\r\n // auto logout if 401 response returned from api\r\n logout();\r\n document.location.reload(true);\r\n }\r\n else if (data.statusCode === 400) {\r\n const error = data.response;\r\n return Promise.reject(error);\r\n }\r\n else if (data.statusCode === 404) {\r\n const error = data.response;\r\n return Promise.reject(error);\r\n }\r\n\r\n const error = (data && data.message) || response.statusText;\r\n return Promise.reject(error);\r\n }\r\n\r\n return data;\r\n });\r\n}","import {configConstants} from '../_constants';\r\nimport { authHeader } from '../_helpers';\r\n// import { location } from 'react-router-dom';\r\n\r\nexport const mydocumentService = {\r\n getAll,\r\n updateReviewApporveStatus,\r\n getById,\r\n update,\r\n delete: _delete,\r\n logout\r\n};\r\n\r\nfunction getAll(HRMRUserId) {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n //return fetch(`${configConstants.API_BASE_PATH}HRTraining/MyOnBoardDoc?HRMRUserId=${HRMRUserId}`, requestOptions).then(resp1 => resp1.json());\r\n return fetch(`${configConstants.API_BASE_PATH}HRTraining/MyOnBoardDoc?HRMRUserId=${HRMRUserId}`, requestOptions).then(handleResponse);\r\n}\r\nfunction updateReviewApporveStatus(PPRepositoryShareId,Activity,IsDownload) {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n return fetch(`${configConstants.API_BASE_PATH}HRTraining/UpdateReviewApporveStatus?PPRepositoryShareId=${PPRepositoryShareId}&Activity=${Activity}&IsDownload=${IsDownload}`, requestOptions).then(handleResponse);\r\n}\r\n\r\nfunction getById(id) {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n return fetch(`${configConstants.API_BASE_PATH}/users/${id}`, requestOptions).then(handleResponse);\r\n}\r\n\r\nfunction update(user) {\r\n const requestOptions = {\r\n method: 'PUT',\r\n headers: { ...authHeader(), 'Content-Type': 'application/json' },\r\n body: JSON.stringify(user)\r\n };\r\n\r\n return fetch(`${configConstants.API_BASE_PATH}/users/${user.id}`, requestOptions).then(handleResponse);;\r\n}\r\n\r\n// prefixed function name with underscore because delete is a reserved word in javascript\r\nfunction _delete(id) {\r\n const requestOptions = {\r\n method: 'DELETE',\r\n headers: authHeader()\r\n };\r\n\r\n return fetch(`${configConstants.API_BASE_PATH}/users/${id}`, requestOptions).then(handleResponse);\r\n}\r\nfunction logout() {\r\n // remove user from local storage to log user out\r\n localStorage.removeItem('userToken');\r\n}\r\nfunction handleResponse(response) {\r\n return response.text().then(text => {\r\n const data = text && JSON.parse(text);\r\n\r\n // console.log(data);\r\n if (!response.ok) {\r\n if (response.status === 401) {\r\n // auto logout if 401 response returned from api\r\n logout();\r\n document.location.reload(true);\r\n }\r\n else if (data.statusCode === 400) {\r\n const error = data.response;\r\n return Promise.reject(error);\r\n }\r\n else if (data.statusCode === 404) {\r\n const error = data.response;\r\n return Promise.reject(error);\r\n }\r\n\r\n const error = (data && data.message) || response.statusText;\r\n return Promise.reject(error);\r\n }\r\n\r\n return data;\r\n });\r\n}","import {configConstants} from '../_constants';\r\nimport { authHeader } from '../_helpers';\r\n// import { location } from 'react-router-dom';\r\n\r\nexport const adddocumentService = {\r\n getCredActList,\r\n getCredDocTypeList,\r\n addCredentialing,\r\n getAllHRSADoc,\r\n getHRSAGapReport,\r\n downloadHRSADoc,\r\n getAll,\r\n getById,\r\n update,\r\n hideCredentialDoc,\r\n delete: _delete,\r\n logout\r\n};\r\nfunction getCredActList(UserId,DeptId) {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n //return fetch(`${configConstants.API_BASE_PATH}Master/CredentialingActivityGetAll?Id=${UserId}&DepartmentId=${DeptId}`, requestOptions).then(resp1 => resp1.json());\r\n return fetch(`${configConstants.API_BASE_PATH}Master/CredentialingActivityGetAll?Id=${UserId}&DepartmentId=${DeptId}`, requestOptions).then(handleResponse);\r\n}\r\n\r\nfunction getCredDocTypeList(UserId,ActId) {\r\n let IsUsdinReport = false;\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n //return fetch(`${configConstants.API_BASE_PATH}Master/CredentialingDocTypeGetAll?Id=${UserId}&ActivityId=${ActId}&IsUsedinCredReport=${IsUsdinReport}`, requestOptions).then(resp1 => resp1.json());\r\n return fetch(`${configConstants.API_BASE_PATH}Master/CredentialingDocTypeGetAll?Id=${UserId}&ActivityId=${ActId}&IsUsedinCredReport=${IsUsdinReport}`, requestOptions).then(handleResponse);\r\n}\r\n\r\nfunction addCredentialing(fdata) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: fdata\r\n };\r\n\r\n return fetch(`${configConstants.API_BASE_PATH}HRTraining/AddCredentialing`, requestOptions).then(handleResponse);\r\n}\r\n\r\nfunction getAllHRSADoc(HRMRUserId) {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n //return fetch(`${configConstants.API_BASE_PATH}HRTraining/MyCredentialinglist?HRMRUserId=${HRMRUserId}`, requestOptions).then(resp1 => resp1.json());\r\n return fetch(`${configConstants.API_BASE_PATH}HRTraining/MyCredentialinglist?HRMRUserId=${HRMRUserId}`, requestOptions).then(handleResponse);\r\n}\r\n\r\nfunction getHRSAGapReport(HRMRUserId) {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n // return fetch(`${configConstants.API_BASE_PATH}HRTraining/HRSAGapReportsByHRMRId?HRMRUserId=${HRMRUserId}`, requestOptions).then(resp1 => resp1.json());\r\n return fetch(`${configConstants.API_BASE_PATH}HRTraining/HRSAGapReportsByHRMRId?HRMRUserId=${HRMRUserId}`, requestOptions).then(handleResponse);\r\n}\r\n\r\nfunction downloadHRSADoc(docName) {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader(),\r\n responseType: 'blob', // important\r\n };\r\n return fetch(`${configConstants.API_BASE_PATH}HRTraining/DownloadCredentialingDoc?DocumentName=${docName}`, requestOptions).then(resp1 => resp1.blob());\r\n}\r\nfunction hideCredentialDoc(credentialingDocId) {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n return fetch(`${configConstants.API_BASE_PATH}HRTraining/HideCredentialDoc?credentialingDocId=${credentialingDocId}`, requestOptions).then(handleResponse);\r\n}\r\n\r\nfunction getAll(UserId,DeptId) {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n //return fetch(`${configConstants.API_BASE_PATH}Master/CredentialingActivityGetAll?Id=${UserId}&DepartmentId=${DeptId}`, requestOptions).then(resp1 => resp1.json());\r\n return fetch(`${configConstants.API_BASE_PATH}Master/CredentialingActivityGetAll?Id=${UserId}&DepartmentId=${DeptId}`, requestOptions).then(handleResponse);\r\n}\r\n\r\nfunction getById(id) {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n return fetch(`${configConstants.API_BASE_PATH}/users/${id}`, requestOptions).then(handleResponse);\r\n}\r\n\r\nfunction update(user) {\r\n const requestOptions = {\r\n method: 'PUT',\r\n headers: { ...authHeader(), 'Content-Type': 'application/json' },\r\n body: JSON.stringify(user)\r\n };\r\n\r\n return fetch(`${configConstants.API_BASE_PATH}/users/${user.id}`, requestOptions).then(handleResponse);;\r\n}\r\n\r\n// prefixed function name with underscore because delete is a reserved word in javascript\r\nfunction _delete(id) {\r\n const requestOptions = {\r\n method: 'DELETE',\r\n headers: authHeader()\r\n };\r\n\r\n return fetch(`${configConstants.API_BASE_PATH}/users/${id}`, requestOptions).then(handleResponse);\r\n}\r\nfunction logout() {\r\n // remove user from local storage to log user out\r\n localStorage.removeItem('userToken');\r\n}\r\nfunction handleResponse(response) {\r\n return response.text().then(text => {\r\n const data = text && JSON.parse(text);\r\n if (!response.ok) {\r\n if (response.status === 401) {\r\n // auto logout if 401 response returned from api\r\n logout();\r\n document.location.reload(true);\r\n }\r\n else if (data.statusCode === 400) {\r\n const error = data.response;\r\n return Promise.reject(error);\r\n }\r\n else if (data.statusCode === 404) {\r\n const error = data.response;\r\n return Promise.reject(error);\r\n }\r\n\r\n const error = (data && data.message) || response.statusText;\r\n return Promise.reject(error);\r\n }\r\n\r\n return data;\r\n });\r\n}","import {configConstants} from '../_constants';\r\nimport { authHeader } from '../_helpers';\r\n\r\nexport const dashboardService = {\r\n getOrgDetail,\r\n logout\r\n};\r\n\r\nfunction getOrgDetail(HRMRId) {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n //return fetch(`${configConstants.API_BASE_PATH}Account/GetOrgProfile?HRMRUserId=${HRMRId}`, requestOptions).then(resp1 => resp1.json());\r\n return fetch(`${configConstants.API_BASE_PATH}Account/GetOrgProfile?HRMRUserId=${HRMRId}`, requestOptions).then(handleResponse);\r\n}\r\nfunction logout() {\r\n // remove user from local storage to log user out\r\n localStorage.removeItem('userToken');\r\n}\r\nfunction handleResponse(response) {\r\n return response.text().then(text => {\r\n const data = text && JSON.parse(text);\r\n if (!response.ok) {\r\n if (response.status === 401) {\r\n // auto logout if 401 response returned from api\r\n logout();\r\n document.location.reload(true);\r\n }\r\n else if (data.statusCode === 400) {\r\n const error = data.response;\r\n return Promise.reject(error);\r\n }\r\n else if (data.statusCode === 404) {\r\n const error = data.response;\r\n return Promise.reject(error);\r\n }\r\n\r\n const error = (data && data.message) || response.statusText;\r\n return Promise.reject(error);\r\n }\r\n\r\n return data;\r\n });\r\n}","import {userConstants} from '../_constants';\r\nimport {userService} from '../_services';\r\nimport {alertActions} from './';\r\nimport {history} from '../_helpers';\r\n\r\nexport const userActions = {\r\n login,\r\n logout,\r\n changepassword,\r\n forgotpassword,\r\n getEmpProfileById,\r\n register,\r\n getAll,\r\n delete: _delete\r\n};\r\n\r\nfunction login(username, password) {\r\n return dispatch => {\r\n dispatch(request({ username }));\r\n\r\n userService.login(username, password)\r\n .then(\r\n user => { \r\n dispatch(success(user));\r\n if(user.hrmrUser.firstLogin){\r\n history.push('/changepassword');\r\n }\r\n else{\r\n history.push('/hrsagaprpt');\r\n // history.push('/empdashboard');\r\n }\r\n // window.location = \"/empdashboard\";\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(user) { return { type: userConstants.LOGIN_REQUEST, user } }\r\n function success(user) { return { type: userConstants.LOGIN_SUCCESS, user } }\r\n function failure(error) { return { type: userConstants.LOGIN_FAILURE, error } }\r\n}\r\n\r\nfunction changepassword(inputs) {\r\n return dispatch => {\r\n dispatch(request({inputs}));\r\n userService.changepassword(inputs)\r\n .then(\r\n inputs => { \r\n dispatch(success());\r\n dispatch(alertActions.success('Password has been changed successfully'));\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(inputs) { return { type: userConstants.CHANGEPASSWORD_REQUEST, inputs } }\r\n function success(inputs) { return { type: userConstants.CHANGEPASSWORD_SUCCESS, inputs } }\r\n function failure(error) { return { type: userConstants.CHANGEPASSWORD_FAILURE, inputs } }\r\n}\r\n\r\nfunction forgotpassword(username) {\r\n return dispatch => {\r\n dispatch(request({ username }));\r\n userService.forgotpassword(username)\r\n .then(\r\n user => { \r\n dispatch(success(user));\r\n dispatch(alertActions.success('Password has been sent to your registered email address.'));\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(user) { return { type: userConstants.FORGOTPASSWORD_REQUEST, user } }\r\n function success(user) { return { type: userConstants.FORGOTPASSWORD_SUCCESS, user } }\r\n function failure(error) { return { type: userConstants.FORGOTPASSWORD_FAILURE, error } }\r\n}\r\nfunction getEmpProfileById(HRMRId) {\r\n return dispatch => {\r\n dispatch(request({ HRMRId })); \r\n userService.getEmpProfileById(HRMRId)\r\n .then(\r\n empProfile => { \r\n dispatch(success(empProfile));\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(empProfile) { return { type: userConstants.GETEMPPROFILE_REQUEST, empProfile } }\r\n function success(empProfile) { return { type: userConstants.GETEMPPROFILE_SUCCESS, empProfile } }\r\n function failure(error) { return { type: userConstants.GETEMPPROFILE_FAILURE, error } }\r\n}\r\nfunction logout() {\r\n userService.logout();\r\n return { type: userConstants.LOGOUT };\r\n}\r\n\r\nfunction register(user) {\r\n return dispatch => {\r\n dispatch(request(user));\r\n\r\n userService.register(user)\r\n .then(\r\n user => { \r\n dispatch(success());\r\n history.push('/login');\r\n dispatch(alertActions.success('Registration successful'));\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(user) { return { type: userConstants.REGISTER_REQUEST, user } }\r\n function success(user) { return { type: userConstants.REGISTER_SUCCESS, user } }\r\n function failure(error) { return { type: userConstants.REGISTER_FAILURE, error } }\r\n}\r\n\r\nfunction getAll() {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n userService.getAll()\r\n .then(\r\n users => dispatch(success(users.response)),\r\n error => dispatch(failure(error.toString()))\r\n );\r\n };\r\n\r\n function request() { return { type: userConstants.GETALL_REQUEST } }\r\n function success(users) { return { type: userConstants.GETALL_SUCCESS, users } }\r\n function failure(error) { return { type: userConstants.GETALL_FAILURE, error } }\r\n}\r\n\r\n// prefixed function name with underscore because delete is a reserved word in javascript\r\nfunction _delete(id) {\r\n return dispatch => {\r\n dispatch(request(id));\r\n\r\n userService.delete(id)\r\n .then(\r\n user => dispatch(success(id)),\r\n error => dispatch(failure(id, error.toString()))\r\n );\r\n };\r\n\r\n function request(id) { return { type: userConstants.DELETE_REQUEST, id } }\r\n function success(id) { return { type: userConstants.DELETE_SUCCESS, id } }\r\n function failure(id, error) { return { type: userConstants.DELETE_FAILURE, id, error } }\r\n}","import { mytrainingConstants } from '../_constants';\r\nimport { mytrainingtService } from '../_services';\r\nimport { alertActions } from './';\r\nimport { history } from '../_helpers';\r\n\r\nexport const mytrainingActions = {\r\n getAllTrainngs\r\n};\r\n\r\nfunction getAllTrainngs(HRMRUserId,UserId,Year,SearchedText) {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n mytrainingtService.getAllTrainngs(HRMRUserId,UserId,Year,SearchedText)\r\n .then(\r\n mytraining => dispatch(success(mytraining.response)),\r\n error =>{ dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: mytrainingConstants.GETALL_REQUEST } }\r\n function success(mytraining) { return { type: mytrainingConstants.GETALL_SUCCESS, mytraining } }\r\n function failure(error) { return { type: mytrainingConstants.GETALL_FAILURE, error } }\r\n}","import { mydocumentConstants } from '../_constants';\r\nimport { mydocumentService } from '../_services';\r\nimport { alertActions } from './';\r\nimport { history } from '../_helpers';\r\n\r\nexport const mydocumentActions = {\r\n getAll,\r\n updateReviewApporveStatus,\r\n delete: _delete,\r\n};\r\n\r\nfunction getAll(HRMRUserId) {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n mydocumentService.getAll(HRMRUserId)\r\n .then(\r\n mydocument => dispatch(success(mydocument.response)),\r\n error =>{ dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: mydocumentConstants.GETALL_REQUEST } }\r\n function success(mydocument) { return { type: mydocumentConstants.GETALL_SUCCESS, mydocument } }\r\n function failure(error) { return { type: mydocumentConstants.GETALL_FAILURE, error } }\r\n}\r\n\r\nfunction updateReviewApporveStatus(PPRepositoryShareId,Activity,IsDownload) {\r\n return dispatch => {\r\n dispatch(request(PPRepositoryShareId,Activity,IsDownload));\r\n\r\n mydocumentService.updateReviewApporveStatus(PPRepositoryShareId,Activity,IsDownload)\r\n .then(\r\n mydocument => dispatch(success(PPRepositoryShareId,Activity,IsDownload)),\r\n error => dispatch(failure(PPRepositoryShareId, error.toString()))\r\n );\r\n };\r\n\r\n function request(PPRepositoryShareId,Activity,IsDownload) { return { type: mydocumentConstants.PPREPODOCSTATUS_REQUEST,PPRepositoryShareId,Activity,IsDownload } }\r\n function success(PPRepositoryShareId,Activity,IsDownload) { return { type: mydocumentConstants.PPREPODOCSTATUS_SUCCESS, PPRepositoryShareId,Activity,IsDownload } }\r\n function failure(PPRepositoryShareId, error) { return { type: mydocumentConstants.PPREPODOCSTATUS_FAILURE, PPRepositoryShareId, error } }\r\n}\r\n\r\n// prefixed function name with underscore because delete is a reserved word in javascript\r\nfunction _delete(id) {\r\n return dispatch => {\r\n dispatch(request(id));\r\n\r\n mydocumentService.delete(id)\r\n .then(\r\n user => dispatch(success(id)),\r\n error => dispatch(failure(id, error.toString()))\r\n );\r\n };\r\n\r\n function request(id) { return { type: mydocumentConstants.DELETE_REQUEST, id } }\r\n function success(id) { return { type: mydocumentConstants.DELETE_SUCCESS, id } }\r\n function failure(id, error) { return { type: mydocumentConstants.DELETE_FAILURE, id, error } }\r\n}","import { adddocumentConstants } from '../_constants';\r\nimport { adddocumentService } from '../_services';\r\nimport { alertActions } from './';\r\nimport { history } from '../_helpers';\r\n\r\nexport const adddocumentActions = {\r\n getCredActList,\r\n getCredDocTypeList,\r\n addCredentialing,\r\n getAllHRSADoc,\r\n getHRSAGapReport,\r\n downloadHRSADoc,\r\n getAll,\r\n hideCredentialDoc,\r\n delete: _delete\r\n};\r\n\r\nfunction getCredActList(UserId,DeptId) {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n adddocumentService.getCredActList(UserId,DeptId)\r\n .then(\r\n adddocument => dispatch(success(adddocument.response)),\r\n error => dispatch(failure(error.toString()))\r\n );\r\n };\r\n\r\n function request() { return { type: adddocumentConstants.GETALL_REQUEST } }\r\n function success(adddocument) { return { type: adddocumentConstants.GETALL_SUCCESS, adddocument } }\r\n function failure(error) { return { type: adddocumentConstants.GETALL_FAILURE, error } }\r\n}\r\n\r\nfunction getCredDocTypeList(UserId,ActId) {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n adddocumentService.getCredDocTypeList(UserId,ActId)\r\n .then(\r\n docTypeList => dispatch(success(docTypeList.response)),\r\n error => dispatch(failure(error.toString()))\r\n );\r\n };\r\n\r\n function request() { return { type: adddocumentConstants.GETDOCTYPEALL_REQUEST } }\r\n function success(docTypeList) { return { type: adddocumentConstants.GETDOCTYPEALL_SUCCESS, docTypeList } }\r\n function failure(error) { return { type: adddocumentConstants.GETDOCTYPEALL_FAILURE, error } }\r\n}\r\n\r\nfunction addCredentialing(fdata) {\r\n return dispatch => {\r\n dispatch(request());\r\n adddocumentService.addCredentialing(fdata)\r\n .then(\r\n user => { \r\n dispatch(success(user));\r\n // console.log('checking history');\r\n // console.log(history);\r\n // history.push('/');\r\n dispatch(alertActions.success('add successful'));\r\n //window.location = \"/alertdocument\";\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(user) { return { type: adddocumentConstants.LOGIN_REQUEST, user } }\r\n function success(user) { return { type: adddocumentConstants.LOGIN_SUCCESS, user } }\r\n function failure(error) { return { type: adddocumentConstants.LOGIN_FAILURE, error } }\r\n}\r\n\r\nfunction getAllHRSADoc(HRMRUserId) {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n adddocumentService.getAllHRSADoc(HRMRUserId)\r\n .then(\r\n adddocument => dispatch(success(adddocument.response)),\r\n error =>{ dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: adddocumentConstants.GETALL_REQUEST } }\r\n function success(adddocument) { return { type: adddocumentConstants.GETALL_SUCCESS, adddocument } }\r\n function failure(error) { return { type: adddocumentConstants.GETALL_FAILURE, error } }\r\n}\r\n\r\nfunction getHRSAGapReport(HRMRUserId) {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n adddocumentService.getHRSAGapReport(HRMRUserId)\r\n .then(\r\n adddocument => dispatch(success(adddocument.response)),\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: adddocumentConstants.GETALL_REQUEST } }\r\n function success(adddocument) { return { type: adddocumentConstants.GETALL_SUCCESS, adddocument } }\r\n function failure(error) { return { type: adddocumentConstants.GETALL_FAILURE, error } }\r\n}\r\n\r\nfunction getAll(UserId,DeptId) {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n adddocumentService.getAll(UserId,DeptId)\r\n .then(\r\n adddocument => dispatch(success(adddocument.response)),\r\n error => dispatch(failure(error.toString()))\r\n );\r\n };\r\n\r\n function request() { return { type: adddocumentConstants.GETALL_REQUEST } }\r\n function success(adddocument) { return { type: adddocumentConstants.GETALL_SUCCESS, adddocument } }\r\n function failure(error) { return { type: adddocumentConstants.GETALL_FAILURE, error } }\r\n}\r\n\r\nfunction downloadHRSADoc(docName) {\r\n return dispatch => {\r\n dispatch(request(docName));\r\n\r\n adddocumentService.downloadHRSADoc(docName)\r\n .then(\r\n user => dispatch(success({docName})),\r\n error => dispatch(failure(docName, error.toString()))\r\n );\r\n };\r\n\r\n function request(docName) { return { type: adddocumentConstants.DOWNLOAD_REQUEST, docName } }\r\n function success(docName) { return { type: adddocumentConstants.DOWNLOAD_SUCCESS, docName } }\r\n function failure(docName, error) { return { type: adddocumentConstants.DOWNLOAD_FAILURE, docName, error } }\r\n}\r\nfunction hideCredentialDoc(activityId,credentialingDocId,isHide) {\r\n return dispatch => {\r\n dispatch(request(activityId,credentialingDocId,isHide));\r\n\r\n adddocumentService.hideCredentialDoc(credentialingDocId)\r\n .then(\r\n adddocument => dispatch(success(activityId,credentialingDocId,isHide)),\r\n error => dispatch(failure(credentialingDocId, error.toString()))\r\n );\r\n };\r\n\r\n function request(activityId,credentialingDocId,isHide) { return { type: adddocumentConstants.DELETE_REQUEST,activityId, credentialingDocId,isHide } }\r\n function success(activityId,credentialingDocId,isHide) { return { type: adddocumentConstants.DELETE_SUCCESS, activityId,credentialingDocId,isHide } }\r\n function failure(credentialingDocId, error) { return { type: adddocumentConstants.DELETE_FAILURE, credentialingDocId, error } }\r\n}\r\n// prefixed function name with underscore because delete is a reserved word in javascript\r\nfunction _delete(id) {\r\n return dispatch => {\r\n dispatch(request(id));\r\n\r\n adddocumentService.delete(id)\r\n .then(\r\n user => dispatch(success(id)),\r\n error => dispatch(failure(id, error.toString()))\r\n );\r\n };\r\n\r\n function request(id) { return { type: adddocumentConstants.DELETE_REQUEST, id } }\r\n function success(id) { return { type: adddocumentConstants.DELETE_SUCCESS, id } }\r\n function failure(id, error) { return { type: adddocumentConstants.DELETE_FAILURE, id, error } }\r\n}","import {dashboardConstants} from '../_constants';\r\nimport {dashboardService} from '../_services';\r\nimport {alertActions} from './';\r\nimport {history} from '../_helpers';\r\n\r\nexport const dashboardActions = {\r\n getOrgDetail\r\n};\r\n\r\nfunction getOrgDetail(HRMRId) {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n dashboardService.getOrgDetail(HRMRId)\r\n .then(\r\n orgDetail => dispatch(success(orgDetail.response)),\r\n error => dispatch(failure(error.toString()))\r\n );\r\n };\r\n\r\n function request() { return { type: dashboardConstants.GET_REQUEST } }\r\n function success(orgDetail) { return { type: dashboardConstants.GET_SUCCESS, orgDetail } }\r\n function failure(error) { return { type: dashboardConstants.GET_FAILURE, error } }\r\n}","import { createBrowserHistory } from 'history';\r\n\r\nexport const history = createBrowserHistory({forceRefresh:true});","// import {createStore,applyMiddleware} from 'redux';\r\n// import thunkMiddleware from 'redux-thunk';\r\n// import {createLogger}from 'redux-logger';\r\n// import rootReducer from '../_reducers';\r\n\r\n// const loggerMiddleware= createLogger();\r\n\r\n// export const store=createStore(\r\n// rootReducer,\r\n// applyMiddleware(thunkMiddleware,loggerMiddleware)\r\n// );\r\n\r\nif (process.env.NODE_ENV === 'production') {\r\n module.exports = require('./store.prod');\r\n } else {\r\n module.exports = require('./store.dev');\r\n }","export function authHeader() {\r\n // return authorization header with jwt token\r\n let user = JSON.parse(localStorage.getItem('userToken'));\r\n if (user && user.token) {\r\n return { 'Authorization': 'Bearer ' + user.token };\r\n } else {\r\n return {};\r\n }\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport ReactTable from 'react-table-v6';\r\nimport 'react-table-v6/react-table.css';\r\n\r\nimport Select from \"react-select\";\r\n\r\nimport { configConstants } from '../../../_constants';\r\n\r\nimport { alertActions, mytrainingActions } from '../../../_actions';\r\n\r\nimport { Loader } from '../../Common/Loader'\r\n\r\nimport Pagination from \"../../Common/Pagination\";\r\n\r\nfunction MyTraining(props) {\r\n const alert = useSelector(state => state.alert);\r\n const orgDetail = useSelector(state => state.dashboard);\r\n let orgProfile = orgDetail.items;\r\n let user = useSelector(state => state.authentication.user);\r\n const mytraining = useSelector(state => state.mytraining);\r\n const dispatch = useDispatch();\r\n\r\n let [Loading, setLoading] = useState(false);\r\n // let [yearVal, setYearVal] = useState((new Date()).getFullYear())\r\n let [serachParam, setSearchParam] = useState([{ SearchedText: \"\", Year: (new Date()).getFullYear() }]);\r\n\r\n useEffect(() => {\r\n dispatch(alertActions.clear());\r\n setSearchParam(serachParam => ({ [\"SearchedText\"]: \"\", [\"Year\"]: (new Date()).getFullYear() }));\r\n if (user != \"undefined\" && user != null && user != \"[]\" && !user.loding) {\r\n let UserId = user.hrmrUser.userId;\r\n let HRMRUserId = JSON.stringify(user.hrmrUser.hrmrUserId);\r\n dispatch(mytrainingActions.getAllTrainngs(HRMRUserId, UserId, (new Date()).getFullYear(), \"\"));\r\n }\r\n }, []);\r\n\r\n const Item = mytraining.items;\r\n let data = [];\r\n if (Item != undefined && Item != null && Item != []) {\r\n data = Item.filter(training => training.isScormTraining !== true)\r\n }\r\n const columns = [\r\n {\r\n Header: \"#\",\r\n id: \"row\",\r\n maxWidth: 50,\r\n sortable: false,\r\n filterable: false,\r\n Cell: (row) => {\r\n return
{row.index + 1}
;\r\n }\r\n }, {\r\n Header: 'Training Name',\r\n accessor: 'surveyName',\r\n sortable: false,\r\n filterable: false,\r\n }, {\r\n Header: 'Training Type',\r\n accessor: 'attempType',\r\n sortable: false,\r\n filterable: false,\r\n }, {\r\n Header: 'Action',\r\n id: \"action\",\r\n sortable: false,\r\n filterable: false,\r\n accessor: row => {\r\n // let id=\"NDFlNDFhMWUtNTNmNy00MTJjLWE5MzYtOTU0MDg1MTA0YzRm\";\r\n // let code=\"c2hhaWxlbmRyYS5rdW1yYXdhdEBiZXlvbmRrZXkuY29t\";\r\n // let e=\"OTQyMg%3D%3D\";\r\n // let s=\"MzY4\";\r\n let id = \"\";\r\n if ((orgDetail != undefined || orgDetail.length != 0) && !orgDetail.loading) {\r\n id = new Buffer.from(orgProfile && orgProfile.organizationId).toString('base64');\r\n }\r\n let code = new Buffer.from(user && user.hrmrUser.email).toString('base64');\r\n let e = new Buffer.from(user && String(user.hrmrUser.hrmrUserId)).toString('base64');\r\n let s = new Buffer.from(row.surveyId).toString('base64');\r\n return (\r\n !row.isResultPass && row.anualYear == (new Date()).getFullYear() ? Launch Training : row.isResultPass && row.anualYear == (new Date()).getFullYear() && row.blsTraining ? <> handleDownloadTrainingCertificate(row.surveyId, row.surveyName)}>Download Certificate | handleDownloadBLSCertificate(row.surveyId, row.surveyName)}>Download BLS Certificate : row.isResultPass && row.anualYear == (new Date()).getFullYear() ? handleDownloadTrainingCertificate(row.surveyId, row.surveyName)}>Download Certificate : \"\"\r\n );\r\n }\r\n }\r\n , {\r\n Header: \"Date of Completion\",\r\n accessor: 'lastEdited',\r\n sortable: false,\r\n filterable: false,\r\n }]\r\n\r\n const year = (new Date()).getFullYear();\r\n const years = Array.from(new Array(6), (val, index) => year - index);\r\n let optionsYear;\r\n if (years != null) {\r\n optionsYear = years.map(function (year, index) {\r\n return { value: year, label: year };\r\n })\r\n }\r\n const handleChangeSelect = (e, options) => {\r\n const onChangeData = {\r\n value: e.value,\r\n name: e.label,\r\n result: options.find(item => item.value === e.value)\r\n }\r\n //setYearVal(onChangeData.value);\r\n setSearchParam(serachParam => ({ ...serachParam, [\"Year\"]: onChangeData.value }));\r\n };\r\n function handleChange(e) {\r\n const { name, value } = e.target;\r\n setSearchParam(serachParam => ({ ...serachParam, [name]: value }));\r\n }\r\n // useEffect(() => {\r\n // if (user != \"undefined\" && user != null && user != \"[]\" && !user.loding) {\r\n // let UserId = user.hrmrUser.userId;\r\n // let HRMRUserId = JSON.stringify(user.hrmrUser.hrmrUserId);\r\n // dispatch(mytrainingActions.getAllTrainngs(HRMRUserId, UserId, serachParam.yearVal,serachParam.SearchedText));\r\n // }\r\n // }, [yearVal]);\r\n\r\n let { SearchedText, Year } = serachParam;\r\n function handleSubmit(e) {\r\n e.preventDefault();\r\n console.log(JSON.stringify())\r\n if (user != \"undefined\" && user != null && user != \"[]\" && !user.loding) {\r\n let UserId = user.hrmrUser.userId;\r\n let HRMRUserId = JSON.stringify(user.hrmrUser.hrmrUserId);\r\n dispatch(mytrainingActions.getAllTrainngs(HRMRUserId, UserId, Year, SearchedText));\r\n }\r\n }\r\n\r\n function handleDownloadTrainingCertificate(TrainingId, TrainingName) {\r\n setLoading(true);\r\n let HRMRId = user && String(user.hrmrUser.hrmrUserId);\r\n fetch(`${configConstants.API_BASE_PATH}HRTraining/DownloadTrainingCertificate?TrainingId=${TrainingId}&HRMRUserId=${HRMRId}`, {\r\n headers: {\r\n 'Authorization': 'Bearer ' + user.token\r\n }\r\n })\r\n .then(response => {\r\n response.blob().then(blob => {\r\n let url = window.URL.createObjectURL(blob);\r\n let a = document.createElement('a');\r\n a.href = url;\r\n a.download = TrainingName;\r\n a.click();\r\n });\r\n setLoading(false);\r\n //window.location.href = response.url;\r\n })\r\n .catch(err => {\r\n console.log(\"ERROR: \", err);\r\n setLoading(false);\r\n });\r\n }\r\n\r\n function handleDownloadBLSCertificate(TrainingId, TrainingName) {\r\n setLoading(true);\r\n setLoading('loder true');\r\n let HRMRId = user && String(user.hrmrUser.hrmrUserId);\r\n fetch(`${configConstants.API_BASE_PATH}HRTraining/DownloadBLSCertificate?TrainingId=${TrainingId}&HRMRUserId=${HRMRId}`, {\r\n headers: {\r\n 'Authorization': 'Bearer ' + user.token\r\n }\r\n })\r\n .then(response => {\r\n response.blob().then(blob => {\r\n let url = window.URL.createObjectURL(blob);\r\n let a = document.createElement('a');\r\n a.href = url;\r\n a.download = \"BLSCard\";\r\n a.click();\r\n });\r\n setLoading(false);\r\n //window.location.href = response.url;\r\n })\r\n .catch(err => {\r\n console.log(\"ERROR: \", err);\r\n setLoading(false);\r\n });\r\n }\r\n return (\r\n \r\n {mytraining.loading && }\r\n {Loading && }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n

Instructions :

\r\n
    \r\n
  • \r\n Please complete your training and download your Training certificate\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n alert.message &&\r\n
{alert.message}
\r\n }\r\n
\r\n {\r\n return (\r\n !mytraining.loading && (data === undefined || data.length == 0) ?
\"\" Sorry, No data to display
: null\r\n )\r\n }}\r\n filterable={false}\r\n />\r\n
\r\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 { MyTraining };","import React from 'react';\r\nimport \"./loader.css\";\r\n\r\nexport const Loader = () =>
Loading…
;","export const alertConstants = {\r\n SUCCESS: 'ALERT_SUCCESS',\r\n ERROR: 'ALERT_ERROR',\r\n CLEAR: 'ALERT_CLEAR'\r\n};\r\n","/**\r\n * configConstants\r\n *\r\n * @package onboard\r\n * @subpackage configConstants\r\n * @category Constants\r\n * @DateOfCreation 11 May 2019\r\n * @ShortDescription This is responsible for all config related constants\r\n */\r\n\r\nexport const configConstants = {\r\n API_BASE_PATH : process.env.REACT_APP_API_BASE_PATH,\r\n WP_BASE_PATH : process.env.WP_BASE_PATH,\r\n SUCCESS_CODE : 200,\r\n ERROR_CODE : 400,\r\n EXCEPTION_CODE : 404,\r\n UNAUTHENTICATE_CODE : 401,\r\n FORBIDDEN_CODE : 403,\r\n INACTIVE_USER_CODE : 421,\r\n RESOURCE_TYPE : 1,\r\n LOGIN_TOKEN : '_lgbds',\r\n USER_INFO : '_ugdhs',\r\n START_YEAR : '1970',\r\n END_YEAR : '2019',\r\n START_MONTH : '1',\r\n END_MONTH : '12',\r\n USER_ROLE_ADMIN : 'Admin',\r\n USER_ROLE_TPA : 'TPA',\r\n USER_ROLE_OWNER : 'Owner',\r\n USER_ROLE_MGMT : 'MGMT',\r\n USER_ROLE_MANAGER : 'STRMGR',\r\n USER_ROLE_EMPLOYEE : 'EMPLOYEE',\r\n UNAUTHENTICATE : 'UNAUTHENTICATE',\r\n HIPAAURL : process.env.REACT_APP_HIPAA_BASE_PATH,\r\n HIPAAURLOLD : process.env.REACT_APP_HIPAAOLD_BASE_PATH,\r\n MEDIA_BASE_PATH : process.env.REACT_APP_API_BASE_PATH+'media/',\r\n PROFILE_BASE_PATH : process.env.REACT_APP_API_BASE_PATH+'profile-image/',\r\n DEFAULT_IMAGE_PATH : process.env.PUBLIC_URL+'assets/images/inner-logo.png',\r\n PROFILE_LOAING : process.env.REACT_APP_STATIC_IMAGE_BASE_PATH+'profile-loading.gif',\r\n CONFIRM_ALERT_YES : 'Yes',\r\n CONFIRM_ALERT_NO : 'No',\r\n W4_FORM_ID : 1,\r\n I9_FORM_ID : 2,\r\n WOTC_FORM_ID : 3,\r\n DD_FORM_ID : 4,\r\n A4_FORM_ID : 6,\r\n HIPAAORIGINURL : window.location.origin,\r\n};\r\n","export const userConstants = {\r\n REGISTER_REQUEST: 'USERS_REGISTER_REQUEST',\r\n REGISTER_SUCCESS: 'USERS_REGISTER_SUCCESS',\r\n REGISTER_FAILURE: 'USERS_REGISTER_FAILURE',\r\n\r\n LOGIN_REQUEST: 'USERS_LOGIN_REQUEST',\r\n LOGIN_SUCCESS: 'USERS_LOGIN_SUCCESS',\r\n LOGIN_FAILURE: 'USERS_LOGIN_FAILURE',\r\n \r\n LOGOUT: 'USERS_LOGOUT',\r\n\r\n GETALL_REQUEST: 'USERS_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'USERS_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'USERS_GETALL_FAILURE',\r\n\r\n DELETE_REQUEST: 'USERS_DELETE_REQUEST',\r\n DELETE_SUCCESS: 'USERS_DELETE_SUCCESS',\r\n DELETE_FAILURE: 'USERS_DELETE_FAILURE',\r\n\r\n CHANGEPASSWORD_REQUEST: 'USERS_CHANGEPASSWORD_REQUEST',\r\n CHANGEPASSWORD_SUCCESS: 'USERS_CHANGEPASSWORD_SUCCESS',\r\n CHANGEPASSWORD_FAILURE: 'USERS_CHANGEPASSWORD_FAILURE' ,\r\n \r\n FORGOTPASSWORD_REQUEST: 'USERS_FORGOTPASSWORD_REQUEST',\r\n FORGOTPASSWORD_SUCCESS: 'USERS_FORGOTPASSWORD_SUCCESS',\r\n FORGOTPASSWORD_FAILURE: 'USERS_FORGOTPASSWORD_FAILURE',\r\n\r\n GETEMPPROFILE_REQUEST: 'USERS_GETEMPPROFILE_REQUEST',\r\n GETEMPPROFILE_SUCCESS: 'USERS_GETEMPPROFILE_SUCCESS',\r\n GETEMPPROFILE_FAILURE: 'USERS_GETEMPPROFILE_FAILURE' \r\n};\r\n","export const mytrainingConstants = {\r\n GETALL_REQUEST: 'MYTRAINING_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'MYTRAINING_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'MYTRAINING_GETALL_FAILURE',\r\n\r\n DELETE_REQUEST: 'MYTRAINING_DELETE_REQUEST',\r\n DELETE_SUCCESS: 'MYTRAINING_DELETE_SUCCESS',\r\n DELETE_FAILURE: 'MYTRAINING_DELETE_FAILURE',\r\n};\r\n","export const mydocumentConstants = {\r\n GETALL_REQUEST: 'MYDOCUMENT_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'MYDOCUMENT_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'MYDOCUMENT_GETALL_FAILURE',\r\n\r\n PPREPODOCSTATUS_REQUEST: 'PPREPODOCSTATUS_UPDATE_REQUEST',\r\n PPREPODOCSTATUS_SUCCESS: 'PPREPODOCSTATUS_UPDATE_SUCCESS',\r\n PPREPODOCSTATUS_FAILURE: 'PPREPODOCSTATUS_UPDATE_FAILURE',\r\n\r\n DELETE_REQUEST: 'MYDOCUMENT_DELETE_REQUEST',\r\n DELETE_SUCCESS: 'MYDOCUMENT_DELETE_SUCCESS',\r\n DELETE_FAILURE: 'MYDOCUMENT_DELETE_FAILURE' \r\n};\r\n","export const adddocumentConstants = {\r\n GETALL_REQUEST: 'ADDDOCUMENT_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'ADDDOCUMENT_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'ADDDOCUMENT_GETALL_FAILURE',\r\n\r\n GETDOCTYPEALL_REQUEST: 'ADDDOCUMENT_GETDOCTYPEALL_REQUEST',\r\n GETDOCTYPEALL_SUCCESS: 'ADDDOCUMENT_GETDOCTYPEALL_SUCCESS',\r\n GETDOCTYPEALL_FAILURE: 'ADDDOCUMENT_GETDOCTYPEALL_FAILURE',\r\n\r\n DELETE_REQUEST: 'ADDDOCUMENT_DELETE_REQUEST',\r\n DELETE_SUCCESS: 'ADDDOCUMENT_DELETE_SUCCESS',\r\n DELETE_FAILURE: 'ADDDOCUMENT_DELETE_FAILURE',\r\n \r\n \r\n DOWNLOAD_REQUEST: 'ADDDOCUMENT_DOWNLOAD_REQUEST',\r\n DOWNLOAD_SUCCESS: 'ADDDOCUMENT_DOWNLOAD_SUCCESS',\r\n DOWNLOAD_FAILURE: 'ADDDOCUMENT_DOWNLOAD_FAILURE',\r\n};\r\n","export const dashboardConstants = {\r\n GET_REQUEST: 'ORGDETAIL_GET_REQUEST',\r\n GET_SUCCESS: 'ORGDETAIL_GET_SUCCESS',\r\n GET_FAILURE: 'ORGDETAIL_GET_FAILURE',\r\n};\r\n","import React from 'react';\r\nimport { Route, Redirect } from 'react-router-dom';\r\n\r\nexport const PrivateRoute = ({ component: Component, ...rest }) => (\r\n (\r\n localStorage.getItem('userToken')\r\n ? \r\n : \r\n )} />\r\n)","import React from 'react';\r\nimport { Link } from 'react-router-dom'\r\nimport { configConstants } from '../../_constants';\r\n\r\nfunction Header(props) {\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {/* \r\n \"logo\"\r\n \"logo\"\r\n Go to homepage\r\n */}\r\n \r\n \"logo\"\r\n \"logo\"\r\n \r\n Go to homepage\r\n
\r\n \r\n
\r\n
\r\n
\r\n
    \r\n
  • Home
  • \r\n
  • About Us
  • \r\n
  • Pricing
  • \r\n
  • Testimonials
  • \r\n {/*
  • Sign In
  • */}\r\n\r\n {/*
  • Home
  • \r\n
  • About Us
  • \r\n
  • Pricing
  • \r\n
  • Testimonials
  • */}\r\n
  • \r\n
    \r\n \r\n
    \r\n {/* Admin Portal */}\r\n Provider / Staff Portal\r\n
    \r\n
    \r\n
  • \r\n {/*
  • Sign In
  • */}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport { Header };","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport {configConstants} from '../../_constants';\r\nimport Moment from 'moment';\r\n\r\nfunction Footer(props) {\r\n const currentYear = Moment().year();\r\n return (\r\n\r\n \r\n {/* */}\r\n
\r\n
To Top
\r\n
\r\n
\r\n {/* */}\r\n {\r\n localStorage.getItem('userToken') ?\r\n
\r\n
\r\n
\r\n
© {currentYear} - e2o Health. All rights reserved
\r\n
\r\n
\r\n
\r\n :\r\n
\r\n \r\n
\r\n
\r\n
\r\n

\r\n About Us\r\n

\r\n

\r\n HIPAA Watchdog is comprehensive and affordable HIPAA Compliance software delivered as a service that provides a secure and confidential approach for healthcare organizations to maintain and track their organization’s privacy and security efforts. The goal of HIPAA Watchdog is to help demystify HIPAA to create a culture of HIPAA compliance within the healthcare community.\r\n

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

\r\n Contacts\r\n

\r\n

\r\n \"\"\r\n \r\n 21151 S. Western Avenue, Suite 144\r\n Torrance, CA 90501\r\n \r\n

\r\n

\r\n \"\"\r\n \r\n (800) 409-0096\r\n \r\n

\r\n

\r\n \"\"\r\n \r\n support@e2ohealth.com\r\n \r\n

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

\r\n Follow Us\r\n

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

\r\n Newsletter\r\n

\r\n

\r\n Subscribe to our newsletter.\r\n

\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
© {currentYear} - e2o Health. All rights reserved
\r\n\r\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 {Footer};","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { NavLink, Link, Route } from 'react-router-dom';\r\n\r\nimport { alertActions, dashboardActions } from '../../_actions';\r\n\r\nfunction ListItemLink({ to, ...rest }) {\r\n return (\r\n (\r\n
  • \r\n \r\n
  • \r\n )}\r\n />\r\n );\r\n}\r\n\r\n\r\nfunction LayoutDashbaord(props) {\r\n const orgDetail = useSelector(state => state.dashboard);\r\n const user = useSelector(state => state.authentication.user);\r\n const dispatch = useDispatch();\r\n let HRMRId = \"\"; let HRMRUserName = \"\";\r\n if (user != \"undefined\" && user != null && user != [] && !user.loding) {\r\n HRMRId = user.hrmrUser.hrmrUserId;\r\n HRMRUserName = user.hrmrUser.firstName + \" \" + user.hrmrUser.lastName;\r\n }\r\n\r\n useEffect(() => {\r\n dispatch(alertActions.clear());\r\n dispatch(dashboardActions.getOrgDetail(HRMRId));\r\n }, []);\r\n\r\n let orgProfile = orgDetail.items;\r\n\r\n\r\n function openCredentiallingForm() {\r\n window.location.href = \"/EmployeeCredentialForm\";\r\n }\r\n\r\n\r\n\r\n\r\n function getDataFromIFrame() {\r\n let test = document.getElementsById('hidHRMRId');\r\n }\r\n\r\n return (\r\n\r\n\r\n //
    \r\n \r\n {/* */}\r\n
    \r\n {/* \r\n */}\r\n \r\n
    \r\n {/* \r\n */}\r\n \r\n {/* */}\r\n
    \r\n //
    \r\n\r\n );\r\n}\r\n\r\nexport { LayoutDashbaord };","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { userActions } from '../../_actions';\r\nimport { alertActions } from '../../_actions';\r\n\r\nimport { history } from '../../_helpers';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport { configConstants } from '../../_constants'\r\n\r\nfunction Login() {\r\n const alert = useSelector(state => state.alert);\r\n\r\n const [inputs, setInputs] = useState({ username: '', password: '' });\r\n const [submitted, setSubmitted] = useState(false);\r\n const { username, password } = inputs;\r\n const loggingIn = useSelector(state => state.authentication.loggingIn);\r\n const dispatch = useDispatch();\r\n\r\n // reset login status\r\n useEffect(() => {\r\n // history.listen((location, action) => {\r\n // // clear alert on location change\r\n // dispatch(alertActions.clear());\r\n // });\r\n dispatch(alertActions.clear());\r\n dispatch(userActions.logout());\r\n }, []);\r\n\r\n function handleChange(e) {\r\n const { name, value } = e.target;\r\n setInputs(inputs => ({ ...inputs, [name]: value }));\r\n }\r\n\r\n function handleSubmit(e) {\r\n e.preventDefault();\r\n\r\n setSubmitted(true);\r\n if (username && password) {\r\n dispatch(userActions.login(username, password));\r\n }\r\n }\r\n\r\n return (\r\n\r\n //
    \r\n //

    Login

    \r\n //
    \r\n //
    \r\n // \r\n // \r\n // {submitted && !username &&\r\n //
    Username is required
    \r\n // }\r\n //
    \r\n //
    \r\n // \r\n // \r\n // {submitted && !password &&\r\n //
    Password is required
    \r\n // }\r\n //
    \r\n //
    \r\n // \r\n //
    \r\n //
    \r\n //
    \r\n\r\n\r\n
    \r\n
    \r\n {/*
    */}\r\n
    \r\n

    Sign In Provider / Staff Portal

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

    Please enter your username and password to log in.

    \r\n
    \r\n

    UserName *

    \r\n {/* */}\r\n \r\n {\r\n submitted && !username &&\r\n
    Required
    \r\n }\r\n

    Password *

    \r\n {/* */}\r\n \r\n {\r\n submitted && !password &&\r\n
    Required
    \r\n }\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n Forgot Password\r\n
    \r\n
    \r\n {/* */}\r\n \r\n {\r\n alert.message &&\r\n
    \r\n
      \r\n
    • \r\n {alert.message}\r\n
    • \r\n
    • If you want to sign in to the Organization Admin Portal, please Click Here
    • \r\n
    \r\n
    \r\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 { Login };","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { userActions } from '../../_actions';\r\nimport { alertActions } from '../../_actions';\r\n\r\nimport { history } from '../../_helpers';\r\n\r\nimport { Loader } from '../Common/Loader';\r\n\r\nfunction ChangePassword(props) {\r\n const user = useSelector(state => state.authentication.user);\r\n const changepassword = useSelector(state => state.changepassword.changepassword);\r\n const dispatch = useDispatch();\r\n\r\n const [cpass, setCpass] = useState(false);\r\n const [passStrenth, setPassStrenth] = useState(false);\r\n const [submitted, setSubmitted] = useState(false);\r\n const [isDisabled, setIsDisabled] = useState(false);\r\n const [inputs, setInputs] = useState({\r\n username: user.hrmrUser.userName,\r\n oldPassword: '',\r\n newPassword: '',\r\n confirmPassword: ''\r\n });\r\n const alert = useSelector(state => state.alert);\r\n const { username, oldPassword, newPassword, confirmPassword } = inputs;\r\n // reset login status\r\n useEffect(() => {\r\n dispatch(alertActions.clear());\r\n // history.listen((location, action) => {\r\n // // clear alert on location change\r\n // dispatch(alertActions.clear());\r\n // });\r\n }, []);\r\n\r\n function handleChange(e) {\r\n const { name, value } = e.target;\r\n setInputs(inputs => ({ ...inputs, [name]: value }));\r\n }\r\n\r\n function handleChangePwdVal(e) {\r\n const { name, value } = e.target;\r\n setInputs(inputs => ({ ...inputs, [name]: value }));\r\n }\r\n\r\n function handleSubmit(e) {\r\n e.preventDefault();\r\n setSubmitted(true);\r\n\r\n if (oldPassword && newPassword && confirmPassword) {\r\n var reg = /^(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{6,16}$/;\r\n var test = reg.test(newPassword);\r\n if (test) {\r\n setPassStrenth(false);\r\n if (newPassword !== confirmPassword) {\r\n setCpass(true);\r\n } else {\r\n dispatch(userActions.changepassword(inputs));\r\n //setInputs(inputs => ({ username: user.hrmrUser.userName, oldPassword: '', newPassword: '', confirmPassword: '' }))\r\n }\r\n } else {\r\n setPassStrenth(true);\r\n }\r\n }\r\n else {\r\n setCpass(false);\r\n }\r\n }\r\n useEffect(() => {\r\n if (changepassword === null) {\r\n setIsDisabled(true);\r\n setTimeout(() => {\r\n history.push('/EmpDashboard')\r\n }, 4000)\r\n }\r\n }, [changepassword]);\r\n\r\n function resetCntrl(event) {\r\n setInputs({\r\n oldPassword: '',\r\n newPassword: '',\r\n confirmPassword: ''\r\n });\r\n }\r\n return (\r\n
    \r\n {changepassword && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    Instructions:

    \r\n
      \r\n
    • \r\n To change your password, provide the folowing information, and then click the Change Password button.\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {alert.message &&\r\n
    {alert.message}
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Old Password *\r\n
    \r\n \r\n {\r\n submitted && !oldPassword &&\r\n
    Required
    \r\n }\r\n
    \r\n
    \r\n
    \r\n New Password *\r\n
    \r\n \r\n {\r\n submitted && !newPassword &&\r\n
    Required
    \r\n }\r\n {\r\n passStrenth ?
    Password should contain at least 8 characters; must contain at least one lowercase letter, one uppercase letter, one numeric digit, and one special character.
    : \"\"\r\n }\r\n
    \r\n
    \r\n
    \r\n Confirm Password *\r\n
    \r\n \r\n {\r\n submitted && !confirmPassword &&\r\n
    Required
    \r\n }\r\n {\r\n cpass ?
    The new password and confirmation password do not match
    : \"\"\r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\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 { ChangePassword };","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { userActions } from '../../_actions';\r\nimport { alertActions } from '../../_actions';\r\n\r\nimport { history } from '../../_helpers';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport { Loader } from '../Common/Loader';\r\n\r\nfunction ForgotPassword(props) {\r\n\r\n const alert = useSelector(state => state.alert);\r\n const forgotpassword = useSelector(state => state.forgotpassword.forgotpassword);\r\n\r\n const [inputs, setInputs] = useState({\r\n username: '',\r\n });\r\n const [submitted, setSubmitted] = useState(false);\r\n const { username } = inputs;\r\n // const loggingIn = useSelector(state => state.authentication.loggingIn);\r\n const dispatch = useDispatch();\r\n\r\n // reset login status\r\n useEffect(() => {\r\n history.listen((location, action) => {\r\n // clear alert on location change\r\n dispatch(alertActions.clear());\r\n });\r\n\r\n dispatch(userActions.logout());\r\n }, []);\r\n\r\n function handleChange(e) {\r\n const { name, value } = e.target;\r\n setInputs(inputs => ({ ...inputs, [name]: value }));\r\n }\r\n\r\n function handleSubmit(e) {\r\n e.preventDefault();\r\n \r\n setSubmitted(true);\r\n if (username) {\r\n dispatch(userActions.forgotpassword(username));\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n {forgotpassword && }\r\n
    \r\n
    \r\n

    Forgot Password

    \r\n

    To reset your password, begin by entering your user ID

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

    \r\n *User Name\r\n

    \r\n \r\n {\r\n submitted && !username &&\r\n
    Required
    \r\n }\r\n \r\n Nevermind, I remember now\r\n
    \r\n
    \r\n {alert.message &&\r\n
    {alert.message}
    \r\n }\r\n
    \r\n
    \r\n\r\n );\r\n\r\n}\r\n\r\nexport { ForgotPassword };","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport Moment from 'moment';\r\n\r\nimport { configConstants } from '../../../_constants'\r\n\r\nimport { alertActions, userActions, mytrainingActions, adddocumentActions } from '../../../_actions';\r\n\r\nconst EmpDashboard = (props) => {\r\n const dispatch = useDispatch();\r\n const user = useSelector(state => state.authentication.user);\r\n const orgDetail = useSelector(state => state.dashboard);\r\n const mytraining = useSelector(state => state.mytraining);\r\n const mydocs = useSelector(state => state.adddocument);\r\n let orgProfile = orgDetail.items;\r\n let date = Moment(new Date()).format('MM-DD-YYYY')\r\n\r\n useEffect(() => {\r\n dispatch(alertActions.clear());\r\n if (user != \"undefined\" && user != null && user != \"[]\" && !user.loding) {\r\n let UserId = user.hrmrUser.userId;\r\n let HRMRUserId = JSON.stringify(user.hrmrUser.hrmrUserId);\r\n let SearchedText = \"\";\r\n dispatch(mytrainingActions.getAllTrainngs(HRMRUserId, UserId, (new Date()).getFullYear(), SearchedText));\r\n dispatch(adddocumentActions.getAllHRSADoc(HRMRUserId));\r\n }\r\n }, []);\r\n\r\n function convertDate(str) {\r\n var date = new Date(str),\r\n mnth = (\"0\" + (date.getMonth() + 1)).slice(-2),\r\n day = (\"0\" + date.getDate()).slice(-2);\r\n return [date.getFullYear(), mnth, day].join(\"-\");\r\n }\r\n\r\n let employeeName = \"\";\r\n if (user != \"undefined\" && user != null && user != \"[]\" && !user.loding) {\r\n employeeName = user.hrmrUser.firstName + \" \" + user.hrmrUser.lastName;\r\n }\r\n const trainingItem = mytraining.items;\r\n let trainingData = [];\r\n if (trainingItem != undefined && trainingItem != null && trainingItem != []) {\r\n trainingData = trainingItem.filter(training => training.isScormTraining !== true)\r\n }\r\n let hrsaItem = mydocs.items;\r\n let hrsaData = []; let hrsaDate = [];\r\n if (hrsaItem != undefined && hrsaItem != null && hrsaItem != []) {\r\n // hrsaDate = hrsaItem.filter(hrsacred=>hrsacred.lstHRSACredDoc.some(hrsadoc=>hrsadoc.dateofExpiry!=null))\r\n //hrsaData = hrsaItem.filter(hrsacred=>hrsacred.lstHRSACredDoc!=null)\r\n hrsaData = hrsaItem.filter(hrsacred => hrsacred.lstHRSACredDoc != null)\r\n .map(item => ({\r\n ...item,\r\n lstHRSACredDoc: item.lstHRSACredDoc\r\n .filter(child => convertDate(child.dateofExpiry) <= convertDate(new Date()))\r\n }))\r\n .filter(item => item.lstHRSACredDoc.length > 0)\r\n }\r\n return (\r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n

    DashBoard

    \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \"\"\r\n
    \r\n \r\n
    \r\n\r\n {orgProfile && orgProfile.organizationName}\r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n Customize Dashboard\r\n \r\n
      \r\n {/* */}\r\n
    • \r\n Please select Widgets which you like to show on your dashboard and then save.\r\n
    • \r\n
    • \r\n Save\r\n
    • \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n {/* */}\r\n
    \r\n {/* // */}\r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n

    \r\n Please click on custmized dashboard on the top right hand side of the screen to select the widgets you would like to view.\r\n

    \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Training

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n {mytraining.loading &&
    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {(trainingData != null && trainingData != [] && trainingData.length > 0 && !mytraining.loading) ?\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n trainingData ?\r\n trainingData.slice(0, 5).map((train, index) =>\r\n train.surveyId ?\r\n \r\n \r\n \r\n \r\n : \"\"\r\n ) : !mytraining.loading && \r\n }\r\n \r\n
    Training NameDate of Completion
    {train.surveyName}{train.lastEdited}
    No training assigned!
    \r\n {(trainingData && !mytraining.loading) ? More.. : \"\"}\r\n
    : !mytraining.loading &&
    \"\" Sorry, No data found!
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Documents

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n {mydocs.loading &&
    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {(hrsaData != null && hrsaData != [] && hrsaData.length > 0 && !mydocs.loading) ?\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n hrsaData ?\r\n hrsaData.slice(0, 5).map((hrsa, index) =>\r\n hrsa.hrsaCredentialingId ?\r\n \r\n \r\n \r\n \r\n \r\n : \"\"\r\n ) : !mydocs.loading && \r\n }\r\n \r\n
    Expired dateEmployeeDocument type
    {convertDate(hrsa.lstHRSACredDoc[0].dateofExpiry)}{employeeName}{hrsa.lstHRSACredDoc[0].docType}
    No document found!
    \r\n {(hrsaData && !mydocs.loading) ? More.. : \"\"}\r\n
    : !mydocs.loading &&
    \"\" Sorry, No data found!
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport { EmpDashboard };","import { useState, useEffect } from 'react';\r\n\r\nfunction getWindowDimensions() {\r\n const { innerWidth: width, innerHeight: height } = window;\r\n return {\r\n width,\r\n height\r\n };\r\n}\r\n\r\nexport default function useWindowDimensions() {\r\n const [windowDimensions, setWindowDimensions] = useState(getWindowDimensions());\r\n\r\n useEffect(() => {\r\n function handleResize() {\r\n setWindowDimensions(getWindowDimensions());\r\n }\r\n\r\n window.addEventListener('resize', handleResize);\r\n return () => window.removeEventListener('resize', handleResize);\r\n }, []);\r\n\r\n return windowDimensions;\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Moment from 'moment';\r\nimport { alertActions, userActions, mytrainingActions, adddocumentActions } from '../../../_actions';\r\nimport { configConstants } from '../../../_constants';\r\nimport { Loader } from '../../Common/Loader'\r\nimport useWindowDimensions from '../../Common/WindowDimensions';\r\nvar CryptoJS = require(\"crypto-js\");\r\n\r\n\r\nconst EmployeeCredentialForm = (props) => {\r\n const user = useSelector(state => state.authentication.user);\r\n var url = '';\r\n const { height, width } = useWindowDimensions();\r\n var _h = parseInt(height) - 180;\r\n var formHeight = `${_h}px`;\r\n let [Loading, setLoading] = useState(true);\r\n const mydocs = useSelector(state => state.mydocument);\r\n\r\n useEffect(() => {\r\n document.getElementById('credentiallingProfie').onload = function () {\r\n setLoading(false);\r\n };\r\n }, []);\r\n\r\n\r\n function encryptKey(userId) {\r\n var key = CryptoJS.enc.Utf8.parse('8080808080808080');\r\n var iv = CryptoJS.enc.Utf8.parse('8080808080808080');\r\n var encryptedUserId = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(userId), key,\r\n {\r\n keySize: 128 / 8,\r\n iv: iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n encryptedUserId = encryptedUserId.toString().replace(/\\+/g, 'xMl3Jk');\r\n return encryptedUserId;\r\n }\r\n\r\n if (user != undefined) {\r\n let userId = user.hrmrUser.userId;\r\n let hrmrUserId = user.hrmrUser.hrmrUserId;\r\n let userEmail=user.hrmrUser.userEmail;\r\n let encryptedUserId = encryptKey(userId);\r\n // url = `${configConstants.HIPAAURL}EMRUser/CredentialingProfile/${userId}?HRMRID=${hrmrUserId}&strView=CredentialingStuff&key=${encryptedUserId}`;\r\n url = `${configConstants.HIPAAURL}authenticate?hrmrUserId=${hrmrUserId}&email=${userEmail}&route=employee-credentialing-profile`;\r\n var encUrl = encodeURI(url);\r\n }\r\n\r\n\r\n var _panelStyle = {\r\n height: `${formHeight}`\r\n }\r\n return (\r\n\r\n
    \r\n {mydocs.loading && }\r\n {Loading && }\r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n \r\n
    \r\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 { EmployeeCredentialForm };","import React from \"react\";\r\n\r\nexport default class DropDownComponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n searchInput: \"\"\r\n };\r\n }\r\n\r\n handleChange = event => {\r\n this.setState({ searchInput: event.target.value }, () =>\r\n this.globalSearch()\r\n );\r\n };\r\n\r\n globalSearch = () => {\r\n let { searchInput } = this.state;\r\n let filteredData = this.props.data.filter(value => {\r\n return (\r\n value.activity.toLowerCase().includes(searchInput.toLowerCase()) ||\r\n value.dateVerified.toLowerCase().includes(searchInput.toLowerCase()) \r\n //||\r\n // value.visits.toString().toLowerCase().includes(searchInput.toLowerCase())\r\n );\r\n });\r\n this.props.handleSetData(filteredData);\r\n };\r\n\r\n render() {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Moment from 'moment';\r\n\r\nimport ReactTable from 'react-table-v6';\r\nimport 'react-table-v6/react-table.css';\r\n\r\nimport { configConstants } from '../../../_constants';\r\n\r\nimport { alertActions, adddocumentActions } from '../../../_actions';\r\n\r\nimport { Loader } from '../../Common/Loader'\r\n\r\nimport Pagination from \"../../Common/Pagination\";\r\nimport AlertDocSearch from \"./AlertDocSearch\";\r\n\r\nfunction AlertDocument(props) {\r\n const alert = useSelector(state => state.alert);\r\n let [Loading, setLoading] = useState(false);\r\n const mydocs = useSelector(state => state.adddocument);\r\n const user = useSelector(state => state.authentication.user);\r\n const dispatch = useDispatch();\r\n let [serachResult, setSerachResult] = useState([{ data: [], filteredData: [], searchInput: \"\" }]);\r\n\r\n useEffect(() => {\r\n dispatch(alertActions.clear());\r\n if (user != \"undefined\" && user != null && user != \"[]\" && !user.loding) {\r\n let HRMRUserId = JSON.stringify(user.hrmrUser.hrmrUserId);\r\n dispatch(adddocumentActions.getAllHRSADoc(HRMRUserId));\r\n // dispatch(adddocumentActions.getHRSAGapReport());\r\n }\r\n }, []);\r\n\r\n function handleDeleteUser(id) {\r\n dispatch(adddocumentActions.delete(id));\r\n }\r\n\r\n function handleDownloadDocument(actualFileName, docName) {\r\n //dispatch(adddocumentActions.downloadHRSADoc(docName));\r\n setLoading(true);\r\n let user = JSON.parse(localStorage.getItem('userToken'));\r\n fetch(`${configConstants.API_BASE_PATH}HRTraining/DownloadCredentialingDoc?DocumentName=${docName}`, {\r\n headers: {\r\n 'Authorization': 'Bearer ' + user.token\r\n }\r\n })\r\n .then(response => {\r\n if (response.ok) {\r\n response.blob().then(blob => {\r\n let url = window.URL.createObjectURL(blob);\r\n let a = document.createElement('a');\r\n a.href = url;\r\n a.download = actualFileName;\r\n a.click();\r\n });\r\n } else (window.alert('File not found!'))\r\n setLoading(false);\r\n })\r\n .catch(err => {\r\n console.log(\"ERROR: \", err);\r\n setLoading(false);\r\n });;\r\n }\r\n\r\n const showExpiryDate = (expDate) => {\r\n if (expDate == (\"1900-01-01T00:00:00\") || expDate == (\"0001-01-01T00:00:00\")) {\r\n return <>-NA-\r\n }\r\n else {\r\n return <>{Moment(expDate).format('MM-DD-YYYY')}\r\n }\r\n }\r\n const alertDocument = (expDate) => {\r\n if (Moment.utc(expDate) >= Moment.utc(new Date())) {\r\n return <>\r\n }\r\n else if (expDate == (\"1900-01-01T00:00:00\") || expDate == (\"0001-01-01T00:00:00\")) {\r\n return <>\r\n }\r\n else {\r\n return //\r\n }\r\n }\r\n\r\n const Item = mydocs.items;\r\n const data = Item\r\n const columns = [{\r\n Header: \"#\",\r\n id: \"row\",\r\n maxWidth: 50,\r\n sortable: false,\r\n filterable: false,\r\n Cell: (row) => {\r\n return
    {row.index + 1}
    ;\r\n }\r\n }, {\r\n Header: 'CREDENTIALING ACTIVITY',\r\n accessor: 'activity',\r\n sortable: false,\r\n filterable: false,\r\n }, {\r\n Header: 'Verified Date',\r\n accessor: 'dateVerified',\r\n sortable: false,\r\n filterable: false,\r\n Cell: (props) => {\r\n let custom_date = Moment(props.value).format('MM-DD-YYYY')\r\n return {custom_date}\r\n }\r\n }, {\r\n Header: 'Document Type',\r\n accessor: 'lstHRSACredDoc',\r\n sortable: false,\r\n filterable: false,\r\n Cell: (props) => {\r\n let hrsaDOCList = props.value\r\n let outputDoc = [];\r\n hrsaDOCList && hrsaDOCList.map((val) => {\r\n outputDoc.push()//{val.actualFileName}\r\n })\r\n return outputDoc;\r\n }\r\n }, {\r\n Header: 'Expiry Date',\r\n accessor: 'lstHRSACredDoc',\r\n sortable: false,\r\n filterable: false,\r\n Cell: (props) => {\r\n let exp_dateList = props.value\r\n let output = [];\r\n exp_dateList && exp_dateList.map((val) => {\r\n output.push(
    {showExpiryDate(val.dateofExpiry)}\r\n {alertDocument(val.dateofExpiry)}
    )\r\n })\r\n return output;\r\n }\r\n }]\r\n\r\n useEffect(() => {\r\n setSerachResult(serachResult => ({ [\"data\"]: data, [\"filteredData\"]: data }));\r\n }, [Item])\r\n\r\n const handleSetData = data => {\r\n setSerachResult(serachResult => ({ [\"filteredData\"]: data }));\r\n };\r\n let { filteredData } = serachResult;\r\n return (\r\n
    \r\n {mydocs.loading && }\r\n {Loading && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    Instructions:

    \r\n
      \r\n
    • \r\n Coming soon\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* \r\n */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n alert.message &&\r\n
    {alert.message}
    \r\n }\r\n
    \r\n {\r\n return (\r\n !mydocs.loading && (filteredData === undefined || filteredData.length == 0) ?
    \"\" Sorry, No data to display
    : null\r\n )\r\n }}\r\n />\r\n
    \r\n\r\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 { AlertDocument };","import React from \"react\";\r\n\r\nexport default class DropDownComponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n searchInput: \"\"\r\n };\r\n }\r\n\r\n handleChange = event => {\r\n this.setState({ searchInput: event.target.value }, () =>\r\n this.globalSearch()\r\n );\r\n };\r\n\r\n globalSearch = () => {\r\n let { searchInput } = this.state;\r\n let filteredData = this.props.data.filter(value => {\r\n return (\r\n value.categoryName.toLowerCase().includes(searchInput.toLowerCase()) ||\r\n value.documentName.toLowerCase().includes(searchInput.toLowerCase()) \r\n //||\r\n // value.visits.toString().toLowerCase().includes(searchInput.toLowerCase())\r\n );\r\n });\r\n this.props.handleSetData(filteredData);\r\n };\r\n\r\n render() {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport Moment from 'moment';\r\n\r\nimport ReactTable from 'react-table-v6';\r\nimport 'react-table-v6/react-table.css';\r\n\r\nimport axios from 'axios';\r\nimport { configConstants } from '../../../_constants';\r\n\r\nimport { alertActions, mydocumentActions } from '../../../_actions';\r\n\r\nimport { Loader } from '../../Common/Loader'\r\n\r\nimport Pagination from \"../../Common/Pagination\";\r\nimport ReviewDocSerach from \"./ReviewDocSerach\";\r\n\r\nfunction ReviewDocument(props) {\r\n const alert = useSelector(state => state.alert);\r\n const mydocs = useSelector(state => state.mydocument);\r\n const user = useSelector(state => state.authentication.user);\r\n const dispatch = useDispatch();\r\n\r\n let [Loading, setLoading] = useState(false);\r\n // let [templateList,settemplateList]=useState([{templateId: \"\"}])\r\n let [templateList, settemplateList] = useState([]);\r\n\r\n let UserId = \"\";\r\n if (user != \"undefined\" && user != null && user != []) {\r\n UserId = user.hrmrUser.userId;\r\n }\r\n\r\n let onBoarddata = [];// Item\r\n let ppRepodata = [];\r\n let onBoardDocuSign = [];\r\n let Item = mydocs.items;\r\n if (Item != \"undefined\" && Item != null) {\r\n onBoarddata = Item.pPOnBoardDetail;\r\n if (Item.pRepositoryShare != \"undefined\" && Item.pRepositoryShare != null) {\r\n ppRepodata = Item.pRepositoryShare.filter(({ isApproved }) => isApproved);\r\n }\r\n onBoardDocuSign = Item.lstDSTemplateFinal;\r\n }\r\n\r\n\r\n let columnsOnDocuSign = [\r\n {\r\n Header: 'Select',\r\n id: 'Select',\r\n sortable: false,\r\n filterable: false,\r\n accessor: row => {\r\n return (\r\n
    handleCheckboxChange(e)} />
    \r\n )\r\n }\r\n },\r\n {\r\n Header: 'Template Name',\r\n accessor: 'documentName',\r\n sortable: false,\r\n filterable: false,\r\n }, {\r\n Header: 'Category',\r\n accessor: 'isType',\r\n sortable: false,\r\n filterable: false,\r\n }, {\r\n Header: 'Documents',\r\n accessor: 'documentPath',\r\n sortable: false,\r\n filterable: false\r\n }\r\n ]\r\n\r\n let columnsOnBoard = [\r\n {\r\n Header: 'Document Name',\r\n accessor: 'documentName',\r\n sortable: false,\r\n filterable: false,\r\n }, {\r\n Header: 'Category',\r\n accessor: 'categoryName',\r\n sortable: false,\r\n filterable: false,\r\n }, {\r\n Header: 'Sent Date',\r\n accessor: 'docUploadDate',\r\n sortable: false,\r\n filterable: false,\r\n Cell: (props) => {\r\n let custom_date = Moment(props.value).format('MM-DD-YYYY')\r\n return {custom_date}\r\n }\r\n }\r\n , {\r\n Header: 'Download',\r\n id: 'documentPath',\r\n sortable: false,\r\n filterable: false,\r\n accessor: row => {\r\n return (\r\n //\r\n )\r\n }\r\n }\r\n ]\r\n\r\n let columnsPPRepo = [\r\n {\r\n Header: 'Date',\r\n id: \"Date\",\r\n sortable: false,\r\n filterable: false,\r\n accessor: row => {\r\n return (\r\n row.lstPPRepoShareActivityModel && row.lstPPRepoShareActivityModel.isApprove ? Moment(row.lstPPRepoShareActivityModel.IsApproveDate).format('MM-DD-YYYY') : Moment(row.uploadDate).format('MM-DD-YYYY')\r\n )\r\n }\r\n },\r\n {\r\n Header: 'Document Name',\r\n id: 'documentName',\r\n sortable: false,\r\n filterable: false,\r\n accessor: row => {\r\n return \r\n }\r\n }, {\r\n Header: 'Status',\r\n id: 'Status',\r\n sortable: false,\r\n filterable: false,\r\n accessor: row => {\r\n return (\r\n (row.lstPPRepoShareActivityModel != \"undefined\" && row.lstPPRepoShareActivityModel != null && row.lstPPRepoShareActivityModel != \"[]\") ? (row.lstPPRepoShareActivityModel[0].isApprove && row.lstPPRepoShareActivityModel[0].isReview) ? Reviewed and Approved : row.lstPPRepoShareActivityModel[0].isReview ? Reviewed : row.lstPPRepoShareActivityModel[0].isApprove ? Approved : None : None\r\n )\r\n }\r\n }\r\n , {\r\n Header: 'comments',\r\n accessor: 'comments',\r\n sortable: false,\r\n filterable: false,\r\n }, {\r\n Header: 'Action',\r\n id: 'Action',\r\n sortable: false,\r\n filterable: false,\r\n accessor: row => {\r\n return (\r\n //(row.lstPPRepoShareActivityModel != \"undefined\" && row.lstPPRepoShareActivityModel != null && row.lstPPRepoShareActivityModel != \"[]\") ? (row.lstPPRepoShareActivityModel[0].isApprove && row.lstPPRepoShareActivityModel[0].isReview) ? <> : row.lstPPRepoShareActivityModel[0].isReview ? <> : row.lstPPRepoShareActivityModel[0].isApprove ? <> : <> : <>\r\n (row.lstPPRepoShareActivityModel != \"undefined\" && row.lstPPRepoShareActivityModel != null && row.lstPPRepoShareActivityModel != \"[]\") ? <> : <>\r\n )\r\n }\r\n }\r\n ]\r\n let [serachResult, setSerachResult] = useState([{ data: [], filteredData: [], searchInput: \"\" }]);\r\n\r\n useEffect(() => {\r\n dispatch(alertActions.clear());\r\n if (user != \"undefined\" && user != null && user != \"[]\" && !user.loding) {\r\n let HRMRUserId = JSON.stringify(user.hrmrUser.hrmrUserId);\r\n dispatch(mydocumentActions.getAll(HRMRUserId));\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n setSerachResult(serachResult => ({ [\"data\"]: onBoarddata, [\"filteredData\"]: onBoarddata }));\r\n }, [Item])\r\n\r\n useEffect(() => {\r\n console.log(templateList);\r\n }, [templateList]);\r\n\r\n function handleDownloadDoc(FileName, FilePath) {\r\n setLoading(true);\r\n let user = JSON.parse(localStorage.getItem('userToken'));\r\n fetch(`${configConstants.API_BASE_PATH}HRTraining/DownloadPPRepositoryDoc?DocumentName=${FilePath}`, {\r\n headers: {\r\n 'Authorization': 'Bearer ' + user.token\r\n }\r\n })\r\n .then(response => {\r\n if (response.ok) {\r\n response.blob().then(blob => {\r\n let url = window.URL.createObjectURL(blob);\r\n let a = document.createElement('a');\r\n a.href = url;\r\n a.download = FileName;\r\n a.click();\r\n });\r\n } else (window.alert('File not found!'))\r\n setLoading(false);\r\n })\r\n .catch(err => {\r\n console.log(\"ERROR: \", err);\r\n setLoading(false);\r\n });;\r\n }\r\n function handleDownloadOnboardSignDoc(UserId, fileName) {\r\n setLoading(true);\r\n let user = JSON.parse(localStorage.getItem('userToken'));\r\n fetch(`${configConstants.API_BASE_PATH}HRTraining/DownloadOnBoardDoc?UserId=${UserId}&fileName=${fileName}`, {\r\n headers: {\r\n 'Authorization': 'Bearer ' + user.token\r\n }\r\n })\r\n .then(response => {\r\n if (response.ok) {\r\n response.blob().then(blob => {\r\n let url = window.URL.createObjectURL(blob);\r\n let a = document.createElement('a');\r\n a.href = url;\r\n a.download = fileName;\r\n a.click();\r\n });\r\n } else (window.alert('File not found!'))\r\n setLoading(false);\r\n })\r\n .catch(err => {\r\n console.log(\"ERROR: \", err);\r\n setLoading(false);\r\n });\r\n }\r\n function handleUpdateReviewApporveStatus(PPRepositoryShareId, Activity, IsDownload, FileName, FilePath) {\r\n setLoading(true);\r\n dispatch(mydocumentActions.updateReviewApporveStatus(PPRepositoryShareId, Activity, IsDownload));\r\n if (IsDownload == 1) {\r\n handleDownloadDoc(FileName, FilePath)\r\n }\r\n setLoading(false);\r\n }\r\n function handleEmailDocuSignDefaultTemplate(UserId) {\r\n const isEmpty = (value) => value === undefined || value === null || value === '';\r\n const selectTemplate = templateList.some((item) => isEmpty(item.value));\r\n if (templateList.length) {\r\n console.log('handle event done');\r\n console.log(selectTemplate);\r\n setLoading(true);\r\n let user = JSON.parse(localStorage.getItem('userToken'));\r\n let HRMRUserId = JSON.stringify(user.hrmrUser.hrmrUserId);\r\n var postData = {\r\n UserId: UserId,\r\n HRMRId: HRMRUserId,\r\n TemplateList: templateList\r\n };\r\n // fetch(`${configConstants.API_BASE_PATH}HRTraining/EmailDocuSignDefaultTemplate?UserId=${UserId}&HRMRId=${HRMRUserId}&TemplateList=${templateList}`, {\r\n // headers: {\r\n // 'Authorization': 'Bearer ' + user.token\r\n // }\r\n // })\r\n console.log(postData);\r\n axios.post(`${configConstants.API_BASE_PATH}HRTraining/EmailDocuSignDefaultTemplate`, JSON.stringify(postData), {\r\n headers: {\r\n 'Authorization': 'Bearer ' + user.token,\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(response => {\r\n if (response.ok) {\r\n } else (window.alert('Server Issue!'))\r\n setLoading(false);\r\n })\r\n .catch(err => {\r\n console.log(\"ERROR: \", err);\r\n setLoading(false);\r\n });\r\n\r\n } else {\r\n window.alert('Please select templates to send e-mail');\r\n }\r\n }\r\n function handleCheckboxChange(e) {\r\n const { name, value } = e.target;\r\n //const list = [...templateList];\r\n //list[index][\"templateId\"] = value;\r\n //settemplateList(templateList => ({ [\"templateId\"]: value}));\r\n if (e.target.checked) {\r\n settemplateList([\r\n ...templateList,\r\n {\r\n value\r\n },\r\n ]);\r\n } else {\r\n settemplateList(\r\n templateList.filter((filt) => filt.value !== value),\r\n );\r\n }\r\n console.log('hi event');\r\n console.log(value);\r\n }\r\n const handleSetData = data => {\r\n setSerachResult(serachResult => ({ [\"filteredData\"]: data }));\r\n };\r\n let { filteredData } = serachResult;\r\n return (\r\n
    \r\n {mydocs.loading && }\r\n {Loading && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    Instructions:

    \r\n
      \r\n
    • \r\n Please review the document carefully and then approve (sign) it\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n DocuSign Documents\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n alert.message &&\r\n
    {alert.message}
    \r\n }\r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    Default Templates:
    \r\n
    \r\n
    \r\n {\r\n return (\r\n !mydocs.loading && (onBoardDocuSign === undefined || onBoardDocuSign.length == 0) ?
    \"\" Sorry, No data to display
    : null\r\n )\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n Uploaded Documents\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n alert.message &&\r\n
    {alert.message}
    \r\n }\r\n
    \r\n
    Onboarding documents :
    \r\n
    \r\n
    \r\n {\r\n return (\r\n !mydocs.loading && (filteredData === undefined || filteredData.length == 0) ?
    \"\" Sorry, No data to display
    : null\r\n )\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Review and Approval Status :
    \r\n
    \r\n
    \r\n {\r\n return (\r\n !mydocs.loading && (ppRepodata === undefined || ppRepodata.length == 0) ?
    \"\" Sorry, No data to display
    : null\r\n )\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\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 { ReviewDocument };","import React, { useState, useEffect } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport axios from \"axios\";\r\nimport { configConstants } from \"../../../_constants\";\r\nimport { Loader } from \"../../Common/Loader\";\r\nimport Popup from \"reactjs-popup\";\r\nimport \"./modal.css\";\r\nimport Select from \"react-select\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\n\r\nconst AddDocModal = (props) => {\r\n let user = useSelector((state) => state.authentication.user);\r\n let {\r\n showAddDocPopup,\r\n closeAddDocPopup,\r\n docTypeList,\r\n onGapRptModalCloseAfterLoad,\r\n credDefaultChecklist,\r\n credActivityNumber,\r\n } = props;\r\n\r\n let [Loading, setLoading] = useState(false);\r\n const [submitted, setSubmitted] = useState(false);\r\n //let [inputList, setInputList] = useState([{ DocTypeId: \"\", DocType: \"\", CustomShowHide: \"hide\", CustomText: \"test\", FilePath: \"\", ActualFileName: \"\", OriginalDocType: \"\", DateofExpiry: new Date() }]);\r\n let [inputList, setInputList] = useState([\r\n {\r\n DocTypeId: \"\",\r\n DocType: \"\",\r\n CustomShowHide: \"hide\",\r\n CustomText: \"test\",\r\n FilePath: \"\",\r\n ActualFileName: \"\",\r\n OriginalDocType: \"\",\r\n DateofExpiry: null,\r\n isExpiration: false,\r\n isDocRequired: false,\r\n },\r\n ]);\r\n let [allInputs, SetallInputs] = useState({\r\n credActivity: \"\",\r\n verifiedDate: new Date(),\r\n docTypeAry: inputList,\r\n note: \"\",\r\n activityTextShowHide: \"hide\",\r\n activityNumberText: \"\",\r\n });\r\n let [docButtonHide, setdocButtonHide] = useState(false);\r\n\r\n const handleChangeDate = (date) => {\r\n SetallInputs((allInputs) => ({ ...allInputs, [\"verifiedDate\"]: date }));\r\n };\r\n\r\n function handleChange(e) {\r\n const { name, value } = e.target;\r\n SetallInputs((allInputs) => ({ ...allInputs, [name]: value }));\r\n }\r\n\r\n ////////// * Start * Repeat dom value funtionality//////////////\r\n\r\n const handleInputChangeDocType = (e, options, index) => {\r\n const onChangeData = {\r\n value: e.value,\r\n name: e.label,\r\n result: options.find((item) => item.docTypeId === e.value),\r\n };\r\n // console.log(index+' here doc type '+onChangeData.value);\r\n // return onChangeData;\r\n const list = [...inputList];\r\n list[index][\"DocTypeId\"] = onChangeData.value;\r\n list[index][\"DocType\"] = onChangeData.name;\r\n list[index][\"isExpiration\"] = onChangeData.result.isExpiration;\r\n list[index][\"isDocRequired\"] = onChangeData.result.isDocRequired;\r\n if (onChangeData.name == \"Custom\") {\r\n list[index][\"CustomShowHide\"] = \"show\";\r\n list[index][\"CustomText\"] = \"\";\r\n } else {\r\n list[index][\"CustomShowHide\"] = \"hide\";\r\n }\r\n setInputList(list);\r\n };\r\n\r\n // if(credDefaultChecklist){\r\n // SetallInputs(allInputs => ({ ...allInputs, [\"activityTextShowHide\"]: \"show\" }));\r\n // };\r\n\r\n let ItemDocType = docTypeList;\r\n if (credDefaultChecklist) {\r\n ItemDocType = docTypeList.filter((todo) => todo.docType != \"Custom\");\r\n }\r\n let optionsDocType;\r\n if (ItemDocType != null) {\r\n optionsDocType = ItemDocType.map(function (credDocType) {\r\n return { value: credDocType.docTypeId, label: credDocType.docType };\r\n });\r\n }\r\n\r\n const handleFileChangeDocFile = (e, index) => {\r\n const { name, value } = e.target;\r\n const list = [...inputList];\r\n //setFile(file=e.target.files[0])\r\n e.preventDefault();\r\n // Get the file Id\r\n let id = e.target.id;\r\n // Create an instance of FileReader API\r\n let file_reader = new FileReader();\r\n // Get the actual file itself\r\n let file = e.target.files[0];\r\n if (file != \"undefined\" && file != undefined) {\r\n if (file.size <= 0) {\r\n window.alert(\"Please upload a file greater than 0 kb\");\r\n e.target.value = null;\r\n list[index][\"FilePath\"] = \"\";\r\n list[index][\"ActualFileName\"] = \"\";\r\n list[index][\"OriginalDocType\"] = \"\";\r\n setInputList(list);\r\n return false;\r\n } else {\r\n let filename = e.target.files[0].name;\r\n let filetype = e.target.files[0].type;\r\n filename = filename.replace(/'/g, \"\");\r\n file_reader.onload = () => {\r\n // After uploading the file\r\n // appending the file to our state array\r\n // set the object keys and values accordingly\r\n //setFiles([...files, { file_id: id, file_name: filename, uploaded_file: file_reader.result }]);\r\n list[index][\"FilePath\"] = file_reader.result;\r\n list[index][\"ActualFileName\"] = filename;\r\n list[index][\"OriginalDocType\"] = filetype;\r\n setInputList(list);\r\n };\r\n // reading the actual uploaded file\r\n file_reader.readAsDataURL(file);\r\n }\r\n } else {\r\n e.target.value = null;\r\n list[index][\"FilePath\"] = \"\";\r\n list[index][\"ActualFileName\"] = \"\";\r\n list[index][\"OriginalDocType\"] = \"\";\r\n setInputList(list);\r\n return false;\r\n }\r\n };\r\n\r\n const handleInputChangeExpiryDate = (e, index) => {\r\n // const { name, value } = e.target;\r\n const list = [...inputList];\r\n list[index][\"DateofExpiry\"] = e;\r\n setInputList(list);\r\n };\r\n\r\n function handleChangeCustomText(e, index) {\r\n const { name, value } = e.target;\r\n const list = [...inputList];\r\n let fileName = value;\r\n fileName = fileName.replace(/'/g, \"\");\r\n list[index][\"DocType\"] = fileName;\r\n list[index][\"CustomText\"] = fileName;\r\n setInputList(list);\r\n }\r\n\r\n // handle click event of the Add button\r\n const handleAddClick = () => {\r\n const list = [...inputList];\r\n //setInputList([...inputList, { DocTypeId: \"\", DocType: \"\", CustomShowHide: \"hide\", CustomText: \"test\", FilePath: \"\", ActualFileName: \"\", OriginalDocType: \"\", DateofExpiry: new Date() }]);\r\n setInputList([\r\n ...inputList,\r\n {\r\n DocTypeId: \"\",\r\n DocType: \"\",\r\n CustomShowHide: \"hide\",\r\n CustomText: \"test\",\r\n FilePath: \"\",\r\n ActualFileName: \"\",\r\n OriginalDocType: \"\",\r\n DateofExpiry: null,\r\n },\r\n ]);\r\n };\r\n\r\n const handleRemoveClick = (index) => {\r\n const list = [...inputList];\r\n list.splice(index, 1);\r\n setInputList(list);\r\n };\r\n\r\n ////////// * End * Repeat dom value funtionality//////////////\r\n function handleSubmit(e) {\r\n e.preventDefault();\r\n setSubmitted(true);\r\n const isEmpty = (value) =>\r\n value === undefined || value === null || value === \"\";\r\n const doDocTypeId = inputList.some((item) => isEmpty(item.DocTypeId));\r\n const doActualFileName = inputList.some((item) =>\r\n isEmpty(item.ActualFileName)\r\n );\r\n const doDateofExpiry = inputList.some(\r\n (item) => item.isExpiration && isEmpty(item.DateofExpiry)\r\n );\r\n const isDocRequired = inputList.some(\r\n (item) => item.isDocRequired && isEmpty(item.FilePath)\r\n );\r\n const doCustomShowHide = inputList.some(\r\n (item) => item.CustomShowHide === \"show\"\r\n );\r\n const doCustomText = inputList.some((item) => isEmpty(item.CustomText));\r\n let checCustmeText = true;\r\n if (doCustomShowHide && doCustomText) {\r\n checCustmeText = false;\r\n }\r\n // if (allInputs.verifiedDate && !doDocTypeId && !doActualFileName && !doDateofExpiry && checCustmeText) {\r\n if (\r\n allInputs.verifiedDate &&\r\n !doDocTypeId &&\r\n checCustmeText &&\r\n !doDateofExpiry &&\r\n !isDocRequired\r\n ) {\r\n // if (!doActualFileName && window.confirm(\"Are you saving this page without uploading a document(s)?\")) {\r\n var r = true;\r\n if (doActualFileName) {\r\n var r = window.confirm(\r\n \"Are you saving this page without uploading a document(s)?\"\r\n );\r\n }\r\n if (r) {\r\n setLoading(true);\r\n\r\n let UserId = \"\";\r\n let HRMRUserId;\r\n if (user != \"undefined\" && user != null && user != [] && !user.loding) {\r\n UserId = user.hrmrUser.userId;\r\n HRMRUserId = user.hrmrUser.hrmrUserId;\r\n }\r\n // const fdata = new FormData()\r\n // fdata.append('credActivity', allInputs.credActivity)\r\n // fdata.append('verifiedDate', convertDate(allInputs.verifiedDate))\r\n // fdata.append('inputList', JSON.stringify(inputList))\r\n // fdata.append('note', allInputs.note)\r\n // fdata.append('UserId', UserId)\r\n // fdata.append('HRMRUserId', HRMRUserId)\r\n\r\n var postData = {\r\n UserId: UserId,\r\n HRMRId: HRMRUserId,\r\n ClinicalStaffOptions: allInputs.credActivity,\r\n DateVerified: convertDate(allInputs.verifiedDate),\r\n Description: allInputs.note,\r\n ActivityNumber: allInputs.activityNumberText,\r\n lstHRSACredDoc: inputList,\r\n };\r\n //dispatch(adddocumentActions.addCredentialing(fdata));\r\n axios\r\n .post(\r\n `${configConstants.API_BASE_PATH}HRTraining/AddCredentialing`,\r\n JSON.stringify(postData),\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + user.token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then((resp) => {\r\n // then print response status\r\n if (resp.status === 200) {\r\n closeAddDocPopup();\r\n onGapRptModalCloseAfterLoad();\r\n setLoading(false);\r\n setSubmitted(false);\r\n //window.location = \"/alertdocument\";\r\n } else {\r\n setLoading(false);\r\n console.log(\"else\");\r\n window.alert(resp.status);\r\n }\r\n })\r\n .catch(function (error) {\r\n setLoading(false);\r\n console.log(\"error on catch \" + error);\r\n window.alert(error);\r\n })\r\n .then(function () {\r\n //setLoading(false);\r\n });\r\n }\r\n }\r\n }\r\n function convertDate(str) {\r\n var date = new Date(str),\r\n mnth = (\"0\" + (date.getMonth() + 1)).slice(-2),\r\n day = (\"0\" + date.getDate()).slice(-2);\r\n return [date.getFullYear(), mnth, day].join(\"-\");\r\n }\r\n useEffect(() => {\r\n if (props.showAddDocPopup) {\r\n setSubmitted(false);\r\n SetallInputs((allInputs) => ({\r\n [\"credActivity\"]: props.credActivityId,\r\n [\"verifiedDate\"]: new Date(),\r\n [\"activityTextShowHide\"]: \"hide\",\r\n [\"activityNumberText\"]: credActivityNumber,\r\n }));\r\n //setInputList([{ docType: \"\", docTypeName: \"\", docFile: \"\", docFileName: \"\", docContentType: \"\", expiryDate: new Date() }]);\r\n // setInputList([{ DocTypeId: \"\", DocType: \"\", CustomShowHide: \"hide\", CustomText: \"test\", FilePath: \"\", ActualFileName: \"\", OriginalDocType: \"\", DateofExpiry: new Date() }]);\r\n setInputList([\r\n {\r\n DocTypeId: \"\",\r\n DocType: \"\",\r\n CustomShowHide: \"hide\",\r\n CustomText: \"test\",\r\n FilePath: \"\",\r\n ActualFileName: \"\",\r\n OriginalDocType: \"\",\r\n DateofExpiry: null,\r\n isExpiration: false,\r\n isDocRequired: false,\r\n },\r\n ]);\r\n if (credDefaultChecklist) {\r\n SetallInputs((allInputs) => ({\r\n ...allInputs,\r\n [\"activityTextShowHide\"]: \"show\",\r\n }));\r\n setdocButtonHide((docButtonHide = true));\r\n } else {\r\n setdocButtonHide((docButtonHide = false));\r\n }\r\n } else {\r\n }\r\n }, [showAddDocPopup]);\r\n\r\n return (\r\n \r\n \r\n {Loading && }\r\n
    \r\n
    \r\n
    \r\n

    Add Document

    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {submitted && !allInputs.verifiedDate && (\r\n
    Required
    \r\n )}\r\n
    \r\n {/*
    \r\n
    \r\n         \r\n
    \r\n Show hidden items\r\n
    */}\r\n {/*
    */}\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n {inputList.map((x, i) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n handleInputChangeDocType(e, docTypeList, i)\r\n }\r\n options={\r\n docTypeList.length > 0 ? optionsDocType : \"\"\r\n }\r\n // defaultValue={docType != '' ? docType : ''}\r\n isClearable={false}\r\n isMulti={false}\r\n placeholder={\"Select Doc Type\"}\r\n />\r\n {submitted && !inputList[i][\"DocTypeId\"] && (\r\n
    Required
    \r\n )}\r\n handleChangeCustomText(e, i)}\r\n />\r\n {submitted &&\r\n inputList[i].CustomShowHide == \"show\" &&\r\n !inputList[i].CustomText && (\r\n
    Required
    \r\n )}\r\n
    \r\n
    \r\n {\" \"}\r\n {inputList[i].isDocRequired && (\r\n *\r\n )}\r\n handleFileChangeDocFile(e, i)}\r\n accept={\r\n \".xlsx,.csv,.pptx,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, text/plain, application/pdf, image/*\"\r\n }\r\n />\r\n {\r\n // submitted && !inputList[i].ActualFileName &&\r\n //
    Required
    \r\n }\r\n {submitted && inputList[i].isDocRequired && (\r\n
    Required
    \r\n )}\r\n
    \r\n
    \r\n {\" \"}\r\n {inputList[i].isExpiration && (\r\n *\r\n )}\r\n \r\n handleInputChangeExpiryDate(e, i)\r\n }\r\n dropdownMode=\"select\"\r\n showMonthDropdown\r\n showYearDropdown\r\n adjustDateOnChange\r\n />\r\n {\r\n // submitted && !inputList[i].DateofExpiry &&\r\n //
    Required
    \r\n }\r\n {submitted && inputList[i].isExpiration && (\r\n
    Required
    \r\n )}\r\n
    \r\n \r\n \r\n {inputList.length !== 1 && (\r\n handleRemoveClick(i)}\r\n disabled={credDefaultChecklist}\r\n >\r\n \r\n \r\n )}\r\n {inputList.length - 1 === i && i <= 1 ? (\r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/*
    {JSON.stringify(inputList)}
    \r\n
    {JSON.stringify(allInputs.credActivity)}
    \r\n
    {JSON.stringify(allInputs.verifiedDate)}
    \r\n
    {JSON.stringify(allInputs.note)}
    \r\n
    {JSON.stringify(allInputs.activityNumberText)}
    */}\r\n
    \r\n
    \r\n \r\n closeAddDocPopup()}\r\n >\r\n Cancel\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default AddDocModal;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Moment from 'moment';\r\n\r\nimport axios from 'axios';\r\nimport { configConstants } from '../../../_constants';\r\n\r\nimport { alertActions, userActions, adddocumentActions } from '../../../_actions';\r\n\r\nimport { Loader } from '../../Common/Loader'\r\n\r\nimport Popup from 'reactjs-popup';\r\n\r\nimport AddDocModal from \"./AddDocModal\";\r\n\r\nfunction HRSAGapReport(props) {\r\n const alert = useSelector(state => state.alert);\r\n const gapReport = useSelector(state => state.adddocument);\r\n const user = useSelector(state => state.authentication.user);\r\n const empProfile = useSelector(state => state.users.empProfile);\r\n const dispatch = useDispatch();\r\n\r\n\r\n let [Loading, setLoading] = useState(false);\r\n let [showAddDocPopup, setShowAddDocPopup] = useState(false);\r\n let [docTypeList, setdocTypeList] = useState([]);\r\n //let [reportActList, setReportActList] = useState([]);\r\n let [credActivityId, setCredActivityId] = useState(0);\r\n let [credActivityDefault, setcredActivityDefault] = useState(0);\r\n let [credActivityNumber, setcredActivityNumber] = useState(0);\r\n\r\n useEffect(() => {\r\n dispatch(alertActions.clear());\r\n if (user != \"undefined\" && user != null && user != \"[]\" && !user.loding) {\r\n let HRMRUserId = JSON.stringify(user.hrmrUser.hrmrUserId);\r\n dispatch(adddocumentActions.getHRSAGapReport(HRMRUserId));\r\n dispatch(userActions.getEmpProfileById(HRMRUserId));\r\n }\r\n }, []);\r\n\r\n const onGapRptModalCloseAfterLoad = () => {\r\n setLoading(true);\r\n if (user != \"undefined\" && user != null && user != \"[]\" && !user.loding) {\r\n let HRMRUserId = JSON.stringify(user.hrmrUser.hrmrUserId);\r\n dispatch(adddocumentActions.getHRSAGapReport(HRMRUserId));\r\n }\r\n setLoading(false);\r\n }\r\n function handleHideCredentialDoc(activityId, credentialingDocId, isHide) {\r\n dispatch(adddocumentActions.hideCredentialDoc(activityId, credentialingDocId, isHide));\r\n }\r\n function handleDownloadDocument(actualFileName, docName) {\r\n //dispatch(adddocumentActions.downloadHRSADoc(docName));\r\n setLoading(true);\r\n let user = JSON.parse(localStorage.getItem('userToken'));\r\n fetch(`${configConstants.API_BASE_PATH}HRTraining/DownloadCredentialingDoc?DocumentName=${docName}`, {\r\n headers: {\r\n 'Authorization': 'Bearer ' + user.token\r\n }\r\n })\r\n .then(response => {\r\n if (response.ok) {\r\n response.blob().then(blob => {\r\n let url = window.URL.createObjectURL(blob);\r\n let a = document.createElement('a');\r\n a.href = url;\r\n a.download = actualFileName;\r\n a.click();\r\n });\r\n } else (window.alert('File not found!'))\r\n setLoading(false);\r\n })\r\n .catch(err => {\r\n console.log(\"ERROR: \", err);\r\n setLoading(false);\r\n });;\r\n }\r\n function convertDate(str) {\r\n var date = new Date(str),\r\n mnth = (\"0\" + (date.getMonth() + 1)).slice(-2),\r\n day = (\"0\" + date.getDate()).slice(-2);\r\n return [date.getFullYear(), mnth, day].join(\"-\");\r\n }\r\n function countDocument(doclist) {\r\n let Count = 0;\r\n let ExpiredCount = 0;\r\n let DocumentCount = 0;\r\n let textReturn = \"\";\r\n if (doclist != null) {\r\n doclist.forEach(element => {\r\n // if (convertDate(Moment.utc(element.dateofExpiry)) !== convertDate(Moment.utc(\"0001-01-01\"))) {\r\n if (element.credentialingDocId > 0) {\r\n Count = Count + 1;\r\n if (convertDate(Moment.utc(element.dateofExpiry)) === convertDate(Moment.utc(\"0001-01-01\")) || convertDate(Moment.utc(element.dateofExpiry)) === convertDate(Moment.utc(\"1900-01-01\"))) {\r\n DocumentCount = DocumentCount + 1;\r\n }\r\n else if (Moment.utc(element.dateofExpiry) >= Moment.utc(new Date())) {\r\n DocumentCount = DocumentCount + 1;\r\n }\r\n else if (Moment.utc(element.DateofExpiry) == Moment.utc('1900-01-01T00:00:00Z')) {\r\n DocumentCount = DocumentCount + 1;\r\n }\r\n else {\r\n ExpiredCount = ExpiredCount + 1;\r\n }\r\n }\r\n });\r\n }\r\n if (Count == 0) {\r\n return ( Missing Document(s));\r\n }\r\n else {\r\n if (DocumentCount > 0 && ExpiredCount > 0) {\r\n //return {Count} Document(s)\r\n return <> {Count} Document(s) {DocumentCount > 0 && \", \"}{ExpiredCount} Expired Document(s)\r\n }\r\n else if (ExpiredCount > 0) {\r\n return {ExpiredCount} Expired Document(s)\r\n }\r\n else {\r\n return {Count} Document(s)\r\n }\r\n // if (ExpiredCount > 0) {\r\n // console.log('exp count '+ExpiredCount)\r\n // return {DocumentCount > 0 && \", \"}{ExpiredCount} Expired Document(s)\r\n // }\r\n }\r\n //return textReturn;// ( Missing Document(s));\r\n }\r\n function showDocument(activityId, docDetial) {\r\n //if (convertDate(Moment.utc(docDetial.dateofExpiry)) !== convertDate(Moment.utc(\"0001-01-01\"))) {\r\n if (docDetial.credentialingDocId > 0) {\r\n return (\r\n \r\n )\r\n }\r\n }\r\n function showExpirtyMsg(expDate) {\r\n if (convertDate(Moment.utc(expDate)) === convertDate(Moment.utc(\"0001-01-01\")) || convertDate(Moment.utc(expDate)) === convertDate(Moment.utc(\"1900-01-01\"))) {\r\n return \r\n }\r\n else if (Moment.utc(expDate) >= Moment.utc(new Date())) {\r\n return <>Expires to ({Moment(expDate).format('MM-DD-YYYY')})\r\n }\r\n else if (Moment.utc(expDate) == Moment.utc((\"1/1/1900 12:00:00 AM\"))) {\r\n return Available\r\n }\r\n else {\r\n return Expired on ({Moment(expDate).format('MM-DD-YYYY')})\r\n }\r\n }\r\n const Item = gapReport.items;\r\n const openAddDocPopup = (activityId, DefaultChecklist, ActivityNumber) => {\r\n setCredActivityId(credActivityId = activityId)\r\n setcredActivityDefault(credActivityDefault = DefaultChecklist)\r\n setcredActivityNumber(credActivityNumber = ActivityNumber)\r\n let IsUsedinReport = false;\r\n let UserId = \"\";\r\n if (user != \"undefined\" && user != null && user != [] && !user.loding) {\r\n UserId = user.hrmrUser.userId;\r\n }\r\n getDocTypeList(UserId, activityId, IsUsedinReport);\r\n setShowAddDocPopup(showAddDocPopup = true);\r\n };\r\n\r\n const closeAddDocPopup = () => {\r\n setShowAddDocPopup(showAddDocPopup = false);\r\n };\r\n\r\n async function getDocTypeList(UserId, ActId, IsUsdinReport) {\r\n let user = JSON.parse(localStorage.getItem('userToken'));\r\n axios.get(`${configConstants.API_BASE_PATH}Master/CredentialingDocTypeGetAll?Id=${UserId}&ActivityId=${ActId}&IsUsedinCredReport=${IsUsdinReport}`, {\r\n headers: {\r\n 'Authorization': 'Bearer ' + user.token\r\n }\r\n })\r\n .then(function (resp) {\r\n if (resp.status === 200) {\r\n setdocTypeList(docTypeList = resp.data.response)\r\n }\r\n else {\r\n console.log(resp.status)\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('error')\r\n })\r\n .then(function () {\r\n //setLoading(false);\r\n });\r\n };\r\n return (\r\n \r\n {gapReport.error && ERROR: {gapReport.error}}\r\n {gapReport.loading && }\r\n {gapReport.deleteError && ERROR: {gapReport.deleteError}}\r\n {gapReport.deleting && }\r\n {Loading && }\r\n
    \r\n
    \r\n {\r\n alert.message &&\r\n
    {alert.message}
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    Instructions:

    \r\n
      \r\n
    • \r\n Please upload the required documents below\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {Item && Item.length ?\r\n Item.map((HRSAgapRpt, index) =>\r\n HRSAgapRpt.activityId ?\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n HRSAgapRpt.gapReportDoclst && HRSAgapRpt.gapReportDoclst.length ? HRSAgapRpt.gapReportDoclst.map((HRSAdoc, index) =>\r\n HRSAdoc.docTypeId > 0 && showDocument(HRSAgapRpt.activityId, HRSAdoc)\r\n // \r\n ) : \"\"\r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n : \"\"\r\n ) : !gapReport.loading &&
    Employee has been assigned to {(empProfile && !empProfile.loading) && empProfile.response.department} department. This department has no checklist assigned. Please contact your organizational administrator.
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\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 { HRSAGapReport };","import React,{useEffect} from 'react';\r\nimport { BrowserRouter as Router, Route, Switch, Redirect } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { history } from './_helpers';\r\nimport { alertActions } from './_actions';\r\nimport { PrivateRoute } from './_routes';\r\n\r\nimport { Header } from './_components/Common/Header';\r\nimport { Footer } from './_components/Common/Footer';\r\nimport { LayoutDashbaord } from './_components/Layout/LayoutDashbaord';\r\n\r\nimport { Login, ForgotPassword, ChangePassword } from './_components/Auth';\r\nimport { EmpDashboard, MyTraining } from './_components/Employee/Dashboard';\r\nimport { EmployeeCredentialForm } from './_components/Employee/CredentiallingProfile/EmployeeCredentialForm';\r\nimport {AddDocument,AlertDocument, ReviewDocument,HRSAGapReport } from './_components/Employee/MyDocuments';\r\n\r\nfunction App() {\r\n\r\n // const users = useSelector(state => state.users);\r\n const user = useSelector(state => state.authentication.user);\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n history.listen((location, action) => {\r\n // clear alert on location change\r\n dispatch(alertActions.clear());\r\n });\r\n}, []);\r\n\r\n return (\r\n
    \r\n \r\n {localStorage.getItem('userToken') ? :
    }\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n
    \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' },\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then(registration => {\r\n registration.unregister();\r\n })\r\n .catch(error => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { Provider } from 'react-redux';\r\nimport './index.css';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nimport { store } from './_helpers';\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n","import { userConstants } from '../_constants'\r\n\r\nlet user = JSON.parse(localStorage.getItem('userToken'));\r\nconst initialState = user ? { loggedIn: true, user } : {};\r\n\r\nexport function authentication(state = initialState, action) {\r\n switch (action.type) {\r\n case userConstants.LOGIN_REQUEST:\r\n return {\r\n loggingIn: true,\r\n user: action.user\r\n };\r\n case userConstants.LOGIN_SUCCESS:\r\n return {\r\n loggedIn: true,\r\n user: action.user\r\n };\r\n case userConstants.LOGIN_FAILURE:\r\n return {};\r\n case userConstants.LOGOUT:\r\n return {};\r\n default:\r\n return state\r\n }\r\n}","import { combineReducers } from 'redux';\r\n\r\nimport { authentication } from './authentication.reducer';\r\nimport {changepassword} from './changepassword.reducer';\r\nimport {forgotpassword} from './forgoatpassword.reducer';\r\nimport { alert } from './alert.reducer';\r\n\r\nimport { users } from './users.reducer';\r\nimport { mytraining } from './mytraining.reducer';\r\nimport { mydocument } from './mydocument.reducer';\r\nimport { adddocument } from './adddocument.reducer';\r\nimport { dashboard } from './dashboard.reducer';\r\n\r\nconst rootReducer = combineReducers({\r\n authentication,\r\n changepassword,\r\n forgotpassword,\r\n alert,\r\n users,\r\n mytraining,\r\n mydocument,\r\n adddocument,\r\n dashboard\r\n});\r\n\r\nexport default rootReducer;","import { userConstants } from '../_constants';\r\n\r\nexport function changepassword(state = {}, action) {\r\n switch (action.type) {\r\n case userConstants.CHANGEPASSWORD_REQUEST:\r\n return { changepassword: true };\r\n case userConstants.CHANGEPASSWORD_SUCCESS:\r\n return {changepassword: null};\r\n case userConstants.CHANGEPASSWORD_FAILURE:\r\n return {};\r\n default:\r\n return state\r\n }\r\n}","import { userConstants } from '../_constants';\r\n\r\nexport function forgotpassword(state = {}, action) {\r\n switch (action.type) {\r\n case userConstants.FORGOTPASSWORD_REQUEST:\r\n return { forgotpassword: true };\r\n case userConstants.FORGOTPASSWORD_SUCCESS:\r\n return {};\r\n case userConstants.FORGOTPASSWORD_FAILURE:\r\n return {};\r\n default:\r\n return state\r\n }\r\n}","import { alertConstants } from '../_constants';\r\n\r\nexport function alert(state = {}, action) {\r\n switch (action.type) {\r\n case alertConstants.SUCCESS:\r\n return {\r\n type: 'alert-success',\r\n message: action.message\r\n };\r\n case alertConstants.ERROR:\r\n return {\r\n type: 'alert-danger',\r\n message: action.message\r\n };\r\n case alertConstants.CLEAR:\r\n return {};\r\n default:\r\n return state\r\n }\r\n}","import { userConstants } from '../_constants';\r\n\r\nexport function users(state = {}, action) {\r\n switch (action.type) {\r\n case userConstants.GETALL_REQUEST:\r\n return {\r\n loading: true\r\n };\r\n case userConstants.GETALL_SUCCESS:\r\n return {\r\n items: action.users\r\n };\r\n case userConstants.GETALL_FAILURE:\r\n return {\r\n error: action.error\r\n };\r\n case userConstants.GETEMPPROFILE_REQUEST:\r\n return {\r\n loading: true\r\n };\r\n case userConstants.GETEMPPROFILE_SUCCESS:\r\n return {\r\n empProfile: action.empProfile\r\n };\r\n case userConstants.GETEMPPROFILE_FAILURE:\r\n return {\r\n error: action.error\r\n };\r\n case userConstants.DELETE_REQUEST:\r\n // add 'deleting:true' property to user being deleted\r\n return {\r\n ...state,\r\n items: state.items.map(user =>\r\n user.id === action.id\r\n ? { ...user, deleting: true }\r\n : user\r\n )\r\n };\r\n case userConstants.DELETE_SUCCESS:\r\n // remove deleted user from state\r\n return {\r\n items: state.items.filter(user => user.id !== action.id)\r\n };\r\n case userConstants.DELETE_FAILURE:\r\n // remove 'deleting:true' property and add 'deleteError:[error]' property to user \r\n return {\r\n ...state,\r\n items: state.items.map(user => {\r\n if (user.id === action.id) {\r\n // make copy of user without 'deleting:true' property\r\n const { deleting, ...userCopy } = user;\r\n // return copy of user with 'deleteError:[error]' property\r\n return { ...userCopy, deleteError: action.error };\r\n }\r\n\r\n return user;\r\n })\r\n };\r\n default:\r\n return state\r\n }\r\n}","import { mytrainingConstants } from '../_constants';\r\n\r\nexport function mytraining(state = {}, action) {\r\n switch (action.type) {\r\n case mytrainingConstants.GETALL_REQUEST:\r\n return {\r\n loading: true\r\n };\r\n case mytrainingConstants.GETALL_SUCCESS:\r\n return {\r\n items: action.mytraining\r\n };\r\n case mytrainingConstants.GETALL_FAILURE:\r\n return {\r\n error: action.error\r\n };\r\n default:\r\n return state\r\n }\r\n}","import { mydocumentConstants } from '../_constants';\r\n\r\nexport function mydocument(state = {}, action) {\r\n switch (action.type) {\r\n case mydocumentConstants.GETALL_REQUEST:\r\n return {\r\n loading: true\r\n };\r\n case mydocumentConstants.GETALL_SUCCESS:\r\n return {\r\n items: action.mydocument\r\n };\r\n case mydocumentConstants.GETALL_FAILURE:\r\n return {\r\n error: action.error\r\n };\r\n case mydocumentConstants.PPREPODOCSTATUS_REQUEST:\r\n // add 'deleting:true' property to user being deleted\r\n return {\r\n ...state,\r\n item1:state.items.pPOnBoardDetail,\r\n item2: state.items.pRepositoryShare.map(mydocument =>\r\n mydocument.PPRepositoryShareId === action.PPRepositoryShareId\r\n ? { ...mydocument, updating: true }\r\n : mydocument\r\n )\r\n \r\n };\r\n case mydocumentConstants.PPREPODOCSTATUS_SUCCESS:\r\n // remove deleted user from state\r\n const updatedRowsState = state.item2.map(row => {\r\n if (row.ppRepositoryShareId !== action.PPRepositoryShareId) {\r\n return row;\r\n }\r\n //const filteredSeries = row.gapReportDoclst.filter(s => s.credentialingDocId !== action.credentialingDocId);\r\n const newdoclist =row.lstPPRepoShareActivityModel && row.lstPPRepoShareActivityModel.map(rw => {\r\n if (rw.ppRepoShareId === action.PPRepositoryShareId) {\r\n if(action.IsDownload===1){\r\n return {\r\n ...rw,\r\n isReview: true\r\n };\r\n }\r\n else{\r\n return {\r\n ...rw,\r\n isApprove: true\r\n };\r\n }\r\n }\r\n else return rw\r\n })\r\n return {\r\n // spread properties (id, node, series)\r\n ...row,\r\n // overwrite series with item filtered out\r\n lstPPRepoShareActivityModel: newdoclist,\r\n };\r\n });\r\n return {\r\n //items: state.items.filter(adddocument => adddocument.activityId !== action.activityId)\r\n items: {pPOnBoardDetail:state.item1,pRepositoryShare:updatedRowsState}\r\n };\r\n case mydocumentConstants.PPREPODOCSTATUS_FAILURE:\r\n // remove 'deleting:true' property and add 'deleteError:[error]' property to user \r\n return {\r\n ...state,\r\n items: state.items.map(mydocument => {\r\n if (mydocument.PPRepositoryShareId === action.PPRepositoryShareId) {\r\n // make copy of user without 'deleting:true' property\r\n const { deleting, ...mydocumentCopy } = mydocument;\r\n // return copy of user with 'deleteError:[error]' property\r\n return { ...mydocumentCopy, deleteError: action.error };\r\n }\r\n\r\n return mydocument;\r\n })\r\n };\r\n\r\n case mydocumentConstants.DELETE_REQUEST:\r\n // add 'deleting:true' property to user being deleted\r\n return {\r\n ...state,\r\n items: state.items.map(user =>\r\n user.id === action.id\r\n ? { ...user, deleting: true }\r\n : user\r\n )\r\n };\r\n case mydocumentConstants.DELETE_SUCCESS:\r\n // remove deleted user from state\r\n return {\r\n items: state.items.filter(user => user.id !== action.id)\r\n };\r\n case mydocumentConstants.DELETE_FAILURE:\r\n // remove 'deleting:true' property and add 'deleteError:[error]' property to user \r\n return {\r\n ...state,\r\n items: state.items.map(user => {\r\n if (user.id === action.id) {\r\n // make copy of user without 'deleting:true' property\r\n const { deleting, ...userCopy } = user;\r\n // return copy of user with 'deleteError:[error]' property\r\n return { ...userCopy, deleteError: action.error };\r\n }\r\n\r\n return user;\r\n })\r\n };\r\n default:\r\n return state\r\n }\r\n}","import { adddocumentConstants } from '../_constants';\r\n\r\nexport function adddocument(state = {}, action) {\r\n switch (action.type) {\r\n case adddocumentConstants.GETALL_REQUEST:\r\n return {\r\n loading: true\r\n };\r\n case adddocumentConstants.GETALL_SUCCESS:\r\n return {\r\n items: action.adddocument\r\n };\r\n case adddocumentConstants.GETALL_FAILURE:\r\n return {\r\n error: action.error\r\n };\r\n case adddocumentConstants.GETDOCTYPEALL_REQUEST:\r\n return {\r\n loading: true\r\n };\r\n case adddocumentConstants.GETDOCTYPEALL_SUCCESS:\r\n return {\r\n items: action.docTypeList\r\n };\r\n case adddocumentConstants.GETDOCTYPEALL_FAILURE:\r\n return {\r\n error: action.error\r\n };\r\n case adddocumentConstants.DELETE_REQUEST:\r\n // add 'deleting:true' property to user being deleted\r\n return {\r\n ...state,\r\n items: state.items.map(adddocument =>\r\n adddocument.activityId === action.activityId\r\n ? { ...adddocument, deleting: true }\r\n : adddocument\r\n )\r\n };\r\n case adddocumentConstants.DELETE_SUCCESS:\r\n // remove deleted user from state\r\n const updatedRowsState = state.items.map(row => {\r\n if (row.activityId !== action.activityId) {\r\n return row;\r\n }\r\n //const filteredSeries = row.gapReportDoclst.filter(s => s.credentialingDocId !== action.credentialingDocId);\r\n const newdoclist = row.gapReportDoclst && row.gapReportDoclst.map(rw => {\r\n if (rw.credentialingDocId === action.credentialingDocId) {\r\n return {\r\n ...rw,\r\n isHide: !action.isHide\r\n };\r\n }\r\n else return rw\r\n })\r\n return {\r\n // spread properties (id, node, series)\r\n ...row,\r\n // overwrite series with item filtered out\r\n gapReportDoclst: newdoclist,\r\n };\r\n });\r\n return {\r\n //items: state.items.filter(adddocument => adddocument.activityId !== action.activityId)\r\n items: updatedRowsState\r\n };\r\n case adddocumentConstants.DELETE_FAILURE:\r\n // remove 'deleting:true' property and add 'deleteError:[error]' property to user \r\n return {\r\n ...state,\r\n items: state.items.map(adddocument => {\r\n if (adddocument.activityId === action.activityId) {\r\n // make copy of user without 'deleting:true' property\r\n const { deleting, ...adddocumentCopy } = adddocument;\r\n // return copy of user with 'deleteError:[error]' property\r\n return { ...adddocumentCopy, deleteError: action.error };\r\n }\r\n\r\n return adddocument;\r\n })\r\n };\r\n\r\n case adddocumentConstants.DOWNLOAD_REQUEST:\r\n return {\r\n loading: true\r\n };\r\n case adddocumentConstants.DOWNLOAD_SUCCESS:\r\n return {\r\n items: action.docName\r\n };\r\n case adddocumentConstants.DOWNLOAD_FAILURE:\r\n return {\r\n error: action.error\r\n };\r\n default:\r\n return state\r\n }\r\n}","import { dashboardConstants } from '../_constants';\r\n\r\nexport function dashboard(state = {}, action) {\r\n switch (action.type) {\r\n case dashboardConstants.GET_REQUEST:\r\n return {\r\n loading: true\r\n };\r\n case dashboardConstants.GET_SUCCESS:\r\n return {\r\n items: action.orgDetail\r\n };\r\n case dashboardConstants.GET_FAILURE:\r\n return {\r\n error: action.error\r\n };\r\n default:\r\n return state\r\n }\r\n}","import {createStore,applyMiddleware} from 'redux';\r\nimport thunkMiddleware from 'redux-thunk';\r\nimport {createLogger}from 'redux-logger';\r\nimport rootReducer from '../_reducers';\r\n\r\nconst loggerMiddleware= createLogger();\r\n\r\n export const store=createStore(\r\n rootReducer,\r\n applyMiddleware(thunkMiddleware,loggerMiddleware)\r\n);","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst defaultButton = props => ;\r\n\r\nexport default class Pagination extends React.Component {\r\n constructor(props) {\r\n super();\r\n\r\n this.changePage = this.changePage.bind(this);\r\n\r\n this.state = {\r\n visiblePages: this.getVisiblePages(null, props.pages)\r\n };\r\n }\r\n\r\n static propTypes = {\r\n pages: PropTypes.number,\r\n page: PropTypes.number,\r\n PageButtonComponent: PropTypes.any,\r\n onPageChange: PropTypes.func,\r\n previousText: PropTypes.string,\r\n nextText: PropTypes.string,\r\n onPageSizeChange: PropTypes.any,\r\n pageSizeOptions: PropTypes.any,\r\n data: PropTypes.any,\r\n showPageSizeOptions:PropTypes.any,\r\n rowsText:PropTypes.string,\r\n pageSize:PropTypes.number\r\n };\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (this.props.pages !== nextProps.pages) {\r\n this.setState({\r\n visiblePages: this.getVisiblePages(null, nextProps.pages)\r\n });\r\n }\r\n\r\n this.changePage(nextProps.page + 1);\r\n }\r\n\r\n filterPages = (visiblePages, totalPages) => {\r\n return visiblePages.filter(page => page <= totalPages);\r\n };\r\n\r\n getVisiblePages = (page, total) => {\r\n if (total < 7) {\r\n return this.filterPages([1, 2, 3, 4, 5, 6], total);\r\n } else {\r\n if (page % 5 >= 0 && page > 4 && page + 2 < total) {\r\n return [1, page - 1, page, page + 1, total];\r\n } else if (page % 5 >= 0 && page > 4 && page + 2 >= total) {\r\n return [1, total - 3, total - 2, total - 1, total];\r\n } else {\r\n return [1, 2, 3, 4, 5, total];\r\n }\r\n }\r\n };\r\n\r\n changePage(page) {\r\n const activePage = this.props.page + 1;\r\n\r\n if (page === activePage) {\r\n return;\r\n }\r\n\r\n const visiblePages = this.getVisiblePages(page, this.props.pages);\r\n\r\n this.setState({\r\n visiblePages: this.filterPages(visiblePages, this.props.pages)\r\n });\r\n\r\n this.props.onPageChange(page - 1);\r\n }\r\n\r\n render() {\r\n const { PageButtonComponent = defaultButton } = this.props;\r\n const { visiblePages } = this.state;\r\n const activePage = this.props.page + 1;\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n {this.props.showPageSizeOptions &&\r\n \r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n {\r\n if (activePage === 1) return;\r\n this.changePage(activePage - 1);\r\n }}\r\n disabled={activePage === 1}\r\n >\r\n {this.props.previousText}\r\n \r\n
    \r\n
    \r\n {visiblePages.map((page, index, array) => {\r\n return (\r\n \r\n {array[index - 1] + 2 < page ? `...${page}` : page}\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n {\r\n if (activePage === this.props.pages) return;\r\n this.changePage(activePage + 1);\r\n }}\r\n disabled={activePage === this.props.pages}\r\n >\r\n {this.props.nextText}\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","//export * from './fake-backend';\r\nexport * from './history';\r\nexport * from './store';\r\nexport * from './auth-header';"],"sourceRoot":""}