{"version":3,"sources":["webpack:///./src/components/shared/formDateInputTextbox.js","webpack:///./src/pages/index.js"],"names":["FormDateInputTextbox","props","textDesc","form","field","maxLength","errorsMsg","getIn","errors","name","React","createElement","className","FormLabel","text","NumberFormat","placeholder","touched","inputName","type","format","CommonFunction","onChange","handleChange","autoComplete","value","inputErrorMessage","inputErrorClassName","HandleFormSubmit","_ref3","formRef","isSubmitting","useEffect","current","validateForm","then","Object","entries","length","missingInfoAlert","setSubmitting","Index","_ref","location","uiData","useSelector","state","shallowEqual","claimData","dispatch","useDispatch","useRef","maxPageNumber","GetDataPromise","API","Promise","all","values","batch","data","updateValidFormData","updateUiData","catch","error","navigate","claimUploadListModel","deleteMultipleFileArray","forEach","UploadedItem","UploadedKey","deleteFileInfo","fName","fileName","folderName","push","response","href","formikSchema","Yup","shape","policyNumber","ErrorMessage","required","DOB","test","isValid","parse","Constants","Date","dateParts","split","date","deceasedName","NRIC","Formik","initialValues","assign","enableReinitialize","validationSchema","validateOnMount","innerRef","onSubmit","actions","getRequiredDocuments","draftFolderPrefix","dd","getYear","getMonth","getDate","getHours","getMinutes","getSeconds","generateFolderName","getPolicyInfo","PolicyNumber","InsuredNRIC","InsuredName","InsuredDOB","_ref2","handleSubmit","FormikForm","Row","Field","component","FormFieldDisableAutoComplete","Col","xs","span","offset","md","FormTextbox"],"mappings":"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","file":"component---src-pages-index-js-18361cbe8f0485bc85d8.js","sourcesContent":["import React from \"react\"\r\nimport { getIn } from \"formik\"\r\nimport FormLabel from \"./formLabel\"\r\nimport * as CommonFunction from \"../../common/function\"\r\nimport NumberFormat from \"react-number-format\"\r\n\r\nfunction FormDateInputTextbox(props) {\r\n const { textDesc, form, field, maxLength } = props\r\n\r\n const errorsMsg = getIn(form.errors, field.name)\r\n\r\n const inputErrorClassName = (touched, errors, inputName) => {\r\n return errors[inputName] && touched[inputName] ? \"is-invalid\" : null\r\n }\r\n\r\n const inputErrorMessage = (touched, errors, inputName) => {\r\n return errors[inputName] && touched[inputName] ? (\r\n {errorsMsg}\r\n ) : null\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {inputErrorMessage(form.touched, form.errors, field.name)}\r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default FormDateInputTextbox\r\n","import React, { useEffect } from \"react\"\r\nimport { Row, Col } from \"react-bootstrap\"\r\nimport {\r\n Formik,\r\n Form as FormikForm,\r\n Field,\r\n //useFormikContext\r\n} from \"formik\"\r\nimport * as Yup from \"yup\"\r\nimport { useDispatch, useSelector, shallowEqual, batch } from \"react-redux\"\r\nimport {\r\n updateUiData,\r\n updateValidFormData,\r\n getRequiredDocuments,\r\n getPolicyInfo,\r\n} from \"../redux/actions\"\r\nimport FormTextbox from \"../components/shared/formTextbox\"\r\nimport FormFieldDisableAutoComplete from \"../components/shared/formFieldDisableAutoComplete\"\r\nimport FormDateInputTextbox from \"../components/shared/formDateInputTextbox\"\r\nimport * as ErrorMessage from \"../common/errorMessage\"\r\nimport * as Constants from \"../common/constants\"\r\nimport { isValid, parse } from \"date-fns\"\r\nimport * as CommonFunction from \"../common/function\"\r\nimport { missingInfoAlert } from \"../services/sweetalertService\"\r\nimport * as API from \"../services/httpService\"\r\nimport { navigate } from \"gatsby\"\r\n\r\nconst Index = ({ location }) => {\r\n const uiData = useSelector(state => state.uiData, shallowEqual)\r\n const claimData = useSelector(state => state.claimData, shallowEqual)\r\n const dispatch = useDispatch()\r\n const formRef = React.useRef()\r\n\r\n useEffect(() => {\r\n if (uiData.maxPageNumber === 1) {\r\n const GetDataPromise = API.apiPostRequest(\"/Claim/GetData\", null, null)\r\n\r\n Promise.all([GetDataPromise])\r\n .then(values => {\r\n batch(() => {\r\n if (values[0].data) {\r\n dispatch(\r\n updateValidFormData(\"claimLifeDetailModel\", values[0].data)\r\n )\r\n }\r\n dispatch(updateUiData(\"showLoading\", false))\r\n })\r\n })\r\n .catch(error => {\r\n navigate(\"errorOccurred\")\r\n })\r\n } else {\r\n // Delete all uploaded file\r\n if (uiData.claimUploadListModel.length > 0) {\r\n let deleteMultipleFileArray = []\r\n\r\n uiData.claimUploadListModel.forEach((UploadedItem, UploadedKey) => {\r\n let deleteFileInfo = {}\r\n deleteFileInfo.fName = UploadedItem.fileName\r\n deleteFileInfo.folderName = uiData.folderName\r\n deleteMultipleFileArray.push(deleteFileInfo)\r\n })\r\n\r\n API.apiPostRequest(\r\n \"/Claim/ClaimDocsMultipleDelete\",\r\n deleteMultipleFileArray,\r\n null\r\n ).then(response => {\r\n dispatch(updateUiData(\"claimUploadListModel\", []))\r\n })\r\n }\r\n }\r\n\r\n CommonFunction.updateUiCurrentPageNumber(dispatch, location.href)\r\n }, [])\r\n\r\n const formikSchema = Yup.object().shape({\r\n policyNumber: Yup.string()\r\n .length(8, ErrorMessage.policyNumber)\r\n .required(ErrorMessage.policyNumber),\r\n DOB: Yup.string()\r\n .required(ErrorMessage.DOB)\r\n .test(\"DOB\", ErrorMessage.DOB, value => {\r\n return isValid(\r\n parse(value, `d${Constants.sep}M${Constants.sep}yyyy`, new Date())\r\n )\r\n })\r\n .test(\"DOB\", ErrorMessage.futureDateErrorMsg, value => {\r\n if (\r\n value &&\r\n isValid(\r\n parse(value, `d${Constants.sep}M${Constants.sep}yyyy`, new Date())\r\n )\r\n ) {\r\n var dateParts = value.split(\"/\")\r\n var date = new Date(\r\n dateParts[2] + \"-\" + dateParts[1] + \"-\" + dateParts[0]\r\n )\r\n return CommonFunction.notFutureDatime(date, \"00:00\")\r\n }\r\n }),\r\n deceasedName: Yup.string().required(ErrorMessage.deceasedName),\r\n NRIC: Yup.string().required(ErrorMessage.NRIC),\r\n })\r\n\r\n const generateFolderName = draftFolderPrefix => {\r\n let dd = new Date()\r\n let ss =\r\n \"\" +\r\n dd.getYear() +\r\n dd.getMonth() +\r\n dd.getDate() +\r\n dd.getHours() +\r\n dd.getMinutes() +\r\n dd.getSeconds()\r\n return draftFolderPrefix + ss\r\n }\r\n return (\r\n {\r\n batch(() => {\r\n dispatch(updateValidFormData(\"claimLifeDetailModel\", values))\r\n dispatch(getRequiredDocuments(Constants.basicCoverageDetailId))\r\n dispatch(updateUiData(\"showLoading\", true))\r\n dispatch(\r\n updateUiData(\r\n \"folderName\",\r\n generateFolderName(uiData.draftFolderPrefix)\r\n )\r\n )\r\n dispatch(\r\n getPolicyInfo({\r\n PolicyNumber: values.policyNumber,\r\n InsuredNRIC: values.NRIC,\r\n InsuredName: values.deceasedName,\r\n InsuredDOB: values.DOB,\r\n })\r\n )\r\n })\r\n }}\r\n >\r\n {({ handleSubmit, isSubmitting, isValid, values, errors }) => (\r\n \r\n \r\n
Death e-Claims
\r\n
\r\n {/* \r\n
\r\n
Policy Information
\r\n
\r\n \r\n \r\n \r\n */}\r\n {/* Fake fields are a workaround for chrome autofill getting the wrong fields */}\r\n \r\n \r\n
\r\n
Policy Information
\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
Details of Deceased
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n Continue\r\n \r\n
\r\n
\r\n \r\n
\r\n )}\r\n \r\n )\r\n}\r\n\r\nconst HandleFormSubmit = ({ formRef, isSubmitting }) => {\r\n React.useEffect(() => {\r\n if (isSubmitting) {\r\n formRef.current.validateForm().then(errors => {\r\n if (Object.entries(errors).length !== 0) {\r\n missingInfoAlert()\r\n formRef.current.setSubmitting(false)\r\n }\r\n })\r\n }\r\n }, [isSubmitting])\r\n return null\r\n}\r\nexport default Index\r\n"],"sourceRoot":""}