{"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/jobListBar.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/expecetdSalary.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","history","routes","JobListBar","src","window","location","origin","CoverImage","alt","CompanyLogo","WelcomeText","Footer","href","target","rigoLogo","api","nationalities","countries","districts","provinces","districtByProvience","localBodyByDistrict","educationLevel","uploadFiles","deleteFiles","latestJob","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","pathname","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","console","log","to","Jobid","ExternalJobTitle","Education","IsExperience","Experience","ExperienceDurationType","PublisheDate","EmployementType","ShowDeadline","EndDate","DaysRemaining","GetJobDetail","jobId","GetActiveJobs","useState","setState","useEffect","clear","formatedMonthDayYear","date","moment","Date","format","formatedShortMonthDayYear","Career","activeJob","RecruitmentPositionDetail","RemainingDays","PublishedDateEng","EndDateEng","applyButton","shareLink","dangerouslySetInnerHTML","__html","JobDescription","workImage","Category","universityImage","businessmanImage","IsPayShow","moneyImage","SalaryRangeFrom","SalaryRangeTo","FacebookShareButton","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","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","Address","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","eventFiles","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","expectedSalary","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","ExpectedSalary","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","prevState","validateForm","expectedSalaryInfo","heading","educations","trainings","workAndExperiences","references","identificationInformationRequiredType","familyInformationRequiredType","expectedSalaryRequiredType","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","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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,OAAOC,IACT,IAAK,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,O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","file":"static/js/main.4c1a2134.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\nimport { MdKeyboardBackspace } from \"react-icons/md\";\r\nfunction FirstBar(props: any) {\r\n const { companyInformation } = props;\r\n\r\n return (\r\n
\r\n
\r\n
props.history.push(routes.jobListing)}>Back to career
\r\n

Job Details

\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 from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport routes from \"../routes\";\r\n\r\nfunction JobListBar(props: any) {\r\n const { companyInformation } = props;\r\n\r\n return (\r\n <>
\r\n
\r\n \"logo\"\r\n
\r\n
\r\n
\r\n
\r\n \"logo\"\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
{companyInformation.WelcomeText}
\r\n
\r\n
\r\n \r\n\r\n );\r\n}\r\n\r\nexport default JobListBar;\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 latestJob: \"job/latest\",\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 JobListBar from \"./jobListBar\"\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\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 const { pathname } = this.props.location;\r\n return (\r\n
\r\n\r\n\r\n\r\n {(pathname === \"/\" || pathname === \"/job-list\") ?\r\n :\r\n }\r\n\r\n
{this.props.children}
\r\n\r\n\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 {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\nimport { log } from \"console\";\r\n\r\nexport default function Card(props: any) {\r\n let { activeJobs } = props;\r\n console.log({\r\n activeJobs\r\n\r\n });\r\n \r\n \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\r\n\r\n \r\n return (\r\n
\r\n \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} ${x.ExperienceDurationType === 1 ? \"Year(s)\" : x.ExperienceDurationType === 2 ? \"Month(s)\" : \"Day(s)\"\r\n } Experience`}\r\n \r\n
\r\n ) : (\r\n
No experience necessary
\r\n )}\r\n
\r\n
\r\n
Published: {x.PublisheDate}
\r\n {x.EmployementType &&\r\n
Contract Type:\r\n {x.EmployementType}\r\n\r\n
\r\n }\r\n
\r\n {\r\n\r\n x?.ShowDeadline && \r\n
\r\n
Apply before {x.EndDate}
\r\n {x.DaysRemaining}\r\n\r\n {/* */}\r\n\r\n {/* */}\r\n\r\n\r\n\r\n\r\n
\r\n }\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n );\r\n })\r\n )}\r\n
\r\n\r\n );\r\n}\r\n","import { 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 latestJobs = await get(api.job.latestJob, dispatch);\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, { useState, 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 const [state, setState] = useState({ WelcomeText: '', CoverImage: '' })\r\n\r\n useEffect(() => {\r\n props.GetActiveJobs();\r\n }, []);\r\n\r\n useEffect(() => {\r\n const { companyInformation } = props;\r\n if (companyInformation) {\r\n console.clear();\r\n console.log(companyInformation)\r\n setState({ WelcomeText: companyInformation.WelcomeText, CoverImage: companyInformation.CoverImage })\r\n }\r\n }, [props.companyInformation])\r\n\r\n return (\r\n
\r\n \r\n
\r\n

Careers

\r\n
\r\n \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 companyInformation: state.commonReducer.companyInformation\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 { AiOutlineClockCircle } from \"react-icons/ai\";\r\nimport { IoMdPin } from \"react-icons/io\";\r\nimport { FaMoneyBillAlt } from \"react-icons/fa\";\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 console.log({activeJob});\r\n \r\n const { RemainingDays } = props.jobDetail;\r\n const { PublishedDateEng, EndDateEng } = activeJob;\r\n let { CompanyLogo } = props.companyInformation;\r\n\r\n\r\n\r\n \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
\r\n
\r\n \"logo\"\r\n
\r\n
\r\n
\r\n {/* {activeJob.EmployementType} */}Fulltime\r\n
\r\n
{activeJob.ExternalJobTitle}
\r\n
\r\n Published on\r\n {PublishedDateEng && formatedMonthDayYear(PublishedDateEng)}\r\n \r\n
\r\n {/*
\r\n
\r\n \r\n Kathmandu\r\n
\r\n
\r\n \r\n Rs. 50,000 - 80,000 per month\r\n
\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
\r\n
\r\n {\r\n activeJob?.ShowDeadline && <>\r\n
\r\n Application ends\r\n \r\n {EndDateEng && formatedMonthDayYear(EndDateEng)}\r\n \r\n
\r\n
\r\n \r\n {RemainingDays}\r\n
\r\n \r\n }\r\n \r\n {applyButton()}\r\n
\r\n\r\n
\r\n
\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 { activeJob?.ShowDeadline && <>
\r\n Application ends\r\n \r\n {EndDateEng && formatedMonthDayYear(EndDateEng)}\r\n \r\n
\r\n
\r\n \r\n {RemainingDays}\r\n
}\r\n \r\n \r\n {applyButton()}\r\n
\r\n
\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.ExperienceDurationType + \" year\"\r\n : \"Experience not necessary\"} */}\r\n\r\n\r\n\r\n\r\n\r\n{activeJob.IsExperience === true ? <>\r\n {`${activeJob.Experience} ${activeJob.ExperienceDurationType === 1 ? \"Year(s)\" : activeJob.ExperienceDurationType === 2 ? \"Month(s)\" : \"Day(s)\"\r\n } Experience`}\r\n \r\n \r\n : <>\r\n Experience not necessary\r\n \r\n \r\n }\r\n\r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \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

Share this job

\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 \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 let eventFiles = event.target.files || [];\r\n console.clear();\r\n console.log(\"event.target: \", event.target);\r\n console.log(\"event.target.file: \", eventFiles);\r\n if (isAllFilesValid)\r\n for (var i = 0; i < eventFiles.length; i++) {\r\n let file = eventFiles[i];\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 // return;\r\n\r\n // isAllFilesValid &&\r\n // eventFiles.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 Expected_Salary: 12,\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
\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
\r\n
\r\n {coverLetterRequiredType && coverLetterRequiredType != Off && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\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 {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\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 expectedSalary,\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 ExpectedSalary: expectedSalary,\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 from \"react\";\r\nimport FormGroup from \"../../components/form\";\r\nimport RequiredType from \"../common/requiredType\";\r\n\r\nfunction ExpectedSalary({ data, onChange, errors, isMandatory }) {\r\n const title = \"expectedSalaryInfo\";\r\n const { expectedSalary } = data;\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

Expected Salary

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default ExpectedSalary;\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\nimport ExpectedSalary from \"./expecetdSalary\";\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 expectedSalaryRequiredType: 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 expectedSalaryInfo: {\r\n expectedSalary: 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 || false;\r\n heading.addressRequiredType = RecruitmentJobApplicationForm.find(\r\n (f) => f.ComponentRef_Id == jobApply_components.Address\r\n )?.RequiredType || false;\r\n heading.familyInformationRequiredType =\r\n RecruitmentJobApplicationForm.find(\r\n (f) => f.ComponentRef_Id == jobApply_components.Family_Information\r\n )?.RequiredType || false;\r\n heading.expectedSalaryRequiredType = RecruitmentJobApplicationForm.find(\r\n (f) => f.ComponentRef_Id == jobApply_components.Expected_Salary\r\n )?.RequiredType || false;\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 || false;\r\n heading.educationRequiredType = RecruitmentJobApplicationForm.find(\r\n (f) => f.ComponentRef_Id == jobApply_components.Education\r\n )?.RequiredType || false;\r\n\r\n heading.workExperienceRequiredType = RecruitmentJobApplicationForm.find(\r\n (f) => f.ComponentRef_Id == jobApply_components.Work_Experience\r\n )?.RequiredType || false;\r\n heading.referenceRequiredType = RecruitmentJobApplicationForm.find(\r\n (f) => f.ComponentRef_Id == jobApply_components.References\r\n )?.RequiredType || false;\r\n heading.coverLetterRequiredType = RecruitmentJobApplicationForm.find(\r\n (f) => f.ComponentRef_Id == jobApply_components.Cover_Letter\r\n )?.RequiredType || false;\r\n heading.resumeRequiredType = RecruitmentJobApplicationForm.find(\r\n (f) => f.ComponentRef_Id == jobApply_components.Resume\r\n )?.RequiredType || false;\r\n heading.voucherRequiredType = RecruitmentJobApplicationForm.find(\r\n (f) => f.ComponentRef_Id == jobApply_components.Payment_Voucher\r\n )?.RequiredType || false;\r\n heading.trainingRequiredType = RecruitmentJobApplicationForm.find(\r\n (f) => f.ComponentRef_Id == jobApply_components.Training\r\n )?.RequiredType || false;\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 expectedSalaryInfo,\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 expectedSalaryInfo: heading.expectedSalaryRequiredType,\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 expectedSalaryInfo,\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 expectedSalaryInfo,\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 const { expectedSalary } = expectedSalaryInfo;\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 expectedSalary,\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 expectedSalaryInfo,\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 expectedSalaryRequiredType,\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 {expectedSalaryRequiredType && expectedSalaryRequiredType != 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 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 //@ts-ignore\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 //@ts-ignore\r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n\r\n// registerServiceWorker();\r\n"],"sourceRoot":""}