{"version":3,"sources":["webpack:///./src/common/regex.js","webpack:///./node_modules/react-bootstrap/esm/Table.js","webpack:///./src/components/shared/formMobileTextBox.js","webpack:///./src/pages/index.js"],"names":["nricpattern","mobilepattern","_excluded","Table","forwardRef","_ref","ref","bsPrefix","className","striped","bordered","borderless","hover","size","variant","responsive","props","decoratedBsPrefix","classes","table","createElement","responsiveClass","FormMobileTextBox","HandleFormSubmit","_ref3","formRef","isSubmitting","React","useEffect","current","validateForm","then","errors","Object","entries","length","missingInfoAlert","setSubmitting","Index","location","uiData","useSelector","state","shallowEqual","claimData","dispatch","useDispatch","useRef","sbAccList","setSbAccList","useState","addItemToList","values","SingtelBillAccountNumber","copyOfSbAccList","assign","index","Date","getTime","toString","push","setFieldValue","exceedSBAccDetailAlert","fillSBAccDetailAlert","removeItemFromList","indexToRemove","findIndex","x","splice","maxPageNumber","GetDataPromise","API","Promise","all","batch","data","updateValidFormData","updateUiData","catch","error","navigate","claimUploadListModel","deleteMultipleFileArray","forEach","UploadedItem","UploadedKey","deleteFileInfo","fName","fileName","folderName","response","CommonFunction","href","formikSchema","Yup","shape","policyNumber","ErrorMessage","required","claimantMobile","matches","Regex","policyHolderNric","policyHolderName","claimantEmail","email","claimantDob","test","value","isValid","parse","Constants","dateParts","split","date","Formik","initialValues","enableReinitialize","validationSchema","validateOnMount","innerRef","onSubmit","actions","claimantName","claimantNric","addBenefitItem","getRequiredDocuments","draftFolderPrefix","dd","getYear","getMonth","getDate","getHours","getMinutes","getSeconds","generateFolderName","getPolicyInfo","PolicyNumber","InsuredNRIC","InsuredName","InsuredDOB","deceasedDOB","_ref2","handleSubmit","FormikForm","Row","Field","textDesc","name","component","FormFieldDisableAutoComplete","Col","xs","span","offset","md","maxLength","FormTextbox","toUpperCase","FormDateInputTextbox","role","tabIndex","onClick","onKeyDown","aria-hidden","map","item","key","type"],"mappings":"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","file":"component---src-pages-index-js-ea66264bf5ae241a29c1.js","sourcesContent":["export const policyPattern = /^[Gg][a-zA-Z0-9,d]{7}$/\r\nexport const namepattern = /^[a-zA-Z .,+-@/()'&]*$/\r\nexport const nricpattern = /^[STFGMstfgm]\\d{7}[A-Za-z]$/\r\nexport const mobilepattern = /^[89][0-9,\\d]{7}$/\r\nexport const phonepattern = /^[3689][0-9,\\d]{7}$/\r\nexport const permitpattern = /^([045][\\s][0-9-]{8})$/\r\nexport const amountpattern = /^[1-9]\\d*(,[0-9]{1,3}){0,2}?(\\.[0-9]{1,2})?$/\r\nexport const refundAmountpattern = /^[0-9]\\d*(,[0-9]{1,3}){0,9}?(\\.[0-9]{1,2})?$/\r\nexport const datepattern = /^(0[1-9]|[1-2][0-9]|3[0-1])\\/(0[1-9]|1[0-2])\\/[0-9]{4}$/\r\nexport const timepattern = /^([01]?[0-9]|2[0-3]):([0-5][0-9]){1}?$/\r\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"className\", \"striped\", \"bordered\", \"borderless\", \"hover\", \"size\", \"variant\", \"responsive\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar Table = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n striped = _ref.striped,\n bordered = _ref.bordered,\n borderless = _ref.borderless,\n hover = _ref.hover,\n size = _ref.size,\n variant = _ref.variant,\n responsive = _ref.responsive,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n var decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'table');\n var classes = classNames(className, decoratedBsPrefix, variant && decoratedBsPrefix + \"-\" + variant, size && decoratedBsPrefix + \"-\" + size, striped && decoratedBsPrefix + \"-striped\", bordered && decoratedBsPrefix + \"-bordered\", borderless && decoratedBsPrefix + \"-borderless\", hover && decoratedBsPrefix + \"-hover\");\n var table = /*#__PURE__*/React.createElement(\"table\", _extends({}, props, {\n className: classes,\n ref: ref\n }));\n if (responsive) {\n var responsiveClass = decoratedBsPrefix + \"-responsive\";\n if (typeof responsive === 'string') {\n responsiveClass = responsiveClass + \"-\" + responsive;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: responsiveClass\n }, table);\n }\n return table;\n});\nexport default Table;","import React from \"react\"\r\nimport { Col, Row, Form } from \"react-bootstrap\"\r\nimport { Field, getIn } from \"formik\"\r\nimport FormLabel from \"./formLabel\"\r\nimport NumberFormat from \"react-number-format\"\r\n\r\nfunction FormMobileTextBox(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 // (clickedNext && errors[inputName]) ||\r\n return errors[inputName] && touched[inputName] ? \"mobileError\" : null\r\n }\r\n\r\n const inputErrorMessage = (touched, errors, inputName) => {\r\n // (clickedNext && 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 let value = event.target.value || \"\"\r\n form.setFieldValue(field.name, value)\r\n }}\r\n onBlur={event => {\r\n form.handleBlur(event)\r\n\r\n let value = event.target.value || \"\"\r\n form.setFieldValue(field.name, value.trim()) // Trim field value when blur\r\n }}\r\n maxLength={maxLength}\r\n autoComplete=\"new-password\"\r\n value={field.value || \"\"}\r\n />\r\n {inputErrorMessage(form.touched, form.errors, field.name)}\r\n
\r\n
\r\n\r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n +65 \r\n \r\n {\r\n form.handleChange(event)\r\n }}\r\n onBlur={event => {\r\n form.handleBlur(event)\r\n }}\r\n />\r\n {inputErrorMessage(form.touched, form.errors, field.name)}\r\n \r\n \r\n */}\r\n \r\n )\r\n}\r\nexport default FormMobileTextBox\r\n","import React, { useEffect } from \"react\"\r\nimport { Row, Col, Table } 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 addBenefitItem,\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 FormMobileTextBox from \"../components/shared/formMobileTextBox\"\r\nimport * as Regex from \"../common/regex\"\r\nimport {\r\n missingInfoAlert,\r\n fillSBAccDetailAlert,\r\n exceedSBAccDetailAlert,\r\n} 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 const [sbAccList, setSbAccList] = React.useState([])\r\n\r\n const addItemToList = values => {\r\n if (values.SingtelBillAccountNumber && sbAccList.length < 5) {\r\n let copyOfSbAccList = Object.assign([], sbAccList)\r\n let index = new Date().getTime().toString()\r\n\r\n copyOfSbAccList.push({\r\n index: index,\r\n SingtelBillAccountNumber: values.SingtelBillAccountNumber,\r\n })\r\n\r\n setSbAccList(copyOfSbAccList)\r\n\r\n formRef.current.setFieldValue(\"SingtelBillAccountNumber\", \"\")\r\n } else if (sbAccList.length > 4) {\r\n exceedSBAccDetailAlert()\r\n } else {\r\n fillSBAccDetailAlert()\r\n }\r\n }\r\n const removeItemFromList = index => {\r\n let copyOfSbAccList = Object.assign([], sbAccList)\r\n let indexToRemove = copyOfSbAccList.findIndex(x => x.index === index)\r\n copyOfSbAccList.splice(indexToRemove, 1)\r\n setSbAccList(copyOfSbAccList)\r\n }\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(\"ClaimSBRTDetailModel\", 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 claimantMobile: Yup.string()\r\n //.required(ErrorMessage.claimantMobile)\r\n .matches(Regex.mobilepattern, ErrorMessage.claimantMobile),\r\n policyHolderNric: Yup.string()\r\n .required(ErrorMessage.NRIC)\r\n .matches(Regex.nricpattern, ErrorMessage.NRIC),\r\n policyHolderName: Yup.string().required(ErrorMessage.policyHolderName),\r\n claimantEmail: Yup.string()\r\n .required(ErrorMessage.claimantEmail)\r\n .email(ErrorMessage.claimantEmail),\r\n claimantDob: Yup.string()\r\n //.required(ErrorMessage.employmentDate)\r\n .test(\"claimantDob\", ErrorMessage.DOB, value => {\r\n if (value) {\r\n return isValid(\r\n parse(value, `d${Constants.sep}M${Constants.sep}yyyy`, new Date())\r\n )\r\n } else {\r\n return true\r\n }\r\n })\r\n .test(\"claimantDob\", 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 if (dateParts[2].length !== 4) {\r\n return false\r\n } else {\r\n return CommonFunction.notFutureDatime(date, \"00:00\")\r\n }\r\n } else {\r\n return true\r\n }\r\n }),\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 values.claimantName = values.policyHolderName\r\n values.claimantNric = values.policyHolderNric\r\n dispatch(updateValidFormData(\"ClaimSBRTDetailModel\", values))\r\n\r\n if (sbAccList.length > 0) {\r\n dispatch(addBenefitItem(\"ClaimSBAccountListModel\", sbAccList))\r\n }\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\r\n dispatch(\r\n getPolicyInfo({\r\n PolicyNumber: values.policyNumber,\r\n InsuredNRIC: values.policyHolderNric,\r\n InsuredName: values.policyHolderName,\r\n InsuredDOB: values.deceasedDOB,\r\n })\r\n )\r\n })\r\n }}\r\n >\r\n {({ handleSubmit, isSubmitting, isValid, values, errors }) => (\r\n \r\n \r\n
Retrenchment Claim
\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
\r\n
Details of Life Assured
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n addItemToList(values)\r\n }}\r\n onKeyDown={() => {\r\n addItemToList(values)\r\n }}\r\n >\r\n \r\n \r\n

\r\n Add Singtel Bill Account Number\r\n {/* {sbAccList.length + 1} */}\r\n

\r\n \r\n
\r\n
\r\n\r\n {sbAccList.length > 0 && (\r\n \r\n \r\n \r\n Singtel Bill Account\r\n Remove\r\n \r\n \r\n \r\n {sbAccList.map(item => (\r\n \r\n {item.SingtelBillAccountNumber}\r\n \r\n {\r\n removeItemFromList(item.index)\r\n }}\r\n onKeyDown={() => {\r\n removeItemFromList(item.index)\r\n }}\r\n >\r\n \r\n

\r\n Remove\r\n

\r\n \r\n \r\n \r\n \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":""}