{"version":3,"sources":["assets/images/rigo_logo.png","assets/images/work.png","assets/images/money.png","assets/images/businessman.png","assets/images/university.png","store/reducers/common/commonReducer.ts","store/reducers/validateReducer.ts","store/reducers/jobReducer.ts","store/reducers/index.ts","store/types.ts","helpers/isEmpty.ts","helpers/dispatchError.ts","store/actions/validateAction.ts","helpers/dataURLtoFile.ts","constants/validExtensions.ts","helpers/getComponents.js","helpers/regex.js","helpers/ddlDataFormater.ts","components/icons/index.tsx","components/toast/toastBody.tsx","components/toast/index.tsx","navigation/routes/index.ts","navigation/navbar/firstBar.tsx","navigation/navbar/footer.tsx","networkService/api.ts","constants/urls.ts","networkService/service.ts","store/actions/common/fileAction.ts","store/actions/common/index.ts","navigation/navbar/index.tsx","scenes/common/carrerHeader.tsx","components/loaders/tableSkeleton.tsx","components/loaders/tableSkeletonMaterial.tsx","components/loaders/cardSkeleton.tsx","components/loaders/skeleton.tsx","components/loaders/spinner.tsx","components/loaders/index.tsx","scenes/jobListing/card.tsx","store/actions/jobAction.ts","scenes/jobListing/index.tsx","helpers/dateFormat.js","scenes/jobDetail/career.tsx","scenes/jobDetail/index.tsx","scenes/jobApply/heading.js","components/form/textInput.tsx","components/form/textArea.tsx","components/form/reactSelect.tsx","helpers/getTextLabel.ts","components/form/chipsInput.tsx","components/form/radioGroup.js","components/form/switch.tsx","components/form/index.tsx","scenes/jobApply/imageUploader.js","scenes/jobApply/constants.js","scenes/jobApply/pickers.js","scenes/jobApply/personalInformation.js","helpers/calculateAge.ts","scenes/jobApply/address.js","scenes/jobApply/addDocument.js","scenes/common/requiredType.tsx","scenes/jobApply/identificationInformation.js","scenes/jobApply/familyInformation.js","scenes/jobApply/enum.js","scenes/jobApply/validation.js","scenes/jobApply/education.js","scenes/jobApply/trainings.js","scenes/jobApply/workAndExperience.js","scenes/jobApply/helpers.js","scenes/jobApply/references.js","scenes/jobApply/coverLetterAndCV.js","scenes/jobApply/paymentVoucher.js","scenes/jobApply/finalSubmit.js","scenes/jobApply/dataTemplates.js","scenes/jobApply/getSaveData.js","scenes/jobApply/index.js","store/actions/common/dropdownAction.ts","navigation/links/index.tsx","App.tsx","store/configureStore.ts","index.tsx"],"names":["module","exports","initialState","nationality","countryList","districtList","provinceList","districtByProvienceList","localBodyList","educationLevelList","companyInformation","uploadedFileList","messages","otherMessage","arrayMessages","activeJobs","jobDetail","combineReducers","commonReducer","state","action","type","payload","validateReducer","filter","message","id","jobReducer","isEmpty","value","undefined","Object","keys","length","trim","dispatchError","dispatch","error","response","MessageType","messageType","Message","res","data","toastMessage","dataURLtoFile","dataurl","filename","a","arr","split","mime","match","bstr","atob","n","u8arr","Uint8Array","charCodeAt","File","validFileExtension","validImageExtension","validUploadDocExtension","ValidationComponent","rootClassName","errorClassName","children","className","classnames","EmailRegexValidaion","email","test","ddlDataFormater","list","forEach","d","push","label","Text","Name","CountryName","Nationality","Value","Id","CountryId","ProvinceId","NationalityId","EducationId","index","props","name","size","color","styles","justSVG","rest","ReactIcon","FaPaperclip","FaPlusCircle","FaCaretDown","FaCog","FaChartBar","FaShoppingCart","IoMdArrowDropdownCircle","FaUserAlt","FaChartPie","BsArrowsAngleExpand","BsArrowsAngleContract","BsChevronRight","BsChevronLeft","MdArrowForward","MdAdd","AiOutlineUnorderedList","MdEdit","FaFileInvoice","MdDelete","GoChevronDown","AiFillAppstore","AiOutlineStar","AiFillStar","AiOutlineSearch","MdCheck","MdClose","IoMdStopwatch","GoCheck","MdPlayArrow","MdPause","FaRegCopy","MdCheckCircle","IoIosPlayCircle","MdPauseCircleFilled","FaMinusCircle","FaMinus","FiArrowUpRight","MdKeyboardArrowDown","MdKeyboardArrowLeft","MdKeyboardArrowRight","FaUserFriends","FaUserEdit","BsThreeDots","FaUmbrellaBeach","MdAccessTime","FcOvertime","AiOutlineDollar","GoComment","FaRegFilePdf","MdInfo","FaRegFileImage","FaRegFileWord","FiFileText","FaCheckCircle","FcCancel","GiCancel","BsLink","FaTimes","FaTimesCircle","FiDownload","FiUpload","FiAlertTriangle","AiOutlineSync","BsFileRichtext","AiOutlinePrinter","AiFillEye","RiLogoutCircleLine","RiLockPasswordLine","AiOutlineFullscreen","getIconComponent","finalStyles","display","alignItems","fontSize","style","defaultProps","ToastBody","position","rounded","timeout","toastClasses","toast","success","warning","info","danger","primary","setTimeout","clearMessage","remove","removeMessage","map","mes","arrayMessage","onClick","connect","Validate","newMessage","this","msg","Component","FirstBar","to","routes","src","window","location","origin","CompanyLogo","alt","Address","Footer","href","target","rigoLogo","api","nationalities","countries","districts","provinces","districtByProvience","localBodyByDistrict","educationLevel","uploadFiles","deleteFiles","apply","baseURL","setHeaders","headers","Authorization","localStorage","getItem","actionBase","axios","create","get","url","param","showResponseMessage","Promise","resolve","reject","fullUrl","getFullStringUrl","then","onSuccess","catch","err","onFailure","get_by_id","post","isMultipart","alwaysResponse","entries","entry","ind","Status","status","DeleteFiles","DisplayClientSideMessage","Navbar","GetCompanyInformation","document","title","mapDispatchToProps","withRouter","CarrerHeader","TableSkeleton","backgroundColor","foregroundColor","speed","width","height","viewBox","x","y","rx","ry","TabRow","num","xx","yyy","cyy","cx","cy","r","cxx","TableSkeletonMaterial","noRows","variant","Array","e","i","animation","borderRadius","CardSkeleton","cardType","LeaveCard","EmployeeCard","BlockCard","TravelCard","Dashboard","Dashboard2","TableBlock","renderCard","marginBottom","marginTop","key","padding","marginRight","Skeleton","loading","switchComponent","Spinner","bodyBackground","loaderSize","loadingTextShow","Loaders","loaderComponent","Card","Jobid","ExternalJobTitle","Education","IsExperience","Experience","PublisheDate","EndDate","DaysRemaining","EmployementType","GetJobDetail","jobId","GetActiveJobs","useEffect","formatedMonthDayYear","date","moment","Date","format","formatedShortMonthDayYear","Career","activeJob","RecruitmentPositionDetail","PublishedDateEng","EndDateEng","applyButton","shareLink","history","dangerouslySetInnerHTML","__html","JobDescription","workImage","Category","universityImage","businessmanImage","IsPayShow","moneyImage","SalaryRangeFrom","SalaryRangeTo","FacebookShareButton","translate","FacebookIcon","round","LinkedinShareButton","LinkedinIcon","TwitterShareButton","TwitterIcon","params","queryString","parse","search","Heading","jobTitle","publishedOn","endsOn","TextInput","autoFocus","disabled","placeholder","minValue","maxValue","min","max","onKeyUp","event","onFocus","select","onBlur","onChange","parseFloat","TextArea","components","Menu","Paper","square","selectProps","isAbove","classes","paperAbove","paper","innerProps","MultiValue","Typography","singleValue","renderOptions","options","isArray","isArrayKeys","setOption","arrayItem","item","Key","ArraysKey","Arrays","ReactSelect","multiple","loadingType","makeStyles","theme","input","border","valueContainer","flex","overflow","chip","margin","spacing","chipFocused","emphasize","palette","grey","noOptionsMessage","whiteSpace","left","bottom","zIndex","right","divider","useStyles","useTheme","renderLoading","isMulti","isDisabled","hideSelectedOptions","allowSelectAll","closeMenuOnSelect","isClearable","isOptionDisabled","option","ChipsInput","chipsArray","badgeColor","badges","find","handleChange","RadioGroup","radioLabel","checked","labelPosition","htmlFor","Switch","leftLabel","rightLabel","nm","getDynamicComponent","bind","formName","alignment","validators","inputclass","horizontalGenericForm","DynamicComponent","load","f","React","ImageUploader","onError","isPhotoSelectionCompleted","cropedPhoto","photo","useState","preview","setPreview","setSrc","onCrop","onClose","onBeforeFileLoad","elem","file","files","validExtensions","extension","UserFileName","isValidExtension","toLowerCase","borderStyle","textAlign","justifyContent","formatedDate","formatedMonthYear","fileKeys","inputWidth","TwoDatePicker","views","maxDate","maxDetail","fromValue","toValue","onFromChange","onToChange","dayPlaceholder","monthPlaceholder","yearPlaceholder","marginLeft","OneDatePicker","monthAriaLabel","PersonalInformation","propsData","errors","age","setAge","nationalityList","honorificType","firstName","lastName","mobileNumber","dob","employeeId","honorificClasses","handleHonorificChange","onTextChange","handleDateChange","ageString","today","birthDate","getFullYear","m","getMonth","getDate","canculateAge","EnableEmployeeId","onChangeAndGet","onSameAsPermanent","permanentProvience","permanentDistrict","permanentLocalBody","permanentWard","permanentLocality","correspondingProvience","correspondingDistrict","correspondingLocalBody","correspondingWard","correspondingLocality","permanentDistrictList","permanentLocalBodyList","correspondingDistrictList","correspondingLocalBodyList","onSelectChange","targetName","targetList","AddDocument","text","extraClassName","selectedFile","selectedFiles","handleFileSelection","fileClasses","fileRemoveHandler","splice","ServerFileName","FileNames","isAllFilesValid","fileExtension","newFile","RequiredType","isMandatory","IdentificationInformation","fileCollection","onMultipleFileSelection","documentTypeId","havePassport","drivingLicenseTypeId","identificationFiles","enablePassportSelection","setEnablePassportSelection","documentTypeClasses","typeId","passportClasses","licenseClasses","handleClick","FamilyInformation","fatherName","motherName","grandFatherName","maritalStatusId","spouseName","fatherInLawName","maritalClasses","handleMaritalChange","jobApply_components","validateJobApply","personalInformationValidateField","addressValidateField","identificationInformationValidateField","familyInformationValidateField","blocks","all","personalInformation","blockRequiredType","address","identificationInformation","familyInformation","coverLetterFile","cvFile","blockData","validateEducation","fields","validateTraining","validateWorkAndExperience","validateReferences","onMultipleFileSelectionForList","onChangeList","onNewList","onConfirmList","onRemoveList","onEditList","onDeleteList","blockError","listName","setErrors","isEdit","setIsEdit","selectedEducation","isSelected","unselectedEducation","handleGradeTypeChange","checkValidation","gradeTypeId","education","handleConfirmList","returnedData","blockRequiredText","newKey","handleNew","degreeName","qualificationLevel","institution","country","university","year","grade","majorSubject","gradeClasses","renderCreateForm","Trainings","onFileSelectionList","selectedTraining","unselectedTraining","training","trainingName","WorkAndExperience","selectedWorkAndExperience","unSelectedWorkAndExperience","workAndExperience","organization","place","fromYear","toYear","responsibilities","startDate","endDate","result","diff","getTime","Math","abs","yearDifference","References","selectedReference","unselectedReference","reference","phone","CoverLetterAndCV","resumeRequiredType","coverLetterRequiredType","getSn","PaymentVoucher","voucherRequiredType","voucherFile","FinalSubmit","isLoading","onSubmit","btnSubmitStyle","RecruitmentCandidateDto","nationalityId","permanentProvienceId","permanentDistrictId","permanentLocalBodyId","correspondingProvienceId","correspondingDistrictId","correspondingLocalBodyId","CandidateId","JobRefId","Salutation","FirstName","LastName","MobileNo","Email","BirthDate","BirthDateEng","PermanentProvinceId","PermanentDistrictId","PermanentLocalBodyId","PermanentWardNo","PermanentLocality","CorrespondingProvinceId","CorrespondingDistrictId","CorrespondingLocalBodyId","CorrespondingWardNo","CorrespondingLocality","DocumentType","IdentificationDocuments","HasPassport","DrivingLicense","FatherName","MotherName","GrandFatherName","MaritalStatus","SpouseName","FatherInLawName","SubmitOn","SubmitOnEng","IsSourced","CandidateStatus","EmployeeId","RecruitmentCandidateEducationInfoDto","qualificationLevelId","institutionName","countryId","universityName","passedYear","isPercentage","isGPA","gradeValue","majorSubjects","CandidateRef_Id","DegreeName","QualificationLevelId","InstitutionName","UniversityName","PassedYear","IsPercentage","IsGPA","GradeValue","MajorSubjects","Attachments","RecruitmentCandidateTrainingInfoDto","trainingDocumentOriginalName","trainingDocumentName","TrainingName","Year","DocumentOriginalName","DocumentName","RecruitmentCandidateWorkExperienceInfoDto","organizationName","placeName","keyResponsibilities","OrganizationName","PlaceName","FromDate","FromDateEng","ToDate","ToDateEng","Position","KeyResponsibilities","getSaveData","recruitmentCandidateDto","recruitmentCandidateEducationInfoDto","recruitmentCandidateTrainingInfoDto","recruitmentCandidateWorkExperienceInfoDto","recruitmentCandidateReferenceInfoDto","fileListWithKey","candidateImage","candidateCroppedImage","object","CandidateDto","CandidateEducationDto","CandidateTrainingDto","CandidateWorkExperienceDto","CandidateReferenceDto","formData","objectToFormData","indices","nullsAsUndefineds","booleansAsIntegers","append","JobApplyScreen","initialize","GetCountryList","GetDistrictList","GetEducationLevel","GetProvienceList","GetNationality","updateState","setState","prevState","validateForm","heading","educations","trainings","workAndExperiences","references","identificationInformationRequiredType","familyInformationRequiredType","educationRequiredType","trainingRequiredType","workExperienceRequiredType","referenceRequiredType","enableEmployee","enableEmployeeId","validateData","isSubmitted","prepareFilesForUpload","photoName","cropedPhotoName","base64_photo","file_photo","department","branch","personalInformationRequiredType","addressRequiredType","RecruitmentJobApplicationForm","Department","Branch","ComponentRef_Id","ex","GetDistrictByProvince","GetLocalBodyByDistrict","currentData","UploadFiles","stateName","selectedData","dynamicFunction","currentFiles","fileNames","cf","currentFile","edu","tr","war","ref","referenceName","referenceOrganizationName","referencePosition","referencePhoneNo","referenceEmail","Organization","PhoneNo","finalDataToSave_Template","SaveJobApply","paymentVoucher","formatedList","provinceId","districtId","savedFiles","isNewFileAvailable","newSavedFiles","Data","pathname","Links","exact","path","component","JobListing","JobDetail","JobApply","store","production","process","middleware","thunk","createStore","reducers","applyMiddleware","compose","configureStore","baseUrl","getElementsByTagName","getAttribute","ReactDOM","basename","getElementById"],"mappings":"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AK,YACH,OAAOC,IACT,IAAK,eACH,OAAOC,IACT,IAAK,MACH,OAAOC,IACT,IAAK,OACH,OAAOC,IACT,IAAK,OACH,OAAOC,IACT,IAAK,MACH,OAAOF,IACT,IAAK,OACH,OAAOG,IACT,IAAK,SACH,OAAOC,IACT,IAAK,cACH,OAAOC,IACT,IAAK,OACH,OAAOC,IACT,IAAK,YACH,OAAOC,IACT,IAAK,MACH,OAAOC,IACT,IAAK,SACH,OAAOC,IACT,IAAK,QACH,OAAOC,IACT,IAAK,QACH,OAAOC,IACT,IAAK,YACH,OAAOC,IACT,IAAK,YACH,OAAOC,IACT,IAAK,OACH,OAAOC,IACT,IAAK,QACH,OAAOC,IACT,IAAK,OACH,OAAOC,IAET,IAAK,cACH,OAAOC,IACT,IAAK,aACH,OAAOC,IACT,IAAK,cACH,OAAOC,IACT,IAAK,cACH,OAAOC,IACT,IAAK,QACH,OAAOC,IACT,IAAK,eACH,OAAOC,IACT,IAAK,YACH,OAAOC,IACT,IAAK,YACH,OAAOC,IACT,IAAK,aACH,OAAOC,IACT,IAAK,QACH,OAAOC,IACT,IAAK,WACH,OAAOC,IACT,IAAK,UACH,OAAOC,IACT,IAAK,QACH,OAAOC,IACT,IAAK,OACH,OAAOC,IACT,IAAK,WACH,OAAOC,IACT,IAAK,YACH,OAAOC,IACT,IAAK,UACH,OAAOC,IACT,IAAK,MACH,OAAOC,IACT,IAAK,OACH,OAAOC,IACT,IAAK,QACH,OAAOC,IACT,IAAK,MACH,OAAOC,IACT,IAAK,OACH,OAAOC,IACT,IAAK,UACH,OAAOC,IACT,IAAK,SACH,OAAOC,IACT,IAAK,SACH,OAAOC,IACT,IAAK,OACH,OAAOC,IACT,IAAK,QACH,OAAOC,IACT,IAAK,cACH,OAAOC,IACT,IAAK,WACH,OAAOC,IACT,IAAK,SACH,OAAOC,IACT,IAAK,gBACH,OAAOC,IACT,IAAK,OACH,OAAOC,IACT,IAAK,SACH,OAAOC,IACT,IAAK,QACH,OAAOC,IACT,IAAK,MACH,OAAOC,IACT,IAAK,eACH,OAAOC,IAET,IAAK,eACH,OAAOC,IACT,IAAK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","file":"static/js/main.5f13641d.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/rigo_logo.24bcd95a.png\";","module.exports = __webpack_public_path__ + \"static/media/work.e35948ed.png\";","module.exports = __webpack_public_path__ + \"static/media/money.890d2428.png\";","module.exports = __webpack_public_path__ + \"static/media/businessman.32d79cca.png\";","module.exports = __webpack_public_path__ + \"static/media/university.c9658e90.png\";","import {\r\n GET_NATIONALITY,\r\n GET_COUNTRY_LIST,\r\n GET_DISTRICT_LIST,\r\n GET_PROVINCE_LIST,\r\n GET_DISTRICT_BY_PROVINCE,\r\n GET_LOCALBODY_BY_DISTRICT,\r\n GET_EDUCATION_LEVELS,\r\n GET_COMPANY_INFORMATION,\r\n UPLOAD_FILES,\r\n} from \"../../types\";\r\n\r\nconst initialState = {\r\n nationality: [],\r\n countryList: [],\r\n districtList: [],\r\n provinceList: [],\r\n districtByProvienceList: [],\r\n localBodyList: [],\r\n educationLevelList: [],\r\n companyInformation: [],\r\n uploadedFileList: [],\r\n};\r\n\r\nexport default function (state: any = initialState, action: any) {\r\n switch (action.type) {\r\n case GET_NATIONALITY:\r\n return {\r\n ...state,\r\n nationality: action.payload,\r\n };\r\n\r\n case GET_COUNTRY_LIST:\r\n return {\r\n ...state,\r\n countryList: action.payload,\r\n };\r\n\r\n case GET_DISTRICT_LIST:\r\n return {\r\n ...state,\r\n districtList: action.payload,\r\n };\r\n\r\n case GET_PROVINCE_LIST: {\r\n return {\r\n ...state,\r\n provinceList: action.payload,\r\n };\r\n }\r\n\r\n case GET_DISTRICT_BY_PROVINCE: {\r\n return {\r\n ...state,\r\n districtByProvienceList: action.payload,\r\n };\r\n }\r\n\r\n case GET_LOCALBODY_BY_DISTRICT: {\r\n return {\r\n ...state,\r\n localBodyList: action.payload,\r\n };\r\n }\r\n\r\n case GET_EDUCATION_LEVELS: {\r\n return {\r\n ...state,\r\n educationLevelList: action.payload,\r\n };\r\n }\r\n\r\n case GET_COMPANY_INFORMATION:\r\n return {\r\n ...state,\r\n companyInformation: action.payload,\r\n };\r\n\r\n case UPLOAD_FILES:\r\n return {\r\n ...state,\r\n uploadedFileList: action.payload,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n ADD_MESSAGE,\r\n REMOVE_MESSAGE,\r\n ADD_MESSAGES,\r\n ADD_OTHER_MESSAGES,\r\n CLEAR_MESSAGE,\r\n} from \"../types\";\r\nimport { Action, Reducer } from \"redux\";\r\n\r\nexport interface InitialState {\r\n messages: object;\r\n otherMessage: object;\r\n arrayMessages?: any;\r\n}\r\n\r\nconst initialState: InitialState = {\r\n messages: {},\r\n otherMessage: {},\r\n arrayMessages: [],\r\n};\r\n\r\nexport default function (state = initialState, action: any) {\r\n switch (action.type) {\r\n case ADD_MESSAGE:\r\n return {\r\n ...state,\r\n messages: action.payload,\r\n };\r\n\r\n case ADD_MESSAGES:\r\n return {\r\n ...state,\r\n arrayMessages: [action.payload, ...state.arrayMessages],\r\n };\r\n\r\n case ADD_OTHER_MESSAGES:\r\n return {\r\n ...state,\r\n otherMessage: action.payload,\r\n };\r\n\r\n case REMOVE_MESSAGE:\r\n return {\r\n ...state,\r\n arrayMessages: state.arrayMessages.filter(\r\n (message: any) => message.id !== action.payload\r\n ),\r\n };\r\n\r\n case CLEAR_MESSAGE:\r\n return {\r\n ...state,\r\n messages: {},\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { GET_ACTIVE_JOBS, GET_JOB_DETAIL_BY_ID } from \"../types\";\r\n\r\nconst initialState = {\r\n // spinnerLoading: false,\r\n activeJobs: null,\r\n jobDetail: {},\r\n};\r\n\r\nexport default function (state = initialState, action: any) {\r\n switch (action.type) {\r\n case GET_ACTIVE_JOBS:\r\n return {\r\n ...state,\r\n activeJobs: action.payload,\r\n };\r\n\r\n case GET_JOB_DETAIL_BY_ID:\r\n return {\r\n ...state,\r\n jobDetail: action.payload || {},\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { combineReducers } from \"redux\";\r\nimport commonReducer from \"./common/commonReducer\";\r\nimport validateReducer from \"./validateReducer\";\r\nimport jobReducer from \"./jobReducer\";\r\n\r\nexport default combineReducers({\r\n commonReducer,\r\n validateReducer,\r\n jobReducer,\r\n});\r\n","export const ADD_MESSAGE = \"ADD_MESSAGE\";\r\nexport const ADD_MESSAGES = \"ADD_MESSAGES\";\r\nexport const ADD_OTHER_MESSAGES = \"ADD_OTHER_MESSAGES\";\r\nexport const REMOVE_MESSAGE = \"REMOVE_MESSAGE\";\r\nexport const CLEAR_MESSAGE = \"CLEAR_MESSAGE\";\r\n\r\nexport const GET_COUNTRY_LIST = \"GET_COUNTRY_LIST\";\r\nexport const GET_DISTRICT_LIST = \"GET_DISTRICT_LIST\";\r\nexport const GET_EDUCATION_LEVELS = \"GET_EDUCATION_LEVELS\";\r\nexport const GET_PROVINCE_LIST = \"GET_PROVINCE_LIST\";\r\nexport const GET_DISTRICT_BY_PROVINCE = \"GET_DISTRICT_BY_PROVINCE\";\r\nexport const GET_LOCALBODY_BY_DISTRICT = \"GET_LOCALBODY_BY_DISTRICT\";\r\nexport const GET_COMPANY_INFORMATION = \"GET_COMPANY_INFORMATION\";\r\nexport const GET_NATIONALITY = \"GET_NATIONALITY\";\r\nexport const UPLOAD_FILES=\"UPLOAD_FILES\";\r\n\r\nexport const GET_JOB_DETAIL_BY_ID = \"GET_JOB_DETAIL_BY_ID\";\r\nexport const GET_ACTIVE_JOBS = \"GET_ACTIVE_JOBS\";\r\nexport const SAVE_JOB_APPLY = \"SAVE_JOB_APPLY\";\r\n","export const isEmpty = (value: any): boolean =>\r\n value === undefined ||\r\n value === null ||\r\n value === {} ||\r\n value === \"\" ||\r\n (typeof value === \"object\" && Object.keys(value).length === 0) ||\r\n (typeof value === \"string\" && value.trim().length === 0);\r\n\r\n\r\n export default isEmpty","import React from \"react\";\r\nimport { toastMessage } from \"../store/actions/validateAction\";\r\n\r\nexport function dispatchError(dispatch: Function, error: any) {\r\n let response: any = {};\r\n response.MessageType = error.MessageType || error.messageType || \"Warning\";\r\n response.Message = error.Message || error.message || error;\r\n\r\n dispatch && toastMessage(dispatch, response);\r\n}\r\n","import {\r\n ADD_MESSAGE,\r\n CLEAR_MESSAGE,\r\n REMOVE_MESSAGE,\r\n ADD_MESSAGES,\r\n ADD_OTHER_MESSAGES,\r\n} from \"../types\";\r\nimport shortid from \"shortid\";\r\nimport { validateAction } from \"../../ts/interfaces/reduxInterfaces\";\r\n\r\ninterface dispatchAction {\r\n type: string;\r\n payload: object | string | [];\r\n}\r\n\r\nexport const addMessage = (data: validateAction) => (\r\n dispatch: (action: dispatchAction) => dispatchAction\r\n) => {\r\n dispatch({\r\n type: ADD_MESSAGE,\r\n payload: {\r\n type: data.type,\r\n message: data.message,\r\n position: data.position,\r\n },\r\n });\r\n};\r\n\r\nexport const addMessages = (data: validateAction) => (\r\n dispatch: (action: dispatchAction) => dispatchAction\r\n) => {\r\n dispatch({\r\n type: ADD_MESSAGES,\r\n payload: {\r\n type: data.type,\r\n message: data.message,\r\n position: data.position,\r\n id: shortid.generate(),\r\n },\r\n });\r\n};\r\n\r\nexport const clearOtherMessage = () => (\r\n dispatch: (action: dispatchAction) => dispatchAction\r\n) => {\r\n dispatch({\r\n type: ADD_OTHER_MESSAGES,\r\n payload: {},\r\n });\r\n};\r\n\r\nexport const toastMessage = (dispatch: any, res: any) => {\r\n let MessageType = null;\r\n let Message = [];\r\n\r\n if (res) {\r\n if (res.MessageType) {\r\n MessageType = res.MessageType;\r\n } else if (res.data && res.data.MessageType) {\r\n MessageType = res.data.MessageType;\r\n }\r\n\r\n if (res.Message) {\r\n Message = res.Message;\r\n } else if (res.data && res.data.Message) {\r\n Message = res.data.Message;\r\n }\r\n }\r\n\r\n if (MessageType || Message) {\r\n dispatch({\r\n type: ADD_MESSAGE,\r\n payload: { type: MessageType, message: Message },\r\n });\r\n }\r\n};\r\n\r\nexport const removeMessage = (id: string) => (\r\n dispatch: (action: dispatchAction) => dispatchAction\r\n) => {\r\n dispatch({\r\n type: REMOVE_MESSAGE,\r\n payload: id,\r\n });\r\n};\r\n\r\nexport const clearMessage = () => (\r\n dispatch: (action: dispatchAction) => dispatchAction\r\n) => {\r\n dispatch({\r\n type: CLEAR_MESSAGE,\r\n payload: {},\r\n });\r\n};\r\n","export async function dataURLtoFile(dataurl: any, filename: any) {\r\n const arr = dataurl.split(\",\");\r\n const mime = arr[0].match(/:(.*?);/)[1];\r\n const bstr = atob(arr[1]);\r\n let n = bstr.length;\r\n const u8arr = new Uint8Array(n);\r\n\r\n while (n--) {\r\n u8arr[n] = bstr.charCodeAt(n);\r\n }\r\n var a = new File([u8arr], filename, { type: mime });\r\n return new File([u8arr], filename, { type: mime });\r\n}\r\n","export const validFileExtension = [\"txt\", \"csv\"];\r\n\r\nexport const validImageExtension = [\"png\", \"jpg\", \"jpeg\"];\r\n\r\nexport const validApplicationExtension = [\"pdf\", \"xml\"];\r\n\r\nexport const validUploadDocExtension = [\"png\", \"jpg\", \"jpeg\", \"pdf\", \"docx\",\"doc\"];\r\n","import React from \"react\";\r\nimport classnames from \"classnames\";\r\n\r\nexport const ValidationComponent = ({\r\n error,\r\n rootClassName,\r\n errorClassName,\r\n children,\r\n}) => (\r\n \r\n {children}\r\n {error ? {error} : null}\r\n \r\n);\r\n","export const EmailRegexValidaion = (email) => {\r\n var re = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return re.test(email);\r\n};\r\n\r\nexport const PhoneNumberRegexValidation = (phone) => {\r\n var re = /^((\\\\+)|(00)|(\\\\*)|())[0-9]{3,14}((\\\\#)|())$/;\r\n return re.test(phone);\r\n};\r\n\r\nexport const numberToNepaliCurrency = (number) => {\r\n let rst = parseFloat(number)\r\n .toFixed(2)\r\n // .replace(/\\D/g, \"\")\r\n .replace(/(\\d+?)(?=(\\d\\d)+(\\d)(?!\\d))(\\.\\d+)?/g, \"$1,\");\r\n\r\n return \"Rs \" + rst;\r\n};\r\n\r\nexport const numberAndDecimals = (number) => {\r\n let re = /^([0-9]\\d*)(\\.\\d+)?$/;\r\n return re.test(number);\r\n};\r\n\r\nexport const numbersOnly = (number) => {\r\n let re = /^([0-9]\\d*)?$/;\r\n return re.test(number);\r\n};\r\n\r\nexport const positiveNumber = (number) => {\r\n let re = /^([1-9]\\d*)?$/;\r\n return re.test(number);\r\n};\r\n","export const ddlDataFormater = (data: any) => {\r\n let list = [];\r\n data &&\r\n data.forEach((d: any) => {\r\n list.push({\r\n ...d,\r\n label: d.Text || d.Name || d.CountryName || d.Nationality,\r\n value:\r\n d.Value ||\r\n d.Id ||\r\n d.CountryId ||\r\n d.ProvinceId ||\r\n d.NationalityId ||\r\n d.EducationId,\r\n });\r\n });\r\n return list;\r\n};\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport {\r\n MdArrowForward,\r\n MdAdd,\r\n MdEdit,\r\n MdDelete,\r\n MdCheck,\r\n MdClose,\r\n MdCheckCircle,\r\n MdPauseCircleFilled,\r\n MdPause,\r\n MdPlayArrow,\r\n MdFavoriteBorder,\r\n MdFavorite,\r\n MdKeyboardArrowDown,\r\n MdKeyboardArrowRight,\r\n MdKeyboardArrowLeft,\r\n MdInfo,\r\n} from \"react-icons/md\";\r\nimport {\r\n FaUserFriends,\r\n FaUserEdit,\r\n FaEllipsisH,\r\n FaRegCopy,\r\n FaUmbrellaBeach,\r\n FaFileInvoice,\r\n FaMinusCircle,\r\n FaMinus,\r\n FaRegFilePdf,\r\n FaRegFileImage,\r\n FaRegFileWord,\r\n FaCheckCircle,\r\n FaTimesCircle,\r\n FaTimes,\r\n FaChartPie,\r\n FaUserAlt,\r\n FaShoppingCart,\r\n FaChartBar,\r\n FaCog,\r\n FaPlusCircle,\r\n FaCaretDown,\r\n FaPaperclip,\r\n} from \"react-icons/fa\";\r\nimport {\r\n AiOutlineSearch,\r\n AiFillAppstore,\r\n AiOutlineStar,\r\n AiFillStar,\r\n AiOutlineUnorderedList,\r\n AiOutlineDollar,\r\n AiOutlineSync,\r\n AiOutlinePrinter,\r\n AiFillEye,\r\n AiOutlineFullscreen,\r\n} from \"react-icons/ai\";\r\n\r\nimport { IoIosPlayCircle, IoMdStopwatch } from \"react-icons/io\";\r\nimport {\r\n FiArrowUpRight,\r\n FiChevronDown,\r\n FiFileText,\r\n FiDownload,\r\n FiUpload,\r\n FiAlertTriangle,\r\n} from \"react-icons/fi\";\r\nimport { GoCheck, GoChevronDown, GoComment } from \"react-icons/go\";\r\nimport { MdAccessTime } from \"react-icons/md\";\r\nimport { FcOvertime, FcCancel } from \"react-icons/fc\";\r\nimport {\r\n BsThreeDots,\r\n BsArrowsAngleExpand,\r\n BsArrowsAngleContract,\r\n BsChevronRight,\r\n BsChevronLeft,\r\n BsFileRichtext,\r\n} from \"react-icons/bs\";\r\nimport {\r\n IoMdArrowDropdownCircle\r\n} from \"react-icons/io\"\r\nimport { GiCancel } from \"react-icons/gi\";\r\nimport { BsLink } from \"react-icons/bs\";\r\nimport { RiLogoutCircleLine, RiLockPasswordLine } from \"react-icons/ri\";\r\n\r\ninterface Icons {\r\n name: string;\r\n size?: number;\r\n color?: string;\r\n className?: string;\r\n styles?: object;\r\n justSVG?: boolean;\r\n}\r\n\r\nfunction getIconComponent(name: any) {\r\n switch (name) {\r\n case \"PaperClip\":\r\n return FaPaperclip;\r\n case \"FaPlusCircle\":\r\n return FaPlusCircle;\r\n case \"CaretDown\":\r\n return FaCaretDown;\r\n case \"Cog\":\r\n return FaCog;\r\n case \"BarChart\":\r\n return FaChartBar;\r\n case \"ShoppingCart\":\r\n return FaShoppingCart;\r\n case \"CircleCaretDown\":\r\n return IoMdArrowDropdownCircle;\r\n case \"UserAlt\":\r\n return FaUserAlt;\r\n case \"PieChart\":\r\n return FaChartPie;\r\n case \"ArrowExpand\":\r\n return BsArrowsAngleExpand;\r\n case \"ArrowCollapse\":\r\n return BsArrowsAngleContract;\r\n case \"AngleRight\":\r\n return BsChevronRight;\r\n case \"AngleLeft\":\r\n return BsChevronLeft;\r\n case \"ArrowForward\":\r\n return MdArrowForward;\r\n case \"Add\":\r\n return MdAdd;\r\n case \"List\":\r\n return AiOutlineUnorderedList;\r\n case \"Edit\":\r\n return MdEdit;\r\n case \"Add\":\r\n return MdAdd;\r\n case \"File\":\r\n return FaFileInvoice;\r\n case \"Delete\":\r\n return MdDelete;\r\n case \"ChevronDown\":\r\n return GoChevronDown;\r\n case \"Grab\":\r\n return AiFillAppstore;\r\n case \"FavBorder\":\r\n return AiOutlineStar;\r\n case \"Fav\":\r\n return AiFillStar;\r\n case \"Search\":\r\n return AiOutlineSearch;\r\n case \"Check\":\r\n return MdCheck;\r\n case \"Close\":\r\n return MdClose;\r\n case \"StopWatch\":\r\n return IoMdStopwatch;\r\n case \"BoldCheck\":\r\n return GoCheck;\r\n case \"Play\":\r\n return MdPlayArrow;\r\n case \"Pause\":\r\n return MdPause;\r\n case \"Copy\":\r\n return FaRegCopy;\r\n //#region Circle\r\n case \"CircleCheck\":\r\n return MdCheckCircle;\r\n case \"CirclePlay\":\r\n return IoIosPlayCircle;\r\n case \"CirclePause\":\r\n return MdPauseCircleFilled;\r\n case \"CircleMinus\":\r\n return FaMinusCircle;\r\n case \"Minus\":\r\n return FaMinus;\r\n case \"ArrowUpRight\":\r\n return FiArrowUpRight;\r\n case \"ArrowDown\":\r\n return MdKeyboardArrowDown;\r\n case \"ArrowLeft\":\r\n return MdKeyboardArrowLeft;\r\n case \"ArrowRight\":\r\n return MdKeyboardArrowRight;\r\n case \"Users\":\r\n return FaUserFriends;\r\n case \"UserEdit\":\r\n return FaUserEdit;\r\n case \"Ellipse\":\r\n return BsThreeDots;\r\n case \"Leave\":\r\n return FaUmbrellaBeach;\r\n case \"Time\":\r\n return MdAccessTime;\r\n case \"Overtime\":\r\n return FcOvertime;\r\n case \"Allowance\":\r\n return AiOutlineDollar;\r\n case \"Comment\":\r\n return GoComment;\r\n case \"Pdf\":\r\n return FaRegFilePdf;\r\n case \"Info\":\r\n return MdInfo;\r\n case \"Image\":\r\n return FaRegFileImage;\r\n case \"Doc\":\r\n return FaRegFileWord;\r\n case \"File\":\r\n return FiFileText;\r\n case \"Approve\":\r\n return FaCheckCircle;\r\n case \"Reject\":\r\n return FcCancel;\r\n case \"Cancel\":\r\n return GiCancel;\r\n case \"Link\":\r\n return BsLink;\r\n case \"Cross\":\r\n return FaTimes;\r\n case \"CrossCircle\":\r\n return FaTimesCircle;\r\n case \"Download\":\r\n return FiDownload;\r\n case \"Upload\":\r\n return FiUpload;\r\n case \"AlertTriangle\":\r\n return FiAlertTriangle;\r\n case \"Sync\":\r\n return AiOutlineSync;\r\n case \"Review\":\r\n return BsFileRichtext;\r\n case \"Print\":\r\n return AiOutlinePrinter;\r\n case \"Eye\":\r\n return AiFillEye;\r\n case \"LogoutCircle\":\r\n return RiLogoutCircleLine;\r\n //#endregion\r\n case \"LockPassword\":\r\n return RiLockPasswordLine;\r\n case \"FullScreen\":\r\n return AiOutlineFullscreen;\r\n\r\n default:\r\n return null;\r\n }\r\n}\r\n\r\nfunction index(props: Icons) {\r\n const { name, size, color, className, styles, justSVG, ...rest } = props;\r\n\r\n let ReactIcon: any = getIconComponent(name);\r\n\r\n const finalStyles = {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n fontSize: size,\r\n color: color,\r\n ...styles,\r\n };\r\n\r\n if (justSVG) {\r\n return ;\r\n }\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nindex.defaultProps = {\r\n name: \"\",\r\n size: 20,\r\n color: \"\",\r\n className: \"\",\r\n styles: \"\",\r\n};\r\n\r\nexport default index;\r\n","import React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport { connect } from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\nimport { isEmpty } from \"../../helpers\";\r\nimport {\r\n clearMessage,\r\n removeMessage,\r\n} from \"../../store/actions/validateAction\";\r\nimport Icons from \"../icons\";\r\n\r\ninterface ToastBody {\r\n type?: string;\r\n position?: string;\r\n remove?: boolean;\r\n rounded?: boolean;\r\n timeout?: number;\r\n clearMessage?: Function;\r\n removeMessage?: Function;\r\n validateReducer?: any;\r\n id?: string | number;\r\n children?: React.ReactNode;\r\n}\r\n\r\nfunction ToastBody(props: ToastBody) {\r\n const { type, position, rounded, timeout } = props;\r\n var toastClasses = classnames({\r\n toast: true,\r\n success: type === \"Success\" || type === \"success\",\r\n warning: type === \"Warning\" || type === \"warning\",\r\n info: type === \"Info\" || type === \"info\",\r\n danger: type === \"Danger\" || type === \"danger\",\r\n primary: type === \"Primary\" || type === \"primary\",\r\n \"bottom-left\": position === \"bottom-left\",\r\n \"bottom-right\": position === \"bottom-right\",\r\n \"bottom-center\": position === \"bottom-center\",\r\n \"top-left\": position === \"top-left\",\r\n \"top-right\": position === \"top-right\",\r\n \"top-center\": position === \"top-center\",\r\n rounded: rounded === true,\r\n });\r\n if (timeout && timeout > 0) {\r\n setTimeout(() => {\r\n props.clearMessage && props.clearMessage();\r\n if (props.remove && !isEmpty(props.id)) {\r\n props.removeMessage && props.removeMessage(props.id);\r\n }\r\n }, timeout);\r\n }\r\n\r\n const clear = () => {\r\n props.clearMessage && props.clearMessage();\r\n if (props.remove && !isEmpty(props.id)) {\r\n props.removeMessage && props.removeMessage(props.id);\r\n }\r\n };\r\n const arrayMessage = (children: any) => {\r\n let message = (\r\n
    \r\n {children.map((mes: any) => {\r\n return
  1. {mes}
  2. ;\r\n })}\r\n
\r\n );\r\n\r\n return message;\r\n };\r\n const renderMessage = (children: any) => {\r\n if (\r\n typeof children === \"object\" &&\r\n children.length !== undefined &&\r\n children.length >= 2\r\n ) {\r\n return arrayMessage(children);\r\n } else if (\r\n typeof children === \"object\" &&\r\n children.length !== undefined &&\r\n children.length === 1\r\n ) {\r\n return props.children;\r\n } else if (typeof children === \"string\" || typeof children === \"number\") {\r\n return props.children;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {isEmpty(props.children) ? null : renderMessage(props.children)}\r\n \r\n clear()}>\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nToastBody.defaultProps = {\r\n type: \"primary\",\r\n position: \"bottom-left\",\r\n rounded: false,\r\n timeout: 5000,\r\n};\r\n\r\nconst mapStateToProps = (state: any) => ({\r\n validateReducer: state.validateReducer,\r\n});\r\n\r\nexport default connect(mapStateToProps, { clearMessage, removeMessage })(\r\n ToastBody\r\n);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ToastBody from \"./toastBody\";\r\nimport { isEmpty } from \"../../helpers\";\r\nimport classnames from \"classnames\";\r\n\r\ninterface Validated {\r\n validateReducer: any;\r\n}\r\n\r\nexport class Validate extends Component {\r\n render() {\r\n const { validateReducer } = this.props;\r\n const {\r\n messages,\r\n messages: { message, type, position, timeout },\r\n arrayMessages,\r\n } = validateReducer;\r\n\r\n let newMessage;\r\n if (validateReducer && !isEmpty(messages)) {\r\n newMessage =\r\n type === \"Success\" && message === null\r\n ? \"Success\"\r\n : message === null\r\n ? []\r\n : message;\r\n }\r\n return (\r\n <>\r\n {!isEmpty(validateReducer && messages) ? (\r\n \r\n {newMessage}\r\n \r\n ) : null}\r\n {!isEmpty(validateReducer && arrayMessages) ? (\r\n \r\n {arrayMessages.map((msg: any) => {\r\n return (\r\n \r\n {msg.message}\r\n \r\n );\r\n })}\r\n \r\n ) : null}\r\n \r\n );\r\n }\r\n}\r\nconst mapStateToProps = (state) => ({\r\n validateReducer: state.validateReducer,\r\n});\r\nexport default connect(mapStateToProps)(Validate);\r\n","export default {\r\n jobListing: \"/job-list\",\r\n jobDetail: \"/job-detail\",\r\n jobApply: \"/job-apply\",\r\n};\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport routes from \"../routes\";\r\n\r\nfunction FirstBar(props: any) {\r\n const { companyInformation } = props;\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 {companyInformation.Name}\r\n
\r\n
\r\n {companyInformation.Address}\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 FirstBar;\r\n","import React, { Component } from \"react\";\r\nimport rigoLogo from \"../../assets/images/rigo_logo.png\";\r\n\r\nexport class Footer extends Component {\r\n render() {\r\n // const logo = window.CompanyBaseUrl + logos;\r\n return (\r\n
\r\n \r\n
\r\n \"Rigo\r\n
\r\n
\r\n

Rigo

\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Footer;\r\n","export const api = {\r\n common: {\r\n nationalities: \"meta/nationalities\",\r\n countries: \"meta/countries\",\r\n districts: \"meta/districts\",\r\n provinces: \"meta/provinces\",\r\n districtByProvience: \"meta/districts/province\",\r\n localBodyByDistrict: \"meta/local-bodies\",\r\n educationLevel: \"meta/educations\",\r\n\r\n companyInformation: \"meta/company-information\",\r\n\r\n uploadFiles: \"common/shared/UploadFiles\",\r\n deleteFiles: \"common/shared/DeleteFiles\",\r\n },\r\n job: {\r\n activeJobs: \"job/active\",\r\n jobDetail: \"job/detail\",\r\n apply: \"job/apply\",\r\n },\r\n};\r\n","export const baseURL = `${window.location.origin}/v1/`; // \"https://hrmsnow.staging.rigoerp.com/v1/\"; // `https://localhost:44300/v1/`;\r\n//","import axios from \"axios\";\r\nimport { baseURL } from \"../constants/urls\";\r\nimport { dispatchError } from \"../helpers/dispatchError\";\r\n\r\nlet setHeaders = {\r\n headers: {\r\n Authorization: localStorage.getItem(\"AuthToken\"),\r\n [\"content-type\"]: \"application/json; charset=utf-8\",\r\n // \"bearer CfDJ8OHn1hv6n-NMv3AmmfbePqyAxJhAze807cPCR43tPOWLrSzN_XZHzApKdgP6D_aEz0X0AbV4JqwC02cSWzH-RssFOvP3SJ8MPdyuem6w9NvUHW3vargyX8Ewc6IlNv36McXoFOqia12RXcRLS0pIZU2PJhOKJyAftUwDp-NkTlEhs1PzgPdkJ8pLgbW5ymcE2aRwgEKqIhY2ojeEeUZFwh59fZZwQop9CdfS7hFNbtnIxjdLnUw3ipotCOArWfrlBR3_UqTYOL4A_jStVkai2AAWVAd7lXyv4MFboeZ4kTN8Aj6PVgP7oyxaSAtmGG0p4EiKbtNKdI42Jqh5RKvrc4GJWpobIukZGuGm9AVeVrEeV-R1yltYi6yGMAwqKMriZWT46R03JUsofVi0wlqHj_JHOJhDX8rFh4m25-O62eS5uvQ9q9wRRwXxor3P9UdeRciwxoIca3pBRkxajzJBRLflbDznW84HDSUM69FjegCOHNiTyjRb86cCF061ZwpMgKME6BzyK_gTm0P4DTvpQt4RDsUiJpvZWk-mEvQpX6K2af2EsGcUSJx2bkcbskmjizXKjZ_HhStvPG4cagHbS6J8Ya4M61D2slGbMrKMo4Lq3BnMuVZ5NXbs0AWSDk6hRCTPOjaTrREnnnqbwnHj8mveOuhr1GLfKO1chQEPfxeu35rowpxjAwYajSq2C4YsJAJOSLe2MhQ5NF0NS6UKcAY\",\r\n },\r\n};\r\n\r\nconst actionBase = axios.create({ baseURL: baseURL });\r\n\r\nexport const get = (\r\n url,\r\n dispatch,\r\n param = null,\r\n showResponseMessage = false\r\n) => {\r\n return new Promise((resolve, reject) => {\r\n const fullUrl = getFullStringUrl(url, param);\r\n actionBase\r\n .get(fullUrl, setHeaders)\r\n .then((res) => onSuccess(res, dispatch, resolve, showResponseMessage))\r\n .catch((err) => onFailure(err, dispatch, reject));\r\n });\r\n};\r\n\r\nexport const get_by_id = (url, dispatch, id, showResponseMessage = false) => {\r\n return new Promise((resolve, reject) => {\r\n const fullUrl = `${url}/${id}`;\r\n actionBase\r\n .get(fullUrl, setHeaders)\r\n .then((res) => onSuccess(res, dispatch, resolve, showResponseMessage))\r\n .catch((err) => onFailure(err, dispatch, reject));\r\n });\r\n};\r\n\r\nexport const post = (\r\n url,\r\n dispatch,\r\n param,\r\n showResponseMessage = true,\r\n isMultipart = false,\r\n alwaysResponse = false\r\n) => {\r\n if (isMultipart) {\r\n setHeaders.headers[\"content-type\"] = \"multipart/form-data\";\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n actionBase\r\n .post(url, param, setHeaders)\r\n .then((res) =>\r\n onSuccess(res, dispatch, resolve, showResponseMessage, alwaysResponse)\r\n )\r\n .catch((err) => onFailure(err, dispatch, reject, alwaysResponse));\r\n });\r\n};\r\n\r\nexport const put = (\r\n url,\r\n dispatch,\r\n param,\r\n showResponseMessage = true,\r\n isMultipart = false\r\n) => {\r\n return new Promise((resolve, reject) => {\r\n if (isMultipart) {\r\n setHeaders.headers[\"content-type\"] = \"multipart/form-data\";\r\n }\r\n actionBase\r\n .put(url, param, setHeaders)\r\n .then((res) => onSuccess(res, dispatch, resolve, showResponseMessage))\r\n .catch((err) => onFailure(err, dispatch, reject));\r\n });\r\n};\r\n\r\nexport const put_inline_param = (\r\n url,\r\n dispatch,\r\n param,\r\n showResponseMessage = true\r\n) => {\r\n return new Promise((resolve, reject) => {\r\n const fullUrl = getFullStringUrl(url, param);\r\n\r\n actionBase\r\n .put(fullUrl, null, setHeaders)\r\n .then((res) => onSuccess(res, dispatch, resolve, showResponseMessage))\r\n .catch((err) => onFailure(err, dispatch, reject));\r\n });\r\n};\r\n\r\nexport const deletion = (url, dispatch, id, showResponseMessage = true) => {\r\n return new Promise((resolve, reject) => {\r\n const fullUrl = `${url}/${id}`;\r\n actionBase\r\n .delete(fullUrl, setHeaders)\r\n .then((res) => onSuccess(res, dispatch, resolve, showResponseMessage))\r\n .catch((err) => onFailure(err, dispatch, reject));\r\n });\r\n};\r\n\r\n// export const deletion_with_param = (\r\n// url,\r\n// dispatch,\r\n// param,\r\n// showResponseMessage = true\r\n// ) => {\r\n// let config = setHeaders;\r\n// config[\"data\"] = { serverFileNames: param };\r\n\r\n// return new Promise((resolve, reject) => {\r\n// actionBase\r\n// .delete(url, config)\r\n// .then((res) => onSuccess(res, dispatch, resolve, showResponseMessage))\r\n// .catch((err) => onFailure(err, dispatch, reject));\r\n// });\r\n// };\r\n\r\n// export const deletion_inline_param = (url, dispatch, param) => {\r\n// return new Promise((resolve, reject) => {\r\n// const fullUrl = getFullStringUrl(url, param);\r\n// actionBase\r\n// .delete()\r\n// .then((res) => onSuccess(res, dispatch, resolve))\r\n// .catch((err) => onFailure(err, dispatch, reject));\r\n// });\r\n// };\r\n\r\nconst getFullStringUrl = (url, param) => {\r\n const entries = param ? Object.entries(param) : null;\r\n let fullUrl = url;\r\n entries &&\r\n entries.map((entry, ind) => {\r\n if (ind == 0) {\r\n fullUrl = `${fullUrl}?${`${entry[0]}=${entry[1]}`}`;\r\n } else {\r\n fullUrl = `${fullUrl}&${`${entry[0]}=${entry[1]}`}`;\r\n }\r\n });\r\n return fullUrl;\r\n};\r\n\r\nconst onSuccess = (\r\n res,\r\n dispatch,\r\n resolve,\r\n showResponseMessage,\r\n alwaysResponse = false\r\n) => {\r\n setHeaders.headers[\"content-type\"] = \"application/json; charset=utf-8\";\r\n\r\n const response = res.data;\r\n if (response.Status == true) {\r\n if (showResponseMessage) {\r\n dispatchError(dispatch, response);\r\n }\r\n resolve(response);\r\n } else if (response.Status == undefined) {\r\n if (res.status == 200) {\r\n resolve(response);\r\n } else {\r\n dispatchError(dispatch, \"Response status is not 200\");\r\n }\r\n } else {\r\n dispatchError(dispatch, response);\r\n if (alwaysResponse) {\r\n resolve(response);\r\n }\r\n }\r\n};\r\n\r\nconst onFailure = (err, dispatch, reject, alwaysResponse = false) => {\r\n setHeaders.headers[\"content-type\"] = \"application/json; charset=utf-8\";\r\n\r\n dispatchError(dispatch, err.message);\r\n if (alwaysResponse) {\r\n reject(err);\r\n }\r\n // reject(err);\r\n};\r\n","import { objectToFormData } from \"object-to-formdata\";\r\nimport { api, post } from \"../../../networkService\";\r\nimport { UPLOAD_FILES } from \"../../types\";\r\n\r\nexport const UploadFiles = (file: any, files: any = []) => async (\r\n dispatch: Function\r\n) => {\r\n dispatch({ type: UPLOAD_FILES, payload: [] });\r\n\r\n let savedFiles = [];\r\n let isNewFileAvailable = false;\r\n if (file || (files && files.length > 0)) {\r\n const formData = objectToFormData({});\r\n\r\n if (files && files.length > 0) {\r\n files.forEach((file: any) => {\r\n if (file.ServerFileName) {\r\n savedFiles.push(file);\r\n } else {\r\n isNewFileAvailable = true;\r\n formData.append(`files`, file);\r\n }\r\n });\r\n } else {\r\n if (file.ServerFileName) {\r\n savedFiles.push(file);\r\n } else {\r\n isNewFileAvailable = true;\r\n formData.append(`files`, file);\r\n }\r\n }\r\n\r\n let newSavedFiles: any = [];\r\n if (isNewFileAvailable) {\r\n const res: any = await post(\r\n api.common.uploadFiles,\r\n dispatch,\r\n formData,\r\n false,\r\n true\r\n );\r\n newSavedFiles = res.Data;\r\n }\r\n\r\n savedFiles = [...savedFiles, ...newSavedFiles];\r\n dispatch({ type: UPLOAD_FILES, payload: savedFiles });\r\n }\r\n};\r\n\r\nexport const DeleteFiles = (param: any) => async (dispatch: Function) => {\r\n const res: any = await post(api.common.deleteFiles, dispatch, param, false);\r\n};\r\n","import { GET_COMPANY_INFORMATION } from \"../../types\";\r\nimport { api, post, get } from \"../../../networkService\";\r\nimport { dispatchError } from \"../../../helpers/dispatchError\";\r\nexport * from \"./dropdownAction\";\r\nexport * from \"./fileAction\";\r\n\r\nexport const DisplayClientSideMessage = (message: any) => (\r\n dispatch: Function\r\n) => {\r\n dispatchError(dispatch, message);\r\n};\r\n\r\nexport const GetCompanyInformation = () => async (dispatch: Function) => {\r\n const res = await get(api.common.companyInformation, dispatch);\r\n dispatch({ type: GET_COMPANY_INFORMATION, payload: res });\r\n};\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport FirstBar from \"./firstBar\";\r\nimport Footer from \"./footer\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { GetCompanyInformation } from \"../../store/actions/common\";\r\n\r\nclass Navbar extends Component {\r\n async componentDidMount() {\r\n await this.props.GetCompanyInformation();\r\n document.title =\r\n (this.props.companyInformation && this.props.companyInformation.Name) ||\r\n \"Recruitment\";\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n
{this.props.children}
\r\n\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state: any) => ({\r\n companyInformation: state.commonReducer.companyInformation,\r\n});\r\nconst mapDispatchToProps = {\r\n GetCompanyInformation,\r\n};\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(Navbar));\r\n","import React from \"react\";\r\n\r\nexport default function CarrerHeader(props: any) {\r\n return (\r\n
\r\n
\r\n Latest\r\n Careers\r\n
\r\n {props.children}\r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport ContentLoader from \"react-content-loader\";\r\n\r\ninterface TableSkeleton {\r\n foregroundColor: string;\r\n backgroundColor: string;\r\n}\r\n\r\nconst TableSkeleton = (props: TableSkeleton) => {\r\n const tabRowData = [0, 1, 2, 3, 4];\r\n const { backgroundColor, foregroundColor } = props;\r\n // console.log(props)\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 {tabRowData.map(TabRow)}\r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n \r\n );\r\n};\r\n\r\nconst TabRow = (num, index) => {\r\n let xx = [100, 285, 621, 1040, 1140, 0];\r\n let yy = 90;\r\n let yyy = [\r\n yy + num * 60 + 5,\r\n yy + num * 60 + 10,\r\n yy + num * 60 + 5,\r\n yy + num * 60 + 45,\r\n ];\r\n let cyy = 105 + 59 * num + num;\r\n let cxx = 740;\r\n let cx1 = 64;\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\nTableSkeleton.defaultProps = {\r\n backgroundColor: \"#e4e5e6\",\r\n foregroundColor: \"#fff\",\r\n};\r\n\r\nexport default TableSkeleton;\r\n","import React from \"react\";\r\nimport Skeleton from \"@material-ui/lab/Skeleton\";\r\nimport A from \"./tableSkeleton\";\r\n\r\nfunction TableSkeletonMaterial(props) {\r\n const { noRows } = props;\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n
\r\n {[...Array(noRows)].map((e, i) => (\r\n
\r\n {/*
\r\n
\r\n \r\n \r\n
\r\n
*/}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {/*
\r\n \r\n
*/}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nTableSkeletonMaterial.defaultProps = {\r\n noRows: 6,\r\n};\r\n\r\nexport default TableSkeletonMaterial;\r\n","import React from \"react\";\r\nimport Skeleton from \"@material-ui/lab/Skeleton\";\r\n\r\nfunction CardSkeleton(props) {\r\n const renderCard = () => {\r\n switch (props.cardType) {\r\n case \"leave\":\r\n return LeaveCard;\r\n case \"employee\":\r\n return EmployeeCard;\r\n case \"block\":\r\n return BlockCard;\r\n case \"travel\":\r\n return TravelCard;\r\n case \"dashboard\":\r\n return Dashboard;\r\n case \"dashboard2\":\r\n return Dashboard2;\r\n case \"tableBlock\":\r\n return TableBlock;\r\n default:\r\n return LeaveCard;\r\n }\r\n };\r\n const Component = renderCard();\r\n return ;\r\n}\r\n\r\nconst LeaveCard = () => {\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\n
\r\n
\r\n );\r\n};\r\n\r\nconst Dashboard = (props) => {\r\n const { noRows } = props;\r\n return (\r\n
\r\n {[...Array(noRows)].map((e, i) => (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n );\r\n};\r\n\r\nconst Dashboard2 = (props) => {\r\n const { noRows } = props;\r\n return (\r\n
\r\n {[...Array(noRows)].map((e, i) => (\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n );\r\n};\r\n\r\nconst EmployeeCard = () => {\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\nexport const BlockCard = (props) => {\r\n const { noRows } = props;\r\n return (\r\n
\r\n {[...Array(noRows)].map((e, i) => (\r\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 const TableBlock = (props) => {\r\n const { noRows } = props;\r\n return (\r\n
\r\n
\r\n {[...Array(noRows)].map((e, i) => (\r\n
\r\n \r\n \r\n \r\n
\r\n ))}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport const TravelCard = (props: any) => {\r\n const { noRows } = props;\r\n return (\r\n
\r\n {[...Array(noRows)].map((e, i) => (\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n );\r\n};\r\n\r\nCardSkeleton.defaultProps = {\r\n cardType: \"leave\",\r\n noRows: 6,\r\n};\r\n\r\nexport default CardSkeleton;\r\n","import React from \"react\";\r\nimport TableSkeleton from \"./tableSkeleton\";\r\nimport TableSkeletonMaterial from \"./tableSkeletonMaterial\";\r\nimport CardSkeleton from \"./cardSkeleton\";\r\n\r\ninterface Loading {\r\n loading?: boolean;\r\n name?: string;\r\n}\r\n\r\nconst Skeleton = (props: Loading) => {\r\n const { loading } = props;\r\n if (!loading) {\r\n return null;\r\n }\r\n const switchComponent = () => {\r\n const { name } = props;\r\n switch (name) {\r\n case \"table\":\r\n return TableSkeleton;\r\n case \"custom-table\":\r\n return TableSkeletonMaterial;\r\n case \"card\":\r\n return CardSkeleton;\r\n default:\r\n return null;\r\n }\r\n };\r\n const Component = switchComponent();\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Skeleton;\r\n","import React from \"react\";\r\nimport classnames from \"classnames\";\r\n\r\ninterface Spinner {\r\n loading?: boolean;\r\n name?: string;\r\n loadingTextShow?: boolean;\r\n loaderSize?: string;\r\n loaderBackground?: string;\r\n bodyBackground?: string;\r\n}\r\n\r\nconst Spinner = (props: Spinner) => {\r\n const {\r\n loading,\r\n bodyBackground,\r\n loaderSize,\r\n name,\r\n loadingTextShow,\r\n ...rest\r\n } = props;\r\n\r\n const style = {\r\n width: loaderSize + \"px\",\r\n height: loaderSize + \"px\",\r\n };\r\n if (!loading) {\r\n return null;\r\n }\r\n if (name === \"backdrop\") {\r\n return (\r\n
\r\n
\r\n
\r\n {/* {loadingTextShow ? (\r\n
Loading...
\r\n ) : null} */}\r\n
\r\n
\r\n );\r\n }\r\n return
;\r\n};\r\n\r\nSpinner.defaultProps = {\r\n loading: false,\r\n loaderSize: \"30\",\r\n bodyBackground: \"rgba(26, 26, 26, 0.2)\",\r\n name: \"backdrop\",\r\n loadingTextShow: true,\r\n};\r\n\r\nexport default Spinner;\r\n","import React from \"react\";\r\nimport Skeleton from \"./skeleton\";\r\nimport Spinner from \"./spinner\";\r\n\r\ninterface Loaders {\r\n type?: \"skeleton\" | \"spinner\" | string;\r\n cardType?:\r\n | \"leave\"\r\n | \"employee\"\r\n | \"block\"\r\n | \"travel\"\r\n | \"dashboard\"\r\n | \"dashboard2\";\r\n name?: \"custom-table\" | \"table\" | \"card\";\r\n backgroundColor?: string;\r\n foregroundColor?: string;\r\n loading: boolean;\r\n width?: Number;\r\n height?: Number;\r\n noRows?: Number;\r\n\r\n}\r\n\r\nfunction Loaders(props: Loaders) {\r\n const loaderComponent = () => {\r\n const { type } = props;\r\n switch (type) {\r\n case \"skeleton\":\r\n return Skeleton;\r\n case \"spinner\":\r\n return Spinner;\r\n default:\r\n // return null\r\n return Spinner;\r\n }\r\n };\r\n const Component = loaderComponent();\r\n return ;\r\n}\r\n\r\nLoaders.defaultProps = {\r\n // type: \"normal\",\r\n loading: false,\r\n};\r\n\r\nexport default Loaders;\r\n","import React from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport Loader from \"../../components/loaders\";\r\nimport routes from \"../../navigation/routes\";\r\n\r\nexport default function Card(props: any) {\r\n let { activeJobs } = props;\r\n return (\r\n
\r\n {!activeJobs ? (\r\n \r\n ) : activeJobs.length <= 0 ? (\r\n
No job found.
\r\n ) : (\r\n activeJobs.map((x: any) => {\r\n return (\r\n
\r\n \r\n
\r\n \r\n {x.ExternalJobTitle}\r\n \r\n
\r\n
\r\n \r\n {x.Education}\r\n \r\n {x.IsExperience ? (\r\n
\r\n \r\n {`${x.Experience} ${\r\n x.Experience <= 1 ? \"Year\" : \"Years\"\r\n } Experience`}\r\n \r\n {/* {x.Department} */}\r\n
\r\n ) : (\r\n No experience necessary\r\n )}\r\n
\r\n
\r\n {x.PublisheDate}\r\n {x.EndDate}\r\n
\r\n
\r\n {x.DaysRemaining}\r\n\r\n {/* */}\r\n \r\n {/* */}\r\n\r\n
\r\n {x.EmployementType}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n })\r\n )}\r\n
\r\n );\r\n}\r\n","import { api, post, get, get_by_id } from \"../../networkService\";\r\nimport { GET_ACTIVE_JOBS, GET_JOB_DETAIL_BY_ID } from \"../types\";\r\nimport routes from \"../../navigation/routes\";\r\n\r\nexport const GetActiveJobs = () => async (dispatch: Function) => {\r\n const res = await get(api.job.activeJobs, dispatch);\r\n dispatch({ type: GET_ACTIVE_JOBS, payload: res });\r\n};\r\n\r\nexport const GetJobDetail = (jobId: any) => async (dispatch: Function) => {\r\n dispatch({ type: GET_JOB_DETAIL_BY_ID, payload: {} });\r\n const res = await get_by_id(api.job.jobDetail, dispatch, jobId);\r\n dispatch({ type: GET_JOB_DETAIL_BY_ID, payload: res });\r\n};\r\n\r\nexport const SaveJobApply = (param: any, props: any) => async (\r\n dispatch: Function\r\n) => {\r\n const res: any = await post(\r\n api.job.apply,\r\n dispatch,\r\n param,\r\n true,\r\n false,\r\n true\r\n );\r\n if (res.Status && props) {\r\n props.history.push({\r\n pathname: routes.jobListing,\r\n });\r\n }\r\n};\r\n","import React, { useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport CarrerHeader from \"../common/carrerHeader\";\r\nimport CareerCard from \"./card\";\r\nimport { GetActiveJobs } from \"../../store/actions/jobAction\";\r\n\r\nfunction JobListing(props: any) {\r\n useEffect(() => {\r\n props.GetActiveJobs();\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst mapStateToProps = (state: any) => ({\r\n activeJobs: state.jobReducer.activeJobs,\r\n});\r\n\r\nexport default withRouter(\r\n connect(mapStateToProps, {\r\n GetActiveJobs,\r\n })(JobListing)\r\n);\r\n","import React from \"react\";\r\nimport moment from \"moment\";\r\n\r\nexport const Date_Format = (date) => {\r\n // return moment(new Date(date)).format(\"YYYY/MM/DD\");\r\n return moment(new Date(date)).format(\"MM/DD/YYYY\");\r\n};\r\n\r\nexport const Time_Format = (date) => {\r\n return moment(new Date(date)).format(\"hh:mm:ss a\");\r\n};\r\n\r\nexport const Time_Format_HM = (date) => {\r\n return moment(new Date(date)).format(\"hh:mm a\");\r\n};\r\n\r\nexport const DateTime_Format = (date) => {\r\n return moment(new Date(date)).format(\"MM/DD/YYYY HH:mm:ss\");\r\n};\r\n\r\nexport const formatedMonthDayYear = (date) => {\r\n return (\r\n moment(new Date(date)).format(\"MMMM\") +\r\n \" \" +\r\n moment(new Date(date)).format(\"DD\") +\r\n \", \" +\r\n moment(new Date(date)).format(\"YYYY\")\r\n );\r\n};\r\n\r\n\r\n\r\nexport const formatedShortMonthDayYear = (date) => {\r\n return (\r\n moment(new Date(date)).format(\"MMM\") +\r\n \" \" +\r\n moment(new Date(date)).format(\"DD\") +\r\n \", \" +\r\n moment(new Date(date)).format(\"YYYY\")\r\n );\r\n};\r\n\r\nexport const formatedToMonthDay = (date) => {\r\n return (\r\n moment(new Date(date)).format(\"MMMM\") +\r\n \" \" +\r\n moment(new Date(date)).format(\"DD\")\r\n );\r\n};\r\n\r\n\r\nexport const startDatetime = (date) => {\r\n return moment(date, \"YYYYMMDDHHmmss\")\r\n .startOf(\"day\")\r\n .format(\"MM/DD/YYYY HH:mm:ss\");\r\n};\r\n\r\nexport const endDatetime = (date) => {\r\n return moment(date, \"YYYYMMDDHHmmss\")\r\n .endOf(\"day\")\r\n .format(\"MM/DD/YYYY HH:mm:ss\");\r\n};\r\n\r\nexport const getHrsMinFormatFromMinutes = (mins) => {\r\n let hours = mins / 60;\r\n let rhours = Math.floor(hours);\r\n let minutes = (hours - rhours) * 60;\r\n let rminutes = Math.round(minutes);\r\n return rhours + \"h \" + rminutes + \"m\";\r\n};\r\n\r\nexport const isDateTodayOrAfter = (toCheck, givenDate) => {\r\n return (\r\n moment(new Date(toCheck)).isAfter(new Date(givenDate)) ||\r\n moment(new Date(toCheck)).isSame(new Date(givenDate), \"day\")\r\n );\r\n};\r\n\r\nexport const geDateDifference = (start, end) => {\r\n var a = moment(start);\r\n var b = moment(end);\r\n return b.diff(a, \"days\");\r\n};\r\n","import React from \"react\";\r\nimport { MdArrowForward } from \"react-icons/md\";\r\nimport { connect } from \"react-redux\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport {\r\n FacebookShareButton,\r\n TwitterShareButton,\r\n FacebookIcon,\r\n TwitterIcon,\r\n LinkedinShareButton,\r\n LinkedinIcon,\r\n} from \"react-share\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport routes from \"../../navigation/routes\";\r\nimport workImage from \"../../assets/images/work.png\";\r\nimport moneyImage from \"../../assets/images/money.png\";\r\nimport businessmanImage from \"../../assets/images/businessman.png\";\r\nimport universityImage from \"../../assets/images/university.png\";\r\nimport { formatedMonthDayYear } from \"../../helpers/dateFormat\";\r\n\r\nexport default function Career(props: any) {\r\n const activeJob = props.jobDetail.RecruitmentPositionDetail || {};\r\n const { PublishedDateEng, EndDateEng } = activeJob;\r\n let { CompanyLogo } = props.companyInformation;\r\n\r\n const applyButton = () => {\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const shareLink = window.location.href;\r\n return (\r\n
\r\n
\r\n
\r\n \"logo\"\r\n
\r\n
\r\n {activeJob.EmployementType}\r\n {activeJob.ExternalJobTitle}\r\n \r\n Published on\r\n {PublishedDateEng && formatedMonthDayYear(PublishedDateEng)}\r\n \r\n props.history.push(routes.jobListing)}\r\n >\r\n View all Jobs\r\n \r\n \r\n
\r\n
\r\n
\r\n Application ends\r\n \r\n {EndDateEng && formatedMonthDayYear(EndDateEng)}\r\n \r\n
\r\n {applyButton()}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Job Description\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Job Information\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Job Area\r\n {activeJob.Category}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Qualification\r\n {activeJob.Education}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Experience\r\n \r\n {activeJob.IsExperience\r\n ? activeJob.Experience + \" year\"\r\n : \"Experience not necessary\"}\r\n \r\n
\r\n
\r\n {activeJob.IsPayShow ? (\r\n
\r\n
\r\n \r\n
\r\n
\r\n Offered Salary\r\n \r\n {\"Rs \"+activeJob.SalaryRangeFrom +\" - \"+activeJob.SalaryRangeTo}\r\n \r\n
\r\n
\r\n ) : null}\r\n
\r\n
\r\n
\r\n
\r\n Application ends\r\n \r\n {EndDateEng && formatedMonthDayYear(EndDateEng)}\r\n \r\n
\r\n {applyButton()}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Share this Job\r\n
\r\n
\r\n \r\n {\r\n //@ts-ignore\r\n \r\n }\r\n \r\n
\r\n
\r\n \r\n {\r\n //@ts-ignore\r\n \r\n }\r\n \r\n
\r\n
\r\n \r\n {\r\n //@ts-ignore\r\n \r\n }\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport queryString from \"query-string\";\r\nimport { isEmpty } from \"../../helpers\";\r\nimport CarrerHeader from \"../common/carrerHeader\";\r\nimport Career from \"./career\";\r\nimport { GetJobDetail } from \"../../store/actions/jobAction\";\r\n\r\nfunction JobDetail(props: any) {\r\n let params = queryString.parse(props.location.search);\r\n\r\n useEffect(() => {\r\n if (params && params.jobId) {\r\n props.GetJobDetail(params.jobId);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst mapStateToProps = (state: any) => ({\r\n jobDetail: state.jobReducer.jobDetail,\r\n companyInformation: state.commonReducer.companyInformation,\r\n});\r\n\r\nexport default withRouter(\r\n connect(mapStateToProps, {\r\n GetJobDetail,\r\n })(JobDetail)\r\n);\r\n","import React from \"react\";\r\nimport { handleMergedData } from \"./helpers\";\r\n\r\nfunction Heading({ data }) {\r\n // let branchAndDepartment = handleMergedData(data.department, data.branch);\r\n return (\r\n
\r\n
\r\n
\r\n

{data.jobTitle}

\r\n
\r\n {/*
\r\n {branchAndDepartment || \"\"}\r\n
*/}\r\n
\r\n
\r\n
\r\n {\"Published on \" + (data.publishedOn || \"- - -\")}\r\n
\r\n
\r\n {\"Application ends on \" + (data.endsOn || \"- - -\")}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Heading;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { otherInputInterface } from \"../../ts/interfaces/formInterface\";\r\n\r\nconst TextInput = (props: otherInputInterface): JSX.Element => {\r\n const {\r\n name,\r\n type,\r\n value,\r\n autoFocus,\r\n disabled,\r\n placeholder,\r\n minValue,\r\n maxValue,\r\n } = props;\r\n\r\n // const handleChange = (event) => {\r\n // const { name, value } = event.target;\r\n // props.onChange && props.onChange(name, value);\r\n // };\r\n\r\n const handleChange = (event) => {\r\n let { name, value } = event.target;\r\n if (type === \"number\" && value) {\r\n if (minValue && parseFloat(value) < parseFloat(minValue)) {\r\n value = minValue;\r\n }\r\n if (maxValue && parseFloat(value) > parseFloat(maxValue)) {\r\n value = maxValue;\r\n }\r\n }\r\n props.onChange && props.onChange(name, value);\r\n };\r\n\r\n const handleKeyUp = (event) => {\r\n const { name, value } = event.target;\r\n props.onKeyUp && props.onKeyUp(event);\r\n };\r\n\r\n const handleBlur = (event) => {\r\n const { name, value } = event.target;\r\n props.onBlur && props.onBlur(name, value);\r\n };\r\n const handleFocus = (event) => {\r\n if (type === \"number\") {\r\n event.target.select();\r\n }\r\n };\r\n return (\r\n \r\n );\r\n};\r\n\r\nTextInput.defaultProps = {\r\n name: \"\",\r\n type: \"text\",\r\n autoFocus: false,\r\n placeholder: \"\",\r\n};\r\n\r\nexport default TextInput;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n//import {otherInputInterface} from '../../ts'\r\nimport {otherInputInterface} from '../../ts/interfaces/formInterface'\r\n\r\nconst TextArea = (props:otherInputInterface) => {\r\n const { name, type, value, autoFocus, disabled, placeholder } = props;\r\n\r\n const handleChange = (event) => {\r\n const { name, value } = event.target;\r\n props.onChange && props.onChange(name, value);\r\n };\r\n\r\n const handleKeyUp = (event) => {\r\n const { name, value } = event.target;\r\n props.onKeyUp && props.onKeyUp(name, value);\r\n };\r\n\r\n const handleBlur = (event) => {\r\n const { name, value } = event.target;\r\n props.onBlur && props.onBlur(name, value);\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\n\r\n\r\nTextArea.defaultProps = {\r\n name: \"\",\r\n type: \"text\",\r\n autoFocus: false,\r\n};\r\n\r\nexport default TextArea;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport clsx from \"clsx\";\r\nimport Select from \"react-select\";\r\nimport { emphasize, makeStyles, useTheme } from \"@material-ui/core/styles\";\r\nimport { Typography } from \"@material-ui/core\";\r\nimport { NoSsr } from \"@material-ui/core\";\r\nimport { TextField } from \"@material-ui/core\";\r\nimport { Paper } from \"@material-ui/core\";\r\nimport { Chip } from \"@material-ui/core\";\r\nimport { MenuItem } from \"@material-ui/core\";\r\n// import { CancelIcon } from \"@material-ui/icons\";\r\nimport { isEmpty, Arrays, ArraysKey } from \"../../helpers\";\r\nimport { Skeleton } from \"@material-ui/lab\";\r\nimport { Checkbox } from \"@material-ui/core\";\r\nimport { reactSelectInterface } from \"../../ts/interfaces/formInterface\";\r\n\r\n//#region useStyles\r\nconst useStyles = (width: any) =>\r\n makeStyles((theme) => ({\r\n input: {\r\n display: \"flex\",\r\n height: \"1.5rem\",\r\n border: \"1px solid #c5c5c5\",\r\n borderRadius: \"4px\",\r\n padding: \"5px\",\r\n backgroundColor: \"#fff\",\r\n },\r\n valueContainer: {\r\n display: \"flex\",\r\n border: \"none\",\r\n flex: 1,\r\n alignItems: \"center\",\r\n overflow: \"hidden\",\r\n },\r\n chip: {\r\n margin: theme.spacing(0.5, 0.25),\r\n },\r\n chipFocused: {\r\n backgroundColor: emphasize(\r\n theme.palette.type === \"light\"\r\n ? theme.palette.grey[300]\r\n : theme.palette.grey[700],\r\n 0.08\r\n ),\r\n },\r\n noOptionsMessage: {\r\n padding: theme.spacing(1, 2),\r\n },\r\n singleValue: {\r\n fontSize: 14,\r\n width: \"100%\",\r\n height: \"100%\",\r\n whiteSpace: \"nowrap\",\r\n },\r\n placeholder: {\r\n position: \"absolute\",\r\n left: 10,\r\n bottom: 6,\r\n fontSize: 14,\r\n },\r\n\r\n paper: {\r\n position: \"absolute\",\r\n zIndex: 1,\r\n marginTop: theme.spacing(1),\r\n left: 0,\r\n right: 0,\r\n border: \"1px solid #cfcfcf\",\r\n borderRadius: 4,\r\n // width: width,\r\n\r\n \"& + div\": {\r\n padding: 0,\r\n },\r\n },\r\n paperAbove: {\r\n position: \"absolute\",\r\n zIndex: 1,\r\n bottom: \"100%\",\r\n marginBottom: theme.spacing(1),\r\n left: 0,\r\n right: 0,\r\n },\r\n divider: {\r\n height: theme.spacing(2),\r\n },\r\n }));\r\n//#endregion useStyles\r\n\r\n//#region NoOptionsMessage\r\nfunction NoOptionsMessage(props) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nNoOptionsMessage.propTypes = {\r\n /**\r\n * The children to be rendered.\r\n */\r\n children: PropTypes.node,\r\n /**\r\n * Props to be passed on to the wrapper.\r\n */\r\n innerProps: PropTypes.object.isRequired,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n//#endregion NoOptionsMessage\r\n\r\n//#region inputComponent\r\nfunction inputComponent({ inputRef, ...props }) {\r\n return
;\r\n}\r\n\r\ninputComponent.propTypes = {\r\n inputRef: PropTypes.oneOfType([\r\n PropTypes.func,\r\n PropTypes.shape({\r\n current: PropTypes.any.isRequired,\r\n }),\r\n ]),\r\n};\r\n//#endregion inputComponent\r\n\r\n//#region Control\r\nfunction Control(props) {\r\n const {\r\n children,\r\n innerProps,\r\n innerRef,\r\n selectProps: { classes, TextFieldProps },\r\n } = props;\r\n return (\r\n \r\n );\r\n}\r\nControl.propTypes = {\r\n /**\r\n * Children to render.\r\n */\r\n children: PropTypes.node,\r\n /**\r\n * The mouse down event and the innerRef to pass down to the controller element.\r\n */\r\n innerProps: PropTypes.shape({\r\n onMouseDown: PropTypes.func.isRequired,\r\n }).isRequired,\r\n innerRef: PropTypes.oneOfType([\r\n PropTypes.oneOf([null]),\r\n PropTypes.func,\r\n PropTypes.shape({\r\n current: PropTypes.any.isRequired,\r\n }),\r\n ]).isRequired,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n//#endregion Control\r\n\r\n//#region Option\r\nfunction Option(props) {\r\n return (\r\n \r\n {props.isMulti ? (\r\n \r\n \r\n {props.children}\r\n \r\n ) : (\r\n props.children\r\n )}\r\n \r\n );\r\n}\r\n\r\nOption.propTypes = {\r\n /**\r\n * The children to be rendered.\r\n */\r\n children: PropTypes.node,\r\n /**\r\n * props passed to the wrapping element for the group.\r\n */\r\n innerProps: PropTypes.shape({\r\n id: PropTypes.string.isRequired,\r\n key: PropTypes.string.isRequired,\r\n onClick: PropTypes.func.isRequired,\r\n onMouseMove: PropTypes.func.isRequired,\r\n onMouseOver: PropTypes.func.isRequired,\r\n tabIndex: PropTypes.number.isRequired,\r\n }).isRequired,\r\n /**\r\n * Inner ref to DOM Node\r\n */\r\n innerRef: PropTypes.oneOfType([\r\n PropTypes.oneOf([null]),\r\n PropTypes.func,\r\n PropTypes.shape({\r\n current: PropTypes.any.isRequired,\r\n }),\r\n ]).isRequired,\r\n /**\r\n * Whether the option is focused.\r\n */\r\n isFocused: PropTypes.bool.isRequired,\r\n /**\r\n * Whether the option is selected.\r\n */\r\n isSelected: PropTypes.bool.isRequired,\r\n};\r\n\r\n//#endregion Option\r\n\r\n//#region Placeholder\r\nfunction Placeholder(props) {\r\n const { selectProps, innerProps = {}, children } = props;\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nPlaceholder.propTypes = {\r\n /**\r\n * The children to be rendered.\r\n */\r\n children: PropTypes.node,\r\n /**\r\n * props passed to the wrapping element for the group.\r\n */\r\n innerProps: PropTypes.object,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n//#endregion Placeholder\r\n\r\n//#region SingleValue\r\nfunction SingleValue(props) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nSingleValue.propTypes = {\r\n /**\r\n * The children to be rendered.\r\n */\r\n children: PropTypes.node,\r\n /**\r\n * Props passed to the wrapping element for the group.\r\n */\r\n // innerProps: PropTypes.any.isRequired,\r\n innerProps: PropTypes.any,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\n//#endregion SingleValue\r\n\r\n//#region ValueContainer\r\nfunction ValueContainer(props) {\r\n const { value, isMulti } = props.selectProps;\r\n const valueClasses =\r\n props.selectProps.classes && props.selectProps.classes.valueContainer;\r\n return value !== null && value.length > 1 && isMulti ? (\r\n
\r\n \r\n {value.length} Selected\r\n \r\n {props.children}\r\n
\r\n ) : (\r\n
{props.children}
\r\n );\r\n}\r\n\r\nValueContainer.propTypes = {\r\n /**\r\n * The children to be rendered.\r\n */\r\n children: PropTypes.node,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n//#endregion ValueContainer\r\n\r\nMultiValue.propTypes = {\r\n children: PropTypes.node,\r\n isFocused: PropTypes.bool.isRequired,\r\n removeProps: PropTypes.shape({\r\n onClick: PropTypes.func.isRequired,\r\n onMouseDown: PropTypes.func.isRequired,\r\n onTouchEnd: PropTypes.func.isRequired,\r\n }).isRequired,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\n//#region MultiValue\r\nfunction MultiValue(props) {\r\n const { value } = props.selectProps;\r\n\r\n return value.length === 1 ? (\r\n \r\n {value[0].label}\r\n \r\n ) : (\r\n \r\n );\r\n // }\r\n // />\r\n}\r\n\r\n//#endregion MultiValue\r\n\r\n//#region Menu\r\nfunction Menu(props) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nMenu.propTypes = {\r\n /**\r\n * The children to be rendered.\r\n */\r\n children: PropTypes.element.isRequired,\r\n /**\r\n * Props to be passed to the menu wrapper.\r\n */\r\n innerProps: PropTypes.object.isRequired,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n//#endregion Menu\r\n\r\n//#region AutoSelect\r\n\r\nconst components: any = {\r\n // Control,\r\n Menu,\r\n MultiValue,\r\n // NoOptionsMessage,\r\n // Option,\r\n // Placeholder,\r\n // SingleValue,\r\n // ValueContainer,\r\n};\r\n\r\nconst renderLoading = (props) => {\r\n const { loading, loadingType, width } = props;\r\n if (loadingType === \"skeleton\") {\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n } else if (loadingType === \"circle\") {\r\n return

Loading...

;\r\n } else {\r\n return

Loading...

;\r\n }\r\n};\r\n\r\nconst renderOptions = (props: reactSelectInterface) => {\r\n const { options, isArray, isArrayKeys } = props;\r\n let setOption: any = [];\r\n if (options) {\r\n setOption = options;\r\n }\r\n if (isArray) {\r\n if (!isEmpty(options)) {\r\n if (isArrayKeys) {\r\n return ArraysKey(setOption);\r\n }\r\n return Arrays(setOption);\r\n } else {\r\n return [];\r\n }\r\n } else {\r\n return options;\r\n }\r\n};\r\n\r\nexport default function ReactSelect(props: reactSelectInterface) {\r\n const {\r\n multiple,\r\n placeholder,\r\n name,\r\n value,\r\n // validators,\r\n label,\r\n width,\r\n loading,\r\n loadingType,\r\n disabled,\r\n isAbove,\r\n } = props;\r\n const classes = useStyles(width)();\r\n const theme = useTheme();\r\n\r\n const selectStyles = {\r\n input: (base) => ({\r\n ...base,\r\n color: \"#f2f2f2\", //theme.palette.text.primary,\r\n \"& input\": {\r\n font: \"inherit\",\r\n },\r\n }),\r\n };\r\n\r\n const load = !isEmpty(loading) ? loading : false;\r\n if (load) {\r\n return renderLoading(props);\r\n }\r\n\r\n return (\r\n //
\r\n <>\r\n {/* */}\r\n {multiple ? (\r\n {\r\n props.onChange && props.onChange(action.name, value);\r\n }}\r\n />\r\n ) : (\r\n {\r\n props.onChange && props.onChange(action.name, value);\r\n }}\r\n name={name}\r\n className=\"isSingle\"\r\n isClearable={true}\r\n isOptionDisabled={(option) => option.disabled === \"yes\"}\r\n placeholder={placeholder}\r\n isAbove={isAbove && isAbove ? true : false}\r\n options={renderOptions(props)}\r\n components={components}\r\n value={isEmpty(value) ? null : value}\r\n />\r\n )}\r\n {/* */}\r\n {/*
*/}\r\n \r\n );\r\n}\r\n\r\nReactSelect.defaultProps = {\r\n name: \"\",\r\n value: null,\r\n multiple: false,\r\n placeholder: \"\",\r\n width: \"100%\",\r\n};\r\n//#endregion AutoSelect\r\n","interface dataProps {\r\n Text?: string;\r\n Value: string;\r\n Key?: string | number;\r\n}\r\n\r\ninterface Label {\r\n label: string;\r\n value: string | number;\r\n}\r\n\r\nexport const Arrays = (data: [dataProps]) => {\r\n let arrayItem: any = [];\r\n if (data && Array.isArray(data)) {\r\n data.map((item, key) => {\r\n arrayItem.push({ label: item.Text, value: item.Value });\r\n });\r\n }\r\n return arrayItem;\r\n};\r\n\r\nexport const ArraysKey = (data: [dataProps]) => {\r\n let arrayItem: any = [];\r\n if (data && Array.isArray(data)) {\r\n data.map((item, key) => {\r\n arrayItem.push({ label: item.Value, value: item.Key });\r\n });\r\n }\r\n return arrayItem;\r\n};\r\n\r\ntype EmployeeLabel = {\r\n FullName: string;\r\n EmployeeId: string | number;\r\n Imagepath: string;\r\n};\r\n\r\nexport const ArraysWithImage = (data: [EmployeeLabel]) => {\r\n let arrayItem: any = [];\r\n if (data) {\r\n data.map((item, key) => {\r\n item &&\r\n arrayItem.push({\r\n label: item.FullName,\r\n value: item.EmployeeId,\r\n img: item.Imagepath,\r\n });\r\n });\r\n }\r\n return arrayItem;\r\n};\r\n","import React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport PropTypes from \"prop-types\";\r\nimport { IoIosCheckmarkCircle } from \"react-icons/io\";\r\n\r\ninterface Props {\r\n name: string;\r\n chipsArray: [];\r\n value: any;\r\n onChange: Function;\r\n multiple?: boolean;\r\n badgeColor?: string;\r\n}\r\n\r\nfunction ChipsInput(props: Props) {\r\n const { chipsArray, name, value, multiple, badgeColor } = props;\r\n\r\n const handleChange = (value: any) => {\r\n props.onChange && props.onChange(name, value);\r\n };\r\n\r\n const chipsClasses = (type: any) => {\r\n return classnames({\r\n badges: true,\r\n \"mr-md\": true,\r\n \"left-icon\": multiple\r\n ? value.find((x) => x.label === type)\r\n : value === type,\r\n [\"badges-\" + badgeColor]: multiple\r\n ? value.find((x) => x.label === type)\r\n : value === type,\r\n });\r\n };\r\n return (\r\n
\r\n {chipsArray &&\r\n chipsArray.map((chip: any, index) => {\r\n return (\r\n handleChange(chip)}\r\n >\r\n {multiple ? (\r\n value.find((x) => x.value === chip.value) ? (\r\n \r\n ) : null\r\n ) : chip.label == value ? (\r\n \r\n ) : null}\r\n {chip.label}\r\n
\r\n );\r\n })}\r\n
\r\n );\r\n}\r\n\r\nChipsInput.defaultProps = {\r\n name: \"\",\r\n chipsArray: [],\r\n value: null,\r\n badgeColor: \"primary\",\r\n};\r\n\r\nexport default ChipsInput;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport classnames from \"classnames\";\r\nimport { isEmpty } from \"../../helpers\";\r\n\r\nfunction RadioGroup(props) {\r\n const {\r\n key,\r\n name,\r\n value,\r\n error,\r\n label,\r\n radioLabel,\r\n id,\r\n checked,\r\n className,\r\n labelPosition,\r\n disabled,\r\n onChange,\r\n } = props;\r\n var inputclass = classnames({\r\n \"custom-check\": true,\r\n error: !isEmpty(error) && error,\r\n [className]: className,\r\n // [size]:size,\r\n \"label-right\": labelPosition === \"right\",\r\n });\r\n\r\n const handleChange = (e) => {\r\n const { name, value } = e.target;\r\n onChange && onChange(name, value);\r\n };\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nRadioGroup.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n value: PropTypes.any,\r\n error: PropTypes.string,\r\n labelPosition: PropTypes.string,\r\n label: PropTypes.string,\r\n radioLabel: PropTypes.string,\r\n id: PropTypes.string,\r\n disabled: PropTypes.bool,\r\n className: PropTypes.string,\r\n checked: PropTypes.bool,\r\n onChange: PropTypes.func.isRequired,\r\n};\r\n\r\nRadioGroup.defaultProps = {\r\n labelPosition: \"left\",\r\n disabled: false,\r\n};\r\n\r\nexport default RadioGroup;\r\n","import React from 'react'\r\n\r\nfunction Switch(\r\n {\r\n value,\r\n checked,\r\n leftLabel,\r\n rightLabel,\r\n name,\r\n onChange,\r\n }\r\n) {\r\n const handleChange = (event) => {\r\n const { name:nm, value,checked } = event.target;\r\n onChange && onChange(nm, checked);\r\n };\r\n return (\r\n
\r\n {\r\n leftLabel && \r\n
onChange(name,false)}\r\n className={\"genericForm-group__left\"}>\r\n {leftLabel}\r\n
\r\n }\r\n \r\n {\r\n rightLabel && \r\n
onChange(name,true)}\r\n className={\"genericForm-group__right\"}>\r\n {rightLabel}\r\n
\r\n }\r\n
\r\n )\r\n}\r\n\r\nexport default Switch\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport classnames from \"classnames\";\r\nimport { isEmpty } from \"../../helpers\";\r\n\r\nimport TextInput from \"./textInput\";\r\nimport TextArea from \"./textArea\";\r\nimport ReactSelect from \"./reactSelect\";\r\nimport ChipsInput from \"./chipsInput\";\r\nimport RadioGroup from \"./radioGroup\";\r\n\r\nimport { wholeFormInterface } from \"../../ts/interfaces/formInterface\";\r\nimport Switch from \"./switch\";\r\n// import HourMinuteInput from \"./hourMinuteInput\";\r\n\r\ndeclare module \"react\" {\r\n interface HTMLAttributes extends DOMAttributes {\r\n validators?: any[];\r\n }\r\n}\r\n\r\nclass index extends React.Component {\r\n public static defaultProps = {\r\n formName: \"textinput\",\r\n name: \"\",\r\n label: \"\",\r\n autoFocus: false,\r\n alignment: \"vertical\",\r\n validators: [],\r\n };\r\n\r\n constructor(props: wholeFormInterface) {\r\n super(props);\r\n this.getDynamicComponent = this.getDynamicComponent.bind(this);\r\n }\r\n\r\n getDynamicComponent(): any {\r\n let { formName } = this.props;\r\n // formName = formName.toLowerCase();\r\n\r\n switch (formName) {\r\n case \"textinput\":\r\n return TextInput;\r\n\r\n case \"textarea\":\r\n return TextArea;\r\n\r\n case \"reactselect\":\r\n return ReactSelect;\r\n\r\n case \"chipsinput\":\r\n return ChipsInput;\r\n\r\n case \"radiogroup\":\r\n return RadioGroup;\r\n\r\n case \"switch\":\r\n return Switch;\r\n\r\n // case \"hourMinute\":\r\n // return HourMinuteInput;\r\n\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n formName,\r\n name,\r\n label,\r\n alignment,\r\n size,\r\n width,\r\n className,\r\n validators,\r\n error,\r\n loading,\r\n } = this.props;\r\n\r\n let inputclass = classnames({\r\n \"genericForm-group\": true,\r\n error: !isEmpty(error) && error,\r\n horizontalGenericForm: alignment && alignment == \"horizontal\",\r\n [className]: className,\r\n [size]: size,\r\n });\r\n\r\n let DynamicComponent = this.getDynamicComponent();\r\n const load = !isEmpty(loading) ? loading : false;\r\n return (\r\n \r\n {label && formName != \"radiogroup\" && !load && (\r\n
\r\n \r\n
\r\n )}\r\n {DynamicComponent ? (\r\n \r\n ) : (\r\n \"Invalid form name\"\r\n )}\r\n {error &&
{error}
}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default index;\r\n","import { validImageExtension } from \"../../constants/validExtensions\";\r\nimport { isEmpty } from \"../../helpers\";\r\nimport React, { useState } from \"react\";\r\nimport Avatar from \"react-avatar\";\r\nimport AvatarEdit from \"react-avatar-edit\";\r\nimport { AiFillCloseCircle } from \"react-icons/ai\";\r\n\r\nfunction ImageUploader({ title, data, error, onChange, onError }) {\r\n const { isPhotoSelectionCompleted, photo, cropedPhoto } = data;\r\n // constructor(props) {\r\n // super(props)\r\n // this.state = {\r\n // preview: null,\r\n // src:null,\r\n // }\r\n // this.onCrop = this.onCrop.bind(this)\r\n // this.onClose = this.onClose.bind(this)\r\n // this.onBeforeFileLoad = this.onBeforeFileLoad.bind(this)\r\n // }\r\n\r\n // componentDidMount(){\r\n // const {photo,isPhotoSelectionCompleted}=this.props;\r\n // this.setState({preview:photo})\r\n // }\r\n\r\n const [preview, setPreview] = useState(cropedPhoto);\r\n const [src, setSrc] = useState(null);\r\n\r\n const handleDoneCrop = () => {\r\n onChange(title, \"photo\", src);\r\n onChange(title, \"cropedPhoto\", preview);\r\n onChange(title, \"isPhotoSelectionCompleted\", true);\r\n };\r\n\r\n const handleRemoveImage = () => {\r\n setPreview(null);\r\n setSrc(null);\r\n onChange(title, \"photo\", null);\r\n onChange(title, \"cropedPhoto\", null);\r\n onChange(title, \"isPhotoSelectionCompleted\", false);\r\n };\r\n\r\n const onClose = () => {\r\n setPreview(null);\r\n };\r\n\r\n const onCrop = (preview) => {\r\n setPreview(preview);\r\n };\r\n\r\n const onBeforeFileLoad = (elem) => {\r\n const file = elem.target.files[0];\r\n const validExtensions = validImageExtension;\r\n\r\n let extension = null;\r\n if (file && file.name) {\r\n extension = file.name.split(\".\")[1];\r\n } else if (file && file.UserFileName) {\r\n extension = file.UserFileName.split(\".\")[1];\r\n }\r\n\r\n const isValidExtension = validExtensions.find(\r\n (f) => f == (extension && extension.toLowerCase())\r\n )\r\n ? true\r\n : false;\r\n\r\n if (file.size > 556000) {\r\n //556000 Byte==556 Kilobyte\r\n onError(\"Maximum valid file size is 556 Kb.\");\r\n elem.target.value = \"\";\r\n } else if (!isValidExtension) {\r\n onError(\"Valid extension are \" + validExtensions);\r\n elem.target.value = \"\";\r\n } else {\r\n setSrc(file);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {!isPhotoSelectionCompleted ? (\r\n
\r\n
\r\n \r\n {!isEmpty(preview) && (\r\n \r\n \r\n Done\r\n \r\n
\r\n )}\r\n {!isEmpty(error) && (\r\n \r\n {error}\r\n \r\n )}\r\n
\r\n\r\n {!isEmpty(preview) && (\r\n \"Preview\"\r\n )}\r\n
\r\n ) : (\r\n
\r\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 ImageUploader;\r\n","import moment from \"moment\";\r\n\r\nexport const inputWidth = \"calc(100% - 225px)\";\r\n\r\nexport const formatedDate = (date) => {\r\n return moment(new Date(date)).format(\"DD/MM/YYYY\");\r\n};\r\n\r\nexport const formatedMonthYear = (date) => {\r\n return (\r\n moment(new Date(date)).format(\"MMMM\") +\r\n \" \" +\r\n moment(new Date(date)).format(\"YYYY\")\r\n );\r\n};\r\n\r\nexport const formatedYear = (date) => {\r\n return moment(new Date(date)).format(\"YYYY\");\r\n};\r\n\r\nexport const fileKeys = {\r\n applicantPhoto: \"applicantPhoto\",\r\n applicantPhotoCroped: \"applicantPhotoCroped\",\r\n // identificationFiles: \"identificationFiles\",\r\n // educationFile: \"educationFile\",\r\n // trainingFile: \"trainingFile\",\r\n coverLetterFile: \"coverLetterFile\",\r\n cvFile: \"cvFile\",\r\n voucherFile: \"voucherFile\",\r\n};\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport classnames from \"classnames\";\r\nimport { inputWidth } from \"./constants\";\r\nimport ReactDatePicker from \"react-date-picker\";\r\n\r\nconst inputclass = (error) => {\r\n return classnames({\r\n \"form-group\": true,\r\n \"inline-form-group\": true,\r\n inputWidth: inputWidth,\r\n error: error,\r\n });\r\n};\r\n\r\nexport function TwoDatePicker(props) {\r\n const {\r\n label,\r\n views,\r\n format,\r\n maxDate,\r\n maxDetail,\r\n fromValue,\r\n toValue,\r\n onFromChange,\r\n onToChange,\r\n error,\r\n errorClassName,\r\n } = props;\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n \r\n
\r\n {error ? {error} : null}\r\n \r\n );\r\n}\r\n\r\nexport function OneDatePicker(props) {\r\n const {\r\n label,\r\n views,\r\n value,\r\n format,\r\n maxDate,\r\n maxDetail,\r\n onChange,\r\n error,\r\n errorClassName,\r\n } = props;\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n {error ? {error} : null}\r\n
\r\n );\r\n}\r\n\r\nTwoDatePicker.propTypes = {\r\n label: PropTypes.string,\r\n views: PropTypes.array,\r\n fromValue: PropTypes.any,\r\n toValue: PropTypes.any,\r\n format: PropTypes.string,\r\n maxDate: PropTypes.string,\r\n maxDetail: PropTypes.string,\r\n};\r\nTwoDatePicker.defaultProps = {\r\n label: \"label\",\r\n views: [\"year\", \"month\"],\r\n fromValue: new Date(),\r\n toValue: new Date(),\r\n format: \"yyyy/MM/dd\",\r\n maxDate: \"9999\",\r\n maxDetail: \"month\",\r\n};\r\n\r\nOneDatePicker.propTypes = {\r\n label: PropTypes.string,\r\n views: PropTypes.array,\r\n value: PropTypes.any,\r\n format: PropTypes.string,\r\n maxDate: PropTypes.string,\r\n maxDetail: PropTypes.string,\r\n};\r\nOneDatePicker.defaultProps = {\r\n label: \"label\",\r\n views: [\"year\", \"month\", \"date\"],\r\n value: new Date(),\r\n format: \"yyyy/MM/dd\",\r\n maxDate: \"9999\",\r\n maxDetail: \"month\",\r\n};\r\n","import classnames from \"classnames\";\r\nimport FormGroup from \"../../components/form\";\r\nimport { ValidationComponent, canculateAge } from \"../../helpers\";\r\nimport React, { useState } from \"react\";\r\nimport { IoIosCheckmarkCircle } from \"react-icons/io\";\r\nimport ImageUploader from \"./imageUploader\";\r\nimport { OneDatePicker } from \"./pickers\";\r\n\r\nfunction PersonalInformation({ propsData, data, onChange, onError, errors }) {\r\n const title = \"personalInformation\";\r\n\r\n const [age, setAge] = useState(\"\");\r\n\r\n const { nationalityList } = propsData;\r\n const { RecruitmentPositionDetail } = propsData.jobDetail;\r\n const {\r\n honorificType,\r\n firstName,\r\n lastName,\r\n mobileNumber,\r\n email,\r\n nationality,\r\n dob,\r\n employeeId,\r\n } = data;\r\n\r\n const inputWidth = \"calc(100% - 225px)\";\r\n\r\n const honorificClasses = (type) => {\r\n return classnames({\r\n badges: true,\r\n \"badges-rounded\": true,\r\n \"left-icon\": honorificType == type,\r\n \"badges-primary\": honorificType == type,\r\n \"badges-default\": honorificType != type,\r\n });\r\n };\r\n\r\n const handleHonorificChange = (type) => {\r\n onChange(title, \"honorificType\", type);\r\n };\r\n\r\n const onTextChange = (name, value) => {\r\n //const { name, value } = e.target;\r\n onChange(title, name, value);\r\n };\r\n\r\n const onSelectChange = (name, value) => {\r\n onChange(title, name, value);\r\n };\r\n\r\n const handleDateChange = (name, value) => {\r\n if (name === \"dob\") {\r\n setAge(canculateAge(value));\r\n }\r\n onChange(title, name, value);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n

Position Information

\r\n
\r\n
\r\n
\r\n \r\n \r\n handleHonorificChange(\"mr\")}\r\n >\r\n {honorificType == \"mr\" ? : null}\r\n Mr\r\n
\r\n\r\n handleHonorificChange(\"miss\")}\r\n >\r\n {honorificType == \"miss\" ? : null}\r\n Miss\r\n
\r\n\r\n handleHonorificChange(\"mrs\")}\r\n >\r\n {honorificType == \"mrs\" ? : null}\r\n Mrs\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {RecruitmentPositionDetail &&\r\n RecruitmentPositionDetail.EnableEmployeeId && (\r\n \r\n )}\r\n {/* */}\r\n handleDateChange(\"dob\", date)}\r\n maxDate={new Date()}\r\n width={\"500px\"}\r\n error={errors.dob}\r\n errorClassName=\"error__message\"\r\n />\r\n {age}\r\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 PersonalInformation;\r\n","export function canculateAge(dob) {\r\n let ageString = \"\";\r\n if (dob) {\r\n const today = new Date();\r\n const birthDate = new Date(dob);\r\n\r\n let y = today.getFullYear() - birthDate.getFullYear();\r\n let m = today.getMonth() - birthDate.getMonth();\r\n let d = today.getDate() - birthDate.getDate();\r\n\r\n if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {\r\n y--;\r\n }\r\n\r\n if (d < 0) {\r\n m--;\r\n\r\n const lastDateOfLastMonth = new Date(\r\n today.getFullYear(),\r\n today.getMonth(),\r\n 0\r\n ).getDate();\r\n d = lastDateOfLastMonth + d;\r\n }\r\n\r\n if (birthDate > today) {\r\n ageString = \"Invalid date input!\";\r\n } else {\r\n ageString = y + \" years \" + m + \" months \" + d + \" days\";\r\n }\r\n }\r\n return ageString;\r\n}\r\n","import FormGroup from \"../../components/form\";\r\nimport React from \"react\";\r\n\r\nfunction Address({\r\n propsData,\r\n data,\r\n onChange,\r\n onChangeAndGet,\r\n onSameAsPermanent,\r\n errors,\r\n}) {\r\n const title = \"address\";\r\n\r\n const {\r\n permanentProvience,\r\n permanentDistrict,\r\n permanentLocalBody,\r\n permanentWard,\r\n permanentLocality,\r\n correspondingProvience,\r\n correspondingDistrict,\r\n correspondingLocalBody,\r\n correspondingWard,\r\n correspondingLocality,\r\n\r\n permanentDistrictList,\r\n permanentLocalBodyList,\r\n correspondingDistrictList,\r\n correspondingLocalBodyList,\r\n } = data;\r\n\r\n const { districtList, provinceList } = propsData;\r\n\r\n const inputWidth = \"calc(100% - 225px)\";\r\n\r\n const onTextChange = (name, value) => {\r\n //const { name, value } = e.target;\r\n onChange(title, name, value);\r\n };\r\n\r\n const onSelectChange = (name, value, targetName = \"\", targetList = \"\") => {\r\n onChange(title, name, value);\r\n const id = value && value.value;\r\n onChangeAndGet(title, name, { id }, targetName, targetList);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n

Address

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

Permanent Address

\r\n
\r\n \r\n onSelectChange(name, value, \"district\", \"permanentDistrictList\")\r\n }\r\n name=\"permanentProvience\"\r\n value={permanentProvience}\r\n options={provinceList}\r\n //width=\"300px\"\r\n label=\"Province\"\r\n error={errors && errors.permanentProvience}\r\n className=\"inline-form-group\"\r\n />\r\n \r\n onSelectChange(name, value, \"localBody\", \"permanentLocalBodyList\")\r\n }\r\n name=\"permanentDistrict\"\r\n value={permanentDistrict}\r\n options={permanentDistrictList && permanentDistrictList}\r\n //width=\"300px\"\r\n label=\"District\"\r\n error={errors && errors.permanentDistrict}\r\n className=\"inline-form-group\"\r\n />\r\n \r\n \r\n \r\n {/* \r\n\r\n */}\r\n
\r\n\r\n
\r\n
\r\n

Corresponding Address

\r\n

\r\n Same as permanent\r\n

\r\n
\r\n \r\n onSelectChange(\r\n name,\r\n value,\r\n \"district\",\r\n \"correspondingDistrictList\"\r\n )\r\n }\r\n name=\"correspondingProvience\"\r\n value={correspondingProvience}\r\n options={provinceList}\r\n //width=\"300px\"\r\n label=\"Province\"\r\n error={errors && errors.correspondingProvience}\r\n className=\"inline-form-group\"\r\n />\r\n \r\n onSelectChange(\r\n name,\r\n value,\r\n \"localBody\",\r\n \"correspondingLocalBodyList\"\r\n )\r\n }\r\n name=\"correspondingDistrict\"\r\n value={correspondingDistrict}\r\n options={correspondingDistrictList && correspondingDistrictList}\r\n //width=\"300px\"\r\n label=\"District\"\r\n error={errors && errors.correspondingDistrict}\r\n className=\"inline-form-group\"\r\n />\r\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 Address;\r\n","import classnames from \"classnames\";\r\nimport PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { AiFillCloseCircle } from \"react-icons/ai\";\r\nimport { IoAttach } from \"react-icons/io5\";\r\nimport { inputWidth } from \"./constants\";\r\nimport {\r\n DisplayClientSideMessage,\r\n DeleteFiles,\r\n} from \"../../store/actions/common\";\r\nimport {\r\n validFileExtension,\r\n validUploadDocExtension,\r\n} from \"../../constants/validExtensions\";\r\n\r\nfunction AddDocument(props) {\r\n const {\r\n text,\r\n extraClassName,\r\n selectedFile,\r\n selectedFiles,\r\n multiple,\r\n handleFileSelection,\r\n error,\r\n } = props;\r\n\r\n const fileClasses = (value) => {\r\n return classnames({\r\n badges: value,\r\n \"badges-rounded\": value,\r\n \"left-icon\": value,\r\n inputWidth: inputWidth,\r\n \"badges-default\": value,\r\n \"badges-file\": value,\r\n });\r\n };\r\n\r\n const fileSelectedHandler = (event) => {\r\n const validExtensions = [...validFileExtension, ...validUploadDocExtension];\r\n\r\n if (multiple) {\r\n let isAllFilesValid = true;\r\n let files = [];\r\n\r\n isAllFilesValid &&\r\n event.target.files.forEach((file) => {\r\n let fileExtension = null;\r\n if (file && file.name) {\r\n fileExtension = file.name.split(\".\")[1];\r\n } else if (file && file.UserFileName) {\r\n fileExtension = file.UserFileName.split(\".\")[1];\r\n }\r\n\r\n isAllFilesValid = validExtensions.find(\r\n (f) => f == (fileExtension && fileExtension.toLowerCase())\r\n )\r\n ? true\r\n : false;\r\n\r\n files.push(file);\r\n });\r\n\r\n if (isAllFilesValid) {\r\n if (selectedFiles && selectedFiles.length > 0) {\r\n files = [...selectedFiles, ...files];\r\n }\r\n handleFileSelection(files);\r\n } else {\r\n props.DisplayClientSideMessage(\r\n \"Valid extension are \" + validExtensions\r\n );\r\n }\r\n } else {\r\n const newFile = event.target.files[0];\r\n let fileExtension = newFile.name.split(\".\")[1];\r\n\r\n let isValid = validExtensions.find(\r\n (f) => f == (fileExtension && fileExtension.toLowerCase())\r\n )\r\n ? true\r\n : false;\r\n\r\n if (isValid) {\r\n handleFileSelection(newFile);\r\n } else {\r\n props.DisplayClientSideMessage(\r\n \"Valid extension are \" + validExtensions\r\n );\r\n }\r\n }\r\n };\r\n\r\n const fileRemoveHandler = async (file, index = 0) => {\r\n if (multiple) {\r\n let files = selectedFiles ? [...selectedFiles] : [];\r\n files.splice(index, 1);\r\n handleFileSelection(files);\r\n } else {\r\n handleFileSelection(null);\r\n }\r\n\r\n if (file && file.ServerFileName) {\r\n const params = { FileNames: [file.ServerFileName] };\r\n await props.DeleteFiles(params);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {(multiple || !selectedFile) && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {!multiple && selectedFile && (\r\n
\r\n \r\n \r\n \r\n \r\n fileRemoveHandler(selectedFile)}\r\n >\r\n \r\n \r\n
\r\n )}\r\n\r\n {multiple &&\r\n selectedFiles &&\r\n selectedFiles.map((file, index) => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n fileRemoveHandler(file, index)}\r\n >\r\n \r\n \r\n
\r\n );\r\n })}\r\n\r\n {error && (\r\n
{error}
\r\n )}\r\n
\r\n );\r\n}\r\n\r\nAddDocument.propTypes = {\r\n text: PropTypes.string,\r\n extraClassName: PropTypes.string,\r\n multiple: PropTypes.bool,\r\n};\r\nAddDocument.defaultProps = {\r\n text: \"Add document\",\r\n extraClassName: \"addDocument\",\r\n multiple: false,\r\n};\r\n\r\nconst mapStateToProps = (state) => ({});\r\nconst mapDispatchToProps = {\r\n DisplayClientSideMessage,\r\n DeleteFiles,\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AddDocument);\r\n","import React from \"react\";\r\n\r\nexport default function RequiredType(props: any) {\r\n const { isMandatory } = props;\r\n\r\n return (\r\n <>\r\n {isMandatory ? (\r\n \r\n Mandatory\r\n \r\n ) : (\r\n \r\n Optional\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { IoIosCheckmarkCircle } from \"react-icons/io\";\r\nimport classnames from \"classnames\";\r\nimport AddDocument from \"./addDocument\";\r\nimport { ValidationComponent } from \"../../helpers\";\r\nimport { inputWidth } from \"./constants\";\r\nimport RequiredType from \"../common/requiredType\";\r\n\r\nfunction IdentificationInformation({\r\n data,\r\n fileCollection,\r\n onChange,\r\n errors,\r\n isMandatory,\r\n onMultipleFileSelection,\r\n}) {\r\n const title = \"identificationInformation\";\r\n const {\r\n documentTypeId,\r\n havePassport,\r\n drivingLicenseTypeId,\r\n identificationFiles,\r\n } = data;\r\n\r\n const [enablePassportSelection, setEnablePassportSelection] = useState(false);\r\n\r\n const inputclass = (error) => {\r\n return classnames({\r\n \"form-group\": true,\r\n \"inline-form-group\": true,\r\n inputWidth: inputWidth,\r\n error: error,\r\n });\r\n };\r\n\r\n const documentTypeClasses = (typeId) => {\r\n return classnames({\r\n badges: true,\r\n \"badges-rounded\": true,\r\n \"left-icon\": documentTypeId == typeId,\r\n \"badges-primary\": documentTypeId == typeId,\r\n \"badges-default\": documentTypeId != typeId,\r\n });\r\n };\r\n\r\n const passportClasses = (status) => {\r\n return classnames({\r\n badges: true,\r\n \"badges-rounded\": true,\r\n \"left-icon\": havePassport == status,\r\n \"badges-primary\": havePassport == status,\r\n \"badges-default\": havePassport != status,\r\n disabled: !enablePassportSelection,\r\n });\r\n };\r\n\r\n const licenseClasses = (typeId) => {\r\n return classnames({\r\n badges: true,\r\n \"badges-rounded\": true,\r\n \"left-icon\": drivingLicenseTypeId == typeId,\r\n \"badges-primary\": drivingLicenseTypeId == typeId,\r\n \"badges-default\": drivingLicenseTypeId != typeId,\r\n });\r\n };\r\n\r\n const handleClick = (name, typeId) => {\r\n if (name == \"documentTypeId\" && typeId == 2) {\r\n onChange(title, \"havePassport\", 1);\r\n setEnablePassportSelection(false);\r\n } else if (name == \"documentTypeId\" && typeId == 1) {\r\n setEnablePassportSelection(true);\r\n }\r\n\r\n onChange(title, name, typeId);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n

Identification Information

\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n handleClick(\"documentTypeId\", 1)}\r\n >\r\n {documentTypeId == 1 ? : null}\r\n Citizenship\r\n
\r\n\r\n handleClick(\"documentTypeId\", 2)}\r\n >\r\n {documentTypeId == 2 ? : null}\r\n Passport\r\n
\r\n \r\n\r\n
\r\n \r\n onMultipleFileSelection(title, \"identificationFiles\", files)\r\n }\r\n error={errors && errors.identificationFiles}\r\n />\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n enablePassportSelection && handleClick(\"havePassport\", 1)\r\n }\r\n >\r\n {havePassport == 1 ? : null}I have\r\n passport\r\n
\r\n\r\n \r\n enablePassportSelection && handleClick(\"havePassport\", 2)\r\n }\r\n >\r\n {havePassport == 2 ? : null}I do not have\r\n passport\r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n handleClick(\"drivingLicenseTypeId\", 1)}\r\n >\r\n {drivingLicenseTypeId == 1 ? : null}\r\n None\r\n
\r\n\r\n handleClick(\"drivingLicenseTypeId\", 2)}\r\n >\r\n {drivingLicenseTypeId == 2 ? : null}\r\n Two Wheeler\r\n \r\n\r\n handleClick(\"drivingLicenseTypeId\", 3)}\r\n >\r\n {drivingLicenseTypeId == 3 ? : null}\r\n Four Wheeler\r\n \r\n\r\n handleClick(\"drivingLicenseTypeId\", 4)}\r\n >\r\n {drivingLicenseTypeId == 4 ? : null}\r\n {\"Both Two & Four Wheeler\"}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default IdentificationInformation;\r\n","import classnames from \"classnames\";\r\nimport React from \"react\";\r\nimport { IoIosCheckmarkCircle } from \"react-icons/io\";\r\nimport FormGroup from \"../../components/form\";\r\nimport { ValidationComponent } from \"../../helpers\";\r\nimport RequiredType from \"../common/requiredType\";\r\n\r\nfunction FamilyInformation({ data, onChange, errors, isMandatory }) {\r\n const title = \"familyInformation\";\r\n const {\r\n fatherName,\r\n motherName,\r\n grandFatherName,\r\n maritalStatusId,\r\n spouseName,\r\n fatherInLawName,\r\n } = data;\r\n\r\n const maritalClasses = (typeId) => {\r\n return classnames({\r\n badges: true,\r\n \"badges-rounded\": true,\r\n \"left-icon\": maritalStatusId == typeId,\r\n \"badges-primary\": maritalStatusId == typeId,\r\n \"badges-default\": maritalStatusId != typeId,\r\n });\r\n };\r\n\r\n const handleMaritalChange = (name, typeId) => {\r\n onChange(title, name, typeId);\r\n };\r\n\r\n const onTextChange = (name, value) => {\r\n //const { name, value } = e.target;\r\n onChange(title, name, value);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n

Family Information

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n handleMaritalChange(\"maritalStatusId\", 1)}\r\n >\r\n {maritalStatusId == 1 ? : null}\r\n Single\r\n
\r\n\r\n handleMaritalChange(\"maritalStatusId\", 2)}\r\n >\r\n {maritalStatusId == 2 ? : null}\r\n Married\r\n
\r\n \r\n\r\n {maritalStatusId == 2 && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default FamilyInformation;\r\n","export const jobApply_components = {\r\n Personal_Information: 1,\r\n Address: 2,\r\n Family_Information: 3,\r\n Identification_Information: 4,\r\n Education: 5,\r\n Training: 11,\r\n Work_Experience: 6,\r\n References: 7,\r\n Cover_Letter: 8,\r\n Resume: 9,\r\n Payment_Voucher: 10,\r\n};\r\n\r\nexport const Mandatory = 1;\r\nexport const Optional = 2;\r\nexport const Off = 3;\r\n","import {\r\n isEmpty,\r\n EmailRegexValidaion,\r\n PhoneNumberRegexValidation,\r\n} from \"../../helpers\";\r\nimport { Mandatory } from \"./enum\";\r\n\r\nexport const validateJobApply = async (data) => {\r\n let errors = {};\r\n const personalInformationValidateField = [\r\n \"cropedPhoto\",\r\n \"honorificType\",\r\n \"firstName\",\r\n \"lastName\",\r\n \"mobileNumber\",\r\n \"email\",\r\n \"nationality\",\r\n \"dob\",\r\n \"employeeId\",\r\n ];\r\n const addressValidateField = [\r\n \"permanentProvience\",\r\n \"permanentDistrict\",\r\n \"permanentLocalBody\",\r\n \"permanentWard\",\r\n \"permanentLocality\",\r\n \"correspondingProvience\",\r\n \"correspondingDistrict\",\r\n \"correspondingLocalBody\",\r\n \"correspondingWard\",\r\n \"correspondingLocality\",\r\n ];\r\n\r\n const identificationInformationValidateField = [\r\n \"documentTypeId\",\r\n \"havePassport\",\r\n \"drivingLicenseTypeId\",\r\n \"identificationFiles\",\r\n ];\r\n\r\n const familyInformationValidateField = [\r\n \"fatherName\",\r\n \"motherName\",\r\n \"grandFatherName\",\r\n \"maritalStatusId\",\r\n ];\r\n\r\n const blocks = [\r\n \"educations\",\r\n \"trainings\",\r\n \"workAndExperiences\",\r\n \"references\",\r\n ];\r\n\r\n Promise.all(\r\n personalInformationValidateField.map((x) => {\r\n if (!data.personalInformation[x]) {\r\n if (x === \"employeeId\") {\r\n if (data.blockRequiredType[\"enableEmployee\"]) {\r\n errors[x] = \"required\";\r\n }\r\n } else {\r\n errors[x] = \"required\";\r\n }\r\n } else if (x == \"email\") {\r\n let isEmailValid = EmailRegexValidaion(data.personalInformation.email);\r\n if (!isEmailValid) {\r\n errors[x] = \"Invalid\";\r\n }\r\n }\r\n })\r\n );\r\n\r\n Promise.all(\r\n addressValidateField.map((x) => {\r\n if (!data.address[x]) {\r\n errors[x] = \"required\";\r\n }\r\n // else if(x==\"permanentWard\"){\r\n // if(data.address[x])\r\n // errors[x]\r\n // }\r\n })\r\n );\r\n\r\n if (data.blockRequiredType[\"identificationInformation\"] == Mandatory) {\r\n Promise.all(\r\n identificationInformationValidateField.map((x) => {\r\n if (!data.identificationInformation[x]) {\r\n errors[x] = \"required\";\r\n }\r\n })\r\n );\r\n }\r\n\r\n if (data.blockRequiredType[\"familyInformation\"] == Mandatory) {\r\n if (data.familyInformation[\"maritalStatusId\"] == 2) {\r\n familyInformationValidateField.push(\"spouseName\");\r\n familyInformationValidateField.push(\"fatherInLawName\");\r\n }\r\n\r\n Promise.all(\r\n familyInformationValidateField.map((x) => {\r\n if (!data.familyInformation[x]) {\r\n errors[x] = \"required\";\r\n }\r\n })\r\n );\r\n }\r\n\r\n if (\r\n data.blockRequiredType[\"coverLetterFile\"] == Mandatory &&\r\n !data.fileCollection.coverLetterFile\r\n ) {\r\n errors[\"coverLetterFile\"] = \"required\";\r\n }\r\n\r\n if (\r\n data.blockRequiredType[\"cvFile\"] == Mandatory &&\r\n !data.fileCollection.cvFile\r\n ) {\r\n errors[\"cvFile\"] = \"required\";\r\n }\r\n\r\n // if (\r\n // (data.blockRequiredType[\"identificationInformation\"] == Mandatory &&\r\n // !data.fileCollection.identificationFiles) ||\r\n // data.fileCollection.identificationFiles.length <= 0\r\n // ) {\r\n // errors[\"identificationFiles\"] = \"required\";\r\n // }\r\n\r\n Promise.all(\r\n blocks.map((x) => {\r\n if (\r\n data.blockRequiredType[x] == Mandatory &&\r\n (isEmpty(data.blockData[x]) || data.blockData[x].length <= 0)\r\n ) {\r\n errors[x] = \"required\";\r\n }\r\n })\r\n );\r\n return errors;\r\n};\r\n\r\nexport const validateEducation = async (data) => {\r\n let errors = {};\r\n const fields = [\r\n \"degreeName\",\r\n \"qualificationLevel\",\r\n \"institution\",\r\n \"country\",\r\n \"university\",\r\n \"year\",\r\n \"grade\",\r\n \"majorSubject\",\r\n \"files\",\r\n ];\r\n\r\n Promise.all(\r\n fields.map((x) => {\r\n if (!data[x]) {\r\n errors[x] = \"required\";\r\n }\r\n })\r\n );\r\n\r\n return errors;\r\n};\r\n\r\nexport const validateTraining = async (data) => {\r\n let errors = {};\r\n const fields = [\"trainingName\", \"institution\", \"country\", \"year\", \"file\"];\r\n\r\n Promise.all(\r\n fields.map((x) => {\r\n if (!data[x]) {\r\n errors[x] = \"required\";\r\n }\r\n })\r\n );\r\n\r\n return errors;\r\n};\r\n\r\nexport const validateWorkAndExperience = async (data) => {\r\n let errors = {};\r\n const fields = [\r\n \"organization\",\r\n \"country\",\r\n \"place\",\r\n \"fromYear\",\r\n \"toYear\",\r\n \"position\",\r\n \"responsibilities\",\r\n ];\r\n\r\n Promise.all(\r\n fields.map((x) => {\r\n if (!data[x]) {\r\n errors[x] = \"required\";\r\n }\r\n })\r\n );\r\n return errors;\r\n};\r\n\r\nexport const validateReferences = async (data) => {\r\n let errors = {};\r\n const fields = [\"name\", \"organization\", \"position\", \"phone\", \"email\"];\r\n\r\n Promise.all(\r\n fields.map((x) => {\r\n if (!data[x]) {\r\n errors[x] = \"required\";\r\n } else if (x == \"email\") {\r\n let isEmailValid = EmailRegexValidaion(data.email);\r\n if (!isEmailValid) {\r\n errors[x] = \"Invalid\";\r\n }\r\n }\r\n // else if (x == \"phone\") {\r\n // let isPhoneValid = PhoneNumberRegexValidation(data.phone);\r\n\r\n // if (!isPhoneValid) {\r\n // errors[x] = \"Invalid\";\r\n // }\r\n // }\r\n })\r\n );\r\n\r\n return errors;\r\n};\r\n","import classnames from \"classnames\";\r\nimport FormGroup from \"../../components/form\";\r\nimport { isEmpty } from \"../../helpers\";\r\nimport React, { useState } from \"react\";\r\nimport { FaTrash } from \"react-icons/fa\";\r\nimport { IoAttach } from \"react-icons/io5\";\r\nimport { IoIosCheckmarkCircle } from \"react-icons/io\";\r\nimport { MdEdit } from \"react-icons/md\";\r\nimport AddDocument from \"./addDocument\";\r\nimport { formatedMonthYear, inputWidth } from \"./constants\";\r\nimport { OneDatePicker } from \"./pickers\";\r\nimport { validateEducation } from \"./validation\";\r\nimport RequiredType from \"../common/requiredType\";\r\n\r\nfunction Education({\r\n propsData,\r\n data,\r\n isMandatory,\r\n onChange,\r\n onMultipleFileSelectionForList,\r\n onChangeList,\r\n onNewList,\r\n onConfirmList,\r\n onRemoveList,\r\n onEditList,\r\n onDeleteList,\r\n blockError,\r\n}) {\r\n const listName = \"educations\";\r\n const title = \"education\";\r\n\r\n const [errors, setErrors] = useState(null);\r\n const [isEdit, setIsEdit] = useState(false);\r\n\r\n const { countryList, educationLevelList } = propsData;\r\n\r\n let selectedEducation = data.find((f) => f.isSelected);\r\n let unselectedEducation = data.filter((f) => !f.isSelected);\r\n\r\n const inputclass = (error) => {\r\n return classnames({\r\n \"form-group\": true,\r\n \"inline-form-group\": true,\r\n inputWidth: inputWidth,\r\n error: error,\r\n });\r\n };\r\n\r\n const handleGradeTypeChange = (typeId) => {\r\n onChangeList(listName, selectedEducation.key, title, \"gradeTypeId\", typeId);\r\n };\r\n\r\n const handleFileSelection = async (files) => {\r\n await onMultipleFileSelectionForList(\r\n listName,\r\n selectedEducation.key,\r\n title,\r\n files\r\n );\r\n if (!isEmpty(errors)) {\r\n checkValidation();\r\n }\r\n };\r\n\r\n const onTextChange = async (name, value) => {\r\n //const { name, value } = e.target;\r\n if (name === \"grade\" && value) {\r\n let { gradeTypeId } = selectedEducation.education;\r\n\r\n let minValue = 0;\r\n if (parseFloat(value) < parseFloat(minValue)) {\r\n value = minValue;\r\n }\r\n\r\n let maxValue = gradeTypeId == 1 ? 100 : gradeTypeId == 2 ? 4 : \"\";\r\n if (maxValue && parseFloat(value) > parseFloat(maxValue)) {\r\n value = maxValue;\r\n }\r\n }\r\n\r\n onChangeList(listName, selectedEducation.key, title, name, value);\r\n if (!isEmpty(errors)) {\r\n checkValidation();\r\n }\r\n };\r\n\r\n const onSelectChange = (name, value) => {\r\n onChangeList(listName, selectedEducation.key, title, name, value);\r\n if (!isEmpty(errors)) {\r\n checkValidation();\r\n }\r\n };\r\n\r\n const handleDateChange = (name, value) => {\r\n onChangeList(listName, selectedEducation.key, title, name, value);\r\n if (!isEmpty(errors)) {\r\n checkValidation();\r\n }\r\n };\r\n\r\n const handleNew = () => {\r\n const newKey = data.length + 1;\r\n onNewList(listName, title, newKey);\r\n setErrors(null);\r\n };\r\n\r\n const handleConfirmList = async () => {\r\n const isValidate = await checkValidation();\r\n // if (!isMandatory || isValidate) {\r\n if (isValidate) {\r\n onConfirmList(listName, selectedEducation.key);\r\n }\r\n };\r\n\r\n const checkValidation = async () => {\r\n // if (isMandatory) {\r\n let returnedData = await validateEducation(selectedEducation.education);\r\n\r\n setErrors(returnedData);\r\n if (isEmpty(returnedData)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n // }\r\n };\r\n\r\n const renderCreateForm = () => {\r\n if (!isEmpty(selectedEducation)) {\r\n let {\r\n degreeName,\r\n qualificationLevel,\r\n institution,\r\n country,\r\n university,\r\n year,\r\n gradeTypeId,\r\n grade,\r\n majorSubject,\r\n files,\r\n } = selectedEducation.education;\r\n\r\n const gradeClasses = (typeId) => {\r\n return classnames({\r\n badges: true,\r\n \"badges-rounded\": true,\r\n \"left-icon\": gradeTypeId == typeId,\r\n \"badges-primary\": gradeTypeId == typeId,\r\n \"badges-default\": gradeTypeId != typeId,\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n handleDateChange(\"year\", date)}\r\n error={errors && errors.year}\r\n errorClassName=\"error__message\"\r\n />\r\n\r\n
\r\n \r\n
\r\n
\r\n handleGradeTypeChange(1)}\r\n >\r\n {gradeTypeId == 1 ? : null}\r\n {\"%\"}\r\n
\r\n\r\n handleGradeTypeChange(2)}\r\n >\r\n {gradeTypeId == 2 ? : null}\r\n {\"GPA\"}\r\n
\r\n
\r\n\r\n onTextChange(\"grade\", e.target.value)}\r\n />\r\n
\r\n\r\n
{errors && errors.grade}
\r\n
\r\n \r\n \r\n\r\n
\r\n {!isEmpty(data) && (\r\n \r\n )}\r\n
\r\n \r\n
\r\n {\r\n setIsEdit(false);\r\n isEdit\r\n ? handleConfirmList()\r\n : onRemoveList(listName, selectedEducation.key);\r\n }}\r\n >\r\n Cancel\r\n \r\n {\r\n setIsEdit(false);\r\n handleConfirmList();\r\n }}\r\n >\r\n Confirm\r\n \r\n
\r\n \r\n );\r\n }\r\n };\r\n\r\n let blockRequiredText = blockError;\r\n if (data && data.length > 0) {\r\n blockRequiredText = \"\";\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Education

\r\n\r\n {isEmpty(selectedEducation) ? (\r\n
\r\n handleNew()}\r\n >\r\n Add\r\n \r\n
\r\n ) : null}\r\n\r\n
\r\n
{blockRequiredText}
\r\n
\r\n
\r\n \r\n
\r\n\r\n {renderCreateForm()}\r\n\r\n {unselectedEducation\r\n ? unselectedEducation.map((data, index) => {\r\n const education = data.education;\r\n\r\n return (\r\n
\r\n
\r\n

{education.degreeName}

\r\n

{education.institution}

\r\n

{education.university}

\r\n\r\n {education &&\r\n education.files &&\r\n education.files.map((file, i) => {\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 {education.qualificationLevel &&\r\n education.qualificationLevel.label + \" Degree\"}\r\n

\r\n\r\n \r\n \r\n {education.year ? formatedMonthYear(education.year) : \"\"}\r\n \r\n\r\n \r\n {education.grade ? \", \" + education.grade : \"\"}\r\n \r\n\r\n \r\n {education.grade &&\r\n education.gradeTypeId &&\r\n education.gradeTypeId == 1\r\n ? \" %\"\r\n : education.grade &&\r\n education.gradeTypeId &&\r\n education.gradeTypeId == 2\r\n ? \" GPA\"\r\n : \" \"}\r\n \r\n \r\n\r\n

{education.majorSubject}

\r\n
\r\n
\r\n {\r\n setIsEdit(true);\r\n onEditList(listName, data.key);\r\n }}\r\n className=\"change-btn btn-edit\"\r\n >\r\n \r\n \r\n onDeleteList(listName, data.key)}\r\n className=\"change-btn btn-delete\"\r\n >\r\n \r\n \r\n
\r\n
\r\n );\r\n })\r\n : null}\r\n
\r\n );\r\n}\r\n\r\nexport default Education;\r\n","import classnames from \"classnames\";\r\nimport React, { useState } from \"react\";\r\nimport { FaTrash } from \"react-icons/fa\";\r\nimport { IoAttach } from \"react-icons/io5\";\r\nimport { MdEdit } from \"react-icons/md\";\r\nimport AddDocument from \"./addDocument\";\r\nimport { formatedMonthYear, inputWidth } from \"./constants\";\r\nimport { OneDatePicker } from \"./pickers\";\r\nimport { validateTraining } from \"./validation\";\r\nimport FormGroup from \"../../components/form\";\r\nimport { isEmpty } from \"../../helpers\";\r\nimport RequiredType from \"../common/requiredType\";\r\n\r\nfunction Trainings({\r\n propsData,\r\n data,\r\n isMandatory,\r\n onChange,\r\n onFileSelectionList,\r\n onChangeList,\r\n onNewList,\r\n onConfirmList,\r\n onRemoveList,\r\n onEditList,\r\n onDeleteList,\r\n blockError,\r\n}) {\r\n const listName = \"trainings\";\r\n const title = \"training\";\r\n\r\n const [errors, setErrors] = useState(null);\r\n const [isEdit, setIsEdit] = useState(false);\r\n\r\n const { countryList } = propsData;\r\n // const { trainingFile } = fileCollection;\r\n\r\n let selectedTraining = data.find((f) => f.isSelected);\r\n let unselectedTraining = data.filter((f) => !f.isSelected);\r\n\r\n const inputclass = (error) => {\r\n return classnames({\r\n \"form-group\": true,\r\n \"inline-form-group\": true,\r\n inputWidth: inputWidth,\r\n error: error,\r\n });\r\n };\r\n\r\n const handleFileSelection = async (file) => {\r\n await onFileSelectionList(listName, selectedTraining.key, title, file);\r\n if (!isEmpty(errors)) {\r\n checkValidation();\r\n }\r\n };\r\n\r\n const onTextChange = (name, value) => {\r\n //const { name, value } = e.target;\r\n onChangeList(listName, selectedTraining.key, title, name, value);\r\n if (!isEmpty(errors)) {\r\n checkValidation();\r\n }\r\n };\r\n\r\n const onSelectChange = (name, value) => {\r\n onChangeList(listName, selectedTraining.key, title, name, value);\r\n if (!isEmpty(errors)) {\r\n checkValidation();\r\n }\r\n };\r\n\r\n const handleDateChange = (name, value) => {\r\n onChangeList(listName, selectedTraining.key, title, name, value);\r\n if (!isEmpty(errors)) {\r\n checkValidation();\r\n }\r\n };\r\n\r\n const handleNew = () => {\r\n const newKey = data.length + 1;\r\n onNewList(listName, title, newKey);\r\n setErrors(null);\r\n };\r\n\r\n const handleConfirmList = async () => {\r\n const isValidate = await checkValidation();\r\n // if (!isMandatory || isValidate) {\r\n if (isValidate) {\r\n onConfirmList(listName, selectedTraining.key);\r\n }\r\n };\r\n\r\n const checkValidation = async () => {\r\n // if (isMandatory) {\r\n let returnedData = await validateTraining(selectedTraining.training);\r\n\r\n setErrors(returnedData);\r\n if (isEmpty(returnedData)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n // }\r\n };\r\n\r\n const renderCreateForm = () => {\r\n if (!isEmpty(selectedTraining)) {\r\n const {\r\n trainingName,\r\n institution,\r\n country,\r\n year,\r\n file,\r\n } = selectedTraining.training;\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n handleDateChange(\"year\", date)}\r\n error={errors && errors.year}\r\n errorClassName=\"error__message\"\r\n />\r\n
\r\n\r\n
\r\n {!isEmpty(data) && (\r\n \r\n // onChange(\"fileCollection\", \"trainingFile\", file)\r\n // }\r\n handleFileSelection={handleFileSelection}\r\n error={errors && errors.file}\r\n />\r\n )}\r\n
\r\n
\r\n
\r\n {\r\n setIsEdit(false);\r\n isEdit\r\n ? handleConfirmList()\r\n : onRemoveList(listName, selectedTraining.key);\r\n }}\r\n >\r\n Cancel\r\n \r\n {\r\n setIsEdit(true);\r\n handleConfirmList();\r\n }}\r\n >\r\n Confirm\r\n \r\n
\r\n \r\n );\r\n }\r\n };\r\n\r\n let blockRequiredText = blockError;\r\n if (data && data.length > 0) {\r\n blockRequiredText = \"\";\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Trainings

\r\n {isEmpty(selectedTraining) ? (\r\n
\r\n handleNew()}\r\n >\r\n Add\r\n \r\n
\r\n ) : null}\r\n
\r\n
{blockRequiredText}
\r\n
\r\n
\r\n \r\n
\r\n\r\n {renderCreateForm()}\r\n\r\n {unselectedTraining &&\r\n unselectedTraining.map((data, index) => {\r\n const training = data.training;\r\n\r\n return (\r\n
\r\n
\r\n

{training.trainingName}

\r\n

{training.institution}

\r\n\r\n {training.file && (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n
\r\n

\r\n {training.year && formatedMonthYear(training.year)}\r\n

\r\n
\r\n\r\n
\r\n {\r\n setIsEdit(true);\r\n onEditList(listName, data.key);\r\n }}\r\n className=\"change-btn btn-edit\"\r\n >\r\n \r\n \r\n onDeleteList(listName, data.key)}\r\n className=\"change-btn btn-delete\"\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 Trainings;\r\n","import classnames from \"classnames\";\r\nimport FormGroup from \"../../components/form\";\r\nimport { isEmpty } from \"../../helpers\";\r\nimport React, { useState } from \"react\";\r\nimport { FaTrash } from \"react-icons/fa\";\r\nimport { MdEdit } from \"react-icons/md\";\r\nimport { formatedMonthYear, inputWidth } from \"./constants\";\r\nimport { yearDifference } from \"./helpers\";\r\nimport { TwoDatePicker } from \"./pickers\";\r\nimport { validateWorkAndExperience } from \"./validation\";\r\nimport RequiredType from \"../common/requiredType\";\r\n\r\nfunction WorkAndExperience({\r\n propsData,\r\n data,\r\n isMandatory,\r\n onChangeList,\r\n onNewList,\r\n onConfirmList,\r\n onRemoveList,\r\n onEditList,\r\n onDeleteList,\r\n blockError,\r\n}) {\r\n const listName = \"workAndExperiences\";\r\n const title = \"workAndExperience\";\r\n\r\n const { countryList } = propsData;\r\n\r\n const [errors, setErrors] = useState(null);\r\n const [isEdit, setIsEdit] = useState(false);\r\n\r\n let selectedWorkAndExperience = data.find((f) => f.isSelected);\r\n let unSelectedWorkAndExperience = data.filter((f) => !f.isSelected);\r\n\r\n const inputclass = (error) => {\r\n return classnames({\r\n \"form-group\": true,\r\n \"inline-form-group\": true,\r\n inputWidth: inputWidth,\r\n error: error,\r\n });\r\n };\r\n\r\n const onTextChange = (name, value) => {\r\n //const { name, value } = e.target;\r\n onChangeList(listName, selectedWorkAndExperience.key, title, name, value);\r\n if (!isEmpty(errors)) {\r\n checkValidation();\r\n }\r\n };\r\n\r\n const onSelectChange = (name, value) => {\r\n onChangeList(listName, selectedWorkAndExperience.key, title, name, value);\r\n if (!isEmpty(errors)) {\r\n checkValidation();\r\n }\r\n };\r\n\r\n const handleDateChange = (name, value) => {\r\n onChangeList(listName, selectedWorkAndExperience.key, title, name, value);\r\n if (!isEmpty(errors)) {\r\n checkValidation();\r\n }\r\n };\r\n\r\n const handleNew = () => {\r\n const newKey = data.length + 1;\r\n onNewList(listName, title, newKey);\r\n setErrors(null);\r\n };\r\n\r\n const handleConfirmList = async () => {\r\n const isValidate = await checkValidation();\r\n // if (!isMandatory || isValidate) {\r\n if (isValidate) {\r\n onConfirmList(listName, selectedWorkAndExperience.key);\r\n }\r\n };\r\n\r\n const checkValidation = async () => {\r\n // if (isMandatory) {\r\n let returnedData = await validateWorkAndExperience(\r\n selectedWorkAndExperience.workAndExperience\r\n );\r\n setErrors(returnedData);\r\n if (isEmpty(returnedData)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n // }\r\n };\r\n\r\n const renderCreateForm = () => {\r\n if (!isEmpty(selectedWorkAndExperience)) {\r\n const {\r\n organization,\r\n country,\r\n place,\r\n fromYear,\r\n toYear,\r\n position,\r\n responsibilities,\r\n } = selectedWorkAndExperience.workAndExperience;\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n handleDateChange(\"fromYear\", date)}\r\n onToChange={(date) => handleDateChange(\"toYear\", date)}\r\n error={\r\n errors && (errors.fromYear ? errors.fromYear : errors.toYear)\r\n }\r\n errorClassName=\"error__message\"\r\n />\r\n \r\n \r\n
\r\n
\r\n
\r\n {\r\n setIsEdit(false);\r\n isEdit\r\n ? handleConfirmList()\r\n : onRemoveList(listName, selectedWorkAndExperience.key);\r\n }}\r\n >\r\n Cancel\r\n \r\n {\r\n setIsEdit(false);\r\n handleConfirmList();\r\n }}\r\n >\r\n Confirm\r\n \r\n
\r\n \r\n );\r\n }\r\n };\r\n\r\n let blockRequiredText = blockError;\r\n if (data && data.length > 0) {\r\n blockRequiredText = \"\";\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Work Experience

\r\n {isEmpty(selectedWorkAndExperience) ? (\r\n
\r\n handleNew()}\r\n >\r\n Add\r\n \r\n
\r\n ) : null}\r\n
\r\n
{blockRequiredText}
\r\n
\r\n
\r\n \r\n
\r\n\r\n {renderCreateForm()}\r\n\r\n {unSelectedWorkAndExperience &&\r\n unSelectedWorkAndExperience.map((data, index) => {\r\n const workAndExperience = data.workAndExperience;\r\n return (\r\n
\r\n
\r\n

\r\n {workAndExperience.organization}\r\n

\r\n

\r\n {workAndExperience.position}\r\n

\r\n

\r\n {workAndExperience.fromYear\r\n ? formatedMonthYear(workAndExperience.fromYear)\r\n : \"\" + \" - \" + workAndExperience.toYear\r\n ? formatedMonthYear(workAndExperience.toYear)\r\n : \"\"}\r\n

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

{workAndExperience.place}

\r\n

\r\n {yearDifference(\r\n workAndExperience.fromYear,\r\n workAndExperience.toYear\r\n )}\r\n

\r\n
\r\n\r\n
\r\n {\r\n setIsEdit(true);\r\n onEditList(listName, data.key);\r\n }}\r\n className=\"change-btn btn-edit\"\r\n >\r\n \r\n \r\n onDeleteList(listName, data.key)}\r\n className=\"change-btn btn-delete\"\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 WorkAndExperience;\r\n","import { isEmpty } from \"../../helpers\";\r\n\r\nexport function yearDifference(startDate, endDate) {\r\n let result = null;\r\n if (!isEmpty(startDate) && !isEmpty(endDate)) {\r\n let diff = (startDate.getTime() - endDate.getTime()) / 1000;\r\n diff /= 60 * 60 * 24;\r\n result = Math.abs(Math.round(diff / 365.25));\r\n }\r\n return result;\r\n}\r\n\r\nexport const handleMergedData = (data1, data2) => {\r\n let result = \"\";\r\n if (data1 && data2) {\r\n result = data1 + \", \" + data2;\r\n } else if (data1 && !data2) {\r\n result = data1;\r\n } else if (data2 && !data1) {\r\n result = data2;\r\n }\r\n return result;\r\n};\r\n","import classnames from \"classnames\";\r\nimport FormGroup from \"../../components/form\";\r\nimport { isEmpty } from \"../../helpers\";\r\nimport React, { useState } from \"react\";\r\nimport { FaTrash } from \"react-icons/fa\";\r\nimport { MdEdit } from \"react-icons/md\";\r\nimport { inputWidth } from \"./constants\";\r\nimport { validateReferences } from \"./validation\";\r\nimport RequiredType from \"../common/requiredType\";\r\n\r\nfunction References({\r\n data,\r\n isMandatory,\r\n onChangeList,\r\n onNewList,\r\n onConfirmList,\r\n onRemoveList,\r\n onEditList,\r\n onDeleteList,\r\n blockError,\r\n}) {\r\n const listName = \"references\";\r\n const title = \"reference\";\r\n\r\n const [errors, setErrors] = useState(null);\r\n const [isEdit, setIsEdit] = useState(false);\r\n\r\n let selectedReference = data.find((f) => f.isSelected);\r\n let unselectedReference = data.filter((f) => !f.isSelected);\r\n\r\n const inputclass = (error) => {\r\n return classnames({\r\n \"form-group\": true,\r\n \"inline-form-group\": true,\r\n inputWidth: inputWidth,\r\n error: error,\r\n });\r\n };\r\n\r\n const onTextChange = (name, value) => {\r\n //const { name, value } = e.target;\r\n onChangeList(listName, selectedReference.key, title, name, value);\r\n if (!isEmpty(errors)) {\r\n checkValidation();\r\n }\r\n };\r\n\r\n const handleNew = () => {\r\n const newKey = data.length + 1;\r\n onNewList(listName, title, newKey);\r\n setErrors(null);\r\n };\r\n\r\n const handleConfirmList = async () => {\r\n const isValidate = await checkValidation();\r\n // if (!isMandatory || isValidate) {\r\n if (isValidate) {\r\n onConfirmList(listName, selectedReference.key);\r\n }\r\n };\r\n\r\n const checkValidation = async () => {\r\n // if (isMandatory) {\r\n let returnedData = await validateReferences(selectedReference.reference);\r\n setErrors(returnedData);\r\n if (isEmpty(returnedData)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n // }\r\n };\r\n\r\n const renderCreateForm = () => {\r\n if (!isEmpty(selectedReference)) {\r\n const {\r\n name,\r\n organization,\r\n position,\r\n phone,\r\n email,\r\n } = selectedReference.reference;\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 setIsEdit(false);\r\n isEdit\r\n ? handleConfirmList()\r\n : onRemoveList(listName, selectedReference.key);\r\n }}\r\n >\r\n Cancel\r\n \r\n {\r\n setIsEdit(false);\r\n handleConfirmList();\r\n }}\r\n >\r\n Confirm\r\n \r\n
\r\n \r\n );\r\n }\r\n };\r\n\r\n let blockRequiredText = blockError;\r\n if (data && data.length > 0) {\r\n blockRequiredText = \"\";\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

References

\r\n {isEmpty(selectedReference) ? (\r\n
\r\n handleNew()}\r\n >\r\n Add\r\n \r\n
\r\n ) : null}\r\n
\r\n
{blockRequiredText}
\r\n
\r\n
\r\n \r\n
\r\n\r\n {renderCreateForm()}\r\n\r\n {unselectedReference &&\r\n unselectedReference.map((data, index) => {\r\n const reference = data.reference;\r\n return (\r\n
\r\n
\r\n

{reference.name}

\r\n

{reference.position}

\r\n

{reference.organization}

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

{reference.phone}

\r\n

{reference.email}

\r\n
\r\n\r\n
\r\n {\r\n setIsEdit(true);\r\n onEditList(listName, data.key);\r\n }}\r\n className=\"change-btn btn-edit\"\r\n >\r\n \r\n \r\n onDeleteList(listName, data.key)}\r\n className=\"change-btn btn-delete\"\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 References;\r\n","import React from \"react\";\r\nimport RequiredType from \"../common/requiredType\";\r\nimport AddDocument from \"./addDocument\";\r\nimport { Off, Mandatory } from \"./enum\";\r\n\r\nfunction CoverLetterAndCV({\r\n fileCollection,\r\n resumeRequiredType,\r\n coverLetterRequiredType,\r\n onChange,\r\n errors,\r\n}) {\r\n const { coverLetterFile, cvFile } = fileCollection;\r\n\r\n const getSn = (type) => {\r\n if (type === \"cover\") {\r\n if (resumeRequiredType === Off) {\r\n return \"\";\r\n }\r\n return \"1.\";\r\n } else {\r\n return coverLetterRequiredType && coverLetterRequiredType != Off\r\n ? \"2.\"\r\n : \"\";\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {coverLetterRequiredType && coverLetterRequiredType != Off && (\r\n \r\n onChange(\"fileCollection\", \"coverLetterFile\", file)\r\n }\r\n error={errors && errors.coverLetterFile}\r\n />\r\n )}\r\n {/* {errors && errors.coverLetterFile &&
{errors.coverLetterFile}
} */}\r\n {resumeRequiredType && resumeRequiredType != Off && (\r\n \r\n onChange(\"fileCollection\", \"cvFile\", file)\r\n }\r\n error={errors && errors.cvFile}\r\n />\r\n )}\r\n {/* {errors && errors.cvFile &&
{errors.cvFile}
} */}\r\n
\r\n
\r\n {coverLetterRequiredType && coverLetterRequiredType != Off && (\r\n
\r\n {getSn(\"cover\")}\r\n \r\n
\r\n )}\r\n {resumeRequiredType && resumeRequiredType != Off && (\r\n
\r\n {getSn(\"cv\")}\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default CoverLetterAndCV;\r\n","import React from \"react\";\r\nimport RequiredType from \"../common/requiredType\";\r\nimport AddDocument from \"./addDocument\";\r\nimport { Off, Mandatory } from \"./enum\";\r\n\r\nfunction PaymentVoucher({\r\n fileCollection,\r\n voucherRequiredType,\r\n onChange,\r\n errors,\r\n}) {\r\n const { voucherFile } = fileCollection;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {voucherRequiredType && voucherRequiredType != Off && (\r\n \r\n onChange(\"fileCollection\", \"voucherFile\", file)\r\n }\r\n error={errors && errors.voucherFile}\r\n />\r\n )}\r\n
\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default PaymentVoucher;\r\n","import React from \"react\";\r\n\r\nfunction FinalSubmit({ isLoading, onSubmit }) {\r\n const btnSubmitStyle = !isLoading ? \"btn-green\" : \"btn-grey-2\";\r\n return (\r\n
\r\n
\r\n \r\n {/* onAddList(listName,selectedReference.key)}\r\n >\r\n Save And Finish Later\r\n */}\r\n \r\n {!isLoading ? \"Submit Job Application\" : \"Please wait..\"}\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default FinalSubmit;\r\n","import { formatedDate, formatedMonthYear } from \"./constants\";\r\n\r\nexport function FinalDataToSave_Template({\r\n recruitmentCandidateDto,\r\n recruitmentCandidateEducationInfoDto = [],\r\n recruitmentCandidateTrainingInfoDto = [],\r\n recruitmentCandidateWorkExperienceInfoDto = [],\r\n recruitmentCandidateReferenceInfoDto = [],\r\n}) {\r\n return {\r\n RecruitmentCandidateDto: recruitmentCandidateDto,\r\n RecruitmentCandidateEducationInfoDto: recruitmentCandidateEducationInfoDto,\r\n RecruitmentCandidateTrainingInfoDto: recruitmentCandidateTrainingInfoDto,\r\n RecruitmentCandidateWorkExperienceInfoDto:\r\n recruitmentCandidateWorkExperienceInfoDto,\r\n RecruitmentCandidateReferenceInfoDto: recruitmentCandidateReferenceInfoDto,\r\n };\r\n}\r\n\r\nexport function RecruitmentCandidateDto({\r\n jobId,\r\n honorificType,\r\n firstName,\r\n lastName,\r\n mobileNumber,\r\n email,\r\n nationalityId,\r\n dob,\r\n // imageOriginalName,\r\n // imageName,\r\n // cropedImageOriginalName,\r\n // cropedImageName,\r\n permanentProvienceId,\r\n permanentDistrictId,\r\n permanentLocalBodyId,\r\n permanentWard,\r\n permanentLocality,\r\n correspondingProvienceId,\r\n correspondingDistrictId,\r\n correspondingLocalBodyId,\r\n correspondingWard,\r\n correspondingLocality,\r\n documentTypeId,\r\n identificationFiles,\r\n // identificationDocumentName,\r\n // identificationDocumentOriginalName,\r\n havePassport,\r\n drivingLicenseTypeId,\r\n fatherName,\r\n motherName,\r\n grandFatherName,\r\n maritalStatusId,\r\n spouseName,\r\n fatherInLawName,\r\n employeeId,\r\n // coverLetterDocumentOriginalName,\r\n // coverLetterDocumentName,\r\n // cvDocumentOriginalName,\r\n // cvDocumentName,\r\n}) {\r\n return {\r\n CandidateId: 0, //no needed\r\n JobRefId: jobId, //job id\r\n Salutation: honorificType,\r\n FirstName: firstName,\r\n LastName: lastName,\r\n MobileNo: mobileNumber,\r\n Email: email,\r\n Nationality: nationalityId, //id\r\n BirthDate: dob && formatedDate(dob),\r\n BirthDateEng: dob,\r\n // ImageOriginalName: imageOriginalName,\r\n // ImageName: imageName,\r\n // CropedImageOriginalName: cropedImageOriginalName,\r\n // CropedImageName: cropedImageName,\r\n PermanentProvinceId: permanentProvienceId,\r\n PermanentDistrictId: permanentDistrictId,\r\n PermanentLocalBodyId: permanentLocalBodyId,\r\n PermanentWardNo: permanentWard,\r\n PermanentLocality: permanentLocality,\r\n CorrespondingProvinceId: correspondingProvienceId,\r\n CorrespondingDistrictId: correspondingDistrictId,\r\n CorrespondingLocalBodyId: correspondingLocalBodyId,\r\n CorrespondingWardNo: correspondingWard,\r\n CorrespondingLocality: correspondingLocality,\r\n DocumentType: documentTypeId, //identification document type\r\n IdentificationDocuments: identificationFiles,\r\n // DocumentName: identificationDocumentName,\r\n // OriginalName: identificationDocumentOriginalName, //selected identification document\r\n HasPassport: havePassport === 1,\r\n DrivingLicense: drivingLicenseTypeId,\r\n FatherName: fatherName,\r\n MotherName: motherName,\r\n GrandFatherName: grandFatherName,\r\n MaritalStatus: maritalStatusId, //1=single , 2=married\r\n SpouseName: spouseName,\r\n FatherInLawName: fatherInLawName,\r\n // CoverLetterOriginalName: coverLetterDocumentOriginalName,\r\n // CoverLetterFileName: coverLetterDocumentName,\r\n // CVOriginalName: cvDocumentOriginalName,\r\n // CVFileName: cvDocumentName,\r\n SubmitOn: null, //not needed\r\n SubmitOnEng: null, //not needed\r\n IsSourced: false, //not needed\r\n CandidateStatus: 0, //not needed\r\n EmployeeId: employeeId,\r\n };\r\n}\r\n\r\nexport function RecruitmentCandidateEducationInfoDto({\r\n degreeName,\r\n qualificationLevelId,\r\n institutionName,\r\n countryId,\r\n universityName,\r\n passedYear,\r\n isPercentage,\r\n isGPA,\r\n gradeValue,\r\n majorSubjects,\r\n uploadedFileList,\r\n}) {\r\n return {\r\n Id: 0, //not needed\r\n CandidateRef_Id: 0, //not needed\r\n DegreeName: degreeName,\r\n QualificationLevelId: qualificationLevelId,\r\n InstitutionName: institutionName,\r\n CountryId: countryId,\r\n UniversityName: universityName,\r\n PassedYear: formatedMonthYear(passedYear),\r\n IsPercentage: isPercentage,\r\n IsGPA: isGPA,\r\n GradeValue: gradeValue,\r\n MajorSubjects: majorSubjects,\r\n Attachments: uploadedFileList,\r\n };\r\n}\r\n\r\nexport function RecruitmentCandidateTrainingInfoDto({\r\n trainingName,\r\n institutionName,\r\n countryId,\r\n year,\r\n trainingDocumentOriginalName,\r\n trainingDocumentName,\r\n}) {\r\n return {\r\n Id: 0, //not needed\r\n CandidateRef_Id: 0, //not needed\r\n TrainingName: trainingName,\r\n InstitutionName: institutionName,\r\n CountryId: countryId,\r\n Year: formatedMonthYear(year),\r\n DocumentOriginalName: trainingDocumentOriginalName,\r\n DocumentName: trainingDocumentName,\r\n };\r\n}\r\n\r\nexport function RecruitmentCandidateWorkExperienceInfoDto({\r\n organizationName,\r\n countryId,\r\n placeName,\r\n fromYear,\r\n toYear,\r\n position,\r\n keyResponsibilities,\r\n}) {\r\n return {\r\n Id: 0, //not needed\r\n CandidateRef_Id: 0, //not needed\r\n OrganizationName: organizationName,\r\n CountryId: countryId,\r\n PlaceName: placeName,\r\n FromDate: formatedDate(fromYear), //string\r\n FromDateEng: fromYear, //Datetime\r\n ToDate: formatedDate(toYear), //string\r\n ToDateEng: toYear, //Datetime\r\n Position: position,\r\n KeyResponsibilities: keyResponsibilities,\r\n };\r\n}\r\n\r\nexport function RecruitmentCandidateReferenceInfoDto({\r\n referenceName,\r\n referenceOrganizationName,\r\n referencePosition,\r\n referencePhoneNo,\r\n referenceEmail,\r\n}) {\r\n return {\r\n Id: 0, //not needed\r\n CandidateRef_Id: 0, //not needed\r\n Name: referenceName,\r\n Organization: referenceOrganizationName,\r\n Position: referencePosition,\r\n PhoneNo: referencePhoneNo,\r\n Email: referenceEmail,\r\n };\r\n}\r\n","import { objectToFormData } from \"object-to-formdata\";\r\nimport { fileKeys } from \"./constants\";\r\n\r\nexport const getSaveData = (data) => {\r\n const {\r\n recruitmentCandidateDto,\r\n recruitmentCandidateEducationInfoDto,\r\n recruitmentCandidateTrainingInfoDto,\r\n recruitmentCandidateWorkExperienceInfoDto,\r\n recruitmentCandidateReferenceInfoDto,\r\n fileListWithKey,\r\n } = data;\r\n const {\r\n candidateImage,\r\n candidateCroppedImage,\r\n cvFile,\r\n coverLetterFile,\r\n // identificationFiles,\r\n voucherFile,\r\n } = {\r\n candidateImage: fileListWithKey.filter(\r\n (x) => x.key === fileKeys.applicantPhoto\r\n ),\r\n candidateCroppedImage: fileListWithKey.filter(\r\n (x) => x.key === fileKeys.applicantPhotoCroped\r\n ),\r\n cvFile: fileListWithKey.filter((x) => x.key === fileKeys.cvFile),\r\n coverLetterFile: fileListWithKey.filter(\r\n (x) => x.key === fileKeys.coverLetterFile\r\n ),\r\n // identificationFiles: fileListWithKey.filter(\r\n // (x) => x.key === fileKeys.identificationFiles\r\n // ),\r\n voucherFile: fileListWithKey.filter((x) => x.key === fileKeys.voucherFile),\r\n };\r\n\r\n const object = {\r\n /**\r\n * key-value mapping\r\n * values can be primitives or objects\r\n */\r\n CandidateDto: recruitmentCandidateDto,\r\n CandidateEducationDto: recruitmentCandidateEducationInfoDto,\r\n CandidateTrainingDto: recruitmentCandidateTrainingInfoDto,\r\n CandidateWorkExperienceDto: recruitmentCandidateWorkExperienceInfoDto,\r\n CandidateReferenceDto: recruitmentCandidateReferenceInfoDto,\r\n };\r\n\r\n const options = {\r\n /**\r\n * include array indices in FormData keys\r\n * defaults to false\r\n */\r\n indices: true,\r\n\r\n /**\r\n * treat null values like undefined values and ignore them\r\n * defaults to false\r\n */\r\n nullsAsUndefineds: false,\r\n\r\n /**\r\n * convert true or false to 1 or 0 respectively\r\n * defaults to false\r\n */\r\n booleansAsIntegers: false,\r\n };\r\n\r\n const formData = objectToFormData(\r\n object,\r\n options // optional\r\n );\r\n\r\n candidateImage &&\r\n candidateImage.map((x, i) => {\r\n formData.append(`CandidateImage`, x.file);\r\n });\r\n\r\n // identificationFiles &&\r\n // identificationFiles.map((x, i) => {\r\n // formData.append(`Documents`, x.file);\r\n // });\r\n\r\n cvFile &&\r\n cvFile.map((x, i) => {\r\n formData.append(`CvFiles`, x.file);\r\n });\r\n\r\n coverLetterFile &&\r\n coverLetterFile.map((x, i) => {\r\n formData.append(`CoverLetter`, x.file);\r\n });\r\n\r\n candidateCroppedImage &&\r\n candidateCroppedImage.map((x, i) => {\r\n formData.append(`CroppedImage`, x.file);\r\n });\r\n\r\n voucherFile &&\r\n voucherFile.map((x, i) => {\r\n formData.append(`PaymentVoucher`, x.file);\r\n });\r\n\r\n return formData;\r\n};\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport queryString from \"query-string\";\r\n\r\nimport Heading from \"./heading\";\r\nimport PersonalInformation from \"./personalInformation\";\r\nimport Address from \"./address\";\r\nimport IdenticalInformation from \"./identificationInformation\";\r\nimport FamilyInformation from \"./familyInformation\";\r\nimport Education from \"./education\";\r\nimport { isEmpty, dataURLtoFile } from \"../../helpers\";\r\nimport Trainings from \"./trainings\";\r\nimport WorkAndExperience from \"./workAndExperience\";\r\nimport References from \"./references\";\r\nimport CoverLetterAndCV from \"./coverLetterAndCV\";\r\nimport PaymentVoucher from \"./paymentVoucher\";\r\nimport FinalSubmit from \"./finalSubmit\";\r\nimport { formatedShortMonthDayYear } from \"../../helpers/dateFormat\";\r\n\r\nimport {\r\n GetCountryList,\r\n GetDistrictList,\r\n GetEducationLevel,\r\n GetProvienceList,\r\n GetDistrictByProvince,\r\n GetLocalBodyByDistrict,\r\n GetNationality,\r\n UploadFiles,\r\n DeleteFiles,\r\n} from \"../../store/actions/common\";\r\nimport { SaveJobApply, GetJobDetail } from \"../../store/actions/jobAction\";\r\nimport { DisplayClientSideMessage } from \"../../store/actions/common\";\r\n\r\nimport {\r\n FinalDataToSave_Template,\r\n RecruitmentCandidateDto,\r\n RecruitmentCandidateEducationInfoDto,\r\n RecruitmentCandidateReferenceInfoDto,\r\n RecruitmentCandidateTrainingInfoDto,\r\n RecruitmentCandidateWorkExperienceInfoDto,\r\n} from \"./dataTemplates\";\r\n\r\nimport { Mandatory, Off, Optional, jobApply_components } from \"./enum\";\r\nimport { validateJobApply } from \"./validation\";\r\n// import { folderNameToSaveFile_apply } from \"../constants\";\r\nimport {\r\n validFileExtension,\r\n validApplicationExtension,\r\n validUploadDocExtension,\r\n} from \"../../constants/validExtensions\";\r\nimport { getSaveData } from \"./getSaveData\";\r\nimport { fileKeys } from \"./constants\";\r\n\r\nfunction educationTemplate() {\r\n return {\r\n degreeName: null,\r\n qualificationLevel: null,\r\n institution: null,\r\n country: null,\r\n university: null,\r\n year: null,\r\n gradeTypeId: 1,\r\n grade: null,\r\n majorSubject: null,\r\n };\r\n}\r\n\r\nfunction trainingTemplate() {\r\n return {\r\n trainingName: null,\r\n institution: null,\r\n country: null,\r\n year: null,\r\n };\r\n}\r\n\r\nfunction workAndExperienceTemplate() {\r\n return {\r\n organization: null,\r\n country: null,\r\n place: null,\r\n fromYear: null,\r\n toYear: null,\r\n position: null,\r\n responsibilities: null,\r\n };\r\n}\r\n\r\nfunction referenceTemplate() {\r\n return {\r\n name: null,\r\n organization: null,\r\n position: null,\r\n phone: null,\r\n email: null,\r\n };\r\n}\r\n\r\nclass JobApplyScreen extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isLoading: false,\r\n // isEligibleToApply: true,\r\n heading: {\r\n jobId: 0,\r\n jobTitle: null,\r\n department: null,\r\n branch: null,\r\n publishedOn: null,\r\n endsOn: null,\r\n // remainingDays: 0,\r\n // salaryRangeFrom: 0,\r\n // salaryrangeTo: 0,\r\n // skills: null,\r\n // employeeType: null,\r\n // education: null,\r\n // experience: null,\r\n // jobDescription: null,\r\n // showExperienceSection: true,\r\n // showPay: true,\r\n\r\n personalInformationRequiredType: Optional,\r\n addressRequiredType: Optional,\r\n familyInformationRequiredType: Optional,\r\n identificationInformationRequiredType: Optional,\r\n educationRequiredType: Optional,\r\n trainingRequiredType: Optional,\r\n workExperienceRequiredType: Optional,\r\n referenceRequiredType: Optional,\r\n coverLetterRequiredType: Optional,\r\n resumeRequiredType: Optional,\r\n voucherRequiredType: Optional,\r\n enableEmployeeId: false,\r\n },\r\n personalInformation: {\r\n honorificType: null,\r\n firstName: null,\r\n lastName: null,\r\n mobileNumber: null,\r\n email: null,\r\n nationality: null,\r\n employeeId: null,\r\n dob: null,\r\n photo: null,\r\n cropedPhoto: null,\r\n isPhotoSelectionCompleted: false,\r\n },\r\n address: {\r\n permanentProvience: null,\r\n permanentDistrict: null,\r\n permanentLocalBody: null,\r\n permanentWard: null,\r\n permanentLocality: null,\r\n\r\n correspondingProvience: null,\r\n correspondingDistrict: null,\r\n correspondingLocalBody: null,\r\n correspondingWard: null,\r\n correspondingLocality: null,\r\n },\r\n identificationInformation: {\r\n documentTypeId: null, // 1=citizenship, 2=passport\r\n havePassport: null, //1=have , 2=dont have\r\n drivingLicenseTypeId: null, //1=none, 2=two wheeler, 3=four wheeler, 4=both two and four weeler\r\n },\r\n familyInformation: {\r\n fatherName: null,\r\n motherName: null,\r\n grandFatherName: null,\r\n maritalStatusId: null, //1=single 2=married,\r\n spouseName: null,\r\n fatherInLawName: null,\r\n },\r\n educations: [],\r\n trainings: [],\r\n workAndExperiences: [],\r\n references: [],\r\n fileCollection: {\r\n // identificationFiles: [],\r\n coverLetterFile: null,\r\n cvFile: null,\r\n voucherFile: null,\r\n },\r\n errors: {},\r\n };\r\n this.onError = this.onError.bind(this);\r\n this.onChange = this.onChange.bind(this);\r\n this.onChangeAndGet = this.onChangeAndGet.bind(this);\r\n this.onChangeList = this.onChangeList.bind(this);\r\n this.onFileSelectionList = this.onFileSelectionList.bind(this);\r\n this.onMultipleFileSelectionForList =\r\n this.onMultipleFileSelectionForList.bind(this);\r\n this.onMultipleFileSelection = this.onMultipleFileSelection.bind(this);\r\n this.onNewList = this.onNewList.bind(this);\r\n this.onConfirmList = this.onConfirmList.bind(this);\r\n this.onRemoveList = this.onRemoveList.bind(this);\r\n this.onEditList = this.onEditList.bind(this);\r\n this.onDeleteList = this.onDeleteList.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n\r\n this.onSameAsPermanent = this.onSameAsPermanent.bind(this);\r\n }\r\n\r\n async componentDidMount() {\r\n let params = queryString.parse(this.props.location.search);\r\n\r\n if (params && params.jobId) {\r\n this.initialize();\r\n await this.props.GetJobDetail(params.jobId);\r\n }\r\n\r\n const { RecruitmentJobApplicationForm, RecruitmentPositionDetail } =\r\n this.props.jobDetail;\r\n\r\n const {\r\n Id,\r\n ExternalJobTitle,\r\n Department,\r\n Branch,\r\n PublishedDateEng,\r\n EndDateEng,\r\n EnableEmployeeId,\r\n } = RecruitmentPositionDetail;\r\n\r\n let { heading } = this.state;\r\n heading.jobId = Id;\r\n heading.jobTitle = ExternalJobTitle;\r\n heading.department = Department;\r\n heading.branch = Branch;\r\n heading.publishedOn =\r\n PublishedDateEng && formatedShortMonthDayYear(PublishedDateEng);\r\n heading.endsOn = EndDateEng && formatedShortMonthDayYear(EndDateEng);\r\n heading.enableEmployeeId = EnableEmployeeId;\r\n try {\r\n if (\r\n RecruitmentJobApplicationForm &&\r\n RecruitmentJobApplicationForm.length > 0\r\n ) {\r\n heading.personalInformationRequiredType =\r\n RecruitmentJobApplicationForm.find(\r\n (f) => f.ComponentRef_Id == jobApply_components.Personal_Information\r\n ).RequiredType;\r\n heading.addressRequiredType = RecruitmentJobApplicationForm.find(\r\n (f) => f.ComponentRef_Id == jobApply_components.Address\r\n ).RequiredType;\r\n heading.familyInformationRequiredType =\r\n RecruitmentJobApplicationForm.find(\r\n (f) => f.ComponentRef_Id == jobApply_components.Family_Information\r\n ).RequiredType;\r\n heading.identificationInformationRequiredType =\r\n RecruitmentJobApplicationForm.find(\r\n (f) =>\r\n f.ComponentRef_Id ==\r\n jobApply_components.Identification_Information\r\n ).RequiredType;\r\n heading.educationRequiredType = RecruitmentJobApplicationForm.find(\r\n (f) => f.ComponentRef_Id == jobApply_components.Education\r\n ).RequiredType;\r\n\r\n heading.workExperienceRequiredType = RecruitmentJobApplicationForm.find(\r\n (f) => f.ComponentRef_Id == jobApply_components.Work_Experience\r\n ).RequiredType;\r\n heading.referenceRequiredType = RecruitmentJobApplicationForm.find(\r\n (f) => f.ComponentRef_Id == jobApply_components.References\r\n ).RequiredType;\r\n heading.coverLetterRequiredType = RecruitmentJobApplicationForm.find(\r\n (f) => f.ComponentRef_Id == jobApply_components.Cover_Letter\r\n ).RequiredType;\r\n heading.resumeRequiredType = RecruitmentJobApplicationForm.find(\r\n (f) => f.ComponentRef_Id == jobApply_components.Resume\r\n ).RequiredType;\r\n heading.voucherRequiredType = RecruitmentJobApplicationForm.find(\r\n (f) => f.ComponentRef_Id == jobApply_components.Payment_Voucher\r\n ).RequiredType;\r\n heading.trainingRequiredType = RecruitmentJobApplicationForm.find(\r\n (f) => f.ComponentRef_Id == jobApply_components.Training\r\n ).RequiredType;\r\n }\r\n } catch (ex) {}\r\n\r\n this.setState({ heading: heading });\r\n }\r\n\r\n initialize = () => {\r\n this.props.GetCountryList();\r\n this.props.GetDistrictList();\r\n this.props.GetEducationLevel();\r\n this.props.GetProvienceList();\r\n this.props.GetNationality();\r\n };\r\n\r\n onError(message) {\r\n this.props.DisplayClientSideMessage(message);\r\n }\r\n\r\n onChange(title, name, value) {\r\n // if (title == \"fileCollection\" && value) {\r\n // const validExtensions = [...validUploadDocExtension];\r\n\r\n // let fileExtension = null;\r\n // if (value && value.name) {\r\n // fileExtension = value.name.split(\".\")[1];\r\n // }\r\n\r\n // let isValidExtension = validExtensions.find(\r\n // (f) => f == (fileExtension && fileExtension.toLowerCase())\r\n // )\r\n // ? true\r\n // : false;\r\n\r\n // if (!isValidExtension) {\r\n // this.props.DisplayClientSideMessage(\r\n // \"Valid extension are \" + validExtensions\r\n // );\r\n // return false;\r\n // }\r\n // }\r\n\r\n this.setState(\r\n (prevState) => ({\r\n ...prevState,\r\n [title]: {\r\n ...prevState[title],\r\n [name]: value,\r\n },\r\n }),\r\n () => {\r\n if (!isEmpty(this.state.errors)) {\r\n this.validateForm();\r\n }\r\n }\r\n );\r\n }\r\n\r\n async onChangeAndGet(title, name, param, targetName, targetList) {\r\n const { id } = param;\r\n if (targetName == \"district\") {\r\n await this.props.GetDistrictByProvince(id);\r\n this.onChange(title, targetList, this.props.districtByProvienceList);\r\n } else if (targetName == \"localBody\") {\r\n await this.props.GetLocalBodyByDistrict(id);\r\n this.onChange(title, targetList, this.props.localBodyList);\r\n }\r\n }\r\n\r\n onChangeList(listName, key, title, name, value) {\r\n let list = this.state[listName];\r\n let currentData = list.find((f) => f.key == key);\r\n currentData[title][name] = value;\r\n this.updateState(listName, list);\r\n }\r\n\r\n async onFileSelectionList(listName, key, title, file) {\r\n let list = this.state[listName];\r\n let currentData = list.find((f) => f.key == key);\r\n\r\n await this.props.UploadFiles(file);\r\n\r\n currentData[title][\"file\"] = this.props.uploadedFileList[0] || null;\r\n\r\n this.updateState(listName, list);\r\n }\r\n\r\n async onMultipleFileSelectionForList(listName, key, title, files) {\r\n let list = this.state[listName];\r\n let currentData = list.find((f) => f.key == key);\r\n\r\n await this.props.UploadFiles(null, files);\r\n\r\n currentData[title][\"files\"] = this.props.uploadedFileList || [];\r\n\r\n this.updateState(listName, list);\r\n }\r\n\r\n async onMultipleFileSelection(stateName, name, files) {\r\n let list = this.state[stateName];\r\n\r\n await this.props.UploadFiles(null, files);\r\n\r\n list[name] = this.props.uploadedFileList || [];\r\n\r\n this.setState({ [stateName]: list });\r\n }\r\n\r\n updateState = (listName, list) => {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n //...(prevState[listName] = list)\r\n [listName]: list,\r\n }));\r\n };\r\n\r\n onNewList(listName, title, key) {\r\n let list = this.state[listName];\r\n\r\n //make isSelected to false\r\n let selectedData = list && list.find((f) => f.isSelected);\r\n if (!isEmpty(selectedData)) {\r\n selectedData.isSelected = false;\r\n }\r\n\r\n //remove if exist with same key\r\n list = list.filter((f) => f.key != key);\r\n\r\n let dynamicFunction = {};\r\n if (listName == \"educations\") {\r\n dynamicFunction = educationTemplate();\r\n } else if (listName == \"trainings\") {\r\n dynamicFunction = trainingTemplate();\r\n } else if (listName == \"workAndExperiences\") {\r\n dynamicFunction = workAndExperienceTemplate();\r\n } else if (listName == \"references\") {\r\n dynamicFunction = referenceTemplate();\r\n }\r\n\r\n list.push({\r\n key: key,\r\n [title]: dynamicFunction,\r\n isSelected: true,\r\n });\r\n\r\n this.updateState(listName, list);\r\n }\r\n\r\n onConfirmList(listName, key) {\r\n let list = this.state[listName];\r\n\r\n let selectedData = list && list.find((f) => f.key == key);\r\n if (!isEmpty(selectedData)) {\r\n selectedData.isSelected = false;\r\n }\r\n\r\n this.updateState(listName, list);\r\n }\r\n\r\n onRemoveList(listName, key) {\r\n let list = this.state[listName];\r\n //remove\r\n list = list.filter((f) => f.key != key);\r\n this.updateState(listName, list);\r\n }\r\n\r\n onEditList(listName, key) {\r\n let list = this.state[listName];\r\n\r\n let selectedData = list && list.find((f) => f.isSelected);\r\n if (!isEmpty(selectedData)) {\r\n selectedData.isSelected = false;\r\n }\r\n\r\n let currentData = list && list.find((f) => f.key == key);\r\n if (!isEmpty(currentData)) {\r\n currentData.isSelected = true;\r\n }\r\n\r\n this.updateState(listName, list);\r\n }\r\n\r\n async onDeleteList(listName, key) {\r\n let list = this.state[listName];\r\n\r\n //#region delete files from server\r\n if (listName === \"educations\" || listName === \"trainings\") {\r\n let currentData = list && list.find((f) => f.key == key);\r\n let params = null;\r\n if (listName == \"educations\") {\r\n let currentFiles = currentData[\"education\"].files;\r\n let fileNames = [];\r\n if (currentFiles && currentFiles.length > 0) {\r\n currentFiles.map((cf) => {\r\n fileNames.push(cf.ServerFileName);\r\n });\r\n }\r\n params = { FileNames: fileNames };\r\n } else if (listName == \"trainings\") {\r\n let currentFile = currentData[\"training\"].file;\r\n params = { FileNames: [currentFile.ServerFileName] };\r\n }\r\n\r\n params && (await this.props.DeleteFiles(params));\r\n }\r\n //#endregion\r\n\r\n list = list.filter((f) => f.key != key);\r\n\r\n this.updateState(listName, list);\r\n }\r\n\r\n onSameAsPermanent() {\r\n const {\r\n permanentProvience,\r\n permanentDistrict,\r\n permanentLocalBody,\r\n permanentWard,\r\n permanentLocality,\r\n permanentDistrictList,\r\n permanentLocalBodyList,\r\n } = this.state.address;\r\n\r\n this.setState(\r\n (prevState) => ({\r\n ...prevState,\r\n address: {\r\n ...prevState.address,\r\n correspondingProvience: permanentProvience,\r\n correspondingDistrict: permanentDistrict,\r\n correspondingLocalBody: permanentLocalBody,\r\n correspondingWard: permanentWard,\r\n correspondingLocality: permanentLocality,\r\n correspondingDistrictList: permanentDistrictList,\r\n correspondingLocalBodyList: permanentLocalBodyList,\r\n },\r\n }),\r\n () => {\r\n if (!isEmpty(this.state.errors)) {\r\n this.validateForm();\r\n }\r\n }\r\n );\r\n }\r\n\r\n validateForm = async () => {\r\n const {\r\n personalInformation,\r\n address,\r\n identificationInformation,\r\n familyInformation,\r\n fileCollection,\r\n heading,\r\n educations,\r\n trainings,\r\n workAndExperiences,\r\n references,\r\n } = this.state;\r\n\r\n const blockRequiredType = {\r\n identificationInformation: heading.identificationInformationRequiredType,\r\n familyInformation: heading.familyInformationRequiredType,\r\n educations: heading.educationRequiredType,\r\n trainings: heading.trainingRequiredType,\r\n workAndExperiences: heading.workExperienceRequiredType,\r\n references: heading.referenceRequiredType,\r\n coverLetterFile: heading.coverLetterRequiredType,\r\n cvFile: heading.resumeRequiredType,\r\n voucherFile: heading.voucherRequiredType,\r\n enableEmployee: heading.enableEmployeeId,\r\n };\r\n\r\n //if any block is selected then it will be unable to save\r\n const blockData = {\r\n educations:\r\n educations && educations.find((f) => f.isSelected) ? [] : educations,\r\n trainings:\r\n trainings && trainings.find((f) => f.isSelected) ? [] : trainings,\r\n workAndExperiences:\r\n workAndExperiences && workAndExperiences.find((f) => f.isSelected)\r\n ? []\r\n : workAndExperiences,\r\n references:\r\n references && references.find((f) => f.isSelected) ? [] : references,\r\n };\r\n\r\n let validateData = {\r\n personalInformation,\r\n address,\r\n identificationInformation,\r\n familyInformation,\r\n fileCollection,\r\n\r\n blockRequiredType,\r\n blockData,\r\n };\r\n\r\n let errors = await validateJobApply(validateData);\r\n\r\n this.setState({ errors: errors, isSubmitted: true });\r\n return errors;\r\n };\r\n\r\n async onSubmit() {\r\n this.setState({ isLoading: true });\r\n\r\n const {\r\n heading,\r\n personalInformation,\r\n address,\r\n identificationInformation,\r\n familyInformation,\r\n educations,\r\n trainings,\r\n workAndExperiences,\r\n references,\r\n } = this.state;\r\n\r\n const { jobId } = heading;\r\n\r\n let {\r\n honorificType,\r\n firstName,\r\n lastName,\r\n mobileNumber,\r\n email,\r\n nationality,\r\n dob,\r\n employeeId,\r\n } = personalInformation;\r\n\r\n const {\r\n permanentProvience,\r\n permanentDistrict,\r\n permanentLocalBody,\r\n permanentWard,\r\n permanentLocality,\r\n correspondingProvience,\r\n correspondingDistrict,\r\n correspondingLocalBody,\r\n correspondingWard,\r\n correspondingLocality,\r\n } = address;\r\n const {\r\n documentTypeId,\r\n havePassport,\r\n drivingLicenseTypeId,\r\n identificationFiles,\r\n } = identificationInformation;\r\n const {\r\n fatherName,\r\n motherName,\r\n grandFatherName,\r\n maritalStatusId,\r\n spouseName,\r\n fatherInLawName,\r\n } = familyInformation;\r\n\r\n const nationalityId = nationality && nationality.value;\r\n\r\n const permanentProvienceId = permanentProvience && permanentProvience.value;\r\n const permanentDistrictId = permanentDistrict && permanentDistrict.value;\r\n const permanentLocalBodyId = permanentLocalBody && permanentLocalBody.value;\r\n const correspondingProvienceId =\r\n correspondingProvience && correspondingProvience.value;\r\n const correspondingDistrictId =\r\n correspondingDistrict && correspondingDistrict.value;\r\n const correspondingLocalBodyId =\r\n correspondingLocalBody && correspondingLocalBody.value;\r\n\r\n const errors = await this.validateForm();\r\n\r\n if (!isEmpty(errors)) {\r\n this.setState({ isLoading: false });\r\n this.props.DisplayClientSideMessage(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n\r\n let fileListWithKey = await this.prepareFilesForUpload();\r\n\r\n const recruitmentCandidateDto = RecruitmentCandidateDto({\r\n jobId,\r\n honorificType,\r\n firstName,\r\n lastName,\r\n mobileNumber,\r\n email,\r\n nationalityId,\r\n dob,\r\n // imageOriginalName,\r\n // imageName,\r\n // cropedImageOriginalName,\r\n // cropedImageName,\r\n permanentProvienceId,\r\n permanentDistrictId,\r\n permanentLocalBodyId,\r\n permanentWard,\r\n permanentLocality,\r\n correspondingProvienceId,\r\n correspondingDistrictId,\r\n correspondingLocalBodyId,\r\n correspondingWard,\r\n correspondingLocality,\r\n documentTypeId,\r\n // identificationDocumentName,\r\n // identificationDocumentOriginalName,\r\n havePassport,\r\n drivingLicenseTypeId,\r\n identificationFiles,\r\n fatherName,\r\n motherName,\r\n grandFatherName,\r\n maritalStatusId,\r\n spouseName,\r\n fatherInLawName,\r\n employeeId,\r\n // coverLetterDocumentOriginalName,\r\n // coverLetterDocumentName,\r\n // cvDocumentOriginalName,\r\n // cvDocumentName,\r\n });\r\n\r\n //education\r\n let recruitmentCandidateEducationInfoDto = [];\r\n educations &&\r\n educations.map((data) => {\r\n const edu = data.education;\r\n\r\n const degreeName = edu.degreeName;\r\n const qualificationLevelId =\r\n edu.qualificationLevel && edu.qualificationLevel.value;\r\n const institutionName = edu.institution;\r\n const countryId = edu.country && edu.country.value;\r\n const universityName = edu.university;\r\n const passedYear = edu.year;\r\n const isPercentage =\r\n edu.gradeTypeId && edu.gradeTypeId == 1 ? true : false;\r\n const isGPA = edu.gradeTypeId && edu.gradeTypeId == 2 ? true : false;\r\n const gradeValue = edu.grade;\r\n const majorSubjects = edu.majorSubject;\r\n const uploadedFileList = edu.files;\r\n\r\n recruitmentCandidateEducationInfoDto.push(\r\n RecruitmentCandidateEducationInfoDto({\r\n degreeName,\r\n qualificationLevelId,\r\n institutionName,\r\n countryId,\r\n universityName,\r\n passedYear,\r\n isPercentage,\r\n isGPA,\r\n gradeValue,\r\n majorSubjects,\r\n uploadedFileList,\r\n })\r\n );\r\n });\r\n\r\n //training\r\n let recruitmentCandidateTrainingInfoDto = [];\r\n trainings &&\r\n trainings.map((data) => {\r\n const tr = data.training;\r\n\r\n const trainingName = tr.trainingName;\r\n const institutionName = tr.institution;\r\n const countryId = tr.country && tr.country.value;\r\n const year = tr.year;\r\n const trainingDocumentOriginalName = tr.file.UserFileName;\r\n const trainingDocumentName = tr.file.ServerFileName;\r\n recruitmentCandidateTrainingInfoDto.push(\r\n RecruitmentCandidateTrainingInfoDto({\r\n trainingName,\r\n institutionName,\r\n countryId,\r\n year,\r\n trainingDocumentOriginalName,\r\n trainingDocumentName,\r\n })\r\n );\r\n });\r\n\r\n //work and experience\r\n let recruitmentCandidateWorkExperienceInfoDto = [];\r\n workAndExperiences &&\r\n workAndExperiences.map((data) => {\r\n const war = data.workAndExperience;\r\n\r\n const organizationName = war.organization;\r\n const countryId = war.country && war.country.value;\r\n const placeName = war.place;\r\n const fromYear = war.fromYear; //formatedDate(war.fromYear);\r\n const toYear = war.toYear; // formatedDate(war.toYear);\r\n const position = war.position;\r\n const keyResponsibilities = war.responsibilities;\r\n recruitmentCandidateWorkExperienceInfoDto.push(\r\n RecruitmentCandidateWorkExperienceInfoDto({\r\n organizationName,\r\n countryId,\r\n placeName,\r\n fromYear,\r\n toYear,\r\n position,\r\n keyResponsibilities,\r\n })\r\n );\r\n });\r\n\r\n //references\r\n let recruitmentCandidateReferenceInfoDto = [];\r\n references &&\r\n references.map((data) => {\r\n const ref = data.reference;\r\n\r\n const referenceName = ref.name;\r\n const referenceOrganizationName = ref.organization;\r\n const referencePosition = ref.position;\r\n const referencePhoneNo = ref.phone;\r\n const referenceEmail = ref.email;\r\n recruitmentCandidateReferenceInfoDto.push(\r\n RecruitmentCandidateReferenceInfoDto({\r\n referenceName,\r\n referenceOrganizationName,\r\n referencePosition,\r\n referencePhoneNo,\r\n referenceEmail,\r\n })\r\n );\r\n });\r\n\r\n //final\r\n // let finalDataToSave_Template = FinalDataToSave_Template({\r\n // recruitmentCandidateDto,\r\n // recruitmentCandidateEducationInfoDto,\r\n // recruitmentCandidateTrainingInfoDto,\r\n // recruitmentCandidateWorkExperienceInfoDto,\r\n // recruitmentCandidateReferenceInfoDto,\r\n // });\r\n\r\n let finalDataToSave_Template = getSaveData({\r\n recruitmentCandidateDto,\r\n recruitmentCandidateEducationInfoDto,\r\n recruitmentCandidateTrainingInfoDto,\r\n recruitmentCandidateWorkExperienceInfoDto,\r\n recruitmentCandidateReferenceInfoDto,\r\n fileListWithKey,\r\n });\r\n\r\n await this.props.SaveJobApply(finalDataToSave_Template, this.props);\r\n\r\n this.setState({ isLoading: false });\r\n }\r\n\r\n prepareFilesForUpload = async () => {\r\n const { personalInformation, fileCollection } = this.state;\r\n const {\r\n // identificationFiles,\r\n coverLetterFile,\r\n cvFile,\r\n voucherFile,\r\n } = fileCollection;\r\n\r\n let fileListWithKey = [];\r\n\r\n //convert base64 photo to file\r\n if (personalInformation.photo) {\r\n const photoName = personalInformation.photo.name;\r\n const photo = personalInformation.photo;\r\n\r\n fileListWithKey.push({\r\n file: photo,\r\n key: fileKeys.applicantPhoto,\r\n });\r\n\r\n if (personalInformation.cropedPhoto) {\r\n const cropedPhotoName = \"croped_\" + photoName;\r\n const base64_photo = personalInformation.cropedPhoto;\r\n const file_photo = await dataURLtoFile(base64_photo, cropedPhotoName);\r\n\r\n fileListWithKey.push({\r\n file: file_photo,\r\n key: fileKeys.applicantPhotoCroped,\r\n });\r\n }\r\n }\r\n\r\n if (coverLetterFile) {\r\n fileListWithKey.push({\r\n file: coverLetterFile,\r\n key: fileKeys.coverLetterFile,\r\n });\r\n }\r\n\r\n if (cvFile) {\r\n fileListWithKey.push({ file: cvFile, key: fileKeys.cvFile });\r\n }\r\n\r\n if (voucherFile) {\r\n fileListWithKey.push({ file: voucherFile, key: fileKeys.voucherFile });\r\n }\r\n\r\n return fileListWithKey;\r\n };\r\n\r\n render() {\r\n const {\r\n heading,\r\n personalInformation,\r\n address,\r\n identificationInformation,\r\n familyInformation,\r\n educations,\r\n trainings,\r\n workAndExperiences,\r\n references,\r\n paymentVoucher,\r\n fileCollection,\r\n errors,\r\n } = this.state;\r\n\r\n const {\r\n personalInformationRequiredType,\r\n addressRequiredType,\r\n familyInformationRequiredType,\r\n identificationInformationRequiredType,\r\n educationRequiredType,\r\n trainingRequiredType,\r\n workExperienceRequiredType,\r\n referenceRequiredType,\r\n coverLetterRequiredType,\r\n resumeRequiredType,\r\n voucherRequiredType,\r\n } = heading;\r\n\r\n // if (!this.state.isEligibleToApply) {\r\n // return null;\r\n // }\r\n\r\n return (\r\n
\r\n \r\n\r\n {/* {personalInformationRequiredType &&\r\n personalInformationRequiredType != Off && ( */}\r\n \r\n {/* )} */}\r\n\r\n {/* {addressRequiredType && addressRequiredType != Off && ( */}\r\n \r\n {/* )} */}\r\n\r\n {identificationInformationRequiredType &&\r\n identificationInformationRequiredType != Off ? (\r\n \r\n ) : null}\r\n\r\n {familyInformationRequiredType &&\r\n familyInformationRequiredType != Off ? (\r\n \r\n ) : null}\r\n\r\n {educationRequiredType && educationRequiredType != Off ? (\r\n \r\n ) : null}\r\n\r\n {trainingRequiredType && trainingRequiredType != Off ? (\r\n \r\n ) : null}\r\n\r\n {workExperienceRequiredType && workExperienceRequiredType != Off ? (\r\n \r\n ) : null}\r\n\r\n {referenceRequiredType && referenceRequiredType != Off ? (\r\n \r\n ) : null}\r\n\r\n {resumeRequiredType != Off || coverLetterRequiredType != Off ? (\r\n \r\n ) : null}\r\n {voucherRequiredType != Off ? (\r\n \r\n ) : null}\r\n\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n countryList: state.commonReducer.countryList,\r\n districtList: state.commonReducer.districtList,\r\n educationLevelList: state.commonReducer.educationLevelList,\r\n provinceList: state.commonReducer.provinceList,\r\n districtByProvienceList: state.commonReducer.districtByProvienceList,\r\n localBodyList: state.commonReducer.localBodyList,\r\n uploadedFileList: state.commonReducer.uploadedFileList,\r\n jobDetail: state.jobReducer.jobDetail,\r\n nationalityList: state.commonReducer.nationality,\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n GetCountryList,\r\n GetDistrictList,\r\n GetEducationLevel,\r\n GetProvienceList,\r\n GetDistrictByProvince,\r\n GetLocalBodyByDistrict,\r\n UploadFiles,\r\n DeleteFiles,\r\n SaveJobApply,\r\n GetJobDetail,\r\n\r\n GetNationality,\r\n DisplayClientSideMessage,\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(JobApplyScreen);\r\n","import { api, post, get, get_by_id } from \"../../../networkService\";\r\nimport {\r\n GET_NATIONALITY,\r\n GET_COUNTRY_LIST,\r\n GET_DISTRICT_LIST,\r\n GET_PROVINCE_LIST,\r\n GET_DISTRICT_BY_PROVINCE,\r\n GET_LOCALBODY_BY_DISTRICT,\r\n GET_EDUCATION_LEVELS,\r\n} from \"../../types\";\r\nimport { ddlDataFormater } from \"../../../helpers\";\r\n\r\nexport const GetNationality = () => async (dispatch: Function) => {\r\n const res = await get(api.common.nationalities, dispatch);\r\n const formatedList = ddlDataFormater(res);\r\n dispatch({ type: GET_NATIONALITY, payload: formatedList });\r\n};\r\n\r\nexport const GetCountryList = () => async (dispatch: Function) => {\r\n const res = await get(api.common.countries, dispatch);\r\n const formatedList = ddlDataFormater(res);\r\n dispatch({ type: GET_COUNTRY_LIST, payload: formatedList });\r\n};\r\n\r\nexport const GetProvienceList = () => async (dispatch: Function) => {\r\n const res = await get(api.common.provinces, dispatch);\r\n const formatedList = ddlDataFormater(res);\r\n dispatch({ type: GET_PROVINCE_LIST, payload: formatedList });\r\n};\r\n\r\nexport const GetDistrictList = () => async (dispatch: Function) => {\r\n const res = await get(api.common.districts, dispatch);\r\n const formatedList = ddlDataFormater(res);\r\n dispatch({ type: GET_DISTRICT_LIST, payload: formatedList });\r\n};\r\n\r\nexport const GetDistrictByProvince = (provinceId: any) => async (\r\n dispatch: Function\r\n) => {\r\n const res = await get_by_id(\r\n api.common.districtByProvience,\r\n dispatch,\r\n provinceId\r\n );\r\n const formatedList = ddlDataFormater(res);\r\n dispatch({ type: GET_DISTRICT_BY_PROVINCE, payload: formatedList });\r\n};\r\n\r\nexport const GetLocalBodyByDistrict = (districtId: any) => async (\r\n dispatch: Function\r\n) => {\r\n const res = await get_by_id(\r\n api.common.localBodyByDistrict,\r\n dispatch,\r\n districtId\r\n );\r\n const formatedList = ddlDataFormater(res);\r\n dispatch({ type: GET_LOCALBODY_BY_DISTRICT, payload: formatedList });\r\n};\r\n\r\nexport const GetEducationLevel = () => async (dispatch: Function) => {\r\n const res = await get(api.common.educationLevel, dispatch);\r\n const formatedList = ddlDataFormater(res);\r\n dispatch({ type: GET_EDUCATION_LEVELS, payload: formatedList });\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Route } from \"react-router\";\r\nimport routes from \"../routes\";\r\nimport NavBar from \"../navbar\";\r\n\r\nimport JobListing from \"../../scenes/jobListing\";\r\nimport JobDetail from \"../../scenes/jobDetail\";\r\nimport JobApply from \"../../scenes/jobApply\";\r\n\r\nfunction Links() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Links;\r\n","import * as React from \"react\";\r\nimport \"./App.scss\";\r\nimport { Provider } from \"react-redux\";\r\nimport configureStore from \"./store/configureStore\";\r\nimport Toast from \"./components/toast\";\r\nimport Links from \"./navigation/links\";\r\n\r\n// import { Route } from \"react-router\";\r\n// import Layout from \"./navigation1/Layout\";\r\n// import Home from \"./scenes/Home\";\r\n// import Counter from \"./scenes/Counter\";\r\n// import FetchData from \"./scenes/FetchData\";\r\n\r\n// import \"./custom.css\";\r\n\r\n// Get the application-wide store instance, prepopulating with state from the server where available.\r\nconst store = configureStore({});\r\n\r\nexport default () => (\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n);\r\n","import { createStore, applyMiddleware, compose } from \"redux\";\r\nimport thunk from \"redux-thunk\";\r\nimport reducers from \"./reducers\";\r\n\r\nexport default function configureStore(initialState = {}) {\r\n const production = process.env.NODE_ENV !== \"development\";\r\n\r\n let middleware = [thunk];\r\n\r\n // if (!production) {\r\n // middleware.push(require(\"redux-immutable-state-invariant\").default());\r\n // }\r\n\r\n if (production) {\r\n return createStore(reducers, initialState, applyMiddleware(...middleware));\r\n } else {\r\n return createStore(\r\n reducers,\r\n initialState,\r\n compose(applyMiddleware(...middleware))\r\n );\r\n }\r\n}\r\n\r\n// import { applyMiddleware, combineReducers, compose, createStore } from 'redux';\r\n// import thunk from 'redux-thunk';\r\n// import { connectRouter, routerMiddleware } from 'connected-react-router';\r\n// import { History } from 'history';\r\n// import { ApplicationState, reducers } from './';\r\n\r\n// export default function configureStore(history: History, initialState?: ApplicationState) {\r\n// const middleware = [\r\n// thunk,\r\n// routerMiddleware(history)\r\n// ];\r\n\r\n// const rootReducer = combineReducers({\r\n// ...reducers,\r\n// router: connectRouter(history)\r\n// });\r\n\r\n// const enhancers = [];\r\n// const windowIfDefined = typeof window === 'undefined' ? null : window as any;\r\n// if (windowIfDefined && windowIfDefined.__REDUX_DEVTOOLS_EXTENSION__) {\r\n// enhancers.push(windowIfDefined.__REDUX_DEVTOOLS_EXTENSION__());\r\n// }\r\n\r\n// return createStore(\r\n// rootReducer,\r\n// initialState,\r\n// compose(applyMiddleware(...middleware), ...enhancers)\r\n// );\r\n// }\r\n","import * as React from \"react\";\r\nimport * as ReactDOM from \"react-dom\";\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport App from \"./App\";\r\nimport registerServiceWorker from \"./registerServiceWorker\";\r\n\r\n// Create browser history to use in the Redux store\r\nconst baseUrl = document\r\n .getElementsByTagName(\"base\")[0]\r\n .getAttribute(\"href\") as string;\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n\r\n// registerServiceWorker();\r\n"],"sourceRoot":""}