\r\n
\r\n
\r\n
{props.t(\"Logout\")}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nProfileMenu.propTypes = {\r\n success: PropTypes.any,\r\n t: PropTypes.any\r\n}\r\n\r\nconst mapStatetoProps = state => {\r\n const { error, success } = state.Profile\r\n return { error, success }\r\n}\r\n\r\nexport default withRouter(\r\n connect(mapStatetoProps, {})(withTranslation()(ProfileMenu))\r\n)\r\n","export default __webpack_public_path__ + \"static/media/megamenu-img.8b069df4.png\";","export default __webpack_public_path__ + \"static/media/logo.9901a8a0.svg\";","export default __webpack_public_path__ + \"static/media/logo-light.f0fb0325.svg\";","import PropTypes from 'prop-types';\r\nimport React, { useState } from \"react\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport { Row, Col } from \"reactstrap\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\n// Reactstrap\r\nimport { Dropdown, DropdownToggle, DropdownMenu } from \"reactstrap\";\r\n\r\n// Import menuDropdown\r\nimport LanguageDropdown from \"../CommonForBoth/TopbarDropdown/LanguageDropdown\";\r\nimport NotificationDropdown from \"../CommonForBoth/TopbarDropdown/NotificationDropdown\";\r\nimport ProfileMenu from \"../CommonForBoth/TopbarDropdown/ProfileMenu\";\r\nimport megamenuImg from \"../../assets/images/megamenu-img.png\";\r\n\r\n// import images\r\nimport github from \"../../assets/images/brands/github.png\";\r\nimport bitbucket from \"../../assets/images/brands/bitbucket.png\";\r\nimport dribbble from \"../../assets/images/brands/dribbble.png\";\r\nimport dropbox from \"../../assets/images/brands/dropbox.png\";\r\nimport mail_chimp from \"../../assets/images/brands/mail_chimp.png\";\r\nimport slack from \"../../assets/images/brands/slack.png\";\r\n\r\nimport logo from \"../../assets/images/logo.svg\";\r\nimport logoLightSvg from \"../../assets/images/logo-light.svg\";\r\nimport banner from \"../../assets/images/banner/banner.jpg\";\r\n\r\n//i18n\r\nimport { withTranslation } from \"react-i18next\";\r\n\r\n// Redux Store\r\nimport {\r\n showRightSidebarAction,\r\n toggleLeftmenu,\r\n changeSidebarType,\r\n} from \"../../store/actions\";\r\n\r\n\r\nconst Header = () => {\r\n const [search, setsearch] = useState(false);\r\n const [megaMenu, setmegaMenu] = useState(false);\r\n const [socialDrp, setsocialDrp] = useState(false);\r\n\r\n function toggleFullscreen() {\r\n if (\r\n !document.fullscreenElement &&\r\n /* alternative standard method */ !document.mozFullScreenElement &&\r\n !document.webkitFullscreenElement\r\n ) {\r\n // current working methods\r\n if (document.documentElement.requestFullscreen) {\r\n document.documentElement.requestFullscreen();\r\n } else if (document.documentElement.mozRequestFullScreen) {\r\n document.documentElement.mozRequestFullScreen();\r\n } else if (document.documentElement.webkitRequestFullscreen) {\r\n document.documentElement.webkitRequestFullscreen(\r\n Element.ALLOW_KEYBOARD_INPUT\r\n );\r\n }\r\n } else {\r\n if (document.cancelFullScreen) {\r\n document.cancelFullScreen();\r\n } else if (document.mozCancelFullScreen) {\r\n document.mozCancelFullScreen();\r\n } else if (document.webkitCancelFullScreen) {\r\n document.webkitCancelFullScreen();\r\n }\r\n }\r\n }\r\n\r\n function tToggle() {\r\n debugger;\r\n var body = document.body;\r\n if (window.screen.width <= 998) {\r\n body.classList.toggle(\"sidebar-enable\");\r\n } else {\r\n body.classList.toggle(\"vertical-collpsed\");\r\n body.classList.toggle(\"sidebar-enable\");\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 \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nHeader.propTypes = {\r\n changeSidebarType: PropTypes.func,\r\n leftMenu: PropTypes.any,\r\n leftSideBarType: PropTypes.any,\r\n showRightSidebar: PropTypes.any,\r\n showRightSidebarAction: PropTypes.func,\r\n t: PropTypes.any,\r\n toggleLeftmenu: PropTypes.func\r\n};\r\n\r\nconst mapStatetoProps = state => {\r\n const {\r\n layoutType,\r\n showRightSidebar,\r\n leftMenu,\r\n leftSideBarType,\r\n } = state.Layout;\r\n return { layoutType, showRightSidebar, leftMenu, leftSideBarType };\r\n};\r\n\r\nexport default connect(mapStatetoProps, {\r\n showRightSidebarAction,\r\n toggleLeftmenu,\r\n changeSidebarType,\r\n})(withTranslation()(Header));\r\n","import React from \"react\"\r\nimport { Container, Row, Col } from \"reactstrap\"\r\n\r\nconst Footer = () => {\r\n return (\r\n
\r\n \r\n \r\n )\r\n}\r\n\r\nexport default Footer\r\n","import React, { Component } from 'react'\r\nimport authHeader from \"helpers/authHeader\";\r\nimport { Input } from \"reactstrap\"\r\nimport axios from 'axios';\r\nimport { deletePOIUrl } from \"../../helpers/fakebackend_helper\";\r\n\r\nfunction TableRows({ rowsData, deletePoiRows, handleChange, handleCheckChange, handleUploadChange }) {\r\n $(\".maxFuture\").flatpickr({\r\n dateFormat: \"d-M-Y\",\r\n minDate: \"today\",\r\n disableMobile: \"true\"\r\n });\r\n\r\n function DeletePOI(poiid) {\r\n debugger;\r\n const deleteStatusModel = {\r\n RegistrationId: localStorage.getItem('registrationId'),\r\n Id: poiid\r\n }\r\n if (rowsData.length > 1) {\r\n axios.post(deletePOIUrl(), deleteStatusModel, { headers: authHeader() })\r\n .then(res => {\r\n\r\n })\r\n }\r\n }\r\n\r\n return (\r\n rowsData.map((data, index) => {\r\n const { poiid, SelectedProofofIdentity, EnterNumber, POIPOA, Expiry, Upload, poifilepath, poifilepathurl, Delete } = data;\r\n\r\n return (\r\n
\r\n \r\n \r\n | \r\n \r\n {\r\n if (e.key === 'Enter') e.preventDefault()\r\n }}\r\n onChange={(evnt) => (handleChange(index, evnt))}\r\n maxLength=\"20\"\r\n autoComplete=\"off\"\r\n />\r\n | \r\n \r\n \r\n | \r\n \r\n (handleChange(index, evnt))}\r\n disabled={SelectedProofofIdentity == \"UID\" || SelectedProofofIdentity == \"Voter ID\"}\r\n />\r\n | \r\n \r\n (handleUploadChange(index, evnt))}\r\n onKeyPress={e => {\r\n if (e.key === 'Enter') e.preventDefault()\r\n }}\r\n >\r\n \r\n \r\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 TableRows","import React, { useState, useEffect } from \"react\"\r\nimport axios from 'axios';\r\nimport authHeader from \"helpers/authHeader\";\r\nimport fileDownload from 'js-file-download'\r\nimport MetaTags from \"react-meta-tags\"\r\nimport Header from \"../../components/VerticalLayout/Header\";\r\nimport Footer from \"../../components/VerticalLayout/Footer\";\r\n\r\nimport {\r\n Card,\r\n CardTitle,\r\n CardBody,\r\n Table,\r\n Col,\r\n Container,\r\n Form,\r\n FormGroup,\r\n Input,\r\n InputGroup,\r\n Label,\r\n NavItem,\r\n NavLink,\r\n Row,\r\n Button,\r\n TabContent,\r\n TabPane,\r\n FormFeedback,\r\n\r\n} from \"reactstrap\"\r\n\r\nimport banner from \"../../assets/images/banner/banner.jpg\";\r\n\r\n\r\n// Formik validation\r\nimport * as Yup from \"yup\";\r\nimport { ErrorMessage, useFormik } from \"formik\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport classnames from \"classnames\";\r\n/*import $ from 'jquery';*/\r\nimport Flatpickr from \"react-flatpickr\";\r\nimport toastr from \"toastr\";\r\nimport \"toastr/build/toastr.min.css\";\r\nimport { branchUrl, registrationUrl, registrationPOIUrl, familyDetilsUrl, relatedPersonDetilsUrl, form60Url, additionalDetailsUrl, technoProductsUrl, nominationDetailsUrl, submitAccountUrl } from \"../../helpers/fakebackend_helper\";\r\n\r\n//redux\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\n\r\n//Get State s\r\nimport { getState } from \"../../store/actions\";\r\n\r\n//Get Occupation\r\nimport { getOccupation } from \"../../store/actions\";\r\n\r\n//GetAll RelatedPersonType\r\nimport { getRelatedPersonType } from \"../../store/actions\";\r\n\r\n//GetAll Education\r\nimport { getEducation } from \"../../store/actions\";\r\n\r\n//GetAll OccupationDetails\r\nimport { getOccupationDetails } from \"../../store/actions\";\r\n\r\n//GetAll AssetDetails\r\nimport { getAssetDetails } from \"../../store/actions\";\r\n\r\n//GetAll OtherBankAccounts\r\nimport { getOtherBankAccounts } from \"../../store/actions\";\r\n\r\n//GetAll AccountType\r\nimport { getAccountType } from \"../../store/actions\";\r\n\r\n//GetAll EntityType\r\nimport { getEntityType } from \"../../store/actions\";\r\n\r\n//GetAll Location\r\nimport { getLocation } from \"../../store/actions\";\r\n\r\n// GetByLocationId Branch\r\nimport { getBranch } from \"../../store/actions\";\r\n\r\n//GetAll Poi\r\nimport { getPoi } from \"../../store/actions\";\r\n\r\nimport TableRows from './TableRows';\r\n\r\nconst Registration = () => {\r\n\r\n //function getBase64(file) {\r\n // return new Promise((resolve, reject) => {\r\n // debugger;\r\n // const reader = new FileReader();\r\n // reader.readAsDataURL(file);\r\n // reader.onload = () => resolve(reader.result);\r\n // reader.onerror = error => reject(error);\r\n // });\r\n //}\r\n\r\n //function getBase64(file) {\r\n // return new Promise((resolve, reject) => {\r\n // debugger;\r\n // const reader = new FileReader();\r\n // reader.readAsDataURL(file);\r\n // reader.onload = () => resolve(reader.result);\r\n // reader.onerror = error => reject(error);\r\n // });\r\n //}\r\n\r\n var getBase64 = async (file) => {\r\n debugger;\r\n return await new Promise((resolve, reject) => {\r\n debugger;\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = error => reject(error);\r\n });\r\n }\r\n\r\n //=============Define State====================\r\n const history = useHistory();\r\n\r\n const [branch, setBranch] = useState([]);\r\n const [showEasing, setshowEasing] = useState(\"swing\");\r\n const [hideEasing, sethideEasing] = useState(\"linear\");\r\n const [showMethod, setshowMethod] = useState(\"fadeIn\");\r\n const [hideMethod, sethideMethod] = useState(\"fadeOut\");\r\n const [showDuration, setshowDuration] = useState(300);\r\n const [hideDuration, sethideDuration] = useState(1000);\r\n const [timeOut, settimeOut] = useState(2000);\r\n const [extendedTimeOut, setextendedTimeOut] = useState(1000);\r\n\r\n function SuccessMessage(message) {\r\n toastr.options = {\r\n positionClass: \"toast-top-center\",\r\n timeOut: timeOut,\r\n extendedTimeOut: extendedTimeOut,\r\n closeButton: true,\r\n debug: false,\r\n progressBar: false,\r\n preventDuplicates: false,\r\n newestOnTop: false,\r\n showEasing: showEasing,\r\n hideEasing: hideEasing,\r\n showMethod: showMethod,\r\n hideMethod: hideMethod,\r\n showDuration: showDuration,\r\n hideDuration: hideDuration\r\n };\r\n\r\n toastr.success(message, \"Information\");\r\n }\r\n\r\n function ErrorMessage(message) {\r\n toastr.options = {\r\n positionClass: \"toast-top-center\",\r\n timeOut: timeOut,\r\n extendedTimeOut: extendedTimeOut,\r\n closeButton: true,\r\n debug: false,\r\n progressBar: false,\r\n preventDuplicates: false,\r\n newestOnTop: false,\r\n showEasing: showEasing,\r\n hideEasing: hideEasing,\r\n showMethod: showMethod,\r\n hideMethod: hideMethod,\r\n showDuration: showDuration,\r\n hideDuration: hideDuration\r\n };\r\n\r\n toastr.error(message, \"Error\");\r\n }\r\n\r\n\r\n const dispatch = useDispatch();\r\n const { stateData } = useSelector(state => ({\r\n stateData: state.Registration.stateData,\r\n }));\r\n\r\n //GetAll Occupation\r\n const { occupationData } = useSelector(state => ({\r\n occupationData: state.Registration.occupationData,\r\n }));\r\n\r\n //GetAll RelatedPersonType\r\n const { relatedPersonTypeData } = useSelector(state => ({\r\n relatedPersonTypeData: state.Registration.relatedPersonTypeData,\r\n }));\r\n\r\n //GetAll Education\r\n const { educationData } = useSelector(state => ({\r\n educationData: state.Registration.educationData,\r\n }));\r\n\r\n //GetAll OccupationDetails\r\n const { occupationDetailsData } = useSelector(state => ({\r\n occupationDetailsData: state.Registration.occupationDetailsData,\r\n }));\r\n\r\n //GetAll AssetDetails\r\n const { assetDetailsData } = useSelector(state => ({\r\n assetDetailsData: state.Registration.assetDetailsData,\r\n }));\r\n\r\n //GetAll OtherBankAccounts\r\n const { otherBankAccountsData } = useSelector(state => ({\r\n otherBankAccountsData: state.Registration.otherBankAccountsData,\r\n }));\r\n\r\n //GetAll AccountType\r\n const { accountTypeData } = useSelector(state => ({\r\n accountTypeData: state.Registration.accountTypeData,\r\n }));\r\n\r\n //GetAll EntityType\r\n const { entityTypeData } = useSelector(state => ({\r\n entityTypeData: state.Registration.entityTypeData,\r\n }));\r\n\r\n //GetAll Location\r\n const { locationData } = useSelector(state => ({\r\n locationData: state.Registration.locationData,\r\n }));\r\n\r\n // GetByLocationId Branch\r\n const { branchData } = useSelector(state => ({\r\n branchData: state.Registration.branchData,\r\n }));\r\n\r\n //GetAll Poi\r\n const { poiData } = useSelector(state => ({\r\n poiData: state.Registration.poiData,\r\n }));\r\n\r\n function onChangeLocation(value) {\r\n debugger;\r\n\r\n const LocationId = value.target.value;\r\n\r\n const branchModel = {\r\n LocationId: LocationId\r\n };\r\n\r\n axios.post(branchUrl(), branchModel, { headers: authHeader() }).then((response) => {\r\n setBranch(response.data)\r\n }, (error) => {\r\n console.log(error.response);\r\n });\r\n }\r\n\r\n function chkNumeric(e) {\r\n let input = e.target.value;\r\n\r\n if (input == \"\") {\r\n validation.handleChange(e);\r\n }\r\n else if (typeof input !== \"undefined\") {\r\n var pattern = new RegExp(/^[0-9\\b]+$/);\r\n if (pattern.test(input)) {\r\n validation.handleChange(e);\r\n }\r\n }\r\n }\r\n\r\n const [rowsData, setRowsData] = useState([]);\r\n const [rowsData1, setRowsData1] = useState([]);\r\n\r\n const addPoiRows = (id) => {\r\n debugger;\r\n if ($(`#ddlPOI${id} option:selected`).val() == \"\" && $(`#ddlPOIPOA${id} option:selected`).val() == \"\") {\r\n ErrorMessage(\"Please select Proof of Identity!\");\r\n $(`#ddlPOI${id}`).focus();\r\n $(`#ddlPOIPOA${id}`).focus();\r\n return;\r\n }\r\n\r\n const rowsInput = {\r\n SelectedProofofIdentity: $(\"#ddlPOI1 option:selected\").text(),\r\n EnterNumber: '',\r\n POIPOA : $(\"#ddlPOIPOA1 option:selected\").text(),\r\n //POI: false,\r\n //POI: $(\"#ddlPOIPOA1 option:selected\").text(),\r\n //POA: false,\r\n Expiry: '',\r\n Upload: '',\r\n Delete: ''\r\n }\r\n setRowsData([...rowsData, rowsInput])\r\n }\r\n\r\n const deletePoiRows = (index) => {\r\n const rows = [...rowsData];\r\n rows.splice(index, 1);\r\n setRowsData(rows);\r\n }\r\n\r\n const handleChange = (index, evnt) => {\r\n debugger;\r\n const { name, value } = evnt.target;\r\n const rowsInput = [...rowsData];\r\n rowsInput[index][name] = value;\r\n setRowsData(rowsInput);\r\n }\r\n\r\n const handleCheckChange = (index, evnt, POIPOA) => {\r\n debugger;\r\n //const { name, value } = evnt.target;\r\n const { name, checked } = evnt.target;\r\n const rowsInput = [...rowsData];\r\n if (name == \"POI\") {\r\n if ({ POIPOA } == \"POI\" || { POIPOA } == \"Both\") {\r\n rowsInput[index][name] = checked;\r\n }\r\n //else\r\n // rowsInput[index][name] = false;\r\n }\r\n \r\n \r\n //rowsInput[index][name] = checked;\r\n setRowsData(rowsInput);\r\n }\r\n\r\n const handleUploadChange = (index, evnt) => {\r\n debugger;\r\n const { name, value } = evnt.target;\r\n const rowsInput = [...rowsData];\r\n rowsInput[index][name] = evnt.target.files[0];\r\n setRowsData(rowsInput);\r\n }\r\n\r\n //Upload files\r\n const [selectedFile, setSelectedFile] = React.useState(\"\");\r\n const [file, setuploadFile] = useState([]);\r\n\r\n function handleUpload(event) {\r\n debugger;\r\n\r\n //getBase64(event.target.files[0]).then(\r\n // data => {\r\n // setSelectedFile(data);\r\n // }\r\n //);\r\n\r\n setSelectedFile(event.target.files[0]);\r\n }\r\n\r\n var authCustomerObject = JSON.parse(localStorage.getItem('authCustomer'));\r\n\r\n var objCustomerMainholder = { personalchoose: '', firstname: '', middlename: '', lastname: '', phoneno: authCustomerObject.mobileNo, email: authCustomerObject.email, gender: '', occupation: '', dob: '', maritalstatus: '2', nationality: '1', communicationaddress: '', communicationstate: '', communicationcity: '', communicationpincode: '', permanentaddress: '', permanentstate: '', permanentcity: '', permanentpincode: '', poi: '', pan: '', panfile: '' };\r\n var objCustomer = { personalchoose: '', firstname: '', middlename: '', lastname: '', phoneno: '', email: '', gender: '', occupation: '', dob: '', maritalstatus: '2', nationality: '1', communicationaddress: '', communicationstate: '', communicationcity: '', communicationpincode: '', permanentaddress: '', permanentstate: '', permanentcity: '', permanentpincode: '', poi: '', pan: '', panfile: '' };\r\n\r\n const [rows1, setrows1] = useState([{ id: 1 }]);\r\n\r\n const registrationHoldersList = [];\r\n const registrationHoldersPOIList = [];\r\n\r\n var registrationHoldersPOI = {\r\n POI: '',\r\n POINo: '',\r\n POIPOA:'',\r\n IsPOI: '',\r\n IsPOA: '',\r\n ExpiryDate: '',\r\n Base64POI: ''\r\n }\r\n\r\n var registrationHolders = {\r\n Title: '',\r\n FirstName: '',\r\n MiddleName: '',\r\n LastName: '',\r\n DOB: '',\r\n Gender: '',\r\n Nationality: '',\r\n Occupation: '',\r\n Mobile: '',\r\n Email: '',\r\n MartialStatus: '',\r\n LocalAddress1: '',\r\n LocalAddress2: '',\r\n LocalAddress3: '',\r\n LocalCity: '',\r\n LocalPin: '',\r\n LocalState: '',\r\n PermanentAddress1: '',\r\n PermanentAddress2: '',\r\n PermanentAddress3: '',\r\n PermanentCity: '',\r\n PermanentPin: '',\r\n PermanentState: '',\r\n PAN: '',\r\n Base64PAN: '',\r\n registrationHoldersPOI: registrationHoldersPOIList\r\n }\r\n\r\n const personalDetails = {\r\n AccountTypeId: '',\r\n EntityTypeId: '',\r\n LocationId: '',\r\n BranchId: '',\r\n registrationHolders: registrationHoldersList\r\n }\r\n\r\n const familyDetails = {\r\n RegistrationId: '',\r\n FatherTitle: '',\r\n FatherFirstName: '',\r\n FatherMiddleName: '',\r\n FatherLastName: '',\r\n MotherTitle: '',\r\n MotherFirstName: '',\r\n MotherMiddleName: '',\r\n MotherLastName: '',\r\n MaidenTitle: '',\r\n MaidenFirstName: '',\r\n MaidenMiddleName: '',\r\n MaidenLastName: ''\r\n }\r\n\r\n const relatedPerson = {\r\n RegistrationId: '',\r\n RelatedPersonTitle: '',\r\n RelatedPeronFirstName: '',\r\n RelatedPeronMiddleName: '',\r\n RelatedPeronLastName: '',\r\n RelatedPersonCustomerRelation: '',\r\n RelatedPersonType: '',\r\n RelatedPersonPANNo: '',\r\n RelatedPersonAadhaarNo: '',\r\n RelatedPersonCourtOrderNo: ''\r\n }\r\n\r\n const form60 = {\r\n RegistrationId: '',\r\n DeclarantDocuments: '',\r\n DeclarantTransactionParticulars: '',\r\n DeclarantAmountofTransaction: '',\r\n DeclarantAssessedTax: '',\r\n DetailsOfIncomeTax: '',\r\n ReasonForNoPan: ''\r\n }\r\n\r\n const additionalDetails = {\r\n RegistrationId: '',\r\n FundsExpectedOrigin: '',\r\n FundsUtilisationExpected: '',\r\n OtherBankAccounts: '',\r\n Turnover: '',\r\n AverageIncome: '',\r\n AverageBalance: '',\r\n Education: '',\r\n Religion: '',\r\n OccupationDetails: '',\r\n LineOfBusiness: '',\r\n BusinessName: '',\r\n BusinessStartDate: '',\r\n BusinessAddress1: '',\r\n BusinessAddress2: '',\r\n BusinessAddress3: '',\r\n BusinessTelNo: '',\r\n BusinessMobileNo: '',\r\n BusinessAnnualIncome: '',\r\n BusinessIncomeSource: '',\r\n BusinessWealthSource: '',\r\n BusinessEstimatedValue: '',\r\n BusinessAssetDetails: '',\r\n BornNonIndia: '',\r\n TaxResidenceNonIndia: '',\r\n BusinessVehicleType: '',\r\n BusinessCarPurchaseYear: '',\r\n BusinessCarMaker: '',\r\n InterestedIn: ''\r\n }\r\n\r\n const technoProducts = {\r\n RegistrationId: '',\r\n DebitCard: '',\r\n SMSBanking: '',\r\n MobileBanking: '',\r\n StatementOnEmail: '',\r\n AadhaarCardSeeding: '',\r\n InterntBanking: ''\r\n }\r\n\r\n const nominationDetails = {\r\n RegistrationId: '',\r\n NatureofDeposit: '',\r\n DistinguishingNo: '',\r\n AdditionalDetails: '',\r\n NomineeFirstName: '',\r\n NomineeMiddleName: '',\r\n NomineeLastName: '',\r\n NomineeAddress1: '',\r\n NomineeAddress2: '',\r\n NomineeAddress3: '',\r\n Relationship: '',\r\n Age: '',\r\n MinorDOB: '',\r\n AccountOperations: ''\r\n }\r\n\r\n useEffect(() => {\r\n dispatch(getState());\r\n dispatch(getOccupation());\r\n dispatch(getRelatedPersonType());\r\n dispatch(getEducation());\r\n dispatch(getOccupationDetails());\r\n dispatch(getAssetDetails());\r\n dispatch(getOtherBankAccounts());\r\n dispatch(getAccountType());\r\n dispatch(getEntityType());\r\n dispatch(getLocation());\r\n dispatch(getBranch());\r\n dispatch(getPoi());\r\n }, [dispatch]);\r\n\r\n\r\n function disablePAN(id) {\r\n if ($(`#chkPAN${id}`).prop('checked') == true) {\r\n $(`#txtPancard${id}`).attr('disabled', 'disabled');\r\n $(`#Upload${id}`).attr('disabled', 'disabled');\r\n $(`#txtPancard${id}`).val('');\r\n }\r\n else {\r\n $(`#txtPancard${id}`).removeAttr('disabled');\r\n $(`#Upload${id}`).removeAttr('disabled');\r\n }\r\n }\r\n\r\n function DownloadRegistrationPDF(fileName) {\r\n debugger;\r\n //Live application url\r\n //var url = \"JSBOnlineAccountAPI/RegistrationPrintPDF/\" + fileName;\r\n\r\n //Development url\r\n var url = \"RegistrationPrintPDF/\" + fileName;\r\n\r\n axios.get(url, {\r\n responseType: \"blob\"\r\n }).then((response) => {\r\n fileDownload(response.data, fileName);\r\n history.push(\"/success\");\r\n }\r\n )\r\n };\r\n\r\n function CreateAccount(tabId) {\r\n debugger;\r\n\r\n if (tabId == 1) {\r\n\r\n //toggleTabVertical(tabId + 1);\r\n //return;\r\n\r\n if (($('#txtPancard1').val().trim() == \"\") && ($(\"#chkPAN1\").prop('checked') == false)) {\r\n $('#txtPancard1').focus();\r\n ErrorMessage(\"Please enter PAN No. or check Form60!\");\r\n return;\r\n }\r\n\r\n if ($(\"#chkPAN1\").prop('checked') == false) {\r\n $('#navForm60').css('background-color', 'lightgrey');\r\n }\r\n else {\r\n $('#navForm60').css('background-color', '');\r\n }\r\n\r\n var dob = new Date($('#txtdob1').val());\r\n var today = new Date();\r\n var age = Math.floor((today - dob) / (365.25 * 24 * 60 * 60 * 1000));\r\n\r\n if (age > 18) {\r\n $('#navRelatedPerson').css('background-color', 'lightgrey');\r\n }\r\n else {\r\n $('#navRelatedPerson').css('background-color', '');\r\n }\r\n\r\n\r\n var IsValid = false;\r\n\r\n if (rowsData.length == 0) {\r\n ErrorMessage(\"Please add atleast one POI document!\");\r\n return IsValid = false;\r\n }\r\n else {\r\n rowsData.map(poiCustomerData => {\r\n if (poiCustomerData.EnterNumber.trim().length == 0) {\r\n ErrorMessage(\"Please enter Document Number for \" + poiCustomerData.SelectedProofofIdentity + \"!\");\r\n return IsValid = false;\r\n }\r\n else if (poiCustomerData.POI == false && poiCustomerData.POA == false) {\r\n ErrorMessage(\"Please select either POI or POA for \" + poiCustomerData.SelectedProofofIdentity + \"!\");\r\n return IsValid = false;\r\n }\r\n else if (poiCustomerData.Upload.length == 0) {\r\n ErrorMessage(\"Please uplaod document for \" + poiCustomerData.SelectedProofofIdentity + \"!\");\r\n return IsValid = false;\r\n }\r\n else {\r\n return IsValid = true;\r\n }\r\n })\r\n }\r\n\r\n var registrationId = '';\r\n registrationId = localStorage.getItem(\"RegistrationId\");\r\n\r\n if (registrationId != null) {\r\n toggleTabVertical(tabId + 1)\r\n }\r\n else {\r\n if (IsValid) {\r\n\r\n personalDetails.AccountTypeId = $('#ddlaccounttype').val();\r\n personalDetails.EntityTypeId = $('#ddlentitytype').val();\r\n personalDetails.LocationId = $('#ddllocation').val();\r\n personalDetails.BranchId = $('#ddlbranch').val();\r\n\r\n const modifiedRowsNew = [...formRows];\r\n\r\n for (var id = 1; id <= modifiedRowsNew.length; id++) {\r\n registrationHolders = {},\r\n\r\n registrationHolders.Title = $('#ddlpersonalchoose' + id).val(),\r\n registrationHolders.FirstName = $('#txtFirstName' + id).val().trim(),\r\n registrationHolders.MiddleName = $('#txtMiddleName' + id).val().trim(),\r\n registrationHolders.LastName = $('#txtLastName' + id).val().trim(),\r\n registrationHolders.DOB = $('#txtdob' + id).val(),\r\n registrationHolders.Gender = $('#ddlgender' + id).val(),\r\n registrationHolders.Nationality = $('#ddlnationality' + id).val(),\r\n registrationHolders.Occupation = $('#ddloccupation' + id).val().trim(),\r\n registrationHolders.Mobile = $('#txtPhoneno' + id).val().trim(),\r\n registrationHolders.Email = $('#txtEmailID' + id).val().trim(),\r\n registrationHolders.MartialStatus = $('#ddlmaratialstatus' + id).val(),\r\n registrationHolders.LocalAddress1 = $('#txtCommunicationAddress1' + id).val().trim(),\r\n registrationHolders.LocalAddress2 = $('#txtCommunicationAddress2' + id).val().trim(),\r\n registrationHolders.LocalAddress3 = $('#txtCommunicationAddress3' + id).val().trim(),\r\n registrationHolders.LocalCity = $('#txtCommunicationCity' + id).val().trim(),\r\n registrationHolders.LocalPin = $('#txtCommunicationPincode' + id).val().trim(),\r\n registrationHolders.LocalState = $('#ddlCommunicationState' + id).val(),\r\n registrationHolders.PermanentAddress1 = $('#txtPermanentAddress1' + id).val().trim(),\r\n registrationHolders.PermanentAddress2 = $('#txtPermanentAddress2' + id).val().trim(),\r\n registrationHolders.PermanentAddress3 = $('#txtPermanentAddress3' + id).val().trim(),\r\n registrationHolders.PermanentCity = $('#txtPermanentCity' + id).val().trim(),\r\n registrationHolders.PermanentPin = $('#txtPermanentPincode' + id).val().trim(),\r\n registrationHolders.PermanentState = $('#ddlPermanentState' + id).val(),\r\n registrationHolders.PAN = $('#txtPancard' + id).val(),\r\n\r\n rowsData.map(poiCustomerData => {\r\n getBase64(poiCustomerData.Upload).then(data => {\r\n registrationHoldersPOI = {},\r\n registrationHoldersPOI.Base64POI = data,\r\n registrationHoldersPOI.POI = poiCustomerData.SelectedProofofIdentity,\r\n\r\n registrationHoldersPOI.POINo = poiCustomerData.EnterNumber,\r\n registrationHoldersPOI.IsPOI = poiCustomerData.POI == true ? (poiCustomerData.POIPOA == \"POI\" ? \"true\" : \"false\") : (poiCustomerData.POIPOA == \"POA & POI\" ? \"true\" : \"false\"),\r\n registrationHoldersPOI.IsPOA = poiCustomerData.POA == true ? (poiCustomerData.POIPOA == \"POA\" ? \"true\" : \"false\") : (poiCustomerData.POIPOA == \"POA & POI\" ? \"true\" : \"false\"),\r\n //registrationHoldersPOI.IsPOI = poiCustomerData.POI == true ? \"true\" : \"false\",\r\n //registrationHoldersPOI.IsPOA = poiCustomerData.POA == true ? \"true\" : \"false\",\r\n registrationHoldersPOI.ExpiryDate = poiCustomerData.Expiry,\r\n\r\n registrationHoldersPOIList.push(registrationHoldersPOI)\r\n })\r\n })\r\n\r\n registrationHolders.registrationHoldersPOI = registrationHoldersPOIList\r\n registrationHoldersList.push(registrationHolders)\r\n }\r\n\r\n\r\n getBase64(selectedFile).then(\r\n data => {\r\n registrationHolders.Base64PAN = data\r\n\r\n axios.post(registrationUrl(), personalDetails, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n debugger;\r\n localStorage.setItem(\"RegistrationId\", res.data.registrationId)\r\n localStorage.setItem(\"ReferenceNo\", res.data.referenceNo)\r\n toggleTabVertical(tabId + 1)\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n }\r\n })\r\n }\r\n );\r\n }\r\n }\r\n }\r\n else if (tabId == 2) {\r\n\r\n //toggleTabVertical(tabId + 1);\r\n //return;\r\n\r\n familyDetails.RegistrationId = localStorage.getItem('RegistrationId');\r\n familyDetails.FatherTitle = $('#ddlfatherchoose :selected').text();\r\n familyDetails.FatherFirstName = $('#txtFatherFirstName').val().trim();\r\n familyDetails.FatherMiddleName = $('#txtFatherMiddleName').val().trim();\r\n familyDetails.FatherLastName = $('#txtFatherLastName').val().trim();\r\n familyDetails.MotherTitle = $('#ddlmotherchoose :selected').text();\r\n familyDetails.MotherFirstName = $('#txtMotherFirstName').val().trim();\r\n familyDetails.MotherMiddleName = $('#txtMotherMiddleName').val().trim();\r\n familyDetails.MotherLastName = $('#txtMotherLastName').val().trim();\r\n familyDetails.MaidenTitle = $('#ddlmaidenchoose :selected').text();\r\n familyDetails.MaidenFirstName = $('#txtMaidenFirstName').val().trim();\r\n familyDetails.MaidenMiddleName = $('#txtMaidenMiddleName').val().trim();\r\n familyDetails.MaidenLastName = $('#txtMaidenLastName').val().trim();\r\n\r\n axios.post(familyDetilsUrl(), familyDetails, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n //toggleTabVertical(tabId + 1)\r\n\r\n var dob = new Date($('#txtdob1').val());\r\n var today = new Date();\r\n var age = Math.floor((today - dob) / (365.25 * 24 * 60 * 60 * 1000));\r\n\r\n if (age > 18 && $(\"#chkPAN1\").prop('checked') == false) {\r\n toggleTabVertical(tabId + 3);\r\n }\r\n else if (age > 18 && $(\"#chkPAN1\").prop('checked') == true) {\r\n toggleTabVertical(tabId + 2);\r\n }\r\n else if (age < 18) {\r\n toggleTabVertical(tabId + 1);\r\n }\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n }\r\n })\r\n }\r\n else if (tabId == 3) {\r\n\r\n //toggleTabVertical(tabId + 1);\r\n //return;\r\n\r\n var RelatedPersonType = \"\";\r\n if ($(\"#chkguardian\").prop('checked') == true) {\r\n RelatedPersonType = RelatedPersonType + \"Guardian of Minor\" + \", \";\r\n }\r\n else {\r\n RelatedPersonType.replace(\"Guardian of Minor\" + \", \");\r\n }\r\n\r\n if ($(\"#chkassignee\").prop('checked') == true) {\r\n RelatedPersonType = RelatedPersonType + \"Assignee\" + \", \";\r\n }\r\n else {\r\n RelatedPersonType.replace(\"Assignee\" + \", \");\r\n }\r\n\r\n if ($(\"#chkauthorized\").prop('checked') == true) {\r\n RelatedPersonType = RelatedPersonType + \"Authorized representative\" + \", \";\r\n }\r\n else {\r\n RelatedPersonType.replace(\"Authorized representative\" + \", \");\r\n }\r\n\r\n relatedPerson.RegistrationId = localStorage.getItem('RegistrationId');\r\n relatedPerson.RelatedPersonTitle = $('#ddlrelatedpersonchoose :selected').text();\r\n relatedPerson.RelatedPeronFirstName = $('#txtrelatedpersonfirstname').val().trim();\r\n relatedPerson.RelatedPeronMiddleName = $('#txtrelatedpersonmiddlename').val().trim();\r\n relatedPerson.RelatedPeronLastName = $('#txtrelatedpersonlastname').val().trim();\r\n relatedPerson.RelatedPersonCustomerRelation = $('#txtcustomerrelation').val().trim();\r\n relatedPerson.RelatedPersonType = RelatedPersonType;\r\n relatedPerson.RelatedPersonPANNo = $('#txtRelatedPan').val().trim();\r\n relatedPerson.RelatedPersonAadhaarNo = $('#txtRelatedAadhaar').val().trim();\r\n relatedPerson.RelatedPersonCourtOrderNo = $('#txtRelatedCourtOrderNo').val().trim();\r\n\r\n axios.post(relatedPersonDetilsUrl(), relatedPerson, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n if ($(\"#chkPAN1\").prop('checked') == true) {\r\n toggleTabVertical(tabId + 1);\r\n }\r\n else if ($(\"#chkPAN1\").prop('checked') == false) {\r\n toggleTabVertical(tabId + 2);\r\n }\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n }\r\n })\r\n }\r\n else if (tabId == 4) {\r\n\r\n //toggleTabVertical(tabId + 1);\r\n //return;\r\n\r\n var DeclarantAssessedTax = false;\r\n\r\n if ($(\"#rbaccessedtaxyes\").prop(\"checked\")) {\r\n DeclarantAssessedTax = true;\r\n }\r\n else if ($(\"#rbaccessedtaxno\").prop(\"checked\")) {\r\n DeclarantAssessedTax = false;\r\n }\r\n\r\n form60.RegistrationId = localStorage.getItem('RegistrationId');\r\n form60.DeclarantDocuments = \"\";\r\n form60.DeclarantTransactionParticulars = $('#txttransactionparticulars').val().trim();\r\n form60.DeclarantAmountofTransaction = $('#txttransactionsamount').val().trim();\r\n form60.DeclarantAssessedTax = DeclarantAssessedTax;\r\n form60.DetailsOfIncomeTax = $('#txtdetailsofincometax').val().trim();\r\n form60.ReasonForNoPan = $('#txtreasonfornopan').val().trim();\r\n\r\n axios.post(form60Url(), form60, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n toggleTabVertical(tabId + 1)\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n }\r\n })\r\n }\r\n else if (tabId == 5) {\r\n\r\n //toggleTabVertical(tabId + 1);\r\n //return;\r\n\r\n debugger;\r\n\r\n if ($('#ddloccupationdetails :selected').text() == \"Businessman\") {\r\n\r\n if ($('#txtlineofnusiness').val().trim() == \"\") {\r\n $('#txtlineofnusiness').focus();\r\n ErrorMessage(\"Line of Business is required!\");\r\n return;\r\n }\r\n else if ($('#txtbusinessname').val().trim() == \"\") {\r\n $('#txtbusinessname').focus();\r\n ErrorMessage(\"Business Name is required!\");\r\n return;\r\n }\r\n else if ($('#txtstartbusinessdate').val().trim() == \"\") {\r\n $('#txtstartbusinessdate').focus();\r\n ErrorMessage(\"Date of starting business is required!\");\r\n return;\r\n }\r\n else if ($('#txtbussinessaddress1').val().trim() == \"\") {\r\n $('#txtbussinessaddress1').focus();\r\n ErrorMessage(\"Address1 required!\");\r\n return;\r\n }\r\n else if ($('#txtbussinessaddress2').val().trim() == \"\") {\r\n $('#txtbussinessaddress2').focus();\r\n ErrorMessage(\"Address2 required!\");\r\n return;\r\n }\r\n else if ($('#txtbussinessaddress3').val().trim() == \"\") {\r\n $('#txtbussinessaddress3').focus();\r\n ErrorMessage(\"Address3 required!\");\r\n return;\r\n }\r\n }\r\n\r\n if ($(\"#rbtwowheeler\").prop(\"checked\")) {\r\n if ($('#txttwowheelermonth').val().trim() == \"\") {\r\n $('#txttwowheelermonth').focus();\r\n ErrorMessage(\"Two Wheeler month is required!\");\r\n return;\r\n }\r\n else if ($('#txttwowheeleryear').val().trim() == \"\") {\r\n $('#txttwowheeleryear').focus();\r\n ErrorMessage(\"Two Wheeler year is required!\");\r\n return;\r\n }\r\n else if (parseInt($('#txttwowheelermonth').val().trim()) > 12) {\r\n $('#txttwowheelermonth').focus();\r\n ErrorMessage(\"Two Wheeler month should be valid!\");\r\n return;\r\n }\r\n\r\n if (parseInt($('#txttwowheeleryear').val().trim()) > 2050) {\r\n $('#txttwowheeleryear').focus();\r\n ErrorMessage(\"Two Wheeler year should be valid!\");\r\n return;\r\n }\r\n }\r\n else if ($(\"#rbcar\").prop(\"checked\")) {\r\n if ($('#txtcarmonth').val().trim() == \"\") {\r\n $('#txtcarmonth').focus();\r\n ErrorMessage(\"Car month is required!\");\r\n return;\r\n }\r\n else if ($('#txtcaryear').val().trim() == \"\") {\r\n $('#txtcaryear').focus();\r\n ErrorMessage(\"Car year is required!\");\r\n return;\r\n }\r\n else if (parseInt($('#txtcarmonth').val().trim()) > 12) {\r\n $('#txtcarmonth').focus();\r\n ErrorMessage(\"Car month should be valid!\");\r\n return;\r\n }\r\n\r\n if (parseInt($('#txtcaryear').val().trim()) > 2050) {\r\n $('#txtcaryear').focus();\r\n ErrorMessage(\"Car year should be valid!\");\r\n return;\r\n }\r\n }\r\n\r\n else if ($(\"#rbother\").prop(\"checked\")) {\r\n if ($('#txtothermonth').val().trim() == \"\") {\r\n $('#txtothermonth').focus();\r\n ErrorMessage(\"Other month is required!\");\r\n return;\r\n }\r\n else if ($('#txtotheryear').val().trim() == \"\") {\r\n $('#txtotheryear').focus();\r\n ErrorMessage(\"Other year is required!\");\r\n return;\r\n }\r\n else if (parseInt($('#txtothermonth').val().trim()) > 12) {\r\n $('#txtothermonth').focus();\r\n ErrorMessage(\"Other month should be valid!\");\r\n return;\r\n }\r\n\r\n if (parseInt($('#txtotheryear').val().trim()) > 2050) {\r\n $('#txtotheryear').focus();\r\n ErrorMessage(\"Other year should be valid!\");\r\n return;\r\n }\r\n }\r\n\r\n var BornNonIndia = '';\r\n var TaxResidenceNonIndia = '';\r\n var VehicleType = '';\r\n var CarPurchaseYear = '';\r\n var InterestedIn = '';\r\n\r\n if ($(\"#rbbornyes\").prop(\"checked\")) {\r\n BornNonIndia = \"true\";\r\n }\r\n else if ($(\"#rbbornno\").prop(\"checked\")) {\r\n BornNonIndia = \"false\";\r\n }\r\n\r\n if ($(\"#rbtaxresidenceyes\").prop(\"checked\")) {\r\n TaxResidenceNonIndia = \"true\";\r\n }\r\n else if ($(\"#rbtaxresidenceno\").prop(\"checked\")) {\r\n TaxResidenceNonIndia = \"false\";\r\n }\r\n\r\n if ($(\"#rbtwowheeler\").prop(\"checked\")) {\r\n VehicleType = 'Two Wheeler';\r\n CarPurchaseYear = $('#txttwowheelermonth').val() + '-' + $('#txttwowheeleryear').val();\r\n }\r\n else if ($(\"#rbcar\").prop(\"checked\")) {\r\n VehicleType = 'Car';\r\n CarPurchaseYear = $('#txtcarmonth').val() + '-' + $('#txtcaryear').val();\r\n }\r\n else if ($(\"#rbother\").prop(\"checked\")) {\r\n VehicleType = 'Other';\r\n CarPurchaseYear = $('#txtothermonth').val() + '-' + $('#txtotheryear').val();\r\n }\r\n\r\n if ($(\"#chkmutualfunds\").prop(\"checked\")) {\r\n InterestedIn = InterestedIn + \"Mutual Funds\" + \", \";\r\n }\r\n if ($(\"#chkhealthinsurance\").prop(\"checked\")) {\r\n InterestedIn = InterestedIn + \"Health Insurance\" + \", \";\r\n }\r\n if ($(\"#chkgeneralinsurance\").prop(\"checked\")) {\r\n InterestedIn = InterestedIn + \"General Insurance\" + \", \";\r\n }\r\n if ($(\"#chkdemat\").prop(\"checked\")) {\r\n InterestedIn = InterestedIn + \"Demat\" + \", \";\r\n }\r\n if ($(\"#chkpmsby\").prop(\"checked\")) {\r\n InterestedIn = InterestedIn + \"Pradhan Mantri Suraksha Bima Yojana (PMSBY)\" + \", \";\r\n }\r\n if ($(\"#chkpmjjby\").prop(\"checked\")) {\r\n InterestedIn = InterestedIn + \"Pradhan Mantri Jeevan Jyoti Bima Yojana (PMJJBY)\" + \", \";\r\n }\r\n\r\n additionalDetails.RegistrationId = localStorage.getItem('RegistrationId');\r\n additionalDetails.FundsExpectedOrigin = $('#ddlfundsforcredit :selected').text();\r\n additionalDetails.FundsUtilisationExpected = $('#ddlfundsbydebit :selected').text();\r\n additionalDetails.OtherBankAccounts = $('#ddlotherbanksaccounts :selected').text();\r\n additionalDetails.Turnover = $('#txtturnover').val().trim();\r\n additionalDetails.AverageIncome = $('#txtaverageincome').val().trim();\r\n additionalDetails.AverageBalance = $('#txtexpectedincome').val().trim();\r\n additionalDetails.Education = $('#ddleducation :selected').text();\r\n additionalDetails.Religion = $('#ddlreligion :selected').text();\r\n additionalDetails.OccupationDetails = $('#ddloccupationdetails :selected').text();\r\n additionalDetails.LineOfBusiness = $('#txtlineofnusiness').val().trim();\r\n additionalDetails.BusinessName = $('#txtbusinessname').val().trim();\r\n additionalDetails.BusinessStartDate = $('#txtstartbusinessdate').val();\r\n additionalDetails.BusinessAddress1 = $('#txtbussinessaddress1').val().trim();\r\n additionalDetails.BusinessAddress2 = $('#txtbussinessaddress2').val().trim();\r\n additionalDetails.BusinessAddress3 = $('#txtbussinessaddress3').val().trim();\r\n additionalDetails.BusinessTelNo = $('#txtofficecontact').val().trim();\r\n additionalDetails.BusinessMobileNo = $('#txtofficemobileno').val().trim();\r\n additionalDetails.BusinessAnnualIncome = $('#ddlannualincome :selected').text();\r\n additionalDetails.BusinessIncomeSource = $('#txtsourceofincome').val().trim();\r\n additionalDetails.BusinessWealthSource = $('#txtsourceofwealth').val().trim();\r\n additionalDetails.BusinessEstimatedValue = $('#ddlestimatedvalue :selected').text();\r\n additionalDetails.BusinessAssetDetails = $('#ddlassetdetails :selected').text();\r\n additionalDetails.BornNonIndia = BornNonIndia;\r\n additionalDetails.TaxResidenceNonIndia = TaxResidenceNonIndia;\r\n additionalDetails.BusinessVehicleType = VehicleType;\r\n additionalDetails.BusinessCarPurchaseYear = CarPurchaseYear;\r\n additionalDetails.BusinessCarMaker = $('#txtcarmaker').val().trim();\r\n additionalDetails.InterestedIn = InterestedIn;\r\n\r\n axios.post(additionalDetailsUrl(), additionalDetails, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n toggleTabVertical(tabId + 1)\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n }\r\n })\r\n\r\n }\r\n else if (tabId == 6) {\r\n\r\n //toggleTabVertical(tabId + 1);\r\n //return;\r\n\r\n var DebitCard, SMSBanking, MobileBanking, StatementOnEmail, AadhaarCardSeeding, InterntBanking = \"false\";\r\n\r\n if ($(\"#switchdebitcard\").prop(\"checked\"))\r\n DebitCard = \"true\"\r\n else\r\n DebitCard = \"false\"\r\n\r\n if ($(\"#switchsmsbanking\").prop(\"checked\"))\r\n SMSBanking = \"true\"\r\n else\r\n SMSBanking = \"false\"\r\n\r\n if ($(\"#switchmobilebanking\").prop(\"checked\"))\r\n MobileBanking = \"true\"\r\n else\r\n MobileBanking = \"false\"\r\n\r\n if ($(\"#switchemail\").prop(\"checked\"))\r\n StatementOnEmail = \"true\"\r\n else\r\n StatementOnEmail = \"false\"\r\n\r\n if ($(\"#switchaadhaarcard\").prop(\"checked\"))\r\n AadhaarCardSeeding = \"true\"\r\n else\r\n AadhaarCardSeeding = \"false\"\r\n\r\n if ($(\"#switchinternetbanking\").prop(\"checked\"))\r\n InterntBanking = \"true\"\r\n else\r\n InterntBanking = \"false\"\r\n\r\n technoProducts.RegistrationId = localStorage.getItem('RegistrationId');\r\n technoProducts.DebitCard = DebitCard;\r\n technoProducts.SMSBanking = SMSBanking;\r\n technoProducts.MobileBanking = MobileBanking;\r\n technoProducts.StatementOnEmail = StatementOnEmail;\r\n technoProducts.AadhaarCardSeeding = AadhaarCardSeeding;\r\n technoProducts.InterntBanking = InterntBanking;\r\n\r\n axios.post(technoProductsUrl(), technoProducts, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n toggleTabVertical(tabId + 1)\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n }\r\n })\r\n }\r\n else if (tabId == 7) {\r\n\r\n //toggleTabVertical(tabId + 1);\r\n //return;\r\n\r\n var AccountOperations = \"\";\r\n if ($(\"#rbself\").prop(\"checked\")) {\r\n AccountOperations = \"Self\";\r\n }\r\n else if ($(\"#rbeither\").prop(\"checked\")) {\r\n AccountOperations = \"Either or surviver\";\r\n }\r\n else if ($(\"#rbformer\").prop(\"checked\")) {\r\n AccountOperations = \"Former or surviver\";\r\n }\r\n else if ($(\"#rbanyone\").prop(\"checked\")) {\r\n AccountOperations = \"Anyone or surviver\";\r\n }\r\n else if ($(\"#rbjointly\").prop(\"checked\")) {\r\n AccountOperations = \"Jointly by all\";\r\n }\r\n\r\n nominationDetails.RegistrationId = localStorage.getItem('RegistrationId');\r\n nominationDetails.NatureofDeposit = $('#txtnatureofdeposit').val().trim();\r\n nominationDetails.DistinguishingNo = $('#txtdistinguishingnumber').val().trim();\r\n nominationDetails.AdditionalDetails = $('#txtadditionaldetails').val().trim();\r\n nominationDetails.NomineeFirstName = $('#txtnomineefirstname').val().trim();\r\n nominationDetails.NomineeMiddleName = $('#txtnomineemiddlename').val().trim();\r\n nominationDetails.NomineeLastName = $('#txtnomineelastname').val().trim();\r\n nominationDetails.NomineeAddress1 = $('#txtnomineeaddress1').val().trim();\r\n nominationDetails.NomineeAddress2 = $('#txtnomineeaddress2').val().trim();\r\n nominationDetails.NomineeAddress3 = $('#txtnomineeaddress3').val().trim();\r\n nominationDetails.Relationship = $('#txtnomineerelationship').val().trim();\r\n nominationDetails.Age = $('#txtnomineeage').val().trim();\r\n nominationDetails.MinorDOB = $('#txtnomineeminordob').val();\r\n nominationDetails.AccountOperations = AccountOperations;\r\n\r\n axios.post(nominationDetailsUrl(), nominationDetails, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n toggleTabVertical(tabId + 1)\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n }\r\n })\r\n }\r\n else if (tabId == 8) {\r\n\r\n const createAccountModel = {\r\n RegistrationId: localStorage.getItem('RegistrationId')\r\n }\r\n\r\n try {\r\n axios.post(submitAccountUrl(), createAccountModel, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n var fileName = localStorage.getItem(\"ReferenceNo\") + \".pdf\";\r\n DownloadRegistrationPDF(fileName);\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n }\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n }\r\n catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n }\r\n\r\n const [formRows, setFormRows] = useState([{ id: 1 }]);\r\n\r\n const onAddFormRow = () => {\r\n\r\n var validUsersCount = validation.values.users.length\r\n\r\n const modifiedRows = [...formRows];\r\n\r\n //if (modifiedRows.length + 1 <= validUsersCount) {\r\n // modifiedRows.push({ id: modifiedRows.length + 1 });\r\n // setFormRows(modifiedRows);\r\n //}\r\n modifiedRows.push({ id: modifiedRows.length + 1 });\r\n\r\n\r\n setFormRows(modifiedRows);\r\n //validation.values.users.push(objCustomer);\r\n //console.log(validation.values.users)\r\n\r\n console.log(formRows)\r\n };\r\n\r\n const [activeTab, setactiveTab] = useState(1)\r\n const [activeTabVartical, setoggleTabVertical] = useState(1)\r\n\r\n const [passedSteps, setPassedSteps] = useState([1])\r\n const [passedStepsVertical, setPassedStepsVertical] = useState([1])\r\n\r\n function toggleTab(tab) {\r\n if (activeTab !== tab) {\r\n var modifiedSteps = [...passedSteps, tab]\r\n if (tab >= 1 && tab <= 4) {\r\n setactiveTab(tab)\r\n setPassedSteps(modifiedSteps)\r\n }\r\n }\r\n }\r\n\r\n function toggleTabVertical(tab) {\r\n if (activeTabVartical !== tab) {\r\n var modifiedSteps = [...passedStepsVertical, tab]\r\n\r\n if (tab >= 1 && tab <= 8) {\r\n setoggleTabVertical(tab)\r\n setPassedStepsVertical(modifiedSteps)\r\n }\r\n }\r\n }\r\n\r\n function FillAddress(id) {\r\n debugger;\r\n\r\n if ($(\"#chkSameAs\" + id).prop(\"checked\")) {\r\n let comAddress1 = $('#txtCommunicationAddress1' + id).val();\r\n let comAddress2 = $('#txtCommunicationAddress2' + id).val();\r\n let comAddress3 = $('#txtCommunicationAddress3' + id).val();\r\n let comCity = $('#txtCommunicationCity' + id).val();\r\n let comPin = $('#txtCommunicationPincode' + id).val();\r\n let comState = $('#ddlCommunicationState' + id).val();\r\n\r\n $('#txtPermanentAddress1' + id).val(comAddress1);\r\n $('#txtPermanentAddress2' + id).val(comAddress2);\r\n $('#txtPermanentAddress3' + id).val(comAddress3);\r\n $('#txtPermanentCity' + id).val(comCity);\r\n $('#txtPermanentPincode' + id).val(comPin);\r\n $('#ddlPermanentState' + id).val(comState);\r\n\r\n validation.values.users[id - 1].permanentaddress = comAddress1;\r\n validation.values.users[id - 1].permanentstate = comState;\r\n validation.values.users[id - 1].permanentcity = comCity;\r\n validation.values.users[id - 1].permanentpincode = comPin;\r\n }\r\n else {\r\n $('#txtPermanentAddress1' + id).val('');\r\n $('#txtPermanentAddress2' + id).val('');\r\n $('#txtPermanentAddress3' + id).val('');\r\n $('#txtPermanentCity' + id).val('');\r\n $('#txtPermanentPincode' + id).val('');\r\n $('#ddlPermanentState' + id).val('');\r\n }\r\n }\r\n\r\n // Form validation\r\n const validation = useFormik({\r\n\r\n enableReinitialize: true,\r\n\r\n initialValues: {\r\n accounttype: '1',\r\n entitytype: '1',\r\n location: '',\r\n branch: '',\r\n fatherchoose: '',\r\n fatherlastname: '',\r\n fatherfirstname: '',\r\n motherchoose: '',\r\n motherlastname: '',\r\n motherfirstname: '',\r\n maidenchoose: '',\r\n maidenlastname: '',\r\n maidenfirstname: '',\r\n\r\n users: [objCustomerMainholder, objCustomer],\r\n\r\n pancard: '',\r\n mobileno: '',\r\n adharcard: '',\r\n mobilenumber: '',\r\n relatedpersonchoose: '',\r\n relatedpersonlastname: '',\r\n relatedpersonfirstname: '',\r\n relatedpersonrelation: '',\r\n relatedpersonpan: '',\r\n relatedpersonaadhar: '',\r\n\r\n transactionparticulars: '',\r\n transactionsamount: '',\r\n detailsofincometax: '',\r\n reasonfornopan: '',\r\n\r\n nomineenatureofdeposit: '',\r\n nomineedistinguishingnumber: '',\r\n nomineelastname: '',\r\n nomineefirstname: '',\r\n nomineeaddress1: '',\r\n nomineerelation: '',\r\n\r\n annualactivity: '',\r\n averageincome: '',\r\n expectedincome: '',\r\n officecontact: '',\r\n officemobileno: '',\r\n twowheelermonth: '',\r\n twowheeleryear: '',\r\n carmonth: '',\r\n caryear: '',\r\n anyothermonth: '',\r\n anyotheryear: ''\r\n },\r\n validationSchema: Yup.object({\r\n accounttype: Yup.string().required(\"Account Type required\"),\r\n entitytype: Yup.string().required(\"Entity Type required\"),\r\n location: Yup.string().required(\"Location required\"),\r\n branch: Yup.string().required(\"Branch required\"),\r\n fatherchoose: Yup.string().required(\"Father Title required\"),\r\n fatherlastname: Yup.string().required(\"Father Last Name required\"),\r\n fatherfirstname: Yup.string().required(\"Father First name required\"),\r\n motherchoose: Yup.string().required(\"Mother Title required\"),\r\n motherlastname: Yup.string().required(\"Mother Last name required\"),\r\n motherfirstname: Yup.string().required(\"Mother First name required\"),\r\n maidenchoose: Yup.string().required(\"Maiden Title required\"),\r\n maidenlastname: Yup.string().required(\"Maiden Last name required\"),\r\n maidenfirstname: Yup.string().required(\"Maiden First name required\"),\r\n\r\n users: Yup.array().of(\r\n Yup.object().shape({\r\n personalchoose: Yup.string().required(\"Title required\"),\r\n firstname: Yup.string().required(\"First Name required\"),\r\n middlename: Yup.string().required(\"Middle Name required\"),\r\n lastname: Yup.string().required(\"Last Name required\"),\r\n phoneno: Yup.string().required(\"Phone No. required\"),\r\n gender: Yup.string().required(\"Gender required\"),\r\n dob: Yup.string().required(\"Date of Birth required\"),\r\n maritalstatus: Yup.string().required(\"Maratial Status required\"),\r\n nationality: Yup.string().required(\"Nationality required\"),\r\n occupation: Yup.string().required(\"Occupation required\"),\r\n communicationaddress: Yup.string().required(\"Address 1 required\"),\r\n communicationstate: Yup.string().required(\"State required\"),\r\n communicationcity: Yup.string().required(\"City required\"),\r\n communicationpincode: Yup.number().required(\"Pincode required\"),\r\n permanentaddress: Yup.string().required(\"Address 1 required\"),\r\n permanentstate: Yup.string().required(\"State required\"),\r\n permanentcity: Yup.string().required(\"City required\"),\r\n permanentpincode: Yup.number().required(\"Pincode required\"),\r\n poi: Yup.string().required(\"POI required\"),\r\n poipoa: Yup.string().required(\"POI/POA required\"),\r\n pan: Yup.string().required(\"PAN No. required\"),\r\n panfile: Yup.string().required(\"PAN document required\"),\r\n })\r\n ),\r\n\r\n pancard: Yup.string().required(\"Please Enter A Valid PAN No\"),\r\n mobileno: Yup.number().required(\"10 Digit Mobile Number\"),\r\n adharcard: Yup.number().required(\"Please enter your ADHAR No\"),\r\n mobilenumber: Yup.number().required(\" Enter His Full Name\"),\r\n\r\n relatedpersonchoose: Yup.string().required(\"Title required\"),\r\n relatedpersonlastname: Yup.string().required(\"Last Name required\"),\r\n relatedpersonfirstname: Yup.string().required(\"First Name required\"),\r\n relatedpersonrelation: Yup.string().required(\"Customer Relation required\"),\r\n relatedpersonpan: Yup.string().required(\"PAN required\"),\r\n relatedpersonaadhar: Yup.string().required(\"Aadhaar required\"),\r\n\r\n transactionparticulars: Yup.string().required(\"Transaction Particulars required\"),\r\n transactionsamount: Yup.string().required(\"Amount of Transactions required\"),\r\n detailsofincometax: Yup.string().required(\"Details of income required\"),\r\n reasonfornopan: Yup.string().required(\"Reason for not having PAN required\"),\r\n\r\n nomineenatureofdeposit: Yup.string().required(\"Nature of deposit required\"),\r\n nomineedistinguishingnumber: Yup.string().required(\"Distinguishing number required\"),\r\n nomineelastname: Yup.string().required(\"Last Name required\"),\r\n nomineefirstname: Yup.string().required(\"First Name required\"),\r\n nomineeaddress1: Yup.string().required(\"Address1 required\"),\r\n nomineerelation: Yup.string().required(\"Relation required\"),\r\n }),\r\n\r\n onSubmit: (values) => {\r\n //console.log(\"values\", values);\r\n }\r\n });\r\n\r\n function CheckIsValidUser(controlValues) {\r\n\r\n //console.log(controlValues)\r\n //console.log(controlValues[0])\r\n var isCheckIfUndefined;\r\n\r\n var x = Object.keys(controlValues[0])\r\n const modifiedRows = [...formRows];\r\n\r\n\r\n controlValues.map((customer, i) => {\r\n isCheckIfUndefined = x.map(p => {\r\n if (customer[p] === \"\" || customer[p] === undefined)\r\n return true\r\n else\r\n return false\r\n })\r\n })\r\n\r\n var checkResponse = isCheckIfUndefined.includes(true)\r\n // console.log(checkResponse)\r\n return checkResponse\r\n\r\n }\r\n\r\n function CheckIsValid(controlValues) {\r\n debugger;\r\n //console.log(controlValues)\r\n //console.log(controlValues[0])\r\n var x = Object.keys(controlValues[0])\r\n var isCheckIfUndefined = x.map(p => {\r\n if (controlValues[0][p] === \"\" || controlValues[0][p] === undefined) {\r\n if (p == \"pan\" && controlValues[0][p] == \"\" && $(`#chkPAN1`).prop('checked') || p == \"panfile\" && controlValues[0][p] == \"\" && $(`#chkPAN1`).prop('checked')) {\r\n return false\r\n }\r\n else if (p == \"email\") {\r\n return false;\r\n }\r\n return true\r\n }\r\n else\r\n return false\r\n })\r\n\r\n var checkResponse = isCheckIfUndefined.includes(true)\r\n return checkResponse\r\n }\r\n\r\n $(\".d-block\").flatpickr({\r\n dateFormat: \"d-M-Y\",\r\n altFormat: \"F j, Y\",\r\n maxDate: \"today\",\r\n disableMobile: \"true\"\r\n });\r\n\r\n $(\".maxFuture\").flatpickr({\r\n dateFormat: \"d-M-Y\",\r\n disableMobile: \"true\"\r\n });\r\n\r\n const tabHeading = {\r\n color: \"#9a084f\",\r\n fontWeight: \"bold\"\r\n }\r\n\r\n const label = {\r\n color: \"black\"\r\n }\r\n\r\n const formBackground = {\r\n borderRadius: 8,\r\n flex: 1,\r\n //backgroundColor: \"rgb(247 242 242)\",\r\n padding: \"15px\"\r\n }\r\n\r\n const cardBackground = {\r\n borderRadius: 8,\r\n flex: 1,\r\n //backgroundColor: \"rgb(247 242 242)\",\r\n }\r\n\r\n const formButton = {\r\n marginLeft: \"20px\",\r\n backgroundColor: \"#9a084f\",\r\n fontSize: \"small\",\r\n borderRadius: \"0.50rem\"\r\n }\r\n\r\n const formButtonFirstPage = {\r\n marginLeft: \"90px\",\r\n backgroundColor: \"#9a084f\",\r\n fontSize: \"larger\",\r\n borderRadius: \"0.50rem\"\r\n }\r\n\r\n const formMandatory = {\r\n color: \"red\",\r\n fontWeight: \"bold\"\r\n }\r\n\r\n return (\r\n
\r\n\r\n \r\n
\r\n JSB-Registration\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {/*
*/}\r\n {/* */}\r\n {/* */}\r\n {/*

*/}\r\n {/*
*/}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/*
*/}\r\n {/* */}\r\n {/*
*/}\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {\r\n toggleTabVertical(1)\r\n }}\r\n disabled={!(passedStepsVertical || []).includes(1)}\r\n >\r\n 1 Personal Details\r\n \r\n \r\n \r\n {\r\n toggleTabVertical(2)\r\n }}\r\n disabled={!(passedStepsVertical || []).includes(2)}\r\n >\r\n 2{\" \"}\r\n Family Details\r\n \r\n \r\n \r\n {\r\n toggleTabVertical(3)\r\n }}\r\n disabled={!(passedStepsVertical || []).includes(3)}\r\n >\r\n 3 Realated person\r\n \r\n \r\n \r\n {\r\n toggleTabVertical(4)\r\n }}\r\n disabled={!(passedStepsVertical || []).includes(4)}\r\n >\r\n 4 Form no 60/61\r\n \r\n \r\n \r\n {\r\n toggleTabVertical(5)\r\n }}\r\n disabled={!(passedStepsVertical || []).includes(5)}\r\n >\r\n 5 Additional\r\n Details\r\n \r\n \r\n \r\n {\r\n toggleTabVertical(6)\r\n }}\r\n disabled={!(passedStepsVertical || []).includes(6)}\r\n >\r\n 6 Techno products\r\n \r\n \r\n \r\n {\r\n toggleTabVertical(7)\r\n }}\r\n disabled={!(passedStepsVertical || []).includes(7)}\r\n >\r\n 7 Nomination\r\n \r\n \r\n \r\n {\r\n toggleTabVertical(8)\r\n }}\r\n disabled={!(passedStepsVertical || []).includes(8)}\r\n >\r\n 8 Applicant\r\n Declaration\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\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 Registration\r\n","import MetaTags from \"react-meta-tags\";\r\nimport React, { useState, useEffect } from \"react\"\r\nimport { Row, Col, CardBody, Card, Container } from \"reactstrap\";\r\nimport banner from \"../../assets/images/banner/banner.jpg\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nconst success = () => {\r\n const history = useHistory();\r\n const [referenceNo, setReferenceNo] = useState('');\r\n\r\n function GoToLogin() {\r\n history.push(\"/login\");\r\n }\r\n\r\n const cardBackground = {\r\n borderRadius: 15,\r\n flex: 1,\r\n marginTop: \"20px\",\r\n boxShadow: \"#504f4f6b 5px 5px 20px\",\r\n marginLeft: \"150px\",\r\n marginRight: \"150px\"\r\n }\r\n\r\n useEffect(() => {\r\n setReferenceNo(localStorage.getItem(\"ReferenceNo\"));\r\n localStorage.clear();\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n JSB-Success\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\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 success\r\n\r\n\r\n","import React from \"react\"\r\nimport PropTypes from 'prop-types';\r\nimport { Circles } from \"react-loader-spinner\";\r\n\r\nfunction FormLoader({ loading }) {\r\n return (\r\n loading ?\r\n //
\r\n // \r\n //
\r\n
\r\n \r\n :\r\n /*
*/\r\n
\r\n \r\n
\r\n )\r\n};\r\n\r\nFormLoader.propTypes = {\r\n loading: PropTypes.bool\r\n}\r\n\r\nexport default FormLoader\r\n","import React, { useState, useEffect } from \"react\"\r\nimport axios from 'axios';\r\nimport authHeader from \"helpers/authHeader\";\r\nimport MetaTags from \"react-meta-tags\"\r\nimport Flatpickr from \"react-flatpickr\";\r\nimport {\r\n Card,\r\n CardBody,\r\n Table,\r\n Col,\r\n Container,\r\n Form,\r\n FormGroup,\r\n Input,\r\n InputGroup,\r\n Label,\r\n NavItem,\r\n NavLink,\r\n Row,\r\n Button,\r\n TabContent,\r\n TabPane,\r\n FormFeedback,\r\n\r\n} from \"reactstrap\"\r\n\r\n// Formik validation\r\nimport * as Yup from \"yup\";\r\nimport { ErrorMessage, useFormik } from \"formik\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport classnames from \"classnames\";\r\nimport toastr from \"toastr\";\r\nimport \"toastr/build/toastr.min.css\";\r\nimport { getAPIUrl, updatePersonalDetailsUrl, familyDetilsUrl, relatedPersonDetilsUrl, form60Url, updateAccountHoldersStatusUrl, getFirstAccountHolderDetailsUrl, additionalDetailsUrl, getCustomerAdditionalDetailsUrl } from \"../../helpers/fakebackend_helper\";\r\n\r\n//redux\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\n\r\n//Get States\r\nimport { getState } from \"../../store/actions\";\r\n\r\n//Get Occupation\r\nimport { getOccupation } from \"../../store/actions\";\r\n\r\n//GetAll RelatedPersonType\r\nimport { getRelatedPersonType } from \"../../store/actions\";\r\n\r\n//GetAll Poi\r\nimport { getPoi } from \"../../store/actions\";\r\n\r\n//GetAll Education\r\nimport { getEducation } from \"../../store/actions\";\r\n\r\n//GetAll OccupationDetails\r\nimport { getOccupationDetails } from \"../../store/actions\";\r\n\r\n//GetAll AssetDetails\r\nimport { getAssetDetails } from \"../../store/actions\";\r\n\r\n//GetAll OtherBankAccounts\r\nimport { getOtherBankAccounts } from \"../../store/actions\";\r\n\r\n\r\nimport TableRows from './TableRows';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst FirstHolder = () => {\r\n\r\n var getBase64 = async (file) => {\r\n return await new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = error => reject(error);\r\n });\r\n }\r\n\r\n //=============Define State====================\r\n const history = useHistory();\r\n\r\n const [branch, setBranch] = useState([]);\r\n const [showEasing, setshowEasing] = useState(\"swing\");\r\n const [hideEasing, sethideEasing] = useState(\"linear\");\r\n const [showMethod, setshowMethod] = useState(\"fadeIn\");\r\n const [hideMethod, sethideMethod] = useState(\"fadeOut\");\r\n const [showDuration, setshowDuration] = useState(300);\r\n const [hideDuration, sethideDuration] = useState(1000);\r\n const [timeOut, settimeOut] = useState(2000);\r\n const [extendedTimeOut, setextendedTimeOut] = useState(1000);\r\n\r\n const [firstHoldersData, setFirstHoldersData] = useState([]);\r\n const [emailError, setEmailError] = useState('');\r\n const [panError, setPanError] = useState('');\r\n const [aadharError, setAadharError] = useState('');\r\n const [isPreloader, setPreloader] = useState(false);\r\n const [date, setDate] = useState(new Date());\r\n \r\n function emailValidation(value) {\r\n debugger;\r\n const email = value.target.value;\r\n const regex = /^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\r\n if (!email || regex.test(email)\r\n === false) {\r\n setEmailError('Enter valid Email!')\r\n return false;\r\n }\r\n else {\r\n setEmailError('')\r\n return true;\r\n }\r\n }\r\n\r\n function panValidation(pan) {\r\n const regex = /^([A-Z]){5}([0-9]){4}([A-Z]){1}?$/;\r\n if (!pan || regex.test(pan) === false) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n\r\n //function aadharValidation(uid) {\r\n // if (uid.length != 12) {\r\n // return false;\r\n // }\r\n\r\n // var Verhoeff = {\r\n // \"d\": [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\r\n // [1, 2, 3, 4, 0, 6, 7, 8, 9, 5],\r\n // [2, 3, 4, 0, 1, 7, 8, 9, 5, 6],\r\n // [3, 4, 0, 1, 2, 8, 9, 5, 6, 7],\r\n // [4, 0, 1, 2, 3, 9, 5, 6, 7, 8],\r\n // [5, 9, 8, 7, 6, 0, 4, 3, 2, 1],\r\n // [6, 5, 9, 8, 7, 1, 0, 4, 3, 2],\r\n // [7, 6, 5, 9, 8, 2, 1, 0, 4, 3],\r\n // [8, 7, 6, 5, 9, 3, 2, 1, 0, 4],\r\n // [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]],\r\n // \"p\": [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\r\n // [1, 5, 7, 6, 2, 8, 3, 0, 9, 4],\r\n // [5, 8, 0, 3, 7, 9, 6, 1, 4, 2],\r\n // [8, 9, 1, 6, 0, 4, 3, 5, 2, 7],\r\n // [9, 4, 5, 3, 1, 2, 6, 8, 7, 0],\r\n // [4, 2, 8, 6, 5, 7, 3, 9, 0, 1],\r\n // [2, 7, 9, 3, 8, 0, 6, 4, 1, 5],\r\n // [7, 0, 4, 6, 9, 1, 3, 2, 5, 8]],\r\n // \"j\": [0, 4, 3, 2, 1, 5, 6, 7, 8, 9],\r\n // \"check\": function (str) {\r\n // var c = 0;\r\n // str.replace(/\\D+/g, \"\").split(\"\").reverse().join(\"\").replace(/[\\d]/g, function (u, i) {\r\n // c = Verhoeff.d[c][Verhoeff.p[i % 8][parseInt(u, 10)]];\r\n // });\r\n // return c;\r\n\r\n // },\r\n // \"get\": function (str) {\r\n\r\n // var c = 0;\r\n // str.replace(/\\D+/g, \"\").split(\"\").reverse().join(\"\").replace(/[\\d]/g, function (u, i) {\r\n // c = Verhoeff.d[c][Verhoeff.p[(i + 1) % 8][parseInt(u, 10)]];\r\n // });\r\n // return Verhoeff.j[c];\r\n // }\r\n // };\r\n\r\n // String.prototype.verhoeffCheck = (function () {\r\n // var d = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\r\n // [1, 2, 3, 4, 0, 6, 7, 8, 9, 5],\r\n // [2, 3, 4, 0, 1, 7, 8, 9, 5, 6],\r\n // [3, 4, 0, 1, 2, 8, 9, 5, 6, 7],\r\n // [4, 0, 1, 2, 3, 9, 5, 6, 7, 8],\r\n // [5, 9, 8, 7, 6, 0, 4, 3, 2, 1],\r\n // [6, 5, 9, 8, 7, 1, 0, 4, 3, 2],\r\n // [7, 6, 5, 9, 8, 2, 1, 0, 4, 3],\r\n // [8, 7, 6, 5, 9, 3, 2, 1, 0, 4],\r\n // [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]];\r\n // var p = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\r\n // [1, 5, 7, 6, 2, 8, 3, 0, 9, 4],\r\n // [5, 8, 0, 3, 7, 9, 6, 1, 4, 2],\r\n // [8, 9, 1, 6, 0, 4, 3, 5, 2, 7],\r\n // [9, 4, 5, 3, 1, 2, 6, 8, 7, 0],\r\n // [4, 2, 8, 6, 5, 7, 3, 9, 0, 1],\r\n // [2, 7, 9, 3, 8, 0, 6, 4, 1, 5],\r\n // [7, 0, 4, 6, 9, 1, 3, 2, 5, 8]];\r\n\r\n // return function () {\r\n // var c = 0;\r\n // this.replace(/\\D+/g, \"\").split(\"\").reverse().join(\"\").replace(/[\\d]/g, function (u, i) {\r\n // c = d[c][p[i % 8][parseInt(u, 10)]];\r\n // });\r\n // return (c === 0);\r\n // };\r\n // })();\r\n\r\n // if (Verhoeff['check'](uid) === 0) {\r\n // return true;\r\n // } else {\r\n // return false;\r\n // }\r\n //}\r\n\r\n function aadharValidation(uid) {\r\n debugger;\r\n var regex = new RegExp(\"^[2-9]{1}[0-9]{3}[0-9]{4}[0-9]{4}$\");\r\n if (!uid || regex.test(uid) === false) {\r\n return false;\r\n }\r\n else {\r\n if (uid.length != 12) {\r\n return false;\r\n }\r\n\r\n var Verhoeff = {\r\n \"d\": [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\r\n [1, 2, 3, 4, 0, 6, 7, 8, 9, 5],\r\n [2, 3, 4, 0, 1, 7, 8, 9, 5, 6],\r\n [3, 4, 0, 1, 2, 8, 9, 5, 6, 7],\r\n [4, 0, 1, 2, 3, 9, 5, 6, 7, 8],\r\n [5, 9, 8, 7, 6, 0, 4, 3, 2, 1],\r\n [6, 5, 9, 8, 7, 1, 0, 4, 3, 2],\r\n [7, 6, 5, 9, 8, 2, 1, 0, 4, 3],\r\n [8, 7, 6, 5, 9, 3, 2, 1, 0, 4],\r\n [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]],\r\n \"p\": [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\r\n [1, 5, 7, 6, 2, 8, 3, 0, 9, 4],\r\n [5, 8, 0, 3, 7, 9, 6, 1, 4, 2],\r\n [8, 9, 1, 6, 0, 4, 3, 5, 2, 7],\r\n [9, 4, 5, 3, 1, 2, 6, 8, 7, 0],\r\n [4, 2, 8, 6, 5, 7, 3, 9, 0, 1],\r\n [2, 7, 9, 3, 8, 0, 6, 4, 1, 5],\r\n [7, 0, 4, 6, 9, 1, 3, 2, 5, 8]],\r\n \"j\": [0, 4, 3, 2, 1, 5, 6, 7, 8, 9],\r\n \"check\": function (str) {\r\n var c = 0;\r\n str.replace(/\\D+/g, \"\").split(\"\").reverse().join(\"\").replace(/[\\d]/g, function (u, i) {\r\n c = Verhoeff.d[c][Verhoeff.p[i % 8][parseInt(u, 10)]];\r\n });\r\n return c;\r\n\r\n },\r\n \"get\": function (str) {\r\n\r\n var c = 0;\r\n str.replace(/\\D+/g, \"\").split(\"\").reverse().join(\"\").replace(/[\\d]/g, function (u, i) {\r\n c = Verhoeff.d[c][Verhoeff.p[(i + 1) % 8][parseInt(u, 10)]];\r\n });\r\n return Verhoeff.j[c];\r\n }\r\n };\r\n\r\n String.prototype.verhoeffCheck = (function () {\r\n var d = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\r\n [1, 2, 3, 4, 0, 6, 7, 8, 9, 5],\r\n [2, 3, 4, 0, 1, 7, 8, 9, 5, 6],\r\n [3, 4, 0, 1, 2, 8, 9, 5, 6, 7],\r\n [4, 0, 1, 2, 3, 9, 5, 6, 7, 8],\r\n [5, 9, 8, 7, 6, 0, 4, 3, 2, 1],\r\n [6, 5, 9, 8, 7, 1, 0, 4, 3, 2],\r\n [7, 6, 5, 9, 8, 2, 1, 0, 4, 3],\r\n [8, 7, 6, 5, 9, 3, 2, 1, 0, 4],\r\n [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]];\r\n var p = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\r\n [1, 5, 7, 6, 2, 8, 3, 0, 9, 4],\r\n [5, 8, 0, 3, 7, 9, 6, 1, 4, 2],\r\n [8, 9, 1, 6, 0, 4, 3, 5, 2, 7],\r\n [9, 4, 5, 3, 1, 2, 6, 8, 7, 0],\r\n [4, 2, 8, 6, 5, 7, 3, 9, 0, 1],\r\n [2, 7, 9, 3, 8, 0, 6, 4, 1, 5],\r\n [7, 0, 4, 6, 9, 1, 3, 2, 5, 8]];\r\n\r\n return function () {\r\n var c = 0;\r\n this.replace(/\\D+/g, \"\").split(\"\").reverse().join(\"\").replace(/[\\d]/g, function (u, i) {\r\n c = d[c][p[i % 8][parseInt(u, 10)]];\r\n });\r\n return (c === 0);\r\n };\r\n })();\r\n\r\n if (Verhoeff['check'](uid) === 0) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n function passportValidation(passport) {\r\n debugger;\r\n var regex = new RegExp(\"^[A-PR-WY][1-9]\\\\d\\\\s?\\\\d{4}[1-9]$\");\r\n if (!passport || regex.test(passport) === false) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n function licenseValidation(license) {\r\n debugger;\r\n var regex = new RegExp(\"^(([A-Z]{2}[0-9]{2})( )|([A-Z]{2}-[0-9]{2}))((19|20)[0-9][0-9])[0-9]{7}$\");\r\n if (!license || regex.test(license) === false) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n function voterIDValidation(voterId) {\r\n debugger;\r\n var regex = /^([A-Z]){3}([0-9]){7}?$/g;\r\n if (!voterId || regex.test(voterId) === false) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n\r\n function getCustomerAge() {\r\n debugger;\r\n var dob = new Date(validation.values.dob);\r\n var today = new Date();\r\n var age = Math.floor((today - dob) / (365.25 * 24 * 60 * 60 * 1000));\r\n return age;\r\n }\r\n\r\n function SuccessMessage(message) {\r\n toastr.options = {\r\n positionClass: \"toast-top-center\",\r\n timeOut: timeOut,\r\n extendedTimeOut: extendedTimeOut,\r\n closeButton: true,\r\n debug: false,\r\n progressBar: false,\r\n preventDuplicates: false,\r\n newestOnTop: false,\r\n showEasing: showEasing,\r\n hideEasing: hideEasing,\r\n showMethod: showMethod,\r\n hideMethod: hideMethod,\r\n showDuration: showDuration,\r\n hideDuration: hideDuration\r\n };\r\n\r\n toastr.success(message, \"Information\");\r\n }\r\n\r\n function ErrorMessage(message) {\r\n toastr.options = {\r\n positionClass: \"toast-top-center\",\r\n timeOut: timeOut,\r\n extendedTimeOut: extendedTimeOut,\r\n closeButton: true,\r\n debug: false,\r\n progressBar: false,\r\n preventDuplicates: false,\r\n newestOnTop: false,\r\n showEasing: showEasing,\r\n hideEasing: hideEasing,\r\n showMethod: showMethod,\r\n hideMethod: hideMethod,\r\n showDuration: showDuration,\r\n hideDuration: hideDuration\r\n };\r\n\r\n toastr.error(message, \"Error\");\r\n }\r\n\r\n //GetAll OtherBankAccounts\r\n const { otherBankAccountsData } = useSelector(state => ({\r\n otherBankAccountsData: state.Registration.otherBankAccountsData,\r\n }));\r\n\r\n //GetAll Education\r\n const { educationData } = useSelector(state => ({\r\n educationData: state.Registration.educationData,\r\n }));\r\n\r\n //GetAll OccupationDetails\r\n const { occupationDetailsData } = useSelector(state => ({\r\n occupationDetailsData: state.Registration.occupationDetailsData,\r\n }));\r\n\r\n //GetAll AssetDetails\r\n const { assetDetailsData } = useSelector(state => ({\r\n assetDetailsData: state.Registration.assetDetailsData,\r\n }));\r\n\r\n\r\n const dispatch = useDispatch();\r\n const { stateData } = useSelector(state => ({\r\n stateData: state.Registration.stateData,\r\n }));\r\n\r\n //GetAll Occupation\r\n const { occupationData } = useSelector(state => ({\r\n occupationData: state.Registration.occupationData,\r\n }));\r\n\r\n //GetAll Poi\r\n const { poiData } = useSelector(state => ({\r\n poiData: state.Registration.poiData,\r\n }));\r\n\r\n function chkNumeric(e) {\r\n let input = e.target.value;\r\n\r\n if (input == \"\") {\r\n validation.handleChange(e);\r\n }\r\n else if (typeof input !== \"undefined\") {\r\n var pattern = new RegExp(/^[0-9\\b]+$/);\r\n if (pattern.test(input)) {\r\n validation.handleChange(e);\r\n }\r\n }\r\n }\r\n\r\n const [rowsData, setRowsData] = useState([]);\r\n\r\n const addPoiRows = () => {\r\n debugger;\r\n if ($(\"#ddlPOI option:selected\").val() == \"\") {\r\n ErrorMessage(\"Please select Proof of Identity!\");\r\n $(\"#ddlPOI\").focus();\r\n return;\r\n }\r\n else if ($(\"#ddlPOIPOA option:selected\").val() == \"\") {\r\n ErrorMessage(\"Please select POI/POA!\");\r\n $(\"#ddlPOIPOA\").focus();\r\n return;\r\n }\r\n\r\n if (rowsData.some(person => person.SelectedProofofIdentity === $(\"#ddlPOI option:selected\").text())) {\r\n ErrorMessage($(\"#ddlPOI option:selected\").text() + \" is already exists!\");\r\n return;\r\n }\r\n\r\n const rowsInput = {\r\n poiid: '',\r\n SelectedProofofIdentity: $(\"#ddlPOI option:selected\").text(),\r\n EnterNumber: '',\r\n POIPOA: $(\"#ddlPOIPOA option:selected\").text(),\r\n Expiry: '',\r\n Upload: '',\r\n poifilepath: '',\r\n poifilepathurl: '',\r\n Delete: ''\r\n }\r\n setRowsData([...rowsData, rowsInput])\r\n }\r\n\r\n const deletePoiRows = (index) => {\r\n debugger;\r\n if (rowsData.length > 1) {\r\n const rows = [...rowsData];\r\n rows.splice(index, 1);\r\n setRowsData(rows);\r\n }\r\n else if (rowsData.length == 1) {\r\n ErrorMessage(\"Atleast one POI/POA document is Compulsory!\");\r\n }\r\n }\r\n\r\n const handleChange = (index, evnt) => {\r\n\r\n const { name, value } = evnt.target;\r\n const rowsInput = [...rowsData];\r\n rowsInput[index][name] = value;\r\n setRowsData(rowsInput);\r\n }\r\n\r\n const handleCheckChange = (index, evnt) => {\r\n\r\n const { name, checked } = evnt.target;\r\n const rowsInput = [...rowsData];\r\n rowsInput[index][name] = checked;\r\n setRowsData(rowsInput);\r\n }\r\n\r\n const handleUploadChange = (index, evnt) => {\r\n\r\n const { name, value } = evnt.target;\r\n const rowsInput = [...rowsData];\r\n rowsInput[index][name] = evnt.target.files[0];\r\n setRowsData(rowsInput);\r\n }\r\n\r\n //Upload files\r\n const [selectedPhotoFile, setSelectedPhotoFile] = React.useState(\"\");\r\n const [selectedFile, setSelectedFile] = React.useState(\"\");\r\n\r\n function handlePhotoUpload(event) {\r\n setSelectedPhotoFile(event.target.files[0]);\r\n }\r\n\r\n function handleUpload(event) {\r\n setSelectedFile(event.target.files[0]);\r\n }\r\n\r\n const registrationHoldersPOIList = [];\r\n\r\n var registrationHoldersPOI = {\r\n POI: '',\r\n POINo: '',\r\n IsPOI: '',\r\n IsPOA: '',\r\n ExpiryDate: '',\r\n Base64POI: ''\r\n }\r\n\r\n var objRegistrationHolders = {\r\n Title: '',\r\n FirstName: '',\r\n MiddleName: '',\r\n LastName: '',\r\n DOB: '',\r\n Gender: '',\r\n Nationality: '',\r\n Occupation: '',\r\n Mobile: '',\r\n Email: '',\r\n MartialStatus: '',\r\n LocalAddress1: '',\r\n LocalAddress2: '',\r\n LocalAddress3: '',\r\n LocalCity: '',\r\n LocalPin: '',\r\n LocalState: '',\r\n PermanentAddress1: '',\r\n PermanentAddress2: '',\r\n PermanentAddress3: '',\r\n PermanentCity: '',\r\n PermanentPin: '',\r\n PermanentState: '',\r\n PAN: '',\r\n Base64PAN: '',\r\n registrationHoldersPOI: registrationHoldersPOIList\r\n }\r\n\r\n const personalDetails = {\r\n RegistrationId: localStorage.getItem(\"registrationId\"),\r\n objRegistrationHolders: objRegistrationHolders\r\n }\r\n\r\n const familyDetails = {\r\n RegistrationId: '',\r\n FatherTitle: '',\r\n FatherFirstName: '',\r\n FatherMiddleName: '',\r\n FatherLastName: '',\r\n MotherTitle: '',\r\n MotherFirstName: '',\r\n MotherMiddleName: '',\r\n MotherLastName: '',\r\n MaidenTitle: '',\r\n MaidenFirstName: '',\r\n MaidenMiddleName: '',\r\n MaidenLastName: ''\r\n }\r\n\r\n const relatedPerson = {\r\n RegistrationId: '',\r\n RelatedPersonTitle: '',\r\n RelatedPeronFirstName: '',\r\n RelatedPeronMiddleName: '',\r\n RelatedPeronLastName: '',\r\n RelatedPersonCustomerRelation: '',\r\n RelatedPersonType: '',\r\n RelatedPersonPANNo: '',\r\n RelatedPersonAadhaarNo: '',\r\n RelatedPersonCourtOrderNo: ''\r\n }\r\n\r\n const form60 = {\r\n RegistrationId: '',\r\n DeclarantDocuments: '',\r\n DeclarantTransactionParticulars: '',\r\n DeclarantAmountofTransaction: '',\r\n DeclarantAssessedTax: '',\r\n DetailsOfIncomeTax: '',\r\n ReasonForNoPan: ''\r\n }\r\n\r\n const additionalDetails = {\r\n RegistrationId: '',\r\n FundsExpectedOrigin: '',\r\n FundsUtilisationExpected: '',\r\n OtherBankAccounts: '',\r\n Turnover: '',\r\n AverageIncome: '',\r\n AverageBalance: '',\r\n Education: '',\r\n Religion: '',\r\n OccupationDetails: '',\r\n LineOfBusiness: '',\r\n BusinessName: '',\r\n BusinessStartDate: '',\r\n BusinessAddress1: '',\r\n BusinessAddress2: '',\r\n BusinessAddress3: '',\r\n BusinessTelNo: '',\r\n BusinessMobileNo: '',\r\n BusinessAnnualIncome: '',\r\n BusinessIncomeSource: '',\r\n BusinessWealthSource: '',\r\n BusinessEstimatedValue: '',\r\n BusinessAssetDetails: '',\r\n BornNonIndia: '',\r\n TaxResidenceNonIndia: '',\r\n BusinessVehicleType: '',\r\n BusinessCarPurchaseYear: '',\r\n BusinessCarMaker: '',\r\n InterestedIn: ''\r\n }\r\n\r\n const registrationHoldersId = localStorage.getItem('registrationHoldersId');\r\n\r\n useEffect(() => {\r\n debugger;\r\n if (isPreloader === true) {\r\n document.getElementById(\"preloader\").style.display = \"block\";\r\n document.getElementById(\"status\").style.display = \"block\";\r\n } else {\r\n document.getElementById(\"preloader\").style.display = \"none\";\r\n document.getElementById(\"status\").style.display = \"none\";\r\n }\r\n }, [isPreloader]);\r\n\r\n useEffect(() => {\r\n dispatch(getState());\r\n dispatch(getOccupation());\r\n dispatch(getRelatedPersonType());\r\n dispatch(getPoi());\r\n dispatch(getEducation());\r\n dispatch(getOccupationDetails());\r\n dispatch(getAssetDetails());\r\n dispatch(getOtherBankAccounts());\r\n GetFirstAccountHolderDetails();\r\n }, [dispatch]);\r\n\r\n function BindAdditionalDetails(additionalDetails) {\r\n debugger;\r\n if (additionalDetails != null) {\r\n additionalDetails.fundsExpectedOrigin == null ? $('#ddlfundsforcredit option:selected').val(1) : additionalDetails.fundsExpectedOrigin == '' ? $('#ddlfundsforcredit option:selected').val(1) : $('#ddlfundsforcredit option:selected').text(additionalDetails.fundsExpectedOrigin);\r\n additionalDetails.fundsUtilisationExpected == null ? $('#ddlfundsbydebit option:selected').val(1) : additionalDetails.fundsUtilisationExpected == '' ? $('#ddlfundsbydebit option:selected').val(1) : $('#ddlfundsbydebit option:selected').text(additionalDetails.fundsUtilisationExpected);\r\n additionalDetails.otherBankAccounts == null ? $('#ddlotherbanksaccounts option:selected').val(1) : additionalDetails.otherBankAccounts == '' ? $('#ddlotherbanksaccounts option:selected').val(1) : $('#ddlotherbanksaccounts option:selected').text(additionalDetails.otherBankAccounts);\r\n $('#txtturnover').val(additionalDetails.turnover);\r\n $('#txtaverageincome').val(additionalDetails.averageIncome);\r\n $('#txtexpectedincome').val(additionalDetails.averageBalance);\r\n additionalDetails.education == null ? $('#ddleducation option:selected').val(1) : additionalDetails.education == '' ? $('#ddleducation option:selected').val(1) : $('#ddleducation option:selected').text(additionalDetails.education);\r\n additionalDetails.religion == null ? $('#ddlreligion option:selected').val(1) : additionalDetails.religion == '' ? $('#ddlreligion option:selected').val(1) : $('#ddlreligion option:selected').text(additionalDetails.religion);\r\n additionalDetails.occupationDetails == null ? $('#ddloccupationdetails option:selected').val(1) : additionalDetails.occupationDetails == '' ? $('#ddloccupationdetails option:selected').val(1) : $('#ddloccupationdetails option:selected').text(additionalDetails.occupationDetails);\r\n $('#txtlineofnusiness').val(additionalDetails.lineOfBusiness);\r\n $('#txtbusinessname').val(additionalDetails.businessName);\r\n $('#txtstartbusinessdate').val(additionalDetails.businessStartDate);\r\n $('#txtbussinessaddress1').val(additionalDetails.businessAddress1);\r\n $('#txtbussinessaddress2').val(additionalDetails.businessAddress2);\r\n $('#txtbussinessaddress3').val(additionalDetails.businessAddress3);\r\n $('#txtofficecontact').val(additionalDetails.businessTelNo);\r\n $('#txtofficemobileno').val(additionalDetails.businessMobileNo);\r\n additionalDetails.businessAnnualIncome == null ? $('#ddlannualincome option:selected').val(1) : additionalDetails.businessAnnualIncome == '' ? $('#ddlannualincome option:selected').val(1) : $('#ddlannualincome option:selected').text(additionalDetails.businessAnnualIncome);\r\n $('#txtsourceofincome').val(additionalDetails.businessIncomeSource);\r\n $('#txtsourceofwealth').val(additionalDetails.businessWealthSource);\r\n additionalDetails.businessEstimatedValue == null ? $('#ddlestimatedvalue option:selected').val(1) : additionalDetails.businessEstimatedValue == '' ? $('#ddlestimatedvalue option:selected').val(1) : $('#ddlestimatedvalue option:selected').text(additionalDetails.businessEstimatedValue);\r\n additionalDetails.caste == null ? $('#caste option:selected').val(1) : additionalDetails.caste == '' ? $('#caste option:selected').val(1) : $('#caste option:selected').text(additionalDetails.caste);\r\n\r\n if (additionalDetails.businessAssetDetails != null) {\r\n if (additionalDetails.businessAssetDetails.length > 0) {\r\n if (additionalDetails.businessAssetDetails.includes('Commercial Property')) {\r\n $('#chkcommercialproperty').prop('checked', true);\r\n }\r\n else {\r\n $('#chkcommercialproperty').prop('checked', false);\r\n }\r\n\r\n if (additionalDetails.businessAssetDetails.includes('House')) {\r\n $('#chkhouse').prop('checked', true);\r\n }\r\n else {\r\n $('#chkhouse').prop('checked', false);\r\n }\r\n\r\n if (additionalDetails.businessAssetDetails.includes('Plot')) {\r\n $('#chkplot').prop('checked', true);\r\n }\r\n else {\r\n $('#chkplot').prop('checked', false);\r\n }\r\n\r\n if (additionalDetails.businessAssetDetails.includes('Others')) {\r\n $('#chkothers').prop('checked', true);\r\n }\r\n else {\r\n $('#chkothers').prop('checked', false);\r\n }\r\n }\r\n }\r\n\r\n if (additionalDetails.taxResidenceNonIndia != null) {\r\n if (additionalDetails.taxResidenceNonIndia == true) {\r\n $('#rbtaxresidenceyes').prop('checked', true);\r\n $('#rbtaxresidenceno').prop('checked', false);\r\n }\r\n else if (additionalDetails.taxResidenceNonIndia == false) {\r\n $('#rbtaxresidenceyes').prop('checked', false);\r\n $('#rbtaxresidenceno').prop('checked', true);\r\n }\r\n }\r\n\r\n if (additionalDetails.bornNonIndia != null) {\r\n if (additionalDetails.bornNonIndia == true) {\r\n $('#rbbornyes').prop('checked', true);\r\n $('#rbbornno').prop('checked', false);\r\n }\r\n else if (additionalDetails.bornNonIndia == false) {\r\n $('#rbbornyes').prop('checked', false);\r\n $('#rbbornno').prop('checked', true);\r\n }\r\n }\r\n\r\n if (additionalDetails.businessVehicleTwoWheeler != null) {\r\n if (additionalDetails.businessVehicleTwoWheeler.length > 0) {\r\n if (additionalDetails.businessVehicleTwoWheeler.includes('Two Wheeler')) {\r\n $('#chktwowheeler').prop('checked', true);\r\n $('#twowheeleryear').val(additionalDetails.businessTwoWheelerPurchaseYear);\r\n }\r\n else {\r\n $('#chktwowheeler').prop('checked', false);\r\n }\r\n }\r\n }\r\n\r\n if (additionalDetails.businessVehicleCar != null) {\r\n if (additionalDetails.businessVehicleCar.length > 0) {\r\n if (additionalDetails.businessVehicleCar.includes('Car')) {\r\n $('#chkcar').prop('checked', true);\r\n $('#txtcaryear').val(additionalDetails.businessCarPurchaseYear);\r\n }\r\n else {\r\n $('#chkcar').prop('checked', false);\r\n }\r\n }\r\n }\r\n\r\n if (additionalDetails.businessVehicleOther != null) {\r\n if (additionalDetails.businessVehicleOther.length > 0) {\r\n if (additionalDetails.businessVehicleOther.includes('Other')) {\r\n $('#chkother').prop('checked', true);\r\n $('#txtotheryear').val(additionalDetails.businessOtherPurchaseYear);\r\n }\r\n else {\r\n $('#chkother').prop('checked', false);\r\n }\r\n }\r\n }\r\n\r\n if (additionalDetails.interestedIn != null) {\r\n if (additionalDetails.interestedIn.length > 0) {\r\n if (additionalDetails.interestedIn.includes('Mutual Funds')) {\r\n $('#chkmutualfunds').prop('checked', true);\r\n }\r\n else {\r\n $('#chkmutualfunds').prop('checked', false);\r\n }\r\n\r\n if (additionalDetails.interestedIn.includes('Health Insurance')) {\r\n $('#chkhealthinsurance').prop('checked', true);\r\n }\r\n else {\r\n $('#chkhealthinsurance').prop('checked', false);\r\n }\r\n\r\n if (additionalDetails.interestedIn.includes('General Insurance')) {\r\n $('#chkgeneralinsurance').prop('checked', true);\r\n }\r\n else {\r\n $('#chkgeneralinsurance').prop('checked', false);\r\n }\r\n\r\n if (additionalDetails.interestedIn.includes('Demat')) {\r\n $('#chkdemat').prop('checked', true);\r\n }\r\n else {\r\n $('#chkdemat').prop('checked', false);\r\n }\r\n\r\n if (additionalDetails.interestedIn.includes('Pradhan Mantri Suraksha Bima Yojana (PMSBY)')) {\r\n $('#chkpmsby').prop('checked', true);\r\n }\r\n else {\r\n $('#chkpmsby').prop('checked', false);\r\n }\r\n\r\n if (additionalDetails.interestedIn.includes('Pradhan Mantri Jeevan Jyoti Bima Yojana (PMJJBY)')) {\r\n $('#chkpmjjby').prop('checked', true);\r\n }\r\n else {\r\n $('#chkpmjjby').prop('checked', false);\r\n }\r\n }\r\n }\r\n\r\n $('#txtcarmaker').val(additionalDetails.businessCarMaker);\r\n }\r\n }\r\n\r\n function GetFirstAccountHolderDetails() {\r\n debugger;\r\n const customerDetailModel = {\r\n RegistrationId: localStorage.getItem(\"registrationId\"),\r\n RegistrationHolderId: registrationHoldersId\r\n };\r\n\r\n setPreloader(true);\r\n\r\n axios.post(getFirstAccountHolderDetailsUrl(), customerDetailModel, { headers: authHeader() })\r\n .then(response => {\r\n debugger;\r\n if (response.data.length != 0 && response.data[0].relatedPersonType != null) {\r\n if (response.data[0].relatedPersonType.indexOf(\"Guardian of Minor\") != -1) {\r\n $('#rbguardian').prop('checked', true);\r\n $('#rbassignee').prop('checked', false);\r\n $('#rbauthorized').prop('checked', false);\r\n }\r\n if (response.data[0].relatedPersonType.indexOf(\"Assignee\") != -1) {\r\n $('#rbassignee').prop('checked', true);\r\n $('#rbguardian').prop('checked', false);\r\n $('#rbauthorized').prop('checked', false);\r\n }\r\n if (response.data[0].relatedPersonType.indexOf(\"Authorized representative\") != -1) {\r\n $('#rbauthorized').prop('checked', true);\r\n $('#rbguardian').prop('checked', false);\r\n $('#rbassignee').prop('checked', false);\r\n }\r\n }\r\n\r\n if (response.data.length != 0 && response.data[0].declarantAssessedTax != null) {\r\n if (response.data[0].declarantAssessedTax == true) {\r\n $('#rbaccessedtaxyes').prop('checked', true);\r\n $('#rbaccessedtaxno').prop('checked', false);\r\n }\r\n else if (response.data[0].declarantAssessedTax == false) {\r\n $('#rbaccessedtaxyes').prop('checked', false);\r\n $('#rbaccessedtaxno').prop('checked', true);\r\n }\r\n }\r\n\r\n if (response.data.length != 0 && response.data[0].isPAN != null) {\r\n if (response.data[0].isPAN == false) {\r\n $('#chkPAN').prop('checked', true);\r\n $(\"#txtPancard\").attr('disabled', 'disabled');\r\n $(\"#Upload\").attr('disabled', 'disabled');\r\n $(\"#txtPancard\").val('');\r\n }\r\n else if (response.data[0].isPAN == true) {\r\n $('#chkPAN').prop('checked', false);\r\n $(\"#txtPancard\").removeAttr('disabled');\r\n $(\"#Upload\").removeAttr('disabled');\r\n }\r\n }\r\n\r\n if (response.data.length == 0) {\r\n setFirstHoldersData(response.data);\r\n BindPOIPOA(response.data);\r\n setPreloader(false);\r\n return;\r\n }\r\n else if (response.data.length > 0) {\r\n if (response.data[0].photoFilePath != \"\") {\r\n $(\"#lnkPhotoDownload\").css(\"visibility\", \"visible\");\r\n $(\"#lnkPhotoDownload\").prop(\"href\", getAPIUrl() + \"/Photo/\" + response.data[0].photoFilePath);\r\n }\r\n\r\n if (response.data[0].panFilePath != \"\") {\r\n $(\"#lnkPANDownload\").css(\"visibility\", \"visible\");\r\n $(\"#lnkPANDownload\").prop(\"href\", getAPIUrl() + \"/POIFiles/\" + response.data[0].panFilePath);\r\n }\r\n\r\n BindAdditionalDetails(response.data[0]);\r\n setFirstHoldersData(response.data[0]);\r\n BindPOIPOA(response.data);\r\n setPreloader(false);\r\n }\r\n\r\n setPreloader(false);\r\n }, (error) => {\r\n console.log(error.response);\r\n setPreloader(false);\r\n })\r\n }\r\n\r\n function disablePAN() {\r\n if ($(\"#chkPAN\").prop('checked') == true) {\r\n $(\"#txtPancard\").attr('disabled', 'disabled');\r\n $(\"#Upload\").attr('disabled', 'disabled');\r\n $(\"#txtPancard\").val('');\r\n }\r\n else {\r\n $(\"#txtPancard\").removeAttr('disabled');\r\n $(\"#Upload\").removeAttr('disabled');\r\n }\r\n }\r\n\r\n function firstHolderSave(personalDetails, tabId) {\r\n debugger;\r\n if (selectedPhotoFile != '' && selectedFile != '') {\r\n\r\n setPreloader(true);\r\n getBase64(selectedPhotoFile).then(\r\n photodata => {\r\n objRegistrationHolders.Base64Photo = photodata;\r\n\r\n getBase64(selectedFile).then(\r\n poidata => {\r\n objRegistrationHolders.Base64PAN = poidata\r\n\r\n axios.post(updatePersonalDetailsUrl(), personalDetails, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n toggleTabVertical(tabId + 1);\r\n setPreloader(false);\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n setPreloader(false);\r\n }\r\n })\r\n }\r\n );\r\n }\r\n );\r\n }\r\n else if (selectedPhotoFile != '' && selectedFile == '') {\r\n\r\n setPreloader(true);\r\n objRegistrationHolders.Base64PAN = '';\r\n\r\n getBase64(selectedPhotoFile).then(\r\n photodata => {\r\n objRegistrationHolders.Base64Photo = photodata;\r\n\r\n axios.post(updatePersonalDetailsUrl(), personalDetails, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n toggleTabVertical(tabId + 1);\r\n setPreloader(false);\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n setPreloader(false);\r\n }\r\n })\r\n }\r\n );\r\n }\r\n else if (selectedPhotoFile == '' && selectedFile != '') {\r\n\r\n setPreloader(true);\r\n objRegistrationHolders.Base64Photo = '';\r\n\r\n getBase64(selectedFile).then(\r\n poidata => {\r\n objRegistrationHolders.Base64PAN = poidata;\r\n\r\n axios.post(updatePersonalDetailsUrl(), personalDetails, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n toggleTabVertical(tabId + 1);\r\n setPreloader(false);\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n setPreloader(false);\r\n }\r\n })\r\n }\r\n );\r\n }\r\n else if (selectedPhotoFile == '' && selectedFile == '') {\r\n\r\n setPreloader(true);\r\n objRegistrationHolders.Base64Photo = '';\r\n objRegistrationHolders.Base64PAN = '';\r\n\r\n axios.post(updatePersonalDetailsUrl(), personalDetails, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n toggleTabVertical(tabId + 1);\r\n setPreloader(false);\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n setPreloader(false);\r\n }\r\n })\r\n }\r\n }\r\n\r\n function CreateAccount(tabId) {\r\n debugger;\r\n var today = new Date();\r\n\r\n if (tabId == 1) {\r\n\r\n //toggleTabVertical(tabId + 1);\r\n //return;\r\n\r\n if ($('#txtPhoneno').val().length > 0) {\r\n if ($('#txtPhoneno').val().length != 10) {\r\n $('#txtPhoneno').focus();\r\n ErrorMessage(\"Please enter 10 digit Mobile number!\");\r\n return;\r\n }\r\n }\r\n\r\n if (($('#txtPancard').val().trim() == \"\") && ($(\"#chkPAN\").prop('checked') == false)) {\r\n $('#txtPancard').focus();\r\n ErrorMessage(\"Please enter PAN No. or check Form60!\");\r\n return;\r\n }\r\n\r\n if ($(\"#chkPAN\").prop('checked') == false) {\r\n $('#navForm60').css('background-color', 'lightgrey');\r\n }\r\n else {\r\n $('#navForm60').css('background-color', '');\r\n }\r\n\r\n if ($(\"#chkPAN\").prop('checked') == false) {\r\n if (!panValidation($('#txtPancard').val().trim())) {\r\n ErrorMessage('Please enter valid PAN Number!');\r\n $('#txtPancard').focus();\r\n return;\r\n }\r\n }\r\n\r\n var age = getCustomerAge();\r\n if (age > 18) {\r\n $('#navRelatedPerson').css('background-color', 'lightgrey');\r\n }\r\n else {\r\n $('#navRelatedPerson').css('background-color', '');\r\n }\r\n\r\n var IsValid = false;\r\n\r\n if (rowsData.length == 0) {\r\n ErrorMessage(\"Please add atleast one POI/POA document!\");\r\n return IsValid = false;\r\n }\r\n else {\r\n rowsData.map(poiCustomerData => {\r\n debugger;\r\n if (poiCustomerData.EnterNumber.trim().length == 0) {\r\n ErrorMessage(\"Please enter Document Number for \" + poiCustomerData.SelectedProofofIdentity + \"!\");\r\n return IsValid = false;\r\n }\r\n else if (poiCustomerData.Upload.length == 0 && poiCustomerData.poifilepath.length == 0) {\r\n ErrorMessage(\"Please uplaod document for \" + poiCustomerData.SelectedProofofIdentity + \"!\");\r\n return IsValid = false;\r\n }\r\n else {\r\n return IsValid = true;\r\n }\r\n })\r\n }\r\n\r\n\r\n rowsData.map(poiCustomerData => {\r\n if (poiCustomerData.EnterNumber.trim().length > 0) {\r\n if (poiCustomerData.SelectedProofofIdentity == \"Passport\" && (!passportValidation(poiCustomerData.EnterNumber))) {\r\n ErrorMessage('Please enter valid Passport Number!');\r\n return IsValid = false;\r\n }\r\n else if (poiCustomerData.SelectedProofofIdentity == \"UID\" && (!aadharValidation(poiCustomerData.EnterNumber))) {\r\n ErrorMessage('Please enter valid Aadhaar Number!');\r\n return IsValid = false;\r\n }\r\n else if (poiCustomerData.SelectedProofofIdentity == \"License\" && (!licenseValidation(poiCustomerData.EnterNumber))) {\r\n ErrorMessage('Please enter valid License Number!');\r\n return IsValid = false;\r\n }\r\n //else if (poiCustomerData.SelectedProofofIdentity == \"Voter ID\" && (!voterIDValidation(poiCustomerData.EnterNumber))) {\r\n // ErrorMessage('Please enter valid Voter ID Number!');\r\n // return IsValid = false;\r\n //}\r\n }\r\n })\r\n\r\n if (rowsData.find(p => p.POIPOA == \"POA & POI\") == undefined) {\r\n if (rowsData.find(p => p.POIPOA == \"POI\") == undefined) {\r\n ErrorMessage(\"Please add POI document!\");\r\n return IsValid = false;\r\n }\r\n else if (rowsData.find(p => p.POIPOA == \"POA\") == undefined) {\r\n ErrorMessage(\"Please add POA document!\");\r\n return IsValid = false;\r\n }\r\n }\r\n\r\n var age = getCustomerAge();\r\n var isPAN = \"true\";\r\n if ($(\"#chkPAN\").prop('checked') == true) {\r\n isPAN = \"false\";\r\n }\r\n\r\n if (IsValid) {\r\n objRegistrationHolders = {};\r\n\r\n objRegistrationHolders.Id = registrationHoldersId;\r\n objRegistrationHolders.Title = $('#ddlpersonalchoose').val();\r\n objRegistrationHolders.FirstName = $('#txtFirstName').val().trim();\r\n objRegistrationHolders.MiddleName = $('#txtMiddleName').val().trim();\r\n objRegistrationHolders.LastName = $('#txtLastName').val().trim();\r\n objRegistrationHolders.DOB = $('#txtdob').val();\r\n objRegistrationHolders.Gender = $('#ddlgender').val();\r\n objRegistrationHolders.Nationality = $('#ddlnationality').val();\r\n objRegistrationHolders.Occupation = $('#ddloccupation').val().trim();\r\n objRegistrationHolders.Mobile = $('#txtPhoneno').val().trim();\r\n objRegistrationHolders.Email = $('#txtEmailID').val().trim();\r\n objRegistrationHolders.MartialStatus = $('#ddlmaratialstatus').val();\r\n objRegistrationHolders.LocalAddress1 = $('#txtCommunicationAddress1').val().trim();\r\n objRegistrationHolders.LocalAddress2 = $('#txtCommunicationAddress2').val().trim();\r\n objRegistrationHolders.LocalAddress3 = $('#txtCommunicationAddress3').val().trim();\r\n objRegistrationHolders.LocalCity = $('#txtCommunicationCity').val().trim();\r\n objRegistrationHolders.LocalPin = $('#txtCommunicationPincode').val().trim();\r\n objRegistrationHolders.LocalState = $('#ddlCommunicationState').val();\r\n objRegistrationHolders.PermanentAddress1 = $('#txtPermanentAddress1').val().trim();\r\n objRegistrationHolders.PermanentAddress2 = $('#txtPermanentAddress2').val().trim();\r\n objRegistrationHolders.PermanentAddress3 = $('#txtPermanentAddress3').val().trim();\r\n objRegistrationHolders.PermanentCity = $('#txtPermanentCity').val().trim();\r\n objRegistrationHolders.PermanentPin = $('#txtPermanentPincode').val().trim();\r\n objRegistrationHolders.PermanentState = $('#ddlPermanentState').val();\r\n objRegistrationHolders.PAN = $('#txtPancard').val();\r\n objRegistrationHolders.IsMinor = age < 18 ? \"true\" : \"false\";\r\n objRegistrationHolders.isPAN = isPAN;\r\n objRegistrationHolders.CustomerId = $('#txtCustomerID').val().trim();\r\n objRegistrationHolders.CKYCNo = $('#txtCKYCNumber').val().trim();\r\n\r\n rowsData.map(poiCustomerData => {\r\n if (poiCustomerData.Upload != \"\") {\r\n getBase64(poiCustomerData.Upload).then(data => {\r\n registrationHoldersPOI = {};\r\n registrationHoldersPOI.POIId = poiCustomerData.poiid;\r\n registrationHoldersPOI.Base64POI = data;\r\n registrationHoldersPOI.POI = poiCustomerData.SelectedProofofIdentity;\r\n registrationHoldersPOI.POINo = poiCustomerData.EnterNumber;\r\n registrationHoldersPOI.POIPOA = poiCustomerData.POIPOA;\r\n registrationHoldersPOI.ExpiryDate = poiCustomerData.Expiry;\r\n registrationHoldersPOIList.push(registrationHoldersPOI);\r\n\r\n if (registrationHoldersPOIList.length == rowsData.length) {\r\n objRegistrationHolders.registrationHoldersPOI = registrationHoldersPOIList;\r\n personalDetails.objRegistrationHolders = objRegistrationHolders;\r\n\r\n firstHolderSave(personalDetails, tabId);\r\n }\r\n })\r\n }\r\n else {\r\n registrationHoldersPOI = {};\r\n registrationHoldersPOI.POIId = poiCustomerData.poiid;\r\n registrationHoldersPOI.Base64POI = \"\";\r\n registrationHoldersPOI.POI = poiCustomerData.SelectedProofofIdentity;\r\n registrationHoldersPOI.POINo = poiCustomerData.EnterNumber;\r\n registrationHoldersPOI.POIPOA = poiCustomerData.POIPOA;\r\n registrationHoldersPOI.ExpiryDate = poiCustomerData.Expiry;\r\n registrationHoldersPOIList.push(registrationHoldersPOI);\r\n\r\n if (registrationHoldersPOIList.length == rowsData.length) {\r\n objRegistrationHolders.registrationHoldersPOI = registrationHoldersPOIList;\r\n personalDetails.objRegistrationHolders = objRegistrationHolders;\r\n\r\n firstHolderSave(personalDetails, tabId);\r\n }\r\n }\r\n })\r\n }\r\n }\r\n else if (tabId == 2) {\r\n\r\n //toggleTabVertical(tabId + 1);\r\n //return;\r\n\r\n familyDetails.RegistrationId = localStorage.getItem('registrationId');\r\n familyDetails.FatherTitle = $('#ddlfatherchoose :selected').text();\r\n familyDetails.FatherFirstName = $('#txtFatherFirstName').val().trim();\r\n familyDetails.FatherMiddleName = $('#txtFatherMiddleName').val().trim();\r\n familyDetails.FatherLastName = $('#txtFatherLastName').val().trim();\r\n familyDetails.MotherTitle = $('#ddlmotherchoose :selected').text();\r\n familyDetails.MotherFirstName = $('#txtMotherFirstName').val().trim();\r\n familyDetails.MotherMiddleName = $('#txtMotherMiddleName').val().trim();\r\n familyDetails.MotherLastName = $('#txtMotherLastName').val().trim();\r\n familyDetails.MaidenTitle = $('#ddlmaidenchoose :selected').text();\r\n familyDetails.MaidenFirstName = $('#txtMaidenFirstName').val().trim();\r\n familyDetails.MaidenMiddleName = $('#txtMaidenMiddleName').val().trim();\r\n familyDetails.MaidenLastName = $('#txtMaidenLastName').val().trim();\r\n\r\n setPreloader(true);\r\n axios.post(familyDetilsUrl(), familyDetails, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n var age = getCustomerAge();\r\n\r\n if (age > 18) {\r\n if ($(\"#chkPAN\").prop('checked') == false) {\r\n toggleTabVertical(tabId + 3);\r\n setPreloader(false);\r\n }\r\n else {\r\n toggleTabVertical(tabId + 2);\r\n setPreloader(false);\r\n }\r\n }\r\n else {\r\n toggleTabVertical(tabId + 1);\r\n setPreloader(false);\r\n }\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n setPreloader(false);\r\n }\r\n })\r\n }\r\n else if (tabId == 3) {\r\n\r\n //toggleTabVertical(tabId + 1);\r\n //return;\r\n\r\n if (!panValidation($('#txtRelatedPan').val().trim())) {\r\n ErrorMessage('Please enter valid PAN Number!');\r\n $('#txtPancard').focus();\r\n return;\r\n }\r\n if ($('#txtRelatedAadhaar').val().trim().length > 0) {\r\n if (!aadharValidation($('#txtRelatedAadhaar').val().trim())) {\r\n ErrorMessage('Please enter valid Aadhaar Number!');\r\n return;\r\n }\r\n }\r\n //if (!aadharValidation($('#txtRelatedAadhaar').val().trim())) {\r\n // ErrorMessage('Please enter valid Aadhaar Number!');\r\n // return;\r\n //}\r\n\r\n var RelatedPersonType = \"\";\r\n if ($(\"#rbguardian\").prop('checked') == true) {\r\n RelatedPersonType = \"Guardian of Minor\";\r\n }\r\n else if ($(\"#rbassignee\").prop('checked') == true) {\r\n RelatedPersonType = \"Assignee\";\r\n }\r\n else if ($(\"#rbauthorized\").prop('checked') == true) {\r\n RelatedPersonType = \"Authorized representative\";\r\n }\r\n\r\n relatedPerson.RegistrationId = localStorage.getItem('registrationId');\r\n relatedPerson.RelatedPersonTitle = $('#ddlrelatedpersonchoose :selected').text();\r\n relatedPerson.RelatedPeronFirstName = $('#txtrelatedpersonfirstname').val().trim();\r\n relatedPerson.RelatedPeronMiddleName = $('#txtrelatedpersonmiddlename').val().trim();\r\n relatedPerson.RelatedPeronLastName = $('#txtrelatedpersonlastname').val().trim();\r\n relatedPerson.RelatedPersonCustomerRelation = $('#txtcustomerrelation').val().trim();\r\n relatedPerson.RelatedPersonType = RelatedPersonType;\r\n relatedPerson.RelatedPersonPANNo = $('#txtRelatedPan').val().trim();\r\n relatedPerson.RelatedPersonAadhaarNo = $('#txtRelatedAadhaar').val().trim();\r\n relatedPerson.RelatedPersonCourtOrderNo = $('#txtRelatedCourtOrderNo').val().trim();\r\n\r\n setPreloader(true);\r\n axios.post(relatedPersonDetilsUrl(), relatedPerson, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n if ($(\"#chkPAN\").prop('checked') == true) {\r\n toggleTabVertical(tabId + 1);\r\n setPreloader(false);\r\n }\r\n else if ($(\"#chkPAN\").prop('checked') == false) {\r\n toggleTabVertical(tabId + 2);\r\n setPreloader(false);\r\n }\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n setPreloader(false);\r\n }\r\n })\r\n }\r\n else if (tabId == 4) {\r\n\r\n //toggleTabVertical(tabId + 1);\r\n //return;\r\n\r\n var DeclarantAssessedTax = false;\r\n\r\n if ($(\"#rbaccessedtaxyes\").prop(\"checked\")) {\r\n DeclarantAssessedTax = true;\r\n }\r\n else if ($(\"#rbaccessedtaxno\").prop(\"checked\")) {\r\n DeclarantAssessedTax = false;\r\n }\r\n\r\n form60.RegistrationId = localStorage.getItem('registrationId');\r\n form60.RegistrationHolderId = registrationHoldersId;\r\n form60.DeclarantDocuments = \"\";\r\n form60.DeclarantTransactionParticulars = $('#txttransactionparticulars').val().trim();\r\n form60.DeclarantAmountofTransaction = $('#txttransactionsamount').val().trim();\r\n form60.DeclarantAssessedTax = DeclarantAssessedTax;\r\n form60.DetailsOfIncomeTax = $('#txtdetailsofincometax').val().trim();\r\n form60.ReasonForNoPan = $('#txtreasonfornopan').val().trim();\r\n\r\n setPreloader(true);\r\n axios.post(form60Url(), form60, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n toggleTabVertical(tabId + 1);\r\n setPreloader(false);\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n setPreloader(false);\r\n }\r\n })\r\n }\r\n else if (tabId == 5) {\r\n if ($('#ddloccupationdetails :selected').text() == \"Businessman\") {\r\n\r\n if ($('#txtlineofnusiness').val().trim() == \"\") {\r\n $('#txtlineofnusiness').focus();\r\n ErrorMessage(\"Line of Business is required!\");\r\n return;\r\n }\r\n else if ($('#txtbusinessname').val().trim() == \"\") {\r\n $('#txtbusinessname').focus();\r\n ErrorMessage(\"Business Name is required!\");\r\n return;\r\n }\r\n else if ($('#txtstartbusinessdate').val().trim() == \"\") {\r\n $('#txtstartbusinessdate').focus();\r\n ErrorMessage(\"Date of starting business is required!\");\r\n return;\r\n }\r\n else if ($('#txtbussinessaddress1').val().trim() == \"\") {\r\n $('#txtbussinessaddress1').focus();\r\n ErrorMessage(\"Address1 required!\");\r\n return;\r\n }\r\n else if ($('#txtbussinessaddress2').val().trim() == \"\") {\r\n $('#txtbussinessaddress2').focus();\r\n ErrorMessage(\"Address2 required!\");\r\n return;\r\n }\r\n }\r\n\r\n if ($('#txtofficemobileno').val().length > 0) {\r\n if ($('#txtofficemobileno').val().length != 10) {\r\n $('#txtofficemobileno').focus();\r\n ErrorMessage(\"Please enter 10 digit Mobile number!\");\r\n return;\r\n }\r\n }\r\n\r\n if ($(\"#chktwowheeler\").prop(\"checked\")) {\r\n debugger;\r\n if ($('#txttwowheeleryear').val().trim() == \"\") {\r\n $('#txttwowheeleryear').focus();\r\n ErrorMessage(\"Two Wheeler year is required!\");\r\n return;\r\n }\r\n if (parseInt($('#txttwowheeleryear').val().trim()) > today.getFullYear()) {\r\n $('#txttwowheeleryear').focus();\r\n ErrorMessage(\"Two Wheeler year should be valid!\");\r\n return;\r\n }\r\n }\r\n if ($(\"#chkcar\").prop(\"checked\")) {\r\n if ($('#txtcaryear').val().trim() == \"\") {\r\n $('#txtcaryear').focus();\r\n ErrorMessage(\"Car year is required!\");\r\n return;\r\n }\r\n\r\n if (parseInt($('#txtcaryear').val().trim()) > today.getFullYear()) {\r\n $('#txtcaryear').focus();\r\n ErrorMessage(\"Car year should be valid!\");\r\n return;\r\n }\r\n }\r\n if ($(\"#chkother\").prop(\"checked\")) {\r\n if ($('#txtotheryear').val().trim() == \"\") {\r\n $('#txtotheryear').focus();\r\n ErrorMessage(\"Other year is required!\");\r\n return;\r\n }\r\n\r\n if (parseInt($('#txtotheryear').val().trim()) > today.getFullYear()) {\r\n $('#txtotheryear').focus();\r\n ErrorMessage(\"Other year should be valid!\");\r\n return;\r\n }\r\n }\r\n\r\n var BornNonIndia = '';\r\n var TaxResidenceNonIndia = '';\r\n var BusinessVehicleTwoWheeler = '';\r\n var BusinessVehicleCar = '';\r\n var BusinessVehicleOther = '';\r\n var BusinessTwoWheelerPurchaseYear = '';\r\n var BusinessCarPurchaseYear = '';\r\n var BusinessOtherPurchaseYear = '';\r\n var InterestedIn = '';\r\n var BusinessAssetDetails = '';\r\n\r\n if ($(\"#rbbornyes\").prop(\"checked\")) {\r\n BornNonIndia = \"true\";\r\n }\r\n else if ($(\"#rbbornno\").prop(\"checked\")) {\r\n BornNonIndia = \"false\";\r\n }\r\n\r\n if ($(\"#rbtaxresidenceyes\").prop(\"checked\")) {\r\n TaxResidenceNonIndia = \"true\";\r\n }\r\n else if ($(\"#rbtaxresidenceno\").prop(\"checked\")) {\r\n TaxResidenceNonIndia = \"false\";\r\n }\r\n\r\n if ($(\"#chktwowheeler\").prop(\"checked\")) {\r\n BusinessVehicleTwoWheeler = 'Two Wheeler';\r\n BusinessTwoWheelerPurchaseYear = $('#txttwowheeleryear').val();\r\n }\r\n if ($(\"#chkcar\").prop(\"checked\")) {\r\n BusinessVehicleCar = 'Car';\r\n BusinessCarPurchaseYear = $('#txtcaryear').val();\r\n }\r\n if ($(\"#chkother\").prop(\"checked\")) {\r\n BusinessVehicleOther = 'Other';\r\n BusinessOtherPurchaseYear = $('#txtotheryear').val();\r\n }\r\n\r\n if ($(\"#chkcommercialproperty\").prop(\"checked\")) {\r\n BusinessAssetDetails = BusinessAssetDetails + \"Commercial Property\" + \", \";\r\n }\r\n if ($(\"#chkhouse\").prop(\"checked\")) {\r\n BusinessAssetDetails = BusinessAssetDetails + \"House\" + \", \";\r\n }\r\n if ($(\"#chkplot\").prop(\"checked\")) {\r\n BusinessAssetDetails = BusinessAssetDetails + \"Plot\" + \", \";\r\n }\r\n if ($(\"#chkothers\").prop(\"checked\")) {\r\n BusinessAssetDetails = BusinessAssetDetails + \"Others\" + \", \";\r\n }\r\n\r\n if ($(\"#chktwowheeler\").prop(\"checked\")) {\r\n BusinessVehicleTwoWheeler = \"Two Wheeler\";\r\n }\r\n if ($(\"#chkcar\").prop(\"checked\")) {\r\n BusinessVehicleCar = \"Car\";\r\n }\r\n if ($(\"#chkother\").prop(\"checked\")) {\r\n BusinessVehicleOther = \"Other\";\r\n }\r\n\r\n if ($(\"#chkmutualfunds\").prop(\"checked\")) {\r\n InterestedIn = InterestedIn + \"Mutual Funds\" + \", \";\r\n }\r\n if ($(\"#chkhealthinsurance\").prop(\"checked\")) {\r\n InterestedIn = InterestedIn + \"Health Insurance\" + \", \";\r\n }\r\n if ($(\"#chkgeneralinsurance\").prop(\"checked\")) {\r\n InterestedIn = InterestedIn + \"General Insurance\" + \", \";\r\n }\r\n if ($(\"#chkdemat\").prop(\"checked\")) {\r\n InterestedIn = InterestedIn + \"Demat\" + \", \";\r\n }\r\n if ($(\"#chkpmsby\").prop(\"checked\")) {\r\n InterestedIn = InterestedIn + \"Pradhan Mantri Suraksha Bima Yojana (PMSBY)\" + \", \";\r\n }\r\n if ($(\"#chkpmjjby\").prop(\"checked\")) {\r\n InterestedIn = InterestedIn + \"Pradhan Mantri Jeevan Jyoti Bima Yojana (PMJJBY)\" + \", \";\r\n }\r\n\r\n additionalDetails.RegistrationId = localStorage.getItem('registrationId');\r\n additionalDetails.RegistrationHolderId = registrationHoldersId;\r\n additionalDetails.FundsExpectedOrigin = $('#ddlfundsforcredit :selected').text();\r\n additionalDetails.FundsUtilisationExpected = $('#ddlfundsbydebit :selected').text();\r\n additionalDetails.OtherBankAccounts = $('#ddlotherbanksaccounts :selected').text();\r\n additionalDetails.Turnover = $('#txtturnover').val().trim();\r\n additionalDetails.AverageIncome = $('#txtaverageincome').val().trim();\r\n additionalDetails.AverageBalance = $('#txtexpectedincome').val().trim();\r\n additionalDetails.Education = $('#ddleducation :selected').text();\r\n additionalDetails.Religion = $('#ddlreligion :selected').text();\r\n additionalDetails.OccupationDetails = $('#ddloccupationdetails :selected').text();\r\n additionalDetails.LineOfBusiness = $('#txtlineofnusiness').val().trim();\r\n additionalDetails.BusinessName = $('#txtbusinessname').val().trim();\r\n additionalDetails.BusinessStartDate = $('#txtstartbusinessdate').val();\r\n additionalDetails.BusinessAddress1 = $('#txtbussinessaddress1').val().trim();\r\n additionalDetails.BusinessAddress2 = $('#txtbussinessaddress2').val().trim();\r\n additionalDetails.BusinessAddress3 = $('#txtbussinessaddress3').val().trim();\r\n additionalDetails.BusinessTelNo = $('#txtofficecontact').val().trim();\r\n additionalDetails.BusinessMobileNo = $('#txtofficemobileno').val().trim();\r\n additionalDetails.BusinessAnnualIncome = $('#ddlannualincome :selected').text();\r\n additionalDetails.BusinessIncomeSource = $('#txtsourceofincome').val().trim();\r\n additionalDetails.BusinessWealthSource = $('#txtsourceofwealth').val().trim();\r\n additionalDetails.BusinessEstimatedValue = $('#ddlestimatedvalue :selected').text();\r\n additionalDetails.BusinessAssetDetails = BusinessAssetDetails;\r\n additionalDetails.BornNonIndia = BornNonIndia;\r\n additionalDetails.TaxResidenceNonIndia = TaxResidenceNonIndia;\r\n additionalDetails.BusinessVehicleTwoWheeler = BusinessVehicleTwoWheeler;\r\n additionalDetails.BusinessVehicleCar = BusinessVehicleCar;\r\n additionalDetails.BusinessVehicleOther = BusinessVehicleOther;\r\n additionalDetails.BusinessTwoWheelerPurchaseYear = BusinessTwoWheelerPurchaseYear;\r\n additionalDetails.BusinessCarPurchaseYear = BusinessCarPurchaseYear;\r\n additionalDetails.BusinessOtherPurchaseYear = BusinessOtherPurchaseYear;\r\n additionalDetails.BusinessCarMaker = $('#txtcarmaker').val().trim();\r\n additionalDetails.InterestedIn = InterestedIn;\r\n additionalDetails.caste = $('#caste :selected').text();\r\n\r\n setPreloader(true);\r\n axios.post(additionalDetailsUrl(), additionalDetails, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n toggleTabVertical(tabId + 1);\r\n setPreloader(false);\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n setPreloader(false);\r\n }\r\n })\r\n }\r\n else if (tabId == 6) {\r\n\r\n if ($(\"#chkTerms\").prop('checked') == true) {\r\n const updateStatus = {\r\n RegistrationId: localStorage.getItem('registrationId'),\r\n RegistrationHolderId: registrationHoldersId\r\n };\r\n\r\n setPreloader(true);\r\n axios.post(updateAccountHoldersStatusUrl(), updateStatus, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n history.push(\"/CreateNewAccount\");\r\n setPreloader(false);\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n setPreloader(false);\r\n }\r\n })\r\n }\r\n else {\r\n ErrorMessage(\"Please select Terms & conditions\");\r\n $(\"#chkTerms\").focus();\r\n }\r\n }\r\n }\r\n\r\n const [activeTabVartical, setoggleTabVertical] = useState(1)\r\n const [passedStepsVertical, setPassedStepsVertical] = useState([1])\r\n const [communicationState, setCommunicationState] = useState(null)\r\n\r\n function SetCommunicationState(communicationState) {\r\n setCommunicationState(communicationState);\r\n }\r\n\r\n function toggleTabVertical(tab) {\r\n if (activeTabVartical !== tab) {\r\n var modifiedSteps = [...passedStepsVertical, tab]\r\n\r\n if (tab >= 1 && tab <= 6) {\r\n setoggleTabVertical(tab)\r\n setPassedStepsVertical(modifiedSteps)\r\n }\r\n }\r\n }\r\n\r\n function FillAddress() {\r\n\r\n if ($(\"#chkSameAs\").prop(\"checked\")) {\r\n let comAddress1 = $('#txtCommunicationAddress1').val();\r\n let comAddress2 = $('#txtCommunicationAddress2').val();\r\n let comAddress3 = $('#txtCommunicationAddress3').val();\r\n let comCity = $('#txtCommunicationCity').val();\r\n let comPin = $('#txtCommunicationPincode').val();\r\n let comState = $('#ddlCommunicationState').val();\r\n\r\n $('#txtPermanentAddress1').val(comAddress1);\r\n $('#txtPermanentAddress2').val(comAddress2);\r\n $('#txtPermanentAddress3').val(comAddress3);\r\n $('#txtPermanentCity').val(comCity);\r\n $('#txtPermanentPincode').val(comPin);\r\n $('#ddlPermanentState').val(comState);\r\n\r\n validation.values.permanentaddress = comAddress1;\r\n validation.values.permanentaddress2 = comAddress2;\r\n validation.values.permanentaddress3 = comAddress3;\r\n validation.values.permanentstate = comState;\r\n validation.values.permanentcity = comCity;\r\n validation.values.permanentpincode = comPin;\r\n }\r\n else {\r\n $('#txtPermanentAddress1').val('');\r\n $('#txtPermanentAddress2').val('');\r\n $('#txtPermanentAddress3').val('');\r\n $('#txtPermanentCity').val('');\r\n $('#txtPermanentPincode').val('');\r\n $('#ddlPermanentState').val('');\r\n }\r\n }\r\n\r\n var authCustomerObject = JSON.parse(localStorage.getItem('authCustomer'));\r\n\r\n\r\n // Form validation\r\n const validation = useFormik({\r\n\r\n enableReinitialize: true,\r\n\r\n initialValues: {\r\n\r\n personalchoose: firstHoldersData.title == null ? '' : firstHoldersData.title,\r\n firstname: firstHoldersData.firstName == null ? '' : firstHoldersData.firstName,\r\n middlename: firstHoldersData.middleName == null ? '' : firstHoldersData.middleName,\r\n lastname: firstHoldersData.lastName == null ? '' : firstHoldersData.lastName,\r\n //phoneno: firstHoldersData.mobile == null ? '' : firstHoldersData.mobile,\r\n phoneno: firstHoldersData.mobile == null ? authCustomerObject.mobileNo : firstHoldersData.mobile,\r\n //email: firstHoldersData.email == null ? '' : firstHoldersData.email,\r\n email: firstHoldersData.email == null ? authCustomerObject.email == null ? '' : authCustomerObject.email : firstHoldersData.email,\r\n gender: firstHoldersData.gender == null ? '' : firstHoldersData.gender,\r\n occupation: firstHoldersData.occupation == null ? '' : firstHoldersData.occupation,\r\n dob: firstHoldersData.dob == null ? '' : firstHoldersData.dob,\r\n maritalstatus: firstHoldersData.length == 0 ? '2' : firstHoldersData.dob == null ? '2' : firstHoldersData.maritalStatus,\r\n nationality: firstHoldersData.length == 0 ? '1' : firstHoldersData.dob == null ? '1' : firstHoldersData.nationality,\r\n communicationaddress: firstHoldersData.localAddress1 == null ? '' : firstHoldersData.localAddress1,\r\n communicationaddress2: firstHoldersData.localAddress2 == null ? '' : firstHoldersData.localAddress2,\r\n communicationaddress3: firstHoldersData.localAddress3 == null ? '' : firstHoldersData.localAddress3,\r\n communicationstate: firstHoldersData.localState == null ? '' : firstHoldersData.localState,\r\n communicationcity: firstHoldersData.localCity == null ? '' : firstHoldersData.localCity,\r\n communicationpincode: firstHoldersData.localPin == null ? '' : firstHoldersData.localPin,\r\n permanentaddress: firstHoldersData.permanentAddress1 == null ? '' : firstHoldersData.permanentAddress1,\r\n permanentaddress2: firstHoldersData.permanentAddress2 == null ? '' : firstHoldersData.permanentAddress2,\r\n permanentaddress3: firstHoldersData.permanentAddress3 == null ? '' : firstHoldersData.permanentAddress3,\r\n permanentstate: firstHoldersData.permanentState == null ? '' : firstHoldersData.permanentState,\r\n permanentcity: firstHoldersData.permanentCity == null ? '' : firstHoldersData.permanentCity,\r\n permanentpincode: firstHoldersData.permanentPin == null ? '' : firstHoldersData.permanentPin,\r\n poi: '',\r\n poipoa: '',\r\n pan: firstHoldersData.pan == null ? '' : firstHoldersData.pan,\r\n panfile: '',\r\n poifilePath: firstHoldersData.poiFilePath == null ? '' : firstHoldersData.poiFilePath,\r\n customerid: firstHoldersData.customerId == null ? '' : firstHoldersData.customerId,\r\n ckycno: firstHoldersData.ckycNo == null ? '' : firstHoldersData.ckycNo,\r\n photofile: '',\r\n photofilepath: firstHoldersData.photoFilePath == null ? '' : firstHoldersData.photoFilePath,\r\n\r\n fatherchoose: firstHoldersData.fatherTitle == null ? '' : firstHoldersData.fatherTitle,\r\n fatherlastname: firstHoldersData.fatherLastName == null ? '' : firstHoldersData.fatherLastName,\r\n fatherfirstname: firstHoldersData.fatherFirstName == null ? '' : firstHoldersData.fatherFirstName,\r\n fathermiddlename: firstHoldersData.fatherMiddleName == null ? '' : firstHoldersData.fatherMiddleName,\r\n motherchoose: firstHoldersData.motherTitle == null ? '' : firstHoldersData.motherTitle,\r\n motherlastname: firstHoldersData.motherLastName == null ? '' : firstHoldersData.motherLastName,\r\n motherfirstname: firstHoldersData.motherFirstName == null ? '' : firstHoldersData.motherFirstName,\r\n mothermiddlename: firstHoldersData.motherMiddleName == null ? '' : firstHoldersData.motherMiddleName,\r\n maidenchoose: firstHoldersData.maidenTitle == null ? '' : firstHoldersData.maidenTitle,\r\n maidenlastname: firstHoldersData.maidenLastName == null ? '' : firstHoldersData.maidenLastName,\r\n maidenfirstname: firstHoldersData.maidenFirstName == null ? '' : firstHoldersData.maidenFirstName,\r\n maidenmiddlename: firstHoldersData.maidenMiddleName == null ? '' : firstHoldersData.maidenMiddleName,\r\n\r\n relatedpersonchoose: firstHoldersData.relatedPersonTitle == null ? '' : firstHoldersData.relatedPersonTitle,\r\n relatedpersonlastname: firstHoldersData.relatedPeronLastName == null ? '' : firstHoldersData.relatedPeronLastName,\r\n relatedpersonfirstname: firstHoldersData.relatedPeronFirstName == null ? '' : firstHoldersData.relatedPeronFirstName,\r\n relatedpersonmiddlename: firstHoldersData.relatedPeronMiddleName == null ? '' : firstHoldersData.relatedPeronMiddleName,\r\n relatedpersonrelation: firstHoldersData.relatedPersonCustomerRelation == null ? '' : firstHoldersData.relatedPersonCustomerRelation,\r\n relatedpersonpan: firstHoldersData.relatedPersonPANNo == null ? '' : firstHoldersData.relatedPersonPANNo,\r\n relatedpersonaadhar: firstHoldersData.relatedPersonAadhaarNo == null ? '' : firstHoldersData.relatedPersonAadhaarNo,\r\n relatedcourt: firstHoldersData.relatedPersonCourtOrderNo == null ? '' : firstHoldersData.relatedPersonCourtOrderNo,\r\n\r\n transactionparticulars: firstHoldersData.declarantTransactionParticulars == null ? '' : firstHoldersData.declarantTransactionParticulars,\r\n transactionsamount: firstHoldersData.declarantAmountofTransaction == null ? '' : firstHoldersData.declarantAmountofTransaction,\r\n detailsofincometax: firstHoldersData.detailsOfIncomeTax == null ? '' : firstHoldersData.detailsOfIncomeTax,\r\n reasonfornopan: firstHoldersData.reasonForNoPan == null ? '' : firstHoldersData.reasonForNoPan,\r\n\r\n annualactivity: firstHoldersData.turnover == null ? '' : firstHoldersData.turnover,\r\n averageincome: firstHoldersData.averageIncome == null ? '' : firstHoldersData.averageIncome,\r\n expectedincome: firstHoldersData.averageBalance == null ? '' : firstHoldersData.averageBalance,\r\n officecontact: firstHoldersData.businessTelNo == null ? '' : firstHoldersData.businessTelNo,\r\n officemobileno: firstHoldersData.businessMobileNo == null ? '' : firstHoldersData.businessMobileNo,\r\n twowheeleryear: firstHoldersData.businessVehicleTwoWheeler == \"Two Wheeler\" ? firstHoldersData.businessTwoWheelerPurchaseYear == null ? '' : firstHoldersData.businessTwoWheelerPurchaseYear : '',\r\n caryear: firstHoldersData.businessVehicleCar == \"Car\" ? firstHoldersData.businessCarPurchaseYear == null ? '' : firstHoldersData.businessCarPurchaseYear : '',\r\n anyotheryear: firstHoldersData.businessVehicleOther == \"Other\" ? firstHoldersData.businessOtherPurchaseYear == null ? '' : firstHoldersData.businessOtherPurchaseYear : '',\r\n annualincome: firstHoldersData.annualincome == null ? '' : firstHoldersData.annualincome,\r\n },\r\n validationSchema: Yup.object({\r\n\r\n personalchoose: Yup.string().required(\"Title required\"),\r\n firstname: Yup.string().required(\"First Name required\").matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n middlename: Yup.string().required(\"Middle Name required\").matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n lastname: Yup.string().required(\"Last Name required\").matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n phoneno: Yup.string().required(\"Phone No. required\"),\r\n gender: Yup.string().required(\"Gender required\"),\r\n dob: Yup.string().required(\"Date of Birth required\"),\r\n maritalstatus: Yup.string().required(\"Maratial Status required\"),\r\n nationality: Yup.string().required(\"Nationality required\"),\r\n occupation: Yup.string().required(\"Occupation required\"),\r\n communicationaddress: Yup.string().required(\"Address 1 required\"),\r\n communicationstate: Yup.string().required(\"State required\"),\r\n communicationcity: Yup.string().required(\"City required\").matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n communicationpincode: Yup.number().required(\"Pincode required\"),\r\n permanentaddress: Yup.string().required(\"Address 1 required\"),\r\n permanentstate: Yup.string().required(\"State required\"),\r\n permanentcity: Yup.string().required(\"City required\").matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n permanentpincode: Yup.number().required(\"Pincode required\"),\r\n poi: Yup.string().required(\"POI required\"),\r\n poipoa: Yup.string().required(\"POI/POA required\"),\r\n pan: Yup.string().required(\"PAN No. required\"),\r\n panfile: Yup.string().required(\"PAN document required\"),\r\n photofile: Yup.string().required(\"Photo required\"),\r\n\r\n fatherchoose: Yup.string().required(\"Father Title required\"),\r\n fatherlastname: Yup.string().required(\"Father Last Name required\").matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n fatherfirstname: Yup.string().required(\"Father First name required\").matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n fathermiddlename: Yup.string().matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n motherchoose: Yup.string().required(\"Mother Title required\"),\r\n motherlastname: Yup.string().required(\"Mother Last Name required\").matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n motherfirstname: Yup.string().required(\"Mother First Name required\").matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n mothermiddlename: Yup.string().matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n maidenchoose: Yup.string().required(\"Maiden Title required\"),\r\n maidenlastname: Yup.string().required(\"Maiden Last Name required\").matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n maidenfirstname: Yup.string().required(\"Maiden First Name required\").matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n maidenmiddlename: Yup.string().matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n relatedpersonchoose: Yup.string().required(\"Title required\"),\r\n relatedpersonlastname: Yup.string().required(\"Last Name required\").matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n relatedpersonfirstname: Yup.string().required(\"First Name required\").matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n relatedpersonmiddlename: Yup.string().matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n relatedpersonrelation: Yup.string().required(\"Customer Relation required\").matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n relatedpersonpan: Yup.string().required(\"PAN required\"),\r\n relatedpersonaadhar: Yup.string().required(\"Aadhaar required\"),\r\n\r\n transactionparticulars: Yup.string().required(\"Transaction Particulars required\"),\r\n transactionsamount: Yup.string().required(\"Amount of Transactions required\"),\r\n detailsofincometax: Yup.string().required(\"Details of income required\"),\r\n reasonfornopan: Yup.string().required(\"Reason for not having PAN required\"),\r\n\r\n annualactivity: Yup.string().required(\"Annual activity/ A/c turnover required\"),\r\n averageincome: Yup.string().required(\"Average income required\"),\r\n expectedincome: Yup.string().required(\"Expected average balance required\"),\r\n annualincome: Yup.string().required(\"Annual income required\"),\r\n officemobileno: Yup.string().required(\"Mobile number required\"),\r\n }),\r\n\r\n onSubmit: (values) => {\r\n //console.log(\"values\", values);\r\n }\r\n });\r\n\r\n function BindPOIPOA(data) {\r\n debugger;\r\n var listPOI = [];\r\n\r\n if (data.length > 0) {\r\n if (data[0].poi != null) {\r\n data.map(p => {\r\n var rowsInput = {\r\n poiid: p.poiId.toString(),\r\n SelectedProofofIdentity: p.poi,\r\n EnterNumber: p.poiNo,\r\n POIPOA: p.poipoa,\r\n Expiry: p.expiryDate == null ? '' : p.expiryDate,\r\n Upload: '',\r\n poifilepath: p.poiFilePath,\r\n poifilepathurl: getAPIUrl() + \"/POIFiles/\" + p.poiFilePath,\r\n Delete: ''\r\n }\r\n listPOI.push(rowsInput);\r\n })\r\n\r\n setRowsData(listPOI);\r\n }\r\n }\r\n }\r\n\r\n function CheckIsValid(controlValues) {\r\n debugger;\r\n var x = Object.keys(controlValues[0])\r\n var isCheckIfUndefined = x.map(p => {\r\n if (controlValues[0][p] === \"\" || controlValues[0][p] === undefined) {\r\n if ((p == \"pan\" && controlValues[0][p] == \"\" && $(\"#chkPAN\").prop('checked')) || (p == \"panfile\" && controlValues[0][p] == \"\" && $(\"#chkPAN\").prop('checked'))) {\r\n return false;\r\n }\r\n else if (p == \"panfile\" && validation.values.poifilePath != '' && !$(\"#chkPAN\").prop('checked')) {\r\n return false;\r\n }\r\n else if (p == \"photofile\" && validation.values.photofilepath != '') {\r\n return false;\r\n }\r\n else if (p == \"panfile\" && validation.values.poifilePath == '' && !$(\"#chkPAN\").prop('checked')) {\r\n return true;\r\n }\r\n else if (p == \"photofile\" && validation.values.photofilepath == '') {\r\n return true;\r\n }\r\n else if (p == \"email\") {\r\n return false;\r\n }\r\n return true;\r\n }\r\n else\r\n return false;\r\n })\r\n\r\n var checkResponse = isCheckIfUndefined.includes(true)\r\n return checkResponse\r\n }\r\n\r\n // Function to format the date as \"dd-mmm-yyyy\"\r\n function formatDate(date) {\r\n debugger;\r\n const options = { day: '2-digit', month: 'short', year: 'numeric' };\r\n return date.toLocaleDateString('en-US', options);\r\n }\r\n\r\n $(\".d-block\").flatpickr({\r\n dateFormat: \"d-M-Y\",\r\n altFormat: \"F j, Y\",\r\n maxDate: \"today\",\r\n disableMobile: \"true\"\r\n });\r\n //$(\".d-block\").flatpickr({\r\n // dateFormat: \"d-m-Y\",\r\n // altFormat: \"F j, Y\",\r\n // maxDate: \"today\",\r\n // disableMobile: \"true\"\r\n //});\r\n\r\n $(\".maxFuture\").flatpickr({\r\n dateFormat: \"d-M-Y\",\r\n disableMobile: \"true\"\r\n });\r\n\r\n const tabHeading = {\r\n color: \"#9a084f\",\r\n fontWeight: \"bold\"\r\n }\r\n\r\n const label = {\r\n color: \"black\"\r\n }\r\n\r\n const formBackground = {\r\n borderRadius: 8,\r\n flex: 1,\r\n //backgroundColor: \"rgb(247 242 242)\",\r\n padding: \"15px\"\r\n }\r\n\r\n const cardBackground = {\r\n borderRadius: 15,\r\n flex: 1,\r\n marginTop: \"20px\",\r\n boxShadow: \"#504f4f6b 5px 5px 20px\",\r\n height: \"95%\",\r\n width: \"100%\"\r\n }\r\n\r\n const formButton = {\r\n marginLeft: \"20px\",\r\n backgroundColor: \"#9a084f\",\r\n fontSize: \"small\",\r\n borderRadius: \"0.50rem\"\r\n }\r\n\r\n const formButtonFirstPage = {\r\n marginLeft: \"15px\",\r\n backgroundColor: \"#9a084f\",\r\n fontSize: \"small\",\r\n borderRadius: \"0.50rem\"\r\n }\r\n\r\n const formMandatory = {\r\n color: \"red\",\r\n fontWeight: \"bold\"\r\n }\r\n \r\n return (\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n JSB-First Holder\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {\r\n toggleTabVertical(1)\r\n }}\r\n disabled={!(passedStepsVertical || []).includes(1)}\r\n >\r\n 1 Personal Details\r\n \r\n \r\n \r\n {\r\n toggleTabVertical(2)\r\n }}\r\n disabled={!(passedStepsVertical || []).includes(2)}\r\n >\r\n 2{\" \"}\r\n Family Details\r\n \r\n \r\n \r\n {\r\n toggleTabVertical(3)\r\n }}\r\n disabled={!(passedStepsVertical || []).includes(3)}\r\n >\r\n 3 Related person\r\n \r\n \r\n \r\n {\r\n toggleTabVertical(4)\r\n }}\r\n disabled={!(passedStepsVertical || []).includes(4)}\r\n >\r\n 4 Form no 60/61\r\n \r\n \r\n \r\n {\r\n toggleTabVertical(5)\r\n }}\r\n disabled={!(passedStepsVertical || []).includes(5)}\r\n >\r\n 5 Additional Details\r\n \r\n \r\n \r\n {\r\n toggleTabVertical(6)\r\n }}\r\n disabled={!(passedStepsVertical || []).includes(6)}\r\n >\r\n 6Declaration\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\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 FirstHolder\r\n","import MetaTags from \"react-meta-tags\";\r\nimport React, { useState, useEffect } from \"react\"\r\nimport { Row, Col, CardBody, Card, Container } from \"reactstrap\";\r\n/*import ImageViewer from \"react-simple-image-viewer\";*/\r\nimport PropTypes from 'prop-types';\r\n\r\n\r\nconst ShowPhoto = () => {\r\n\r\n const images = [\r\n \"http://placeimg.com/1200/800/nature\",\r\n \"http://placeimg.com/800/1200/nature\",\r\n \"http://placeimg.com/1920/1080/nature\",\r\n \"http://placeimg.com/1500/500/nature\"\r\n ];\r\n\r\n return (\r\n <>>\r\n );\r\n};\r\n\r\nShowPhoto.propTypes = {\r\n srcPath: PropTypes.string\r\n}\r\n\r\nexport default ShowPhoto\r\n\r\n\r\n","import React, { useState, useEffect } from \"react\"\r\nimport axios from 'axios';\r\nimport authHeader from \"helpers/authHeader\";\r\nimport MetaTags from \"react-meta-tags\"\r\nimport Flatpickr from \"react-flatpickr\";\r\nimport Select from 'react-select'\r\nimport {\r\n Card,\r\n CardBody,\r\n Table,\r\n Col,\r\n Container,\r\n Form,\r\n FormGroup,\r\n Input,\r\n InputGroup,\r\n Label,\r\n NavItem,\r\n NavLink,\r\n Row,\r\n Button,\r\n TabContent,\r\n TabPane,\r\n FormFeedback,\r\n\r\n} from \"reactstrap\"\r\n\r\n// Formik validation\r\nimport * as Yup from \"yup\";\r\nimport { ErrorMessage, useFormik } from \"formik\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport classnames from \"classnames\";\r\nimport toastr from \"toastr\";\r\nimport \"toastr/build/toastr.min.css\";\r\nimport { getAPIUrl, updatePersonalDetailsUrl, form60Url, getOtherHolderDetails, updateAccountHoldersStatusUrl, additionalDetailsUrl, getCustomerAdditionalDetailsUrl } from \"../../helpers/fakebackend_helper\";\r\nimport ShowPhoto from \"../../pages/JSBForms/ShowPhoto\"\r\n\r\n//redux\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\n\r\n//Get States\r\nimport { getState } from \"../../store/actions\";\r\n\r\n//Get Occupation\r\nimport { getOccupation } from \"../../store/actions\";\r\n\r\n//GetAll Poi\r\nimport { getPoi } from \"../../store/actions\";\r\n\r\n//GetAll Education\r\nimport { getEducation } from \"../../store/actions\";\r\n\r\n//GetAll OccupationDetails\r\nimport { getOccupationDetails } from \"../../store/actions\";\r\n\r\n//GetAll AssetDetails\r\nimport { getAssetDetails } from \"../../store/actions\";\r\n\r\n//GetAll OtherBankAccounts\r\nimport { getOtherBankAccounts } from \"../../store/actions\";\r\n\r\nimport TableRows from './TableRows';\r\nimport banner from \"../../assets/images/banner/banner.jpg\";\r\n\r\nconst OtherHolder = () => {\r\n\r\n var getBase64 = async (file) => {\r\n return await new Promise((resolve, reject) => {\r\n debugger;\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = error => reject(error);\r\n });\r\n }\r\n\r\n //=============Define State====================\r\n const history = useHistory();\r\n\r\n const [branch, setBranch] = useState([]);\r\n const [showEasing, setshowEasing] = useState(\"swing\");\r\n const [hideEasing, sethideEasing] = useState(\"linear\");\r\n const [showMethod, setshowMethod] = useState(\"fadeIn\");\r\n const [hideMethod, sethideMethod] = useState(\"fadeOut\");\r\n const [showDuration, setshowDuration] = useState(300);\r\n const [hideDuration, sethideDuration] = useState(1000);\r\n const [timeOut, settimeOut] = useState(2000);\r\n const [extendedTimeOut, setextendedTimeOut] = useState(1000);\r\n\r\n function SuccessMessage(message) {\r\n toastr.options = {\r\n positionClass: \"toast-top-center\",\r\n timeOut: timeOut,\r\n extendedTimeOut: extendedTimeOut,\r\n closeButton: true,\r\n debug: false,\r\n progressBar: false,\r\n preventDuplicates: false,\r\n newestOnTop: false,\r\n showEasing: showEasing,\r\n hideEasing: hideEasing,\r\n showMethod: showMethod,\r\n hideMethod: hideMethod,\r\n showDuration: showDuration,\r\n hideDuration: hideDuration\r\n };\r\n\r\n toastr.success(message, \"Information\");\r\n }\r\n\r\n function ErrorMessage(message) {\r\n toastr.options = {\r\n positionClass: \"toast-top-center\",\r\n timeOut: timeOut,\r\n extendedTimeOut: extendedTimeOut,\r\n closeButton: true,\r\n debug: false,\r\n progressBar: false,\r\n preventDuplicates: false,\r\n newestOnTop: false,\r\n showEasing: showEasing,\r\n hideEasing: hideEasing,\r\n showMethod: showMethod,\r\n hideMethod: hideMethod,\r\n showDuration: showDuration,\r\n hideDuration: hideDuration\r\n };\r\n\r\n toastr.error(message, \"Error\");\r\n }\r\n\r\n //GetAll OtherBankAccounts\r\n const { otherBankAccountsData } = useSelector(state => ({\r\n otherBankAccountsData: state.Registration.otherBankAccountsData,\r\n }));\r\n\r\n //GetAll Education\r\n const { educationData } = useSelector(state => ({\r\n educationData: state.Registration.educationData,\r\n }));\r\n\r\n //GetAll OccupationDetails\r\n const { occupationDetailsData } = useSelector(state => ({\r\n occupationDetailsData: state.Registration.occupationDetailsData,\r\n }));\r\n\r\n //GetAll AssetDetails\r\n const { assetDetailsData } = useSelector(state => ({\r\n assetDetailsData: state.Registration.assetDetailsData,\r\n }));\r\n\r\n const dispatch = useDispatch();\r\n const { stateData } = useSelector(state => ({\r\n stateData: state.Registration.stateData,\r\n }));\r\n\r\n //GetAll Occupation\r\n const { occupationData } = useSelector(state => ({\r\n occupationData: state.Registration.occupationData,\r\n }));\r\n\r\n //GetAll Poi\r\n const { poiData } = useSelector(state => ({\r\n poiData: state.Registration.poiData,\r\n }));\r\n\r\n function chkNumeric(e) {\r\n let input = e.target.value;\r\n\r\n if (input == \"\") {\r\n validation.handleChange(e);\r\n }\r\n else if (typeof input !== \"undefined\") {\r\n var pattern = new RegExp(/^[0-9\\b]+$/);\r\n if (pattern.test(input)) {\r\n validation.handleChange(e);\r\n }\r\n }\r\n }\r\n\r\n const [rowsData, setRowsData] = useState([]);\r\n\r\n const addPoiRows = () => {\r\n debugger;\r\n if ($(\"#ddlPOI option:selected\").val() == \"\") {\r\n ErrorMessage(\"Please select Proof of Identity!\");\r\n $(\"#ddlPOI\").focus();\r\n return;\r\n }\r\n else if ($(\"#ddlPOIPOA option:selected\").val() == \"\") {\r\n ErrorMessage(\"Please select POI/POA!\");\r\n $(\"#ddlPOIPOA\").focus();\r\n return;\r\n }\r\n\r\n if (rowsData.some(person => person.SelectedProofofIdentity === $(\"#ddlPOI option:selected\").text())) {\r\n ErrorMessage($(\"#ddlPOI option:selected\").text() + \" is already exists!\");\r\n return;\r\n }\r\n\r\n const rowsInput = {\r\n poiid: '',\r\n SelectedProofofIdentity: $(\"#ddlPOI option:selected\").text(),\r\n EnterNumber: '',\r\n POIPOA: $(\"#ddlPOIPOA option:selected\").text(),\r\n Expiry: '',\r\n Upload: '',\r\n poifilepath: '',\r\n poifilepathurl: '',\r\n Delete: ''\r\n }\r\n setRowsData([...rowsData, rowsInput])\r\n }\r\n\r\n const deletePoiRows = (index) => {\r\n debugger;\r\n if (rowsData.length > 1) {\r\n const rows = [...rowsData];\r\n rows.splice(index, 1);\r\n setRowsData(rows);\r\n }\r\n else if (rowsData.length == 1) {\r\n ErrorMessage(\"Atleast one POI/POA document is Compulsory!\");\r\n }\r\n }\r\n\r\n const handleChange = (index, evnt) => {\r\n debugger;\r\n const { name, value } = evnt.target;\r\n const rowsInput = [...rowsData];\r\n rowsInput[index][name] = value;\r\n setRowsData(rowsInput);\r\n }\r\n\r\n const handleCheckChange = (index, evnt) => {\r\n debugger;\r\n const { name, checked } = evnt.target;\r\n const rowsInput = [...rowsData];\r\n rowsInput[index][name] = checked;\r\n setRowsData(rowsInput);\r\n }\r\n\r\n const handleUploadChange = (index, evnt) => {\r\n debugger;\r\n const { name, value } = evnt.target;\r\n const rowsInput = [...rowsData];\r\n rowsInput[index][name] = evnt.target.files[0];\r\n setRowsData(rowsInput);\r\n }\r\n\r\n //Upload files\r\n const [selectedPhotoFile, setSelectedPhotoFile] = React.useState(\"\");\r\n const [selectedFile, setSelectedFile] = React.useState(\"\");\r\n const [holdersData, setHoldersData] = useState([]);\r\n\r\n const [emailError, setEmailError] = useState('');\r\n const [panError, setPanError] = useState('');\r\n const [isPreloader, setPreloader] = useState(false);\r\n\r\n function emailValidation(value) {\r\n debugger;\r\n const email = value.target.value;\r\n const regex = /^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\r\n if (!email || regex.test(email)\r\n === false) {\r\n setEmailError('Enter valid Email!')\r\n return false;\r\n }\r\n else {\r\n setEmailError('')\r\n return true;\r\n }\r\n }\r\n\r\n function panValidation(pan) {\r\n const regex = /^([A-Z]){5}([0-9]){4}([A-Z]){1}?$/;\r\n if (!pan || regex.test(pan) === false) {\r\n setPanError('Enter valid PAN number!')\r\n }\r\n else {\r\n setPanError('')\r\n return true;\r\n }\r\n }\r\n\r\n function passportValidation(passport) {\r\n debugger;\r\n var regex = new RegExp(\"^[A-PR-WY][1-9]\\\\d\\\\s?\\\\d{4}[1-9]$\");\r\n if (!passport || regex.test(passport) === false) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n function licenseValidation(license) {\r\n debugger;\r\n var regex = new RegExp(\"^(([A-Z]{2}[0-9]{2})( )|([A-Z]{2}-[0-9]{2}))((19|20)[0-9][0-9])[0-9]{7}$\");\r\n if (!license || regex.test(license) === false) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n function voterIDValidation(voterId) {\r\n debugger;\r\n var regex = /^([A-Z]){3}([0-9]){7}?$/g;\r\n if (!voterId || regex.test(voterId) === false) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n\r\n //function aadharValidation(uid) {\r\n // if (uid.length != 12) {\r\n // return false;\r\n // }\r\n\r\n // var Verhoeff = {\r\n // \"d\": [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\r\n // [1, 2, 3, 4, 0, 6, 7, 8, 9, 5],\r\n // [2, 3, 4, 0, 1, 7, 8, 9, 5, 6],\r\n // [3, 4, 0, 1, 2, 8, 9, 5, 6, 7],\r\n // [4, 0, 1, 2, 3, 9, 5, 6, 7, 8],\r\n // [5, 9, 8, 7, 6, 0, 4, 3, 2, 1],\r\n // [6, 5, 9, 8, 7, 1, 0, 4, 3, 2],\r\n // [7, 6, 5, 9, 8, 2, 1, 0, 4, 3],\r\n // [8, 7, 6, 5, 9, 3, 2, 1, 0, 4],\r\n // [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]],\r\n // \"p\": [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\r\n // [1, 5, 7, 6, 2, 8, 3, 0, 9, 4],\r\n // [5, 8, 0, 3, 7, 9, 6, 1, 4, 2],\r\n // [8, 9, 1, 6, 0, 4, 3, 5, 2, 7],\r\n // [9, 4, 5, 3, 1, 2, 6, 8, 7, 0],\r\n // [4, 2, 8, 6, 5, 7, 3, 9, 0, 1],\r\n // [2, 7, 9, 3, 8, 0, 6, 4, 1, 5],\r\n // [7, 0, 4, 6, 9, 1, 3, 2, 5, 8]],\r\n // \"j\": [0, 4, 3, 2, 1, 5, 6, 7, 8, 9],\r\n // \"check\": function (str) {\r\n // var c = 0;\r\n // str.replace(/\\D+/g, \"\").split(\"\").reverse().join(\"\").replace(/[\\d]/g, function (u, i) {\r\n // c = Verhoeff.d[c][Verhoeff.p[i % 8][parseInt(u, 10)]];\r\n // });\r\n // return c;\r\n\r\n // },\r\n // \"get\": function (str) {\r\n\r\n // var c = 0;\r\n // str.replace(/\\D+/g, \"\").split(\"\").reverse().join(\"\").replace(/[\\d]/g, function (u, i) {\r\n // c = Verhoeff.d[c][Verhoeff.p[(i + 1) % 8][parseInt(u, 10)]];\r\n // });\r\n // return Verhoeff.j[c];\r\n // }\r\n // };\r\n\r\n // String.prototype.verhoeffCheck = (function () {\r\n // var d = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\r\n // [1, 2, 3, 4, 0, 6, 7, 8, 9, 5],\r\n // [2, 3, 4, 0, 1, 7, 8, 9, 5, 6],\r\n // [3, 4, 0, 1, 2, 8, 9, 5, 6, 7],\r\n // [4, 0, 1, 2, 3, 9, 5, 6, 7, 8],\r\n // [5, 9, 8, 7, 6, 0, 4, 3, 2, 1],\r\n // [6, 5, 9, 8, 7, 1, 0, 4, 3, 2],\r\n // [7, 6, 5, 9, 8, 2, 1, 0, 4, 3],\r\n // [8, 7, 6, 5, 9, 3, 2, 1, 0, 4],\r\n // [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]];\r\n // var p = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\r\n // [1, 5, 7, 6, 2, 8, 3, 0, 9, 4],\r\n // [5, 8, 0, 3, 7, 9, 6, 1, 4, 2],\r\n // [8, 9, 1, 6, 0, 4, 3, 5, 2, 7],\r\n // [9, 4, 5, 3, 1, 2, 6, 8, 7, 0],\r\n // [4, 2, 8, 6, 5, 7, 3, 9, 0, 1],\r\n // [2, 7, 9, 3, 8, 0, 6, 4, 1, 5],\r\n // [7, 0, 4, 6, 9, 1, 3, 2, 5, 8]];\r\n\r\n // return function () {\r\n // var c = 0;\r\n // this.replace(/\\D+/g, \"\").split(\"\").reverse().join(\"\").replace(/[\\d]/g, function (u, i) {\r\n // c = d[c][p[i % 8][parseInt(u, 10)]];\r\n // });\r\n // return (c === 0);\r\n // };\r\n // })();\r\n\r\n // if (Verhoeff['check'](uid) === 0) {\r\n // return true;\r\n // } else {\r\n // return false;\r\n // }\r\n //}\r\n\r\n function aadharValidation(uid) {\r\n debugger;\r\n var regex = new RegExp(\"^[2-9]{1}[0-9]{3}[0-9]{4}[0-9]{4}$\");\r\n if (!uid || regex.test(uid) === false) {\r\n return false;\r\n }\r\n else {\r\n if (uid.length != 12) {\r\n return false;\r\n }\r\n\r\n var Verhoeff = {\r\n \"d\": [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\r\n [1, 2, 3, 4, 0, 6, 7, 8, 9, 5],\r\n [2, 3, 4, 0, 1, 7, 8, 9, 5, 6],\r\n [3, 4, 0, 1, 2, 8, 9, 5, 6, 7],\r\n [4, 0, 1, 2, 3, 9, 5, 6, 7, 8],\r\n [5, 9, 8, 7, 6, 0, 4, 3, 2, 1],\r\n [6, 5, 9, 8, 7, 1, 0, 4, 3, 2],\r\n [7, 6, 5, 9, 8, 2, 1, 0, 4, 3],\r\n [8, 7, 6, 5, 9, 3, 2, 1, 0, 4],\r\n [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]],\r\n \"p\": [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\r\n [1, 5, 7, 6, 2, 8, 3, 0, 9, 4],\r\n [5, 8, 0, 3, 7, 9, 6, 1, 4, 2],\r\n [8, 9, 1, 6, 0, 4, 3, 5, 2, 7],\r\n [9, 4, 5, 3, 1, 2, 6, 8, 7, 0],\r\n [4, 2, 8, 6, 5, 7, 3, 9, 0, 1],\r\n [2, 7, 9, 3, 8, 0, 6, 4, 1, 5],\r\n [7, 0, 4, 6, 9, 1, 3, 2, 5, 8]],\r\n \"j\": [0, 4, 3, 2, 1, 5, 6, 7, 8, 9],\r\n \"check\": function (str) {\r\n var c = 0;\r\n str.replace(/\\D+/g, \"\").split(\"\").reverse().join(\"\").replace(/[\\d]/g, function (u, i) {\r\n c = Verhoeff.d[c][Verhoeff.p[i % 8][parseInt(u, 10)]];\r\n });\r\n return c;\r\n\r\n },\r\n \"get\": function (str) {\r\n\r\n var c = 0;\r\n str.replace(/\\D+/g, \"\").split(\"\").reverse().join(\"\").replace(/[\\d]/g, function (u, i) {\r\n c = Verhoeff.d[c][Verhoeff.p[(i + 1) % 8][parseInt(u, 10)]];\r\n });\r\n return Verhoeff.j[c];\r\n }\r\n };\r\n\r\n String.prototype.verhoeffCheck = (function () {\r\n var d = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\r\n [1, 2, 3, 4, 0, 6, 7, 8, 9, 5],\r\n [2, 3, 4, 0, 1, 7, 8, 9, 5, 6],\r\n [3, 4, 0, 1, 2, 8, 9, 5, 6, 7],\r\n [4, 0, 1, 2, 3, 9, 5, 6, 7, 8],\r\n [5, 9, 8, 7, 6, 0, 4, 3, 2, 1],\r\n [6, 5, 9, 8, 7, 1, 0, 4, 3, 2],\r\n [7, 6, 5, 9, 8, 2, 1, 0, 4, 3],\r\n [8, 7, 6, 5, 9, 3, 2, 1, 0, 4],\r\n [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]];\r\n var p = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\r\n [1, 5, 7, 6, 2, 8, 3, 0, 9, 4],\r\n [5, 8, 0, 3, 7, 9, 6, 1, 4, 2],\r\n [8, 9, 1, 6, 0, 4, 3, 5, 2, 7],\r\n [9, 4, 5, 3, 1, 2, 6, 8, 7, 0],\r\n [4, 2, 8, 6, 5, 7, 3, 9, 0, 1],\r\n [2, 7, 9, 3, 8, 0, 6, 4, 1, 5],\r\n [7, 0, 4, 6, 9, 1, 3, 2, 5, 8]];\r\n\r\n return function () {\r\n var c = 0;\r\n this.replace(/\\D+/g, \"\").split(\"\").reverse().join(\"\").replace(/[\\d]/g, function (u, i) {\r\n c = d[c][p[i % 8][parseInt(u, 10)]];\r\n });\r\n return (c === 0);\r\n };\r\n })();\r\n\r\n if (Verhoeff['check'](uid) === 0) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n function getCustomerAge() {\r\n var dob = new Date(validation.values.dob);\r\n var today = new Date();\r\n var age = Math.floor((today - dob) / (365.25 * 24 * 60 * 60 * 1000));\r\n return age;\r\n }\r\n\r\n function handlePhotoUpload(event) {\r\n setSelectedPhotoFile(event.target.files[0]);\r\n }\r\n function handleUpload(event) {\r\n setSelectedFile(event.target.files[0]);\r\n }\r\n\r\n var authCustomerObject = JSON.parse(localStorage.getItem('authCustomer'));\r\n\r\n const registrationHoldersPOIList = [];\r\n\r\n var registrationHoldersPOI = {\r\n POI: '',\r\n POINo: '',\r\n IsPOI: '',\r\n IsPOA: '',\r\n ExpiryDate: '',\r\n Base64POI: ''\r\n }\r\n\r\n var objRegistrationHolders = {\r\n Title: '',\r\n FirstName: '',\r\n MiddleName: '',\r\n LastName: '',\r\n DOB: '',\r\n Gender: '',\r\n Nationality: '',\r\n Occupation: '',\r\n Mobile: '',\r\n Email: '',\r\n MartialStatus: '',\r\n LocalAddress1: '',\r\n LocalAddress2: '',\r\n LocalAddress3: '',\r\n LocalCity: '',\r\n LocalPin: '',\r\n LocalState: '',\r\n PermanentAddress1: '',\r\n PermanentAddress2: '',\r\n PermanentAddress3: '',\r\n PermanentCity: '',\r\n PermanentPin: '',\r\n PermanentState: '',\r\n PAN: '',\r\n Base64PAN: '',\r\n registrationHoldersPOI: registrationHoldersPOIList\r\n }\r\n\r\n const personalDetails = {\r\n RegistrationId: localStorage.getItem(\"registrationId\"),\r\n objRegistrationHolders: objRegistrationHolders\r\n }\r\n\r\n const form60 = {\r\n RegistrationId: '',\r\n DeclarantDocuments: '',\r\n DeclarantTransactionParticulars: '',\r\n DeclarantAmountofTransaction: '',\r\n DeclarantAssessedTax: '',\r\n DetailsOfIncomeTax: '',\r\n ReasonForNoPan: ''\r\n }\r\n\r\n const additionalDetails = {\r\n RegistrationId: '',\r\n FundsExpectedOrigin: '',\r\n FundsUtilisationExpected: '',\r\n OtherBankAccounts: '',\r\n Turnover: '',\r\n AverageIncome: '',\r\n AverageBalance: '',\r\n Education: '',\r\n Religion: '',\r\n OccupationDetails: '',\r\n LineOfBusiness: '',\r\n BusinessName: '',\r\n BusinessStartDate: '',\r\n BusinessAddress1: '',\r\n BusinessAddress2: '',\r\n BusinessAddress3: '',\r\n BusinessTelNo: '',\r\n BusinessMobileNo: '',\r\n BusinessAnnualIncome: '',\r\n BusinessIncomeSource: '',\r\n BusinessWealthSource: '',\r\n BusinessEstimatedValue: '',\r\n BusinessAssetDetails: '',\r\n BornNonIndia: '',\r\n TaxResidenceNonIndia: '',\r\n BusinessVehicleType: '',\r\n BusinessCarPurchaseYear: '',\r\n BusinessCarMaker: '',\r\n InterestedIn: ''\r\n }\r\n\r\n const registrationHoldersId = localStorage.getItem('registrationHoldersId');\r\n\r\n function GetOtherHolderDetails() {\r\n debugger;\r\n const createAccountHolderModel = {\r\n RegistrationId: localStorage.getItem('registrationId'),\r\n RegistrationHolderId: registrationHoldersId\r\n };\r\n\r\n setPreloader(true);\r\n\r\n axios.post(getOtherHolderDetails(), createAccountHolderModel, { headers: authHeader() }).then((response) => {\r\n if (response.data.length != 0 && response.data[0].declarantAssessedTax != null) {\r\n if (response.data[0].declarantAssessedTax == true) {\r\n $('#rbaccessedtaxyes').prop('checked', true);\r\n $('#rbaccessedtaxno').prop('checked', false);\r\n }\r\n else if (response.data[0].declarantAssessedTax == false) {\r\n $('#rbaccessedtaxyes').prop('checked', false);\r\n $('#rbaccessedtaxno').prop('checked', true);\r\n }\r\n }\r\n\r\n if (response.data.length != 0 && response.data[0].isPAN != null) {\r\n if (response.data[0].isPAN == false) {\r\n $('#chkPAN').prop('checked', true);\r\n $(\"#txtPancard\").attr('disabled', 'disabled');\r\n $(\"#Upload\").attr('disabled', 'disabled');\r\n $(\"#txtPancard\").val('');\r\n }\r\n else if (response.data[0].isPAN == true) {\r\n $('#chkPAN').prop('checked', false);\r\n $(\"#txtPancard\").removeAttr('disabled');\r\n $(\"#Upload\").removeAttr('disabled');\r\n }\r\n }\r\n\r\n if (response.data.length == 0) {\r\n setHoldersData(response.data);\r\n BindPOIPOA(response.data);\r\n setPreloader(false);\r\n return;\r\n }\r\n else if (response.data.length > 0) {\r\n if (response.data[0].photoFilePath != \"\") {\r\n $(\"#lnkPhotoDownload\").css(\"visibility\", \"visible\");\r\n $(\"#lnkPhotoDownload\").prop(\"href\", getAPIUrl() + \"/Photo/\" + response.data[0].photoFilePath);\r\n }\r\n if (response.data[0].panFilePath != \"\") {\r\n $(\"#lnkPANDownload\").css(\"visibility\", \"visible\");\r\n $(\"#lnkPANDownload\").prop(\"href\", getAPIUrl() + \"/POIFiles/\" + response.data[0].panFilePath);\r\n }\r\n\r\n BindAdditionalDetails(response.data[0]);\r\n setHoldersData(response.data[0]);\r\n BindPOIPOA(response.data);\r\n setPreloader(false);\r\n }\r\n\r\n setPreloader(false);\r\n }, (error) => {\r\n ErrorMessage(error.response);\r\n setPreloader(false);\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n debugger;\r\n if (isPreloader === true) {\r\n document.getElementById(\"preloader\").style.display = \"block\";\r\n document.getElementById(\"status\").style.display = \"block\";\r\n } else {\r\n document.getElementById(\"preloader\").style.display = \"none\";\r\n document.getElementById(\"status\").style.display = \"none\";\r\n }\r\n }, [isPreloader]);\r\n\r\n useEffect(() => {\r\n dispatch(getState());\r\n dispatch(getOccupation());\r\n dispatch(getPoi());\r\n dispatch(getEducation());\r\n dispatch(getOccupationDetails());\r\n dispatch(getAssetDetails());\r\n dispatch(getOtherBankAccounts());\r\n GetOtherHolderDetails();\r\n }, [dispatch]);\r\n\r\n function BindAdditionalDetails(additionalDetails) {\r\n debugger;\r\n if (additionalDetails != null) {\r\n additionalDetails.fundsExpectedOrigin == null ? $('#ddlfundsforcredit option:selected').val(1) : additionalDetails.fundsExpectedOrigin == '' ? $('#ddlfundsforcredit option:selected').val(1) : $('#ddlfundsforcredit option:selected').text(additionalDetails.fundsExpectedOrigin);\r\n additionalDetails.fundsUtilisationExpected == null ? $('#ddlfundsbydebit option:selected').val(1) : additionalDetails.fundsUtilisationExpected == '' ? $('#ddlfundsbydebit option:selected').val(1) : $('#ddlfundsbydebit option:selected').text(additionalDetails.fundsUtilisationExpected);\r\n additionalDetails.otherBankAccounts == null ? $('#ddlotherbanksaccounts option:selected').val(1) : additionalDetails.otherBankAccounts == '' ? $('#ddlotherbanksaccounts option:selected').val(1) : $('#ddlotherbanksaccounts option:selected').text(additionalDetails.otherBankAccounts);\r\n $('#txtturnover').val(additionalDetails.turnover);\r\n $('#txtaverageincome').val(additionalDetails.averageIncome);\r\n $('#txtexpectedincome').val(additionalDetails.averageBalance);\r\n additionalDetails.education == null ? $('#ddleducation option:selected').val(1) : additionalDetails.education == '' ? $('#ddleducation option:selected').val(1) : $('#ddleducation option:selected').text(additionalDetails.education);\r\n additionalDetails.religion == null ? $('#ddlreligion option:selected').val(1) : additionalDetails.religion == '' ? $('#ddlreligion option:selected').val(1) : $('#ddlreligion option:selected').text(additionalDetails.religion);\r\n additionalDetails.occupationDetails == null ? $('#ddloccupationdetails option:selected').val(1) : additionalDetails.occupationDetails == '' ? $('#ddloccupationdetails option:selected').val(1) : $('#ddloccupationdetails option:selected').text(additionalDetails.occupationDetails);\r\n $('#txtlineofnusiness').val(additionalDetails.lineOfBusiness);\r\n $('#txtbusinessname').val(additionalDetails.businessName);\r\n $('#txtstartbusinessdate').val(additionalDetails.businessStartDate);\r\n $('#txtbussinessaddress1').val(additionalDetails.businessAddress1);\r\n $('#txtbussinessaddress2').val(additionalDetails.businessAddress2);\r\n $('#txtbussinessaddress3').val(additionalDetails.businessAddress3);\r\n $('#txtofficecontact').val(additionalDetails.businessTelNo);\r\n $('#txtofficemobileno').val(additionalDetails.businessMobileNo);\r\n additionalDetails.businessAnnualIncome == null ? $('#ddlannualincome option:selected').val(1) : additionalDetails.businessAnnualIncome == '' ? $('#ddlannualincome option:selected').val(1) : $('#ddlannualincome option:selected').text(additionalDetails.businessAnnualIncome);\r\n $('#txtsourceofincome').val(additionalDetails.businessIncomeSource);\r\n $('#txtsourceofwealth').val(additionalDetails.businessWealthSource);\r\n additionalDetails.businessEstimatedValue == null ? $('#ddlestimatedvalue option:selected').val(1) : additionalDetails.businessEstimatedValue == '' ? $('#ddlestimatedvalue option:selected').val(1) : $('#ddlestimatedvalue option:selected').text(additionalDetails.businessEstimatedValue);\r\n additionalDetails.caste == null ? $('#caste option:selected').val(1) : additionalDetails.caste == '' ? $('#caste option:selected').val(1) : $('#caste option:selected').text(additionalDetails.caste);\r\n\r\n if (additionalDetails.businessAssetDetails != null) {\r\n if (additionalDetails.businessAssetDetails.length > 0) {\r\n if (additionalDetails.businessAssetDetails.includes('Commercial Property')) {\r\n $('#chkcommercialproperty').prop('checked', true);\r\n }\r\n else {\r\n $('#chkcommercialproperty').prop('checked', false);\r\n }\r\n\r\n if (additionalDetails.businessAssetDetails.includes('House')) {\r\n $('#chkhouse').prop('checked', true);\r\n }\r\n else {\r\n $('#chkhouse').prop('checked', false);\r\n }\r\n\r\n if (additionalDetails.businessAssetDetails.includes('Plot')) {\r\n $('#chkplot').prop('checked', true);\r\n }\r\n else {\r\n $('#chkplot').prop('checked', false);\r\n }\r\n\r\n if (additionalDetails.businessAssetDetails.includes('Others')) {\r\n $('#chkothers').prop('checked', true);\r\n }\r\n else {\r\n $('#chkothers').prop('checked', false);\r\n }\r\n }\r\n }\r\n\r\n if (additionalDetails.taxResidenceNonIndia != null) {\r\n if (additionalDetails.taxResidenceNonIndia == true) {\r\n $('#rbtaxresidenceyes').prop('checked', true);\r\n $('#rbtaxresidenceno').prop('checked', false);\r\n }\r\n else if (additionalDetails.taxResidenceNonIndia == false) {\r\n $('#rbtaxresidenceyes').prop('checked', false);\r\n $('#rbtaxresidenceno').prop('checked', true);\r\n }\r\n }\r\n\r\n if (additionalDetails.bornNonIndia != null) {\r\n if (additionalDetails.bornNonIndia == true) {\r\n $('#rbbornyes').prop('checked', true);\r\n $('#rbbornno').prop('checked', false);\r\n }\r\n else if (additionalDetails.bornNonIndia == false) {\r\n $('#rbbornyes').prop('checked', false);\r\n $('#rbbornno').prop('checked', true);\r\n }\r\n }\r\n\r\n if (additionalDetails.businessVehicleTwoWheeler != null) {\r\n if (additionalDetails.businessVehicleTwoWheeler.length > 0) {\r\n if (additionalDetails.businessVehicleTwoWheeler.includes('Two Wheeler')) {\r\n $('#chktwowheeler').prop('checked', true);\r\n $('#twowheeleryear').val(additionalDetails.businessTwoWheelerPurchaseYear);\r\n }\r\n else {\r\n $('#chktwowheeler').prop('checked', false);\r\n }\r\n }\r\n }\r\n\r\n if (additionalDetails.businessVehicleCar != null) {\r\n if (additionalDetails.businessVehicleCar.length > 0) {\r\n if (additionalDetails.businessVehicleCar.includes('Car')) {\r\n $('#chkcar').prop('checked', true);\r\n $('#txtcaryear').val(additionalDetails.businessCarPurchaseYear);\r\n }\r\n else {\r\n $('#chkcar').prop('checked', false);\r\n }\r\n }\r\n }\r\n\r\n if (additionalDetails.businessVehicleOther != null) {\r\n if (additionalDetails.businessVehicleOther.length > 0) {\r\n if (additionalDetails.businessVehicleOther.includes('Other')) {\r\n $('#chkother').prop('checked', true);\r\n $('#txtotheryear').val(additionalDetails.businessOtherPurchaseYear);\r\n }\r\n else {\r\n $('#chkother').prop('checked', false);\r\n }\r\n }\r\n }\r\n\r\n if (additionalDetails.interestedIn != null) {\r\n if (additionalDetails.interestedIn.length > 0) {\r\n if (additionalDetails.interestedIn.includes('Mutual Funds')) {\r\n $('#chkmutualfunds').prop('checked', true);\r\n }\r\n else {\r\n $('#chkmutualfunds').prop('checked', false);\r\n }\r\n\r\n if (additionalDetails.interestedIn.includes('Health Insurance')) {\r\n $('#chkhealthinsurance').prop('checked', true);\r\n }\r\n else {\r\n $('#chkhealthinsurance').prop('checked', false);\r\n }\r\n\r\n if (additionalDetails.interestedIn.includes('General Insurance')) {\r\n $('#chkgeneralinsurance').prop('checked', true);\r\n }\r\n else {\r\n $('#chkgeneralinsurance').prop('checked', false);\r\n }\r\n\r\n if (additionalDetails.interestedIn.includes('Demat')) {\r\n $('#chkdemat').prop('checked', true);\r\n }\r\n else {\r\n $('#chkdemat').prop('checked', false);\r\n }\r\n\r\n if (additionalDetails.interestedIn.includes('Pradhan Mantri Suraksha Bima Yojana (PMSBY)')) {\r\n $('#chkpmsby').prop('checked', true);\r\n }\r\n else {\r\n $('#chkpmsby').prop('checked', false);\r\n }\r\n\r\n if (additionalDetails.interestedIn.includes('Pradhan Mantri Jeevan Jyoti Bima Yojana (PMJJBY)')) {\r\n $('#chkpmjjby').prop('checked', true);\r\n }\r\n else {\r\n $('#chkpmjjby').prop('checked', false);\r\n }\r\n }\r\n }\r\n\r\n $('#txtcarmaker').val(additionalDetails.businessCarMaker);\r\n }\r\n }\r\n\r\n function disablePAN() {\r\n if ($(\"#chkPAN\").prop('checked') == true) {\r\n $(\"#txtPancard\").attr('disabled', 'disabled');\r\n $(\"#Upload\").attr('disabled', 'disabled');\r\n $(\"#txtPancard\").val('');\r\n }\r\n else {\r\n $(\"#txtPancard\").removeAttr('disabled');\r\n $(\"#Upload\").removeAttr('disabled');\r\n }\r\n }\r\n\r\n function otherHolderSave(personalDetails, tabId) {\r\n if (selectedPhotoFile != '' && selectedFile != '') {\r\n\r\n setPreloader(true);\r\n getBase64(selectedPhotoFile).then(\r\n photodata => {\r\n objRegistrationHolders.Base64Photo = photodata;\r\n\r\n getBase64(selectedFile).then(\r\n poidata => {\r\n objRegistrationHolders.Base64PAN = poidata\r\n\r\n axios.post(updatePersonalDetailsUrl(), personalDetails, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n if ($(\"#chkPAN\").prop('checked') == true) {\r\n toggleTabVertical(tabId + 1);\r\n setPreloader(false);\r\n }\r\n else if ($(\"#chkPAN\").prop('checked') == false) {\r\n toggleTabVertical(tabId + 2);\r\n setPreloader(false);\r\n }\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n setPreloader(false);\r\n }\r\n })\r\n }\r\n );\r\n }\r\n );\r\n }\r\n else if (selectedPhotoFile != '' && selectedFile == '') {\r\n\r\n setPreloader(true);\r\n objRegistrationHolders.Base64PAN = '';\r\n\r\n getBase64(selectedPhotoFile).then(\r\n photodata => {\r\n objRegistrationHolders.Base64Photo = photodata;\r\n\r\n axios.post(updatePersonalDetailsUrl(), personalDetails, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n if ($(\"#chkPAN\").prop('checked') == true) {\r\n toggleTabVertical(tabId + 1);\r\n setPreloader(false);\r\n }\r\n else if ($(\"#chkPAN\").prop('checked') == false) {\r\n toggleTabVertical(tabId + 2);\r\n setPreloader(false);\r\n }\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n setPreloader(false);\r\n }\r\n })\r\n }\r\n );\r\n }\r\n else if (selectedPhotoFile == '' && selectedFile != '') {\r\n\r\n setPreloader(true);\r\n objRegistrationHolders.Base64Photo = '';\r\n\r\n getBase64(selectedFile).then(\r\n poidata => {\r\n objRegistrationHolders.Base64PAN = poidata;\r\n\r\n axios.post(updatePersonalDetailsUrl(), personalDetails, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n if ($(\"#chkPAN\").prop('checked') == true) {\r\n toggleTabVertical(tabId + 1);\r\n setPreloader(false);\r\n }\r\n else if ($(\"#chkPAN\").prop('checked') == false) {\r\n toggleTabVertical(tabId + 2);\r\n setPreloader(false);\r\n }\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n setPreloader(false);\r\n }\r\n })\r\n }\r\n );\r\n }\r\n else if (selectedPhotoFile == '' && selectedFile == '') {\r\n\r\n setPreloader(true);\r\n objRegistrationHolders.Base64Photo = '';\r\n objRegistrationHolders.Base64PAN = '';\r\n\r\n axios.post(updatePersonalDetailsUrl(), personalDetails, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n if ($(\"#chkPAN\").prop('checked') == true) {\r\n toggleTabVertical(tabId + 1);\r\n setPreloader(false);\r\n }\r\n else if ($(\"#chkPAN\").prop('checked') == false) {\r\n toggleTabVertical(tabId + 2);\r\n setPreloader(false);\r\n }\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n setPreloader(false);\r\n }\r\n })\r\n }\r\n }\r\n\r\n function CreateAccount(tabId) {\r\n debugger;\r\n\r\n var today = new Date();\r\n\r\n if (tabId == 1) {\r\n\r\n //toggleTabVertical(tabId + 1);\r\n //return;\r\n\r\n if ($('#txtPhoneno').val().length > 0) {\r\n if ($('#txtPhoneno').val().length != 10) {\r\n $('#txtPhoneno').focus();\r\n ErrorMessage(\"Please enter 10 digit Mobile number!\");\r\n return;\r\n }\r\n }\r\n\r\n if (($('#txtPancard').val().trim() == \"\") && ($(\"#chkPAN\").prop('checked') == false)) {\r\n $('#txtPancard').focus();\r\n ErrorMessage(\"Please enter PAN No. or check Form60!\");\r\n return;\r\n }\r\n\r\n if ($(\"#chkPAN\").prop('checked') == false) {\r\n $('#navForm60').css('background-color', 'lightgrey');\r\n }\r\n else {\r\n $('#navForm60').css('background-color', '');\r\n }\r\n\r\n debugger;\r\n if ($(\"#chkPAN\").prop('checked') == false) {\r\n if (!panValidation($('#txtPancard').val().trim())) {\r\n ErrorMessage('Please enter valid PAN Number!');\r\n $('#txtPancard').focus();\r\n return;\r\n }\r\n }\r\n\r\n var IsValid = false;\r\n\r\n if (rowsData.length == 0) {\r\n ErrorMessage(\"Please add atleast one POI/POA document!\");\r\n return IsValid = false;\r\n }\r\n else {\r\n rowsData.map(poiCustomerData => {\r\n debugger;\r\n if (poiCustomerData.EnterNumber.trim().length == 0) {\r\n ErrorMessage(\"Please enter Document Number for \" + poiCustomerData.SelectedProofofIdentity + \"!\");\r\n return IsValid = false;\r\n }\r\n else if (poiCustomerData.Upload.length == 0 && poiCustomerData.poifilepath.length == 0) {\r\n ErrorMessage(\"Please uplaod document for \" + poiCustomerData.SelectedProofofIdentity + \"!\");\r\n return IsValid = false;\r\n }\r\n else {\r\n return IsValid = true;\r\n }\r\n })\r\n }\r\n\r\n rowsData.map(poiCustomerData => {\r\n if (poiCustomerData.EnterNumber.trim().length > 0) {\r\n if (poiCustomerData.SelectedProofofIdentity == \"Passport\" && (!passportValidation(poiCustomerData.EnterNumber))) {\r\n ErrorMessage('Please enter valid Passport Number!');\r\n return IsValid = false;\r\n }\r\n else if (poiCustomerData.SelectedProofofIdentity == \"UID\" && (!aadharValidation(poiCustomerData.EnterNumber))) {\r\n ErrorMessage('Please enter valid Aadhaar Number!');\r\n return IsValid = false;\r\n }\r\n else if (poiCustomerData.SelectedProofofIdentity == \"License\" && (!licenseValidation(poiCustomerData.EnterNumber))) {\r\n ErrorMessage('Please enter valid License Number!');\r\n return IsValid = false;\r\n }\r\n //else if (poiCustomerData.SelectedProofofIdentity == \"Voter ID\" && (!voterIDValidation(poiCustomerData.EnterNumber))) {\r\n // ErrorMessage('Please enter valid Voter ID Number!');\r\n // return IsValid = false;\r\n //}\r\n }\r\n })\r\n\r\n if (rowsData.find(p => p.POIPOA == \"POA & POI\") == undefined) {\r\n if (rowsData.find(p => p.POIPOA == \"POI\") == undefined) {\r\n ErrorMessage(\"Please add POI document!\");\r\n return IsValid = false;\r\n }\r\n else if (rowsData.find(p => p.POIPOA == \"POA\") == undefined) {\r\n ErrorMessage(\"Please add POA document!\");\r\n return IsValid = false;\r\n }\r\n }\r\n\r\n var age = getCustomerAge();\r\n var isPAN = \"true\";\r\n if ($(\"#chkPAN\").prop('checked') == true) {\r\n isPAN = \"false\";\r\n }\r\n\r\n if (IsValid) {\r\n\r\n objRegistrationHolders = {};\r\n\r\n objRegistrationHolders.Id = registrationHoldersId;\r\n objRegistrationHolders.Title = $('#ddlpersonalchoose').val();\r\n objRegistrationHolders.FirstName = $('#txtFirstName').val().trim();\r\n objRegistrationHolders.MiddleName = $('#txtMiddleName').val().trim();\r\n objRegistrationHolders.LastName = $('#txtLastName').val().trim();\r\n objRegistrationHolders.DOB = $('#txtdob').val();\r\n objRegistrationHolders.Gender = $('#ddlgender').val();\r\n objRegistrationHolders.Nationality = $('#ddlnationality').val();\r\n objRegistrationHolders.Occupation = $('#ddloccupation').val().trim();\r\n objRegistrationHolders.Mobile = $('#txtPhoneno').val().trim();\r\n objRegistrationHolders.Email = $('#txtEmailID').val().trim();\r\n objRegistrationHolders.MartialStatus = $('#ddlmaratialstatus').val();\r\n objRegistrationHolders.LocalAddress1 = $('#txtCommunicationAddress1').val().trim();\r\n objRegistrationHolders.LocalAddress2 = $('#txtCommunicationAddress2').val().trim();\r\n objRegistrationHolders.LocalAddress3 = $('#txtCommunicationAddress3').val().trim();\r\n objRegistrationHolders.LocalCity = $('#txtCommunicationCity').val().trim();\r\n objRegistrationHolders.LocalPin = $('#txtCommunicationPincode').val().trim();\r\n objRegistrationHolders.LocalState = $('#ddlCommunicationState').val();\r\n objRegistrationHolders.PermanentAddress1 = $('#txtPermanentAddress1').val().trim();\r\n objRegistrationHolders.PermanentAddress2 = $('#txtPermanentAddress2').val().trim();\r\n objRegistrationHolders.PermanentAddress3 = $('#txtPermanentAddress3').val().trim();\r\n objRegistrationHolders.PermanentCity = $('#txtPermanentCity').val().trim();\r\n objRegistrationHolders.PermanentPin = $('#txtPermanentPincode').val().trim();\r\n objRegistrationHolders.PermanentState = $('#ddlPermanentState').val();\r\n objRegistrationHolders.PAN = $('#txtPancard').val();\r\n objRegistrationHolders.IsMinor = age < 18 ? \"true\" : \"false\";\r\n objRegistrationHolders.isPAN = isPAN;\r\n objRegistrationHolders.CustomerId = $('#txtCustomerID').val().trim();\r\n objRegistrationHolders.CKYCNo = $('#txtCKYCNumber').val().trim();\r\n\r\n rowsData.map(poiCustomerData => {\r\n if (poiCustomerData.Upload != \"\") {\r\n getBase64(poiCustomerData.Upload).then(data => {\r\n registrationHoldersPOI = {};\r\n registrationHoldersPOI.POIId = poiCustomerData.poiid;\r\n registrationHoldersPOI.Base64POI = data;\r\n registrationHoldersPOI.POI = poiCustomerData.SelectedProofofIdentity;\r\n registrationHoldersPOI.POINo = poiCustomerData.EnterNumber;\r\n registrationHoldersPOI.POIPOA = poiCustomerData.POIPOA;\r\n registrationHoldersPOI.ExpiryDate = poiCustomerData.Expiry;\r\n registrationHoldersPOIList.push(registrationHoldersPOI);\r\n\r\n if (registrationHoldersPOIList.length == rowsData.length) {\r\n objRegistrationHolders.registrationHoldersPOI = registrationHoldersPOIList;\r\n personalDetails.objRegistrationHolders = objRegistrationHolders;\r\n\r\n otherHolderSave(personalDetails, tabId);\r\n }\r\n })\r\n }\r\n else {\r\n registrationHoldersPOI = {};\r\n registrationHoldersPOI.POIId = poiCustomerData.poiid;\r\n registrationHoldersPOI.Base64POI = \"\";\r\n registrationHoldersPOI.POI = poiCustomerData.SelectedProofofIdentity;\r\n registrationHoldersPOI.POINo = poiCustomerData.EnterNumber;\r\n registrationHoldersPOI.POIPOA = poiCustomerData.POIPOA;\r\n registrationHoldersPOI.ExpiryDate = poiCustomerData.Expiry;\r\n registrationHoldersPOIList.push(registrationHoldersPOI);\r\n\r\n if (registrationHoldersPOIList.length == rowsData.length) {\r\n objRegistrationHolders.registrationHoldersPOI = registrationHoldersPOIList;\r\n personalDetails.objRegistrationHolders = objRegistrationHolders;\r\n\r\n otherHolderSave(personalDetails, tabId);\r\n }\r\n }\r\n })\r\n }\r\n }\r\n else if (tabId == 2) {\r\n\r\n //toggleTabVertical(tabId + 1);\r\n //return;\r\n\r\n var DeclarantAssessedTax = false;\r\n\r\n if ($(\"#rbaccessedtaxyes\").prop(\"checked\")) {\r\n DeclarantAssessedTax = true;\r\n }\r\n else if ($(\"#rbaccessedtaxno\").prop(\"checked\")) {\r\n DeclarantAssessedTax = false;\r\n }\r\n\r\n form60.RegistrationId = localStorage.getItem('registrationId');\r\n form60.RegistrationHolderId = registrationHoldersId;\r\n form60.DeclarantDocuments = \"\";\r\n form60.DeclarantTransactionParticulars = $('#txttransactionparticulars').val().trim();\r\n form60.DeclarantAmountofTransaction = $('#txttransactionsamount').val().trim();\r\n form60.DeclarantAssessedTax = DeclarantAssessedTax;\r\n form60.DetailsOfIncomeTax = $('#txtdetailsofincometax').val().trim();\r\n form60.ReasonForNoPan = $('#txtreasonfornopan').val().trim();\r\n\r\n setPreloader(true);\r\n axios.post(form60Url(), form60, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n toggleTabVertical(tabId + 1);\r\n setPreloader(false);\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n setPreloader(false);\r\n }\r\n })\r\n }\r\n else if (tabId == 3) {\r\n if ($('#ddloccupationdetails :selected').text() == \"Businessman\") {\r\n\r\n if ($('#txtlineofnusiness').val().trim() == \"\") {\r\n $('#txtlineofnusiness').focus();\r\n ErrorMessage(\"Line of Business is required!\");\r\n return;\r\n }\r\n else if ($('#txtbusinessname').val().trim() == \"\") {\r\n $('#txtbusinessname').focus();\r\n ErrorMessage(\"Business Name is required!\");\r\n return;\r\n }\r\n else if ($('#txtstartbusinessdate').val().trim() == \"\") {\r\n $('#txtstartbusinessdate').focus();\r\n ErrorMessage(\"Date of starting business is required!\");\r\n return;\r\n }\r\n else if ($('#txtbussinessaddress1').val().trim() == \"\") {\r\n $('#txtbussinessaddress1').focus();\r\n ErrorMessage(\"Address1 required!\");\r\n return;\r\n }\r\n else if ($('#txtbussinessaddress2').val().trim() == \"\") {\r\n $('#txtbussinessaddress2').focus();\r\n ErrorMessage(\"Address2 required!\");\r\n return;\r\n }\r\n }\r\n\r\n if ($(\"#chktwowheeler\").prop(\"checked\")) {\r\n if ($('#txttwowheeleryear').val().trim() == \"\") {\r\n $('#txttwowheeleryear').focus();\r\n ErrorMessage(\"Two Wheeler year is required!\");\r\n return;\r\n }\r\n if (parseInt($('#txttwowheeleryear').val().trim()) > today.getFullYear()) {\r\n $('#txttwowheeleryear').focus();\r\n ErrorMessage(\"Two Wheeler year should be valid!\");\r\n return;\r\n }\r\n }\r\n if ($(\"#chkcar\").prop(\"checked\")) {\r\n if ($('#txtcaryear').val().trim() == \"\") {\r\n $('#txtcaryear').focus();\r\n ErrorMessage(\"Car year is required!\");\r\n return;\r\n }\r\n\r\n if (parseInt($('#txtcaryear').val().trim()) > today.getFullYear()) {\r\n $('#txtcaryear').focus();\r\n ErrorMessage(\"Car year should be valid!\");\r\n return;\r\n }\r\n }\r\n if ($(\"#chkother\").prop(\"checked\")) {\r\n if ($('#txtotheryear').val().trim() == \"\") {\r\n $('#txtotheryear').focus();\r\n ErrorMessage(\"Other year is required!\");\r\n return;\r\n }\r\n\r\n if (parseInt($('#txtotheryear').val().trim()) > today.getFullYear()) {\r\n $('#txtotheryear').focus();\r\n ErrorMessage(\"Other year should be valid!\");\r\n return;\r\n }\r\n }\r\n\r\n var BornNonIndia = '';\r\n var TaxResidenceNonIndia = '';\r\n var BusinessVehicleTwoWheeler = '';\r\n var BusinessVehicleCar = '';\r\n var BusinessVehicleOther = '';\r\n var BusinessTwoWheelerPurchaseYear = '';\r\n var BusinessCarPurchaseYear = '';\r\n var BusinessOtherPurchaseYear = '';\r\n var InterestedIn = '';\r\n var BusinessAssetDetails = '';\r\n\r\n if ($(\"#rbbornyes\").prop(\"checked\")) {\r\n BornNonIndia = \"true\";\r\n }\r\n else if ($(\"#rbbornno\").prop(\"checked\")) {\r\n BornNonIndia = \"false\";\r\n }\r\n\r\n if ($(\"#rbtaxresidenceyes\").prop(\"checked\")) {\r\n TaxResidenceNonIndia = \"true\";\r\n }\r\n else if ($(\"#rbtaxresidenceno\").prop(\"checked\")) {\r\n TaxResidenceNonIndia = \"false\";\r\n }\r\n\r\n if ($(\"#chktwowheeler\").prop(\"checked\")) {\r\n BusinessVehicleTwoWheeler = 'Two Wheeler';\r\n BusinessTwoWheelerPurchaseYear = $('#txttwowheeleryear').val();\r\n }\r\n if ($(\"#chkcar\").prop(\"checked\")) {\r\n BusinessVehicleCar = 'Car';\r\n BusinessCarPurchaseYear = $('#txtcaryear').val();\r\n }\r\n if ($(\"#chkother\").prop(\"checked\")) {\r\n BusinessVehicleOther = 'Other';\r\n BusinessOtherPurchaseYear = $('#txtotheryear').val();\r\n }\r\n\r\n if ($(\"#chkcommercialproperty\").prop(\"checked\")) {\r\n BusinessAssetDetails = BusinessAssetDetails + \"Commercial Property\" + \", \";\r\n }\r\n if ($(\"#chkhouse\").prop(\"checked\")) {\r\n BusinessAssetDetails = BusinessAssetDetails + \"House\" + \", \";\r\n }\r\n if ($(\"#chkplot\").prop(\"checked\")) {\r\n BusinessAssetDetails = BusinessAssetDetails + \"Plot\" + \", \";\r\n }\r\n if ($(\"#chkothers\").prop(\"checked\")) {\r\n BusinessAssetDetails = BusinessAssetDetails + \"Others\" + \", \";\r\n }\r\n\r\n if ($(\"#chktwowheeler\").prop(\"checked\")) {\r\n BusinessVehicleTwoWheeler = \"Two Wheeler\";\r\n }\r\n if ($(\"#chkcar\").prop(\"checked\")) {\r\n BusinessVehicleCar = \"Car\";\r\n }\r\n if ($(\"#chkother\").prop(\"checked\")) {\r\n BusinessVehicleOther = \"Other\";\r\n }\r\n\r\n if ($(\"#chkmutualfunds\").prop(\"checked\")) {\r\n InterestedIn = InterestedIn + \"Mutual Funds\" + \", \";\r\n }\r\n if ($(\"#chkhealthinsurance\").prop(\"checked\")) {\r\n InterestedIn = InterestedIn + \"Health Insurance\" + \", \";\r\n }\r\n if ($(\"#chkgeneralinsurance\").prop(\"checked\")) {\r\n InterestedIn = InterestedIn + \"General Insurance\" + \", \";\r\n }\r\n if ($(\"#chkdemat\").prop(\"checked\")) {\r\n InterestedIn = InterestedIn + \"Demat\" + \", \";\r\n }\r\n if ($(\"#chkpmsby\").prop(\"checked\")) {\r\n InterestedIn = InterestedIn + \"Pradhan Mantri Suraksha Bima Yojana (PMSBY)\" + \", \";\r\n }\r\n if ($(\"#chkpmjjby\").prop(\"checked\")) {\r\n InterestedIn = InterestedIn + \"Pradhan Mantri Jeevan Jyoti Bima Yojana (PMJJBY)\" + \", \";\r\n }\r\n\r\n additionalDetails.RegistrationId = localStorage.getItem('registrationId');\r\n additionalDetails.RegistrationHolderId = registrationHoldersId;\r\n additionalDetails.FundsExpectedOrigin = $('#ddlfundsforcredit :selected').text();\r\n additionalDetails.FundsUtilisationExpected = $('#ddlfundsbydebit :selected').text();\r\n additionalDetails.OtherBankAccounts = $('#ddlotherbanksaccounts :selected').text();\r\n additionalDetails.Turnover = $('#txtturnover').val().trim();\r\n additionalDetails.AverageIncome = $('#txtaverageincome').val().trim();\r\n additionalDetails.AverageBalance = $('#txtexpectedincome').val().trim();\r\n additionalDetails.Education = $('#ddleducation :selected').text();\r\n additionalDetails.Religion = $('#ddlreligion :selected').text();\r\n additionalDetails.OccupationDetails = $('#ddloccupationdetails :selected').text();\r\n additionalDetails.LineOfBusiness = $('#txtlineofnusiness').val().trim();\r\n additionalDetails.BusinessName = $('#txtbusinessname').val().trim();\r\n additionalDetails.BusinessStartDate = $('#txtstartbusinessdate').val();\r\n additionalDetails.BusinessAddress1 = $('#txtbussinessaddress1').val().trim();\r\n additionalDetails.BusinessAddress2 = $('#txtbussinessaddress2').val().trim();\r\n additionalDetails.BusinessAddress3 = $('#txtbussinessaddress3').val().trim();\r\n additionalDetails.BusinessTelNo = $('#txtofficecontact').val().trim();\r\n additionalDetails.BusinessMobileNo = $('#txtofficemobileno').val().trim();\r\n additionalDetails.BusinessAnnualIncome = $('#ddlannualincome :selected').text();\r\n additionalDetails.BusinessIncomeSource = $('#txtsourceofincome').val().trim();\r\n additionalDetails.BusinessWealthSource = $('#txtsourceofwealth').val().trim();\r\n additionalDetails.BusinessEstimatedValue = $('#ddlestimatedvalue :selected').text();\r\n additionalDetails.BusinessAssetDetails = BusinessAssetDetails;\r\n additionalDetails.BornNonIndia = BornNonIndia;\r\n additionalDetails.TaxResidenceNonIndia = TaxResidenceNonIndia;\r\n additionalDetails.BusinessVehicleTwoWheeler = BusinessVehicleTwoWheeler;\r\n additionalDetails.BusinessVehicleCar = BusinessVehicleCar;\r\n additionalDetails.BusinessVehicleOther = BusinessVehicleOther;\r\n additionalDetails.BusinessTwoWheelerPurchaseYear = BusinessTwoWheelerPurchaseYear;\r\n additionalDetails.BusinessCarPurchaseYear = BusinessCarPurchaseYear;\r\n additionalDetails.BusinessOtherPurchaseYear = BusinessOtherPurchaseYear;\r\n additionalDetails.BusinessCarMaker = $('#txtcarmaker').val().trim();\r\n additionalDetails.InterestedIn = InterestedIn;\r\n additionalDetails.caste = $('#caste :selected').text();\r\n\r\n setPreloader(true);\r\n axios.post(additionalDetailsUrl(), additionalDetails, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n toggleTabVertical(tabId + 1);\r\n setPreloader(false);\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n setPreloader(false);\r\n }\r\n })\r\n }\r\n else if (tabId == 4) {\r\n if ($(\"#chkTerms\").prop('checked') == true) {\r\n\r\n const updateStatus = {\r\n RegistrationId: localStorage.getItem('registrationId'),\r\n RegistrationHolderId: registrationHoldersId\r\n };\r\n\r\n setPreloader(true);\r\n axios.post(updateAccountHoldersStatusUrl(), updateStatus, { headers: authHeader() })\r\n .then(res => {\r\n if (res.data.responseCode == \"OK\") {\r\n history.push(\"/CreateNewAccount\");\r\n setPreloader(false);\r\n }\r\n else {\r\n ErrorMessage(res.data.responseMessage);\r\n setPreloader(false);\r\n }\r\n })\r\n }\r\n else {\r\n ErrorMessage(\"Please select Terms & conditions\");\r\n $(\"#chkTerms\").focus();\r\n }\r\n }\r\n }\r\n\r\n const [activeTabVartical, setoggleTabVertical] = useState(1)\r\n const [passedStepsVertical, setPassedStepsVertical] = useState([1])\r\n\r\n function toggleTabVertical(tab) {\r\n if (activeTabVartical !== tab) {\r\n var modifiedSteps = [...passedStepsVertical, tab]\r\n\r\n if (tab >= 1 && tab <= 4) {\r\n setoggleTabVertical(tab)\r\n setPassedStepsVertical(modifiedSteps)\r\n }\r\n }\r\n }\r\n\r\n function FillAddress() {\r\n debugger;\r\n\r\n if ($(\"#chkSameAs\").prop(\"checked\")) {\r\n let comAddress1 = $('#txtCommunicationAddress1').val();\r\n let comAddress2 = $('#txtCommunicationAddress2').val();\r\n let comAddress3 = $('#txtCommunicationAddress3').val();\r\n let comCity = $('#txtCommunicationCity').val();\r\n let comPin = $('#txtCommunicationPincode').val();\r\n let comState = $('#ddlCommunicationState').val();\r\n\r\n $('#txtPermanentAddress1').val(comAddress1);\r\n $('#txtPermanentAddress2').val(comAddress2);\r\n $('#txtPermanentAddress3').val(comAddress3);\r\n $('#txtPermanentCity').val(comCity);\r\n $('#txtPermanentPincode').val(comPin);\r\n $('#ddlPermanentState').val(comState);\r\n\r\n validation.values.permanentaddress = comAddress1;\r\n validation.values.permanentaddress2 = comAddress2;\r\n validation.values.permanentaddress3 = comAddress3;\r\n validation.values.permanentstate = comState;\r\n validation.values.permanentcity = comCity;\r\n validation.values.permanentpincode = comPin;\r\n }\r\n else {\r\n $('#txtPermanentAddress1').val('');\r\n $('#txtPermanentAddress2').val('');\r\n $('#txtPermanentAddress3').val('');\r\n $('#txtPermanentCity').val('');\r\n $('#txtPermanentPincode').val('');\r\n $('#ddlPermanentState').val('');\r\n }\r\n }\r\n\r\n // Form validation\r\n const validation = useFormik({\r\n\r\n enableReinitialize: true,\r\n\r\n initialValues: {\r\n\r\n personalchoose: holdersData.title == null ? '' : holdersData.title,\r\n firstname: holdersData.firstName == null ? '' : holdersData.firstName,\r\n middlename: holdersData.middleName == null ? '' : holdersData.middleName,\r\n lastname: holdersData.lastName == null ? '' : holdersData.lastName,\r\n phoneno: holdersData.mobile == null ? '' : holdersData.mobile,\r\n email: holdersData.email == null ? '' : holdersData.email,\r\n gender: holdersData.gender == null ? '' : holdersData.gender,\r\n occupation: holdersData.occupation == null ? '' : holdersData.occupation,\r\n dob: holdersData.dob == null ? '' : holdersData.dob,\r\n maritalstatus: holdersData.length == 0 ? '2' : holdersData.dob == null ? '2' : holdersData.maritalStatus,\r\n nationality: holdersData.length == 0 ? '1' : holdersData.dob == null ? '1' : holdersData.nationality,\r\n communicationaddress: holdersData.localAddress1 == null ? '' : holdersData.localAddress1,\r\n communicationaddress2: holdersData.localAddress2 == null ? '' : holdersData.localAddress2,\r\n communicationaddress3: holdersData.localAddress3 == null ? '' : holdersData.localAddress3,\r\n communicationstate: holdersData.localState == null ? '' : holdersData.localState,\r\n communicationcity: holdersData.localCity == null ? '' : holdersData.localCity,\r\n communicationpincode: holdersData.localPin == null ? '' : holdersData.localPin,\r\n permanentaddress: holdersData.permanentAddress1 == null ? '' : holdersData.permanentAddress1,\r\n permanentaddress2: holdersData.permanentAddress2 == null ? '' : holdersData.permanentAddress2,\r\n permanentaddress3: holdersData.permanentAddress3 == null ? '' : holdersData.permanentAddress3,\r\n permanentstate: holdersData.permanentState == null ? '' : holdersData.permanentState,\r\n permanentcity: holdersData.permanentCity == null ? '' : holdersData.permanentCity,\r\n permanentpincode: holdersData.permanentPin == null ? '' : holdersData.permanentPin,\r\n poi: '',\r\n poipoa: '',\r\n pan: holdersData.pan == null ? '' : holdersData.pan,\r\n panfile: '',\r\n poifilePath: holdersData.poiFilePath == null ? '' : holdersData.poiFilePath,\r\n customerid: holdersData.customerId == null ? '' : holdersData.customerId,\r\n ckycno: holdersData.ckycNo == null ? '' : holdersData.ckycNo,\r\n photofile: '',\r\n photofilepath: holdersData.photoFilePath == null ? '' : holdersData.photoFilePath,\r\n\r\n fatherchoose: holdersData.fatherTitle == null ? '' : holdersData.fatherTitle,\r\n fatherlastname: holdersData.fatherLastName == null ? '' : holdersData.fatherLastName,\r\n fatherfirstname: holdersData.fatherFirstName == null ? '' : holdersData.fatherFirstName,\r\n fathermiddlelame: holdersData.fatherMiddleName == null ? '' : holdersData.fatherMiddleName,\r\n motherchoose: holdersData.motherTitle == null ? '' : holdersData.motherTitle,\r\n motherlastname: holdersData.motherLastName == null ? '' : holdersData.motherLastName,\r\n motherfirstname: holdersData.motherFirstName == null ? '' : holdersData.motherFirstName,\r\n mothermiddlename: holdersData.motherMiddleName == null ? '' : holdersData.motherMiddleName,\r\n maidenchoose: holdersData.maidenTitle == null ? '' : holdersData.maidenTitle,\r\n maidenlastname: holdersData.maidenLastName == null ? '' : holdersData.maidenLastName,\r\n maidenfirstname: holdersData.maidenFirstName == null ? '' : holdersData.maidenFirstName,\r\n maidenmiddlename: holdersData.maidenMiddleName == null ? '' : holdersData.maidenMiddleName,\r\n\r\n relatedpersonchoose: holdersData.relatedPersonTitle == null ? '' : holdersData.relatedPersonTitle,\r\n relatedpersonlastname: holdersData.relatedPeronLastName == null ? '' : holdersData.relatedPeronLastName,\r\n relatedpersonfirstname: holdersData.relatedPeronFirstName == null ? '' : holdersData.relatedPeronFirstName,\r\n relatedpersonmiddlename: holdersData.relatedPeronMiddleName == null ? '' : holdersData.relatedPeronMiddleName,\r\n relatedpersonrelation: holdersData.relatedPersonCustomerRelation == null ? '' : holdersData.relatedPersonCustomerRelation,\r\n relatedpersonpan: holdersData.relatedPersonPANNo == null ? '' : holdersData.relatedPersonPANNo,\r\n relatedpersonaadhar: holdersData.relatedPersonAadhaarNo == null ? '' : holdersData.relatedPersonAadhaarNo,\r\n relatedcourt: holdersData.relatedPersonCourtOrderNo == null ? '' : holdersData.relatedPersonCourtOrderNo,\r\n\r\n transactionparticulars: holdersData.declarantTransactionParticulars == null ? '' : holdersData.declarantTransactionParticulars,\r\n transactionsamount: holdersData.declarantAmountofTransaction == null ? '' : holdersData.declarantAmountofTransaction,\r\n detailsofincometax: holdersData.detailsOfIncomeTax == null ? '' : holdersData.detailsOfIncomeTax,\r\n reasonfornopan: holdersData.reasonForNoPan == null ? '' : holdersData.reasonForNoPan,\r\n\r\n annualactivity: holdersData.turnover == null ? '' : holdersData.turnover,\r\n averageincome: holdersData.averageIncome == null ? '' : holdersData.averageIncome,\r\n expectedincome: holdersData.averageBalance == null ? '' : holdersData.averageBalance,\r\n officecontact: holdersData.businessTelNo == null ? '' : holdersData.businessTelNo,\r\n officemobileno: holdersData.businessMobileNo == null ? '' : holdersData.businessMobileNo,\r\n twowheeleryear: holdersData.businessVehicleTwoWheeler == \"Two Wheeler\" ? holdersData.businessTwoWheelerPurchaseYear == null ? '' : holdersData.businessTwoWheelerPurchaseYear : '',\r\n caryear: holdersData.businessVehicleCar == \"Car\" ? holdersData.businessCarPurchaseYear == null ? '' : holdersData.businessCarPurchaseYear : '',\r\n anyotheryear: holdersData.businessVehicleOther == \"Other\" ? holdersData.businessOtherPurchaseYear == null ? '' : holdersData.businessOtherPurchaseYear : '',\r\n annualincome: holdersData.annualincome == null ? '' : holdersData.annualincome,\r\n },\r\n validationSchema: Yup.object({\r\n\r\n personalchoose: Yup.string().required(\"Title required\"),\r\n firstname: Yup.string().required(\"First Name required\").matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n middlename: Yup.string().required(\"Middle Name required\").matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n lastname: Yup.string().required(\"Last Name required\").matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n phoneno: Yup.string().required(\"Phone No. required\"),\r\n gender: Yup.string().required(\"Gender required\"),\r\n dob: Yup.string().required(\"Date of Birth required\"),\r\n maritalstatus: Yup.string().required(\"Maratial Status required\"),\r\n nationality: Yup.string().required(\"Nationality required\"),\r\n occupation: Yup.string().required(\"Occupation required\"),\r\n communicationaddress: Yup.string().required(\"Address 1 required\"),\r\n communicationstate: Yup.string().required(\"State required\"),\r\n communicationcity: Yup.string().required(\"City required\").matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n communicationpincode: Yup.number().required(\"Pincode required\"),\r\n permanentaddress: Yup.string().required(\"Address 1 required\"),\r\n permanentstate: Yup.string().required(\"State required\"),\r\n permanentcity: Yup.string().required(\"City required\").matches(/^[A-Za-z ]+$/, \"Enter character only!\"),\r\n permanentpincode: Yup.number().required(\"Pincode required\"),\r\n poi: Yup.string().required(\"POI required\"),\r\n poipoa: Yup.string().required(\"POI/POA required\"),\r\n pan: Yup.string().required(\"PAN No. required\"),\r\n panfile: Yup.string().required(\"PAN document required\"),\r\n photofile: Yup.string().required(\"Photo required\"),\r\n\r\n transactionparticulars: Yup.string().required(\"Transaction Particulars required\"),\r\n transactionsamount: Yup.string().required(\"Amount of Transactions required\"),\r\n detailsofincometax: Yup.string().required(\"Details of income required\"),\r\n reasonfornopan: Yup.string().required(\"Reason for not having PAN required\"),\r\n\r\n annualactivity: Yup.string().required(\"Annual activity/ A/c turnover required\"),\r\n averageincome: Yup.string().required(\"Average income required\"),\r\n expectedincome: Yup.string().required(\"Expected average balance required\"),\r\n annualincome: Yup.string().required(\"Annual income required\"),\r\n officemobileno: Yup.string().required(\"Mobile number required\"),\r\n }),\r\n\r\n onSubmit: (values) => {\r\n //console.log(\"values\", values);\r\n }\r\n });\r\n\r\n\r\n function BindPOIPOA(data) {\r\n debugger;\r\n var listPOI = [];\r\n\r\n if (data.length > 0) {\r\n if (data[0].poi != null) {\r\n data.map(p => {\r\n var rowsInput = {\r\n poiid: p.poiId.toString(),\r\n SelectedProofofIdentity: p.poi,\r\n EnterNumber: p.poiNo,\r\n POIPOA: p.poipoa,\r\n Expiry: p.expiryDate == null ? '' : p.expiryDate,\r\n Upload: '',\r\n poifilepath: p.poiFilePath,\r\n poifilepathurl: getAPIUrl() + \"/POIFiles/\" + p.poiFilePath,\r\n Delete: ''\r\n }\r\n listPOI.push(rowsInput);\r\n })\r\n\r\n setRowsData(listPOI);\r\n }\r\n }\r\n }\r\n\r\n function CheckIsValid(controlValues) {\r\n debugger;\r\n var x = Object.keys(controlValues[0])\r\n var isCheckIfUndefined = x.map(p => {\r\n if (controlValues[0][p] === \"\" || controlValues[0][p] === undefined) {\r\n if ((p == \"pan\" && controlValues[0][p] == \"\" && $(\"#chkPAN\").prop('checked')) || (p == \"panfile\" && controlValues[0][p] == \"\" && $(\"#chkPAN\").prop('checked'))) {\r\n return false;\r\n }\r\n else if (p == \"panfile\" && validation.values.poifilePath != '' && !$(\"#chkPAN\").prop('checked')) {\r\n return false;\r\n }\r\n else if (p == \"photofile\" && validation.values.photofilepath != '') {\r\n return false;\r\n }\r\n else if (p == \"panfile\" && validation.values.poifilePath == '' && !$(\"#chkPAN\").prop('checked')) {\r\n return true;\r\n }\r\n else if (p == \"photofile\" && validation.values.photofilepath == '') {\r\n return true;\r\n }\r\n else if (p == \"email\") {\r\n return false;\r\n }\r\n return true;\r\n }\r\n else\r\n return false;\r\n })\r\n\r\n var checkResponse = isCheckIfUndefined.includes(true)\r\n return checkResponse\r\n }\r\n\r\n //$(\".d-block\").flatpickr({\r\n // dateFormat: \"d-M-Y\",\r\n // maxDate: \"today\"\r\n //});\r\n $(\".d-block\").flatpickr({\r\n dateFormat: \"d-M-Y\",\r\n altFormat: \"F j, Y\",\r\n maxDate: \"today\",\r\n disableMobile: \"true\"\r\n });\r\n\r\n $(\".maxFuture\").flatpickr({\r\n dateFormat: \"d-M-Y\",\r\n disableMobile: \"true\"\r\n });\r\n\r\n const tabHeading = {\r\n color: \"#9a084f\",\r\n fontWeight: \"bold\"\r\n }\r\n\r\n const label = {\r\n color: \"black\"\r\n }\r\n\r\n const formBackground = {\r\n borderRadius: 8,\r\n flex: 1,\r\n //backgroundColor: \"rgb(247 242 242)\",\r\n padding: \"15px\"\r\n }\r\n\r\n const cardBackground = {\r\n borderRadius: 8,\r\n flex: 1,\r\n //backgroundColor: \"rgb(247 242 242)\",\r\n }\r\n\r\n const formButton = {\r\n marginLeft: \"20px\",\r\n backgroundColor: \"#9a084f\",\r\n fontSize: \"small\",\r\n borderRadius: \"0.50rem\"\r\n }\r\n\r\n const formButtonFirstPage = {\r\n marginLeft: \"15px\",\r\n backgroundColor: \"#9a084f\",\r\n fontSize: \"small\",\r\n borderRadius: \"0.50rem\"\r\n }\r\n\r\n const formMandatory = {\r\n color: \"red\",\r\n fontWeight: \"bold\"\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n JSB-Other Holder\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {\r\n toggleTabVertical(1)\r\n }}\r\n disabled={!(passedStepsVertical || []).includes(1)}\r\n >\r\n 1 Personal Details\r\n \r\n \r\n \r\n {\r\n toggleTabVertical(2)\r\n }}\r\n disabled={!(passedStepsVertical || []).includes(2)}\r\n >\r\n 2{\" \"}\r\n Form no 60/61\r\n \r\n \r\n \r\n {\r\n toggleTabVertical(3)\r\n }}\r\n disabled={!(passedStepsVertical || []).includes(3)}\r\n >\r\n 3 Additional Details\r\n \r\n \r\n \r\n {\r\n toggleTabVertical(4)\r\n }}\r\n disabled={!(passedStepsVertical || []).includes(4)}\r\n >\r\n 4Declaration\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\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 OtherHolder\r\n","import PropTypes from \"prop-types\";\r\nimport MetaTags from \"react-meta-tags\";\r\nimport React, { useState, useEffect } from \"react\"\r\nimport { Row, Col, CardBody, Card, Alert, Container, Form, Input, FormFeedback, Label, FormGroup, Modal } from \"reactstrap\";\r\nimport axios from 'axios';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { useHistory, withRouter, Link } from \"react-router-dom\";\r\nimport toastr from \"toastr\";\r\nimport \"toastr/build/toastr.min.css\";\r\nimport * as Yup from \"yup\";\r\nimport { useFormik } from \"formik\";\r\nimport banner from \"../../assets/images/banner/banner.jpg\";\r\nimport authHeader from \"helpers/authHeader\";\r\nimport FormLoader from \"../JSBForms/FormLoader\";\r\nimport { checkBranchLogin } from \"../../helpers/fakebackend_helper\";\r\n\r\nconst BranchLogin = (props) => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const [isLoading, setLoading] = useState(false);\r\n\r\n const validation = useFormik({\r\n // enableReinitialize : use this flag when initial values needs to be changed\r\n enableReinitialize: true,\r\n\r\n initialValues: {\r\n username: '',\r\n password: '',\r\n showPassword: false,\r\n },\r\n validationSchema: Yup.object({\r\n username: Yup.string().required(\"User Name required\"),\r\n password: Yup.string().required(\"Password required\"),\r\n }),\r\n onSubmit: (values) => {\r\n //dispatch(BranchLoginUser(values, props.history));\r\n }\r\n\r\n });\r\n\r\n const [showEasing, setshowEasing] = useState(\"swing\");\r\n const [hideEasing, sethideEasing] = useState(\"linear\");\r\n const [showMethod, setshowMethod] = useState(\"fadeIn\");\r\n const [hideMethod, sethideMethod] = useState(\"fadeOut\");\r\n const [showDuration, setshowDuration] = useState(300);\r\n const [hideDuration, sethideDuration] = useState(1000);\r\n const [timeOut, settimeOut] = useState(2000);\r\n const [extendedTimeOut, setextendedTimeOut] = useState(1000);\r\n\r\n function SuccessMessage(message) {\r\n toastr.options = {\r\n positionClass: \"toast-top-center\",\r\n timeOut: timeOut,\r\n extendedTimeOut: extendedTimeOut,\r\n closeButton: true,\r\n debug: false,\r\n progressBar: false,\r\n preventDuplicates: false,\r\n newestOnTop: false,\r\n showEasing: showEasing,\r\n hideEasing: hideEasing,\r\n showMethod: showMethod,\r\n hideMethod: hideMethod,\r\n showDuration: showDuration,\r\n hideDuration: hideDuration\r\n };\r\n\r\n toastr.success(message, \"Information\");\r\n }\r\n\r\n function ErrorMessage(message) {\r\n toastr.options = {\r\n positionClass: \"toast-top-center\",\r\n timeOut: timeOut,\r\n extendedTimeOut: extendedTimeOut,\r\n closeButton: true,\r\n debug: false,\r\n progressBar: false,\r\n preventDuplicates: false,\r\n newestOnTop: false,\r\n showEasing: showEasing,\r\n hideEasing: hideEasing,\r\n showMethod: showMethod,\r\n hideMethod: hideMethod,\r\n showDuration: showDuration,\r\n hideDuration: hideDuration\r\n };\r\n\r\n toastr.error(message, \"Error\");\r\n }\r\n\r\n const textboxRounded = {\r\n color: \"black\",\r\n //fontSize: \"larger\"\r\n };\r\n\r\n const modalpopup = {\r\n border: \"2px solid black\", textAlign: \"center\", fontSize: \"large\", color: \"black\"\r\n };\r\n\r\n const cardBackground = {\r\n borderRadius: 15,\r\n flex: 1,\r\n marginTop: \"20px\",\r\n boxShadow: \"#504f4f6b 5px 5px 20px\",\r\n width: \"99%\",\r\n backgroundColor: \"rgb(247 242 242)\"\r\n }\r\n\r\n const [modal_backdrop, setmodal_backdrop] = useState(false);\r\n const [guid, setguid] = useState(\"\");\r\n const [isPreloader, setPreloader] = useState(false);\r\n\r\n function tog_backdrop() {\r\n setmodal_backdrop(!modal_backdrop);\r\n removeBodyCss();\r\n };\r\n\r\n function removeBodyCss() {\r\n document.body.classList.add(\"no_padding\")\r\n };\r\n\r\n useEffect(() => {\r\n if (isPreloader === true) {\r\n document.getElementById(\"preloader\").style.display = \"block\";\r\n document.getElementById(\"status\").style.display = \"block\";\r\n } else {\r\n document.getElementById(\"preloader\").style.display = \"none\";\r\n document.getElementById(\"status\").style.display = \"none\";\r\n }\r\n }, [isPreloader]);\r\n\r\n function CheckBranchLogin(UserName, Password) {\r\n debugger;\r\n const checkUser = {\r\n username: UserName,\r\n password: Password\r\n };\r\n\r\n setPreloader(true);\r\n axios.post(checkBranchLogin(), checkUser, { headers: authHeader() })\r\n .then(response => {\r\n if (response.data != null) {\r\n if (response.data.responseCode == \"OK\") {\r\n localStorage.setItem('branchToken', JSON.stringify(response.data.token));\r\n localStorage.setItem('userName', JSON.stringify(response.data.emp.username));\r\n localStorage.setItem('branchCode', JSON.stringify(response.data.emp.lbrcode));\r\n localStorage.setItem('branchName', JSON.stringify(response.data.emp.lbrname).replace(\"\\\"\", \"\").replace(\"\\\"\", \"\"));\r\n history.push('/CustomerList');\r\n }\r\n else {\r\n ErrorMessage(response.data.responseMessage);\r\n }\r\n }\r\n\r\n setPreloader(false);\r\n }, (error) => {\r\n console.log(error.response);\r\n setPreloader(false);\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
\r\n
\r\n\r\n \r\n JSB-Branch Login\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\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 BranchLogin\r\n\r\nBranchLogin.propTypes = {\r\n history: PropTypes.object,\r\n};\r\n\r\n\r\n","export default function branchAuthHeader() {\r\n const branchToken = JSON.parse(localStorage.getItem('branchToken'));\r\n\r\n if (branchToken) {\r\n return { Authorization: 'Bearer ' + branchToken };\r\n } else {\r\n return {};\r\n }\r\n}","import React from \"react\"\r\nimport { Redirect } from \"react-router-dom\"\r\n\r\n// JSB Forms\r\nimport login from \"../pages/JSBForms/login\"\r\nimport Status from \"../pages/JSBForms/Status\"\r\nimport CreateNewAccount from \"../pages/JSBForms/CreateNewAccount\"\r\n\r\nimport Registration from \"../pages/JSBForms/Registration\"\r\nimport Success from \"../pages/JSBForms/success\"\r\nimport FormLoader from \"../pages/JSBForms/FormLoader\"\r\nimport FirstHolder from \"../pages/JSBForms/FirstHolder\"\r\nimport OtherHolder from \"../pages/JSBForms/OtherHolder\"\r\nimport ShowPhoto from \"../pages/JSBForms/ShowPhoto\"\r\nimport BranchLogin from \"../pages/JSBForms/BranchLogin\"\r\nimport CustomerList from \"../pages/JSBForms/CustomerList\"\r\n\r\n\r\nconst authProtectedRoutes = [\r\n { path: \"/Registration\", component: Registration },\r\n { path: \"/Status\", component: Status },\r\n { path: \"/CreateNewAccount\", component: CreateNewAccount },\r\n { path: \"/FirstHolder\", component: FirstHolder },\r\n { path: \"/OtherHolder\", component: OtherHolder },\r\n \r\n\r\n { path: \"/\", exact: true, component: () =>
},\r\n]\r\n\r\nconst publicRoutes = [\r\n { path: \"/login\", component: login },\r\n { path: \"/BranchLogin\", component: BranchLogin },\r\n { path: \"/success\", component: Success },\r\n { path: \"/FormLoader\", component: FormLoader },\r\n { path: \"/CustomerList\", component: CustomerList },\r\n { path: \"/ShowPhoto\", component: ShowPhoto }\r\n]\r\n\r\nexport { authProtectedRoutes, publicRoutes }\r\n","import React, { useState, useEffect } from \"react\"\r\nimport axios from 'axios';\r\nimport branchAuthHeader from \"helpers/branchAuthHeader\";\r\n\r\nimport MetaTags from \"react-meta-tags\"\r\nimport {\r\n Card,\r\n CardBody,\r\n Table,\r\n Col,\r\n Container,\r\n Form,\r\n Label,\r\n NavItem,\r\n NavLink,\r\n Row,\r\n TabContent,\r\n TabPane,\r\n} from \"reactstrap\"\r\n\r\n// Formik validation\r\nimport * as Yup from \"yup\";\r\nimport { ErrorMessage, useFormik } from \"formik\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport classnames from \"classnames\";\r\nimport toastr from \"toastr\";\r\nimport \"toastr/build/toastr.min.css\";\r\n//Import BranchLogin Details\r\nimport { getAPIUrl, getAllBranchLoginCustomerList } from \"../../helpers/fakebackend_helper\"\r\n//redux\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport PropTypes from 'prop-types';\r\n//Pagination\r\nimport BootstrapTable from \"react-bootstrap-table-next\"\r\nimport paginationFactory, {\r\n PaginationListStandalone,\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\"\r\nimport ToolkitProvider, { Search } from \"react-bootstrap-table2-toolkit\"\r\n\r\nconst CustomerList = (props) => {\r\n\r\n\r\n const formButtonFirstPage = {\r\n marginLeft: \"15px\",\r\n backgroundColor: \"#9a084f\",\r\n fontSize: \"small\",\r\n borderRadius: \"0.50rem\"\r\n }\r\n\r\n const formMandatory = {\r\n color: \"red\",\r\n fontWeight: \"bold\"\r\n }\r\n const tabHeading = {\r\n color: \"#9a084f\",\r\n fontWeight: \"bold\"\r\n }\r\n\r\n const formBackground = {\r\n borderRadius: 8,\r\n flex: 1,\r\n //backgroundColor: \"rgb(247 242 242)\",\r\n padding: \"15px\"\r\n }\r\n const cardBackground = {\r\n borderRadius: 15,\r\n flex: 1,\r\n marginTop: \"20px\",\r\n boxShadow: \"#504f4f6b 5px 5px 20px\",\r\n height: \"90%\"\r\n }\r\n\r\n //=============Define State====================\r\n const history = useHistory();\r\n\r\n const [customerAccList, setCustomerAccList] = useState([]);\r\n const [showEasing, setshowEasing] = useState(\"swing\");\r\n const [hideEasing, sethideEasing] = useState(\"linear\");\r\n const [showMethod, setshowMethod] = useState(\"fadeIn\");\r\n const [hideMethod, sethideMethod] = useState(\"fadeOut\");\r\n const [showDuration, setshowDuration] = useState(300);\r\n const [hideDuration, sethideDuration] = useState(1000);\r\n const [timeOut, settimeOut] = useState(2000);\r\n const [extendedTimeOut, setextendedTimeOut] = useState(1000);\r\n\r\n //pagination customization\r\n const [modal, setModal] = useState(false)\r\n\r\n const { SearchBar } = Search\r\n const toggle = () => {\r\n setModal(!modal)\r\n }\r\n const defaultSorted = [\r\n {\r\n dataField: \"referenceNo\",\r\n order: \"desc\",\r\n },\r\n ]\r\n const CustomerPartialColumns = toggleModal => [\r\n {\r\n dataField: \"lastUpdated\",\r\n text: \"Last updated\",\r\n sort: true,\r\n style: { textAlign: \"center\", border: \"1px solid lightgrey\" },\r\n },\r\n {\r\n dataField: \"referenceNo\",\r\n text: \"Reference No.\",\r\n sort: true,\r\n style: { textAlign: \"center\", border: \"1px solid lightgrey\" },\r\n },\r\n {\r\n dataField: \"mobileNo\",\r\n text: \"Mobile Number\",\r\n sort: true,\r\n style: { textAlign: \"center\", border: \"1px solid lightgrey\" },\r\n },\r\n {\r\n dataField: \"customerName\",\r\n text: \"Customer Name\",\r\n sort: true,\r\n style: { textAlign: \"center\", border: \"1px solid lightgrey\" },\r\n },\r\n {\r\n dataField: \"accountTypeName\",\r\n text: \"Account Type\",\r\n sort: true,\r\n style: { textAlign: \"center\", border: \"1px solid lightgrey\" },\r\n },\r\n {\r\n dataField: \"entityTypeName\",\r\n text: \"Entity Type\",\r\n sort: true,\r\n style: { textAlign: \"center\", border: \"1px solid lightgrey\" },\r\n },\r\n {\r\n dataField: \"holdersCount\",\r\n text: \"Number of Holder\",\r\n sort: true,\r\n style: { textAlign: \"center\", border: \"1px solid lightgrey\" },\r\n },\r\n ]\r\n var CustomersPartial = customerAccList.filter(obj => {\r\n return obj.status === \"Partially Filled\"\r\n })\r\n\r\n const pageOptionsParial = {\r\n sizePerPage: 10,\r\n totalSize: CustomersPartial.length,\r\n custom: true,\r\n }\r\n\r\n const CustomerCompletedColumns = toggleModal => [\r\n {\r\n dataField: \"lastUpdated\",\r\n text: \"Last updated\",\r\n sort: true,\r\n style: { textAlign: \"center\", border: \"1px solid lightgrey\" },\r\n },\r\n {\r\n dataField: \"referenceNo\",\r\n text: \"Reference No.\",\r\n sort: true,\r\n style: { textAlign: \"center\", border: \"1px solid lightgrey\" },\r\n },\r\n {\r\n dataField: \"mobileNo\",\r\n text: \"Mobile Number\",\r\n sort: true,\r\n style: { textAlign: \"center\", border: \"1px solid lightgrey\" },\r\n },\r\n {\r\n dataField: \"customerName\",\r\n text: \"Customer Name\",\r\n sort: true,\r\n style: { textAlign: \"center\", border: \"1px solid lightgrey\" },\r\n },\r\n {\r\n dataField: \"accountTypeName\",\r\n text: \"Account Type\",\r\n sort: true,\r\n style: { textAlign: \"center\", border: \"1px solid lightgrey\" },\r\n },\r\n {\r\n dataField: \"entityTypeName\",\r\n text: \"Entity Type\",\r\n sort: true,\r\n style: { textAlign: \"center\", border: \"1px solid lightgrey\" },\r\n },\r\n {\r\n dataField: \"holdersCount\",\r\n text: \"Number of Holder\",\r\n sort: true,\r\n style: { textAlign: \"center\", border: \"1px solid lightgrey\" },\r\n },\r\n {\r\n dataField: \"referenceNo\",\r\n text: \"View/Download\",\r\n sort: true,\r\n style: { textAlign: \"center\", border: \"1px solid lightgrey\" },\r\n formatter: (cellContent, row) => {\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 var CustomersCompleted = customerAccList.filter(obj => {\r\n return obj.status === \"Completed\"\r\n })\r\n\r\n const pageOptionsCompleted = {\r\n sizePerPage: 10,\r\n totalSize: CustomersCompleted.length,\r\n custom: true,\r\n }\r\n function SuccessMessage(message) {\r\n toastr.options = {\r\n positionClass: \"toast-top-center\",\r\n timeOut: timeOut,\r\n extendedTimeOut: extendedTimeOut,\r\n closeButton: true,\r\n debug: false,\r\n progressBar: false,\r\n preventDuplicates: false,\r\n newestOnTop: false,\r\n showEasing: showEasing,\r\n hideEasing: hideEasing,\r\n showMethod: showMethod,\r\n hideMethod: hideMethod,\r\n showDuration: showDuration,\r\n hideDuration: hideDuration\r\n };\r\n\r\n toastr.success(message, \"Information\");\r\n }\r\n\r\n function ErrorMessage(message) {\r\n toastr.options = {\r\n positionClass: \"toast-top-center\",\r\n timeOut: timeOut,\r\n extendedTimeOut: extendedTimeOut,\r\n closeButton: true,\r\n debug: false,\r\n progressBar: false,\r\n preventDuplicates: false,\r\n newestOnTop: false,\r\n showEasing: showEasing,\r\n hideEasing: hideEasing,\r\n showMethod: showMethod,\r\n hideMethod: hideMethod,\r\n showDuration: showDuration,\r\n hideDuration: hideDuration\r\n };\r\n\r\n toastr.error(message, \"Error\");\r\n }\r\n\r\n\r\n const dispatch = useDispatch();\r\n const formButton = {\r\n marginLeft: \"20px\",\r\n backgroundColor: \"#9a084f\",\r\n fontSize: \"small\",\r\n borderRadius: \"0.50rem\"\r\n }\r\n\r\n function tog_backdrop() {\r\n setmodal_backdrop(!modal_backdrop);\r\n removeBodyCss();\r\n }\r\n\r\n function DownloadRegistrationPDF(fileName, id) {\r\n debugger;\r\n //Development url\r\n var url = getAPIUrl() + \"/RegistrationPrintPDF/\" + id + \".pdf\";\r\n\r\n axios({\r\n url: url, //your url\r\n method: 'GET',\r\n responseType: 'blob', // important\r\n headers: branchAuthHeader()\r\n }).then((response) => {\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', fileName + \".pdf\"); //or any other extension\r\n document.body.appendChild(link);\r\n link.click();\r\n });\r\n\r\n //var a = $(\"
\");\r\n //a.attr(\"download\", fileName);\r\n //a.attr(\"href\", url);\r\n //$(\"body\").append(a);\r\n //a[0].click();\r\n //$(\"body\").remove(a);\r\n };\r\n\r\n function ViewRegistrationPDF(id) {\r\n debugger;\r\n var url = getAPIUrl() + \"/RegistrationPrintPDF/\" + id + \".pdf\";\r\n\r\n axios({\r\n url: url, //your url\r\n method: 'GET',\r\n responseType: 'blob', // important\r\n headers: branchAuthHeader()\r\n }).then((response) => {\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n\r\n const file = new Blob([response.data], {\r\n type: \"application/pdf\",\r\n });\r\n\r\n const fileURL = URL.createObjectURL(file);\r\n window.open(fileURL);\r\n });\r\n\r\n //var a2 = $(\"
\");\r\n //a2.attr(\"target\", \"_blank\");\r\n //a2.attr(\"href\", url);\r\n //$(\"body\").append(a2);\r\n //a2[0].click();\r\n //$(\"body\").remove(a2);\r\n };\r\n\r\n function ViewRegistrationPDF(fileName) {\r\n debugger;\r\n var url = getAPIUrl() + \"/RegistrationPrintPDF/\" + fileName + \".pdf\";\r\n\r\n var a = $(\"
\");\r\n a.attr(\"target\", \"_blank\");\r\n a.attr(\"href\", url);\r\n $(\"body\").append(a);\r\n a[0].click();\r\n $(\"body\").remove(a);\r\n };\r\n\r\n var authUserName = JSON.parse(localStorage.getItem('userName'));\r\n var authPassword = JSON.parse(localStorage.getItem('password'));\r\n\r\n const [username, setusername] = useState(authUserName);\r\n const [isPreloader, setPreloader] = useState(false);\r\n\r\n\r\n function GetBranchloginDetails(BranchCode) {\r\n debugger;\r\n\r\n const getAllBranchLoginCustomerListModel = {\r\n BranchCode: BranchCode\r\n }\r\n if (getAllBranchLoginCustomerListModel != null) {\r\n setPreloader(true);\r\n\r\n axios.post(getAllBranchLoginCustomerList(), getAllBranchLoginCustomerListModel, { headers: branchAuthHeader() }).then((response) => {\r\n setCustomerAccList(response.data);\r\n setPreloader(false);\r\n }, (error) => {\r\n console.log(error.response);\r\n setPreloader(false);\r\n });\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (isPreloader === true) {\r\n document.getElementById(\"preloader\").style.display = \"block\";\r\n document.getElementById(\"status\").style.display = \"block\";\r\n } else {\r\n document.getElementById(\"preloader\").style.display = \"none\";\r\n document.getElementById(\"status\").style.display = \"none\";\r\n }\r\n }, [isPreloader]);\r\n\r\n useEffect(() => {\r\n var branchcode = localStorage.getItem('branchCode');\r\n GetBranchloginDetails(branchcode);\r\n }, []);\r\n\r\n\r\n const [activeTabVartical, setoggleTabVertical] = useState(1)\r\n const [passedStepsVertical, setPassedStepsVertical] = useState([1])\r\n\r\n function toggleTabVertical(tab) {\r\n if (activeTabVartical !== tab) {\r\n var modifiedSteps = [...passedStepsVertical, tab]\r\n\r\n if (tab >= 1 && tab <= 2) {\r\n setoggleTabVertical(tab)\r\n setPassedStepsVertical(modifiedSteps)\r\n }\r\n }\r\n }\r\n\r\n const [menu, setMenu] = useState(false)\r\n\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n JSB-Customer Details\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {localStorage.getItem('branchName')}
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n {\r\n toggleTabVertical(1)\r\n }}\r\n >\r\n 1 Completed forms\r\n \r\n \r\n \r\n {\r\n toggleTabVertical(2)\r\n }}\r\n >\r\n 2{\" \"}\r\n Partially Filled Forms\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {({ paginationProps, paginationTableProps }) => (\r\n \r\n {toolkitProps => (\r\n \r\n )}\r\n \r\n )}\r\n \r\n
\r\n \r\n\r\n \r\n \r\n
\r\n {({ paginationProps, paginationTableProps }) => (\r\n \r\n {toolkitProps => (\r\n \r\n )}\r\n \r\n )}\r\n \r\n
\r\n \r\n\r\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 CustomerList\r\n\r\nCustomerList.propTypes = {\r\n history: PropTypes.object,\r\n};","import React from \"react\"\r\nimport PropTypes from \"prop-types\"\r\nimport { Route, Redirect } from \"react-router-dom\"\r\n\r\nconst Authmiddleware = ({\r\n component: Component,\r\n layout: Layout,\r\n isAuthProtected,\r\n ...rest\r\n}) => (\r\n
{\r\n if ((isAuthProtected && !localStorage.getItem(\"authCustomer\"))) {\r\n return (\r\n \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\nAuthmiddleware.propTypes = {\r\n isAuthProtected: PropTypes.bool,\r\n component: PropTypes.any,\r\n location: PropTypes.object,\r\n layout: PropTypes.any, \r\n}\r\n\r\nexport default Authmiddleware;\r\n","import PropTypes from \"prop-types\";\r\nimport React, { useEffect } from \"react\";\r\n\r\nimport { withRouter } from \"react-router-dom\";\r\nimport {\r\n changeLayout,\r\n changeSidebarTheme,\r\n changeSidebarThemeImage,\r\n changeSidebarType,\r\n changeTopbarTheme,\r\n changeLayoutWidth,\r\n showRightSidebarAction\r\n} from \"../../store/actions\";\r\n\r\n// Layout Related Components\r\nimport Header from \"./Header\";\r\n/*import Sidebar from \"./Sidebar\";*/\r\nimport Footer from \"./Footer\";\r\n/*import RightSidebar from \"../CommonForBoth/RightSidebar\";*/\r\n\r\n//redux\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\n\r\nconst Layout = props => {\r\n const dispatch = useDispatch();\r\n\r\n const {\r\n isPreloader,\r\n leftSideBarThemeImage,\r\n layoutWidth,\r\n leftSideBarType,\r\n topbarTheme,\r\n showRightSidebar,\r\n leftSideBarTheme,\r\n } = useSelector(state => ({\r\n isPreloader: state.Layout.isPreloader,\r\n leftSideBarThemeImage: state.Layout.leftSideBarThemeImage,\r\n leftSideBarType: state.Layout.leftSideBarType,\r\n layoutWidth: state.Layout.layoutWidth,\r\n topbarTheme: state.Layout.topbarTheme,\r\n showRightSidebar: state.Layout.showRightSidebar,\r\n leftSideBarTheme: state.Layout.leftSideBarTheme,\r\n }));\r\n\r\n const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);\r\n\r\n const toggleMenuCallback = () => {\r\n if (leftSideBarType === \"default\") {\r\n dispatch(changeSidebarType(\"condensed\", isMobile));\r\n } else if (leftSideBarType === \"condensed\") {\r\n dispatch(changeSidebarType(\"default\", isMobile));\r\n }\r\n };\r\n\r\n //hides right sidebar on body click\r\n // const hideRightbar = (event) => {\r\n // var rightbar = document.getElementById(\"right-bar\");\r\n // //if clicked in inside right bar, then do nothing\r\n // if (rightbar && rightbar.contains(event.target)) {\r\n // return;\r\n // } else {\r\n // //if clicked in outside of rightbar then fire action for hide rightbar\r\n // dispatch(showRightSidebarAction(false));\r\n // }\r\n // };\r\n\r\n /*\r\n layout settings\r\n */\r\n\r\n useEffect(() => {\r\n //init body click event fot toggle rightbar\r\n //document.body.addEventListener(\"click\", hideRightbar, true);\r\n\r\n if (isPreloader === true) {\r\n document.getElementById(\"preloader\").style.display = \"block\";\r\n document.getElementById(\"status\").style.display = \"block\";\r\n\r\n setTimeout(function () {\r\n document.getElementById(\"preloader\").style.display = \"none\";\r\n document.getElementById(\"status\").style.display = \"none\";\r\n }, 2500);\r\n } else {\r\n document.getElementById(\"preloader\").style.display = \"none\";\r\n document.getElementById(\"status\").style.display = \"none\";\r\n }\r\n }, [isPreloader]);\r\n\r\n useEffect(() => {\r\n window.scrollTo(0, 0);\r\n }, []);\r\n\r\n useEffect(() => {\r\n dispatch(changeLayout(\"vertical\"));\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n if (leftSideBarTheme) {\r\n dispatch(changeSidebarTheme(leftSideBarTheme));\r\n }\r\n }, [leftSideBarTheme, dispatch]);\r\n\r\n useEffect(() => {\r\n if (leftSideBarThemeImage) {\r\n dispatch(changeSidebarThemeImage(leftSideBarThemeImage));\r\n }\r\n }, [leftSideBarThemeImage, dispatch]);\r\n\r\n useEffect(() => {\r\n if (layoutWidth) {\r\n dispatch(changeLayoutWidth(layoutWidth));\r\n }\r\n }, [layoutWidth, dispatch]);\r\n\r\n useEffect(() => {\r\n if (leftSideBarType) {\r\n dispatch(changeSidebarType(leftSideBarType));\r\n }\r\n }, [leftSideBarType, dispatch]);\r\n\r\n useEffect(() => {\r\n if (topbarTheme) {\r\n dispatch(changeTopbarTheme(topbarTheme));\r\n }\r\n }, [topbarTheme, dispatch]);\r\n var body = document.body;\r\n body.classList.toggle(\"vertical-collpsed\");\r\n\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
{props.children}
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nLayout.propTypes = {\r\n changeLayoutWidth: PropTypes.func,\r\n changeSidebarTheme: PropTypes.func,\r\n changeSidebarThemeImage: PropTypes.func,\r\n changeSidebarType: PropTypes.func,\r\n changeTopbarTheme: PropTypes.func,\r\n children: PropTypes.object,\r\n isPreloader: PropTypes.any,\r\n layoutWidth: PropTypes.any,\r\n leftSideBarTheme: PropTypes.any,\r\n leftSideBarThemeImage: PropTypes.any,\r\n leftSideBarType: PropTypes.any,\r\n location: PropTypes.object,\r\n showRightSidebar: PropTypes.any,\r\n topbarTheme: PropTypes.any,\r\n};\r\n\r\nexport default withRouter(Layout);\r\n","import PropTypes from \"prop-types\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Collapse } from \"reactstrap\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport classname from \"classnames\";\r\n\r\n//i18n\r\nimport { withTranslation } from \"react-i18next\";\r\n\r\nimport { connect } from \"react-redux\";\r\n\r\nconst Navbar = props => {\r\n\r\n const [dashboard, setdashboard] = useState(false);\r\n const [ui, setui] = useState(false);\r\n const [app, setapp] = useState(false);\r\n const [email, setemail] = useState(false);\r\n const [ecommerce, setecommerce] = useState(false);\r\n const [crypto, setcrypto] = useState(false);\r\n const [project, setproject] = useState(false);\r\n const [task, settask] = useState(false);\r\n const [contact, setcontact] = useState(false);\r\n const [blog, setBlog] = useState(false);\r\n const [component, setcomponent] = useState(false);\r\n const [form, setform] = useState(false);\r\n const [table, settable] = useState(false);\r\n const [chart, setchart] = useState(false);\r\n const [icon, seticon] = useState(false);\r\n const [map, setmap] = useState(false);\r\n const [extra, setextra] = useState(false);\r\n const [invoice, setinvoice] = useState(false);\r\n const [auth, setauth] = useState(false);\r\n const [utility, setutility] = useState(false);\r\n\r\n useEffect(() => {\r\n var matchingMenuItem = null;\r\n var ul = document.getElementById(\"navigation\");\r\n var items = ul.getElementsByTagName(\"a\");\r\n for (var i = 0; i < items.length; ++i) {\r\n if (props.location.pathname === items[i].pathname) {\r\n matchingMenuItem = items[i];\r\n break;\r\n }\r\n }\r\n if (matchingMenuItem) {\r\n activateParentDropdown(matchingMenuItem);\r\n }\r\n });\r\n\r\n function activateParentDropdown(item) {\r\n item.classList.add(\"active\");\r\n const parent = item.parentElement;\r\n if (parent) {\r\n parent.classList.add(\"active\"); // li\r\n const parent2 = parent.parentElement;\r\n parent2.classList.add(\"active\"); // li\r\n const parent3 = parent2.parentElement;\r\n if (parent3) {\r\n parent3.classList.add(\"active\"); // li\r\n const parent4 = parent3.parentElement;\r\n if (parent4) {\r\n parent4.classList.add(\"active\"); // li\r\n const parent5 = parent4.parentElement;\r\n if (parent5) {\r\n parent5.classList.add(\"active\"); // li\r\n const parent6 = parent5.parentElement;\r\n if (parent6) {\r\n parent6.classList.add(\"active\"); // li\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return false;\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\nNavbar.propTypes = {\r\n leftMenu: PropTypes.any,\r\n location: PropTypes.any,\r\n menuOpen: PropTypes.any,\r\n t: PropTypes.any,\r\n};\r\n\r\nconst mapStatetoProps = state => {\r\n const { leftMenu } = state.Layout;\r\n return { leftMenu };\r\n};\r\n\r\nexport default withRouter(\r\n connect(mapStatetoProps, {})(withTranslation()(Navbar))\r\n);\r\n","import React, { useState } from \"react\";\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { Link } from \"react-router-dom\";\r\n\r\n// Redux Store\r\nimport { showRightSidebarAction, toggleLeftmenu } from \"../../store/actions\";\r\n// reactstrap\r\nimport { Row, Col, Dropdown, DropdownToggle, DropdownMenu } from \"reactstrap\";\r\n\r\n// Import menuDropdown\r\nimport LanguageDropdown from \"../CommonForBoth/TopbarDropdown/LanguageDropdown\";\r\nimport NotificationDropdown from \"../CommonForBoth/TopbarDropdown/NotificationDropdown\";\r\nimport ProfileMenu from \"../CommonForBoth/TopbarDropdown/ProfileMenu\";\r\n\r\nimport megamenuImg from \"../../assets/images/megamenu-img.png\";\r\nimport logo from \"../../assets/images/logo.svg\";\r\nimport logoLight from \"../../assets/images/logo-light.png\";\r\nimport logoLightSvg from \"../../assets/images/logo-light.svg\";\r\nimport logoDark from \"../../assets/images/logo-dark.png\";\r\n\r\n// import images\r\nimport github from \"../../assets/images/brands/github.png\";\r\nimport bitbucket from \"../../assets/images/brands/bitbucket.png\";\r\nimport dribbble from \"../../assets/images/brands/dribbble.png\";\r\nimport dropbox from \"../../assets/images/brands/dropbox.png\";\r\nimport mail_chimp from \"../../assets/images/brands/mail_chimp.png\";\r\nimport slack from \"../../assets/images/brands/slack.png\";\r\n\r\n//i18n\r\nimport { withTranslation } from \"react-i18next\";\r\n\r\nconst Header = props => {\r\n const [menu, setMenu] = useState(false);\r\n const [isSearch, setSearch] = useState(false);\r\n const [socialDrp, setsocialDrp] = useState(false);\r\n\r\n function toggleFullscreen() {\r\n if (\r\n !document.fullscreenElement &&\r\n /* alternative standard method */ !document.mozFullScreenElement &&\r\n !document.webkitFullscreenElement\r\n ) {\r\n // current working methods\r\n if (document.documentElement.requestFullscreen) {\r\n document.documentElement.requestFullscreen();\r\n } else if (document.documentElement.mozRequestFullScreen) {\r\n document.documentElement.mozRequestFullScreen();\r\n } else if (document.documentElement.webkitRequestFullscreen) {\r\n document.documentElement.webkitRequestFullscreen(\r\n Element.ALLOW_KEYBOARD_INPUT\r\n );\r\n }\r\n } else {\r\n if (document.cancelFullScreen) {\r\n document.cancelFullScreen();\r\n } else if (document.mozCancelFullScreen) {\r\n document.mozCancelFullScreen();\r\n } else if (document.webkitCancelFullScreen) {\r\n document.webkitCancelFullScreen();\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 \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
setMenu(!menu)}\r\n >\r\n \r\n {props.t(\"Mega Menu\")} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.t(\"UI Components\")}\r\n
\r\n \r\n - \r\n {props.t(\"Lightbox\")}\r\n
\r\n - \r\n {props.t(\"Range Slider\")}\r\n
\r\n - \r\n {props.t(\"Sweet Alert\")}\r\n
\r\n - \r\n {props.t(\"Rating\")}\r\n
\r\n - \r\n {props.t(\"Forms\")}\r\n
\r\n - \r\n {props.t(\"Tables\")}\r\n
\r\n - \r\n {props.t(\"Charts\")}\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n {props.t(\"Applications\")}\r\n
\r\n \r\n - \r\n {props.t(\"Ecommerce\")}\r\n
\r\n - \r\n {props.t(\"Calendar\")}\r\n
\r\n - \r\n {props.t(\"Email\")}\r\n
\r\n - \r\n {props.t(\"Projects\")}\r\n
\r\n - \r\n {props.t(\"Tasks\")}\r\n
\r\n - \r\n {props.t(\"Contacts\")}\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n {props.t(\"Extra Pages\")}\r\n
\r\n \r\n - \r\n {props.t(\"Light Sidebar\")}\r\n
\r\n - \r\n {props.t(\"Compact Sidebar\")}\r\n
\r\n - \r\n {props.t(\"Horizontal layout\")}\r\n
\r\n - \r\n {props.t(\"Maintenance\")}\r\n
\r\n - \r\n {props.t(\"Coming Soon\")}\r\n
\r\n - \r\n {props.t(\"Timeline\")}\r\n
\r\n - \r\n {props.t(\"FAQs\")}\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {props.t(\"UI Components\")}\r\n
\r\n \r\n - \r\n {props.t(\"Lightbox\")}\r\n
\r\n - \r\n {props.t(\"Range Slider\")}\r\n
\r\n - \r\n {props.t(\"Sweet Alert\")}\r\n
\r\n - \r\n {props.t(\"Rating\")}\r\n
\r\n - \r\n {props.t(\"Forms\")}\r\n
\r\n - \r\n {props.t(\"Tables\")}\r\n
\r\n - \r\n {props.t(\"Charts\")}\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n

\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
{\r\n setsocialDrp(!socialDrp);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nHeader.propTypes = {\r\n leftMenu: PropTypes.any,\r\n showRightSidebar: PropTypes.any,\r\n showRightSidebarAction: PropTypes.func,\r\n t: PropTypes.any,\r\n toggleLeftmenu: PropTypes.func\r\n};\r\n\r\nconst mapStatetoProps = state => {\r\n const { layoutType, showRightSidebar, leftMenu } = state.Layout;\r\n return { layoutType, showRightSidebar, leftMenu };\r\n};\r\n\r\nexport default connect(mapStatetoProps, {\r\n showRightSidebarAction,\r\n toggleLeftmenu,\r\n})(withTranslation()(Header));\r\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAeCAMAAACR41cYAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAJ/UExURUdwTCEgIB8fHyAfHyAfHyAfHyAfHx8eHiAfHx8eHiAfHyAfHyAfHx8eHiAfH5jU5h8eHiAfHyAfHyAfHx8eHh8eHiAfHyAfIAQBAxgWFiEhISEgIAwCACAgIB0bGi40NhkVFCAfH5za8FBncENVXKTm95vZ8Jza8J7c8R0bGhMTEx0cHCAfHyEgH73//yEgIJ7c8QAAAIfF6TM7PwwJCh4cHHm45SAfHyAfH5za8CAfH5za8Jza8Jza8Jza8CAfH5za8G6VokRVWxIKCJza8JvY7pza8DtITTlFSZ3b8AMHCgAABJza8ElBPDA4PFVLRK3z/zEvLRcXGEVBPTA5PJza8AADB5vZ74XD6QIAAIrJ67T+/4HA6BAIByAfH4zK7IrI6zE4O7D5/yAfHwEAACIgIJza8BUWGAACBhoaGvXLsQ0PEZ/g957c8RATFf/oy1p4hfzRticqLIC+6Jrm///jxiMiIvDEq//Xu/bHq//fxG5eVRgXF////P/z0P/22lNHQv/gv//877H5/xcTEhUOC76cicyolCcjIf/avdivlpvY7mZaUQMHC1lNRfrNsPTJr//o0v/cwf3WuHtnXIshF4VuYvTEqfrcyM+oqOrW1PTm4v716zM7PqHf8v/t1SkpJsD//1RueGebxaPn/IXK/TVIV3OapbmXheK0mNuymv/GrdWZhu/Tx+u7pI54adymkf/658+dlMifn+S1mafq+7uhizYvLeLCufLs7/rk1mNVTf/NrtOskqeHd8aXlXFgVv/kwZU1LNW1neK9tJAuJsCMirJwa+nKv9zFx2CRtVuKronG6naszSUnKUZaZG+TmUFPU3agr3GkxIu8xSfH+3sAAABzdFJOUwD97RwqJTMat/4VL6DlCwmSOh2qV77yhGEIms8njIj9+xEk6wESA6CMcwRtUGQlwnjIs9iu9u3fsS5e3hvwhB66hguP9eJfotdT9nPf4o7mPNW62Kc/5MnTMeRzzcTG3/LkYv////////////////////54WQMpAAACTklEQVQYGXXABVMiYRgA4BdYdhkExa5TR8Xuvu7u7v5g2V06XFGxO7C72+vu7s74Qaczd87sIg/85yeUJMMCsUK+FFzIEEISvwSZxF8iSwpEczyBT4L4xMAXhniE4CIQ8QRgwCMWID458PgipEYag0ZD07TGYHCgOcuBI1GIWA3lqEcOrVbrUNdXUzSLfIHDB7EG7fXGi411tRdq6y7dedrl1KjTgGMNop3PSm+WGO35+fkNHSUlpT0U8geO4ABneUX7w9tXWxmGKXzU/7HyyX2tBLhCVT0vh/q7b7W3MW1Fb169H6p4TIXAP1IRQfiIMV/qRUXl8+4HHUwnY//w9l1lZ7kzHBP7EIRICpg3juMemLd2zGwcHOjrLbjB9PYNDI72sgYc88Bx3BsDQiSN9FQCpFDFxrKyVvO1KwXmwtGy0i4qBUDpGSkVEbDA73D5vYIGo/2y3Vhkfl28PQl4NoQABAdl79vV0lzc3LLnwP4dBPB4rbNkwbwM1byMRHAVk7qe3gIAyWpWIBCwKAgWFTS8dfdBQY5cIMsRsv6wuARLhIU+rUBhKCQgFNwIPrYkTR6uVqjD80LBvWxhIFKgsLxT4IYy9XyWJbo6ujo64tyJvbGwiM1H9OM/kalmosb0bXhct2m1F/DExpG6KZPqxy/Vd9XsrGriro5cEQVcUSSp05s+T0XU/HGM6T6Z9DqSjAcur7Vkk77KNjnzu+rrzKStSt9ErloGfOk7yRGr1Tb9ZdpmtY6QG+NWgivlofTMk2dyz+YeP5oZvy0GFvwFlSbPVswTomsAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAdCAMAAABopjdHAAAAwFBMVEVHcEwAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4MAT4Mri5Y4AAAAP3RSTlMAIwhydxy28hIWIc+je6u9P/b9BUziKJcMxKdZAjyMXjfXu8Hm1eou2t0z+rKRRq+A7my6Qp/M34PrU1YPiL7YsJ9AAAABbUlEQVQYGW3Bh3aiQAAF0EedoSMiYu+isdcka7Lv//9qYTib3eR4LwB9b9yilWBtefeN2NFR6h3WJOfeLIqizn3REiQXgdaEMSdb5uiaWTLXc+mOH5+XOSlGaJDJDN+NSJ7QILn0zcegcJ2SpWUvaZcleFROk44d+jf/MF1sWHlHl895OPI5GyM+10bML97US/iXiazB2jIo8uJtzlqSQptQWZ6hxzoMQaU1gGVTCfUsbPnaR0hllkG2WUkCmCQDmFRuEk2TlcSESdJAQCVoAj0q4YfWXrRduaXyC0BKRQRAARwFK5sxAGdL5X0YW/HniUrkomQNWVt11lQ2swFq4+GK/7RsA7XrzkKWGu3Q/h3Z4c7YQw5yVHpiYTpAX1quJZuATKO1hsqLR+H556smc6mNH0c74dZBxbFZEuv77DLtTARLZx2Vvs+f4j6UIX+yUCte+V03R60/PvA/ouvii7N/m742yESsLrtejsofWqVrkBSdwYAAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAAA0lBMVEVHcEzEI2HDI2HDI2HEI2HDI2HDI2HEI2HDImHDI2HDI2HDImDDI2HEI2HDI2HDI2HDI2HEI2HDI2HDI2HDI2HDI2HDI2HDI2HDI2HDI2HDI2HEJGLDI2HDI2HDI2HqTInxU5C9HFq7GlnyVJHEI2HpS4jwUY/BIV/tTou3FlTCImDzVZK6GVfUNXPfP32+HVziQ4DaOnjrTYrFJWO/Hl3MLGrKKmjAH17uUI3cPXrXN3XSMnC1FFLoSYf1V5T4WpfPLm3mR4TIKGbQMG7wU5DqS4gW3fYwAAAAH3RSTlMAlnPA0mVNzNyLQuQo7zUfxPFVXWx6pPMCRX/1A3yvLDJKvgAAAk1JREFUGBllwIV2GmkUAOAbIUD8bCrp2v1dx10ZBmbf/5WW0DZtTz/44X518fzwef3pwyP87uZKiJhRSlns1iv41f2Vpk73bdumYVUwff0FfvKS07rUNJz4wrlJwpqJj/Dug2D5vNsHrPUS0Sx+rgqxhW/+EKxsuMpEoKWSiCj5rqTiTzh7EqzkSkof0WBPMkRpfORYIW7hzZrmjZKIGd8HrPUSCe8Cmx7pA5zcOpp4iYhSSRfkxvOxtDacUNeXALBmR45n0reUhSaMh7jlxnfsAeDJ0YRjZoxaiG8OsXBDsB95JtWs9S2s4spz1Rg5R+mxcrWu99Gi8ETt6RYu6qrr92WV18wOVuSFyHYZZojIU/YMVzkdBmstK0QVtpgUQTepE0KmhG5go8uwD8M0SkZD/LQrg7zrj8c+TJO0voMNjSa1ELIoY3jT9rlzwWCtHQZbizu4oinHN7LhyYENTNeHtG3bri+F28AFCwmeyKXpmaWHJAxytVsIX3YpfYZVcTAGUfLxYIND1ExzwVqOJ7ynW3hycUJQ8lnbuGu8yZrSlipDbEanvwCsWe8lH7XViTcSkXc2Hw1Kn7LPrwA3ukimLB/c6PGNSmIaEakyV/wDJ9e08v2gR49nBnPbEeP37K9XOLkX9UHTyP+HXy29LdWuY+4Gzl5EHKQTfsfTIDcp01v46vVSFOXsVYZnZK5FVegLeLcStAjnhpNlIZwkoo7dFn7yuNasLrs2itq0dE5sbuBXL2tHGY1jyqjeXP4Nv3m8/LS+u7v+9+MtvPsfo0R0DDqUOxMAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAhCAMAAABkz+JgAAAAxlBMVEVHcEwAfuYAfuYAfuYAfuYAfecAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuUAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuYAf+UAfuYAfuYAfuYAfuYAfuYAfuYAfuYAf+YAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuYAfuUAfuYAgOcAfuYAfeYAf+YAfuYAfuZXV9ysAAAAQXRSTlMACxEy+QLr/PX+2xgHGh58vjZgQeTHDu1k6RWMKIbTudej4Jipy0cFcPPvL3MkTBNn0HfFVq5Q6LVrOh8GnFk8kkQ6JVUAAAGsSURBVBgZfcEHgppAAAXQjw4Mgi5iD/Yu9o6uW/Lvf6kgiowmm/cQq3y1G0g0hvMKXuTaksESMdei2LhQaWuTIbOQxZW+9xnyJys8NMqCEVHXAYybPiNyOMNNZW3wYWBjVZeMmVsPocVOMiE3bl4yITdpYFSlShyKXZ8qs4ZcmYrSKIvxd4+KzQXQ+oJ31X4OV5VmlXdyYCM0rklGrLSOG/0tz4jcZnGz7JEMnCwS2sQiWSroiHlDnlY6nngDGjMo3tseXun9dyi8jiyn8MzeyamLh31A0ndSSKQmPZJBLYuI7kheZaouYpcWI7KJK+9T8M7sL3CVq5uMHS5ArkOFudeB4pSK0gWjElXiMOoKqn6tgVReMpEZvuUzTMjWBSGt1mMs8zmrp+uCselcw01uJxkRzqXDanouGJFlGw/jQsCQUThaJIPC0WAoOKeg0k6SRnHpM+I0LMrWAs/m6a/urCl4I7ru6ewV8KxtLO0uE3m7OG3j2dmXFlWdKZt44bYEVZlOEX/RagYTxsTGv1S6Pm/MfAM/+CiWeWUds/jZh1Oi8VvDf+mLbVrHsz8x4n90MIcLhQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAjCAMAAADCMPhoAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAJAUExURUdwTGVPRGVPRHVeUGVPRGVPRGRPRWVPRGVPRGVPRGRQRWVPRWVPRGVPRGVPRGRPRWVPRGVPRGVPRGVPRGVPRGBVUmVPRGVPRGtUR2VPRGVPRGVPRGVPRGVPRGVPRGVPRF9LQ3NZSZ6IdmVPRGNVT3poX2VPRGVPRHlhRl9gZIFnR2VPRJBpTP3rzvTSqxIgNEme1yyDwhUiNY5oTGZQRGlSRfzoyf3qzffbuPXixZpzVfTVsGBMQ/PQqXpbSIRiSnFWRvjlyP///39fSW1URrKUeIhkSkM8Pe/Np4tmSyx8tvrgvv37+ZRtT5ZwUuPDn1VHQ595WnNYR5FqTVKCo2NOQ/vlxdrBpCEpN9y7mPXUrj1IWZV7ZzWKxqqTfunIo/PRq7mafsm/ubipoP338LispLyrmKWNeFtlcPzy55yBa/PNo9e2lCcsOO3AkO7Gm1lZXhUpQi6CvsilgzA8TaeCY0SZ05yDbysuOTExOvbYs/HdwaqHaeDBnc62nGJqeOXQtBspPLKch8ytj/327fjz7sO3r35sWb+yqbOObk5jdmNdXzR7sPHJnfDbvUVujVd1inhxcVJgb7+aeerXvDZ5qo2Aeyg0Rh9PdkhphShzq/fixBxFaRk1UZ97XjpznjZCUzQzO15LQydrnq6Vf829sPnn06GGcIRlTy4+UqCeoPLv7s7Hw+Hd2+zp546UnqCjpc62e7uoayhfiqmRSHWAjlBTROa+T9KxTFKFqe/HTp+XXllwgsW4a5e0njlHS3QagBcAAAArdFJOUwChif0QVMAFATnZ3hjoM8j3bbLSKPesC/SV9JpILoBY8Pz9kf3wgnaT/pqvGFBIAAACu0lEQVQ4y3WU5VsiURTGCZFBxcCu7ebOXBiQRgQBRbBwLbCwde3uWN1Ht7u7w+3u/df23mGYhcf1/fp776k5Z3i8CIklObm8rZWbndr9c+2QmCeOF22P34Tj+Ae/KX79/vHlQObeK+dPViRERWBCtOewQqH48/3rx3cvFmkIYX90RPLMbgVWyef3b/0Qc0hLw3hUwjmGN3741A1Z0bFhPBaHV0w8fP5mGdJI2DCV/Y/HMLzx1r1Fum7qvslkKuqH9A4xlz/67ATiI8P+MXraJA9quiiJC7DthFKJyoP+5TqM1XmWQq9dncZxyZBSqWwsgWN0EcJ5hSqA5eSaJGJOIUMJfRVWIOwCQVWV7UxnDaILiI8M05h7ASg1GEqrQFm9r1bGGmSXkeEahCi+HQCDdYbCMg8MxrCGVMRvQFiH8qPsZ3ynB44wluJww21IV6MCAHAYzYMMpuqbk1kD/7ry7oNqxOX5ACxQ6HlfOXovLE/gxjTkRbFdankhAKP4ce8kpXMbizNEoTkUoNpG51AEFSgzI4Oj13jJMa/R7+IHDfssoNJMNaARokDHWyjKWKMlrVqS1DYJgkW4QMBnRgacA1T21ZAh6RrisEFgAXMa3Roy2F2gcl4TwtqZZmEcW0NVYCmAP6HTUBziGl1LoC24MsRu1B9QMX1e1CGm17h1LStd6683pESw0aSMAm8eM8nxmyT56HFra+vLVx6bzXY0NCyxgFkSFSidJa0rT3ra23t6PDbPuj6LuwnWAGpJsulY++qqx7bR0WntEnFLkYYNFgDGSXK2s62jo61zQe+eD9/rRLxNTgD0bBc1bl+zMCXsMiQ4hN0JHCGHtl64P+L2RNihtqju1FoxXuqSC4jI442XYoe6IP/Z06ZJoTwradN5E/xEOafolP/9INIFyYxHKpNs+RMhUnIk4T+Gv3cNvzi99G5fAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAACplBMVEVHcEz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////60uX///////////////////////////////9uytzmmQDpqCA+uZHgFWPkkQAWjnjODgjIAQNVwdYarX3XADfcAEj5/f3cAE7L7PN/1e7ppAuw49I2t42G1bjjFnJkyuXsqyX22qE8uJDyn75zzN70qcViegRUgh/ZAT245ddB2aIzACb34LAFgmbMAgpFsrj//vTS7/QVqnr+/PrppxwwvIzvw2Puu1BKvdT+8PXI7OEOqHaS1+XfA15cw9f96r7E6vFcz/pLdARCvZTw+fbfDV9lhhv/ryHpU4zhGmj2vtH7AlgdtIEYDjGm3+oKlG8bk3zrtwmd2+ggl4FSwpoIimozpJrIkgDe9PrPJQB12v/rtiT8//8rpoR/0N6v4/LtwBxSwtvlO3vI6+pgxqVGu9MLp3NzzLC95++Zkxzwibb/GW0bfWb33qvumwD+c6cUACE3ADAvs4k5UVo3EDnvzCxsxK/kfUb96vnSNgD+rBznnh81r4zUEil7ysTpf4H384miwZjWOxfcag395/cPjW714Hn3ynT6nABVvc9gx+D44rVkx9rbWhfkjxzmS4V3ih1Lj03fFV7TDCJmnV5staHhK2njMHNuxc0nn4Jv0e+wVX9dqo3sFmem6P9Eu9JtAC/IvG1Jfhxym1BsgQqh5/9AEjyoAErufqr01pXrsDYoDjQ4Gj0cy47Alw5wLFTuAVp6z7PYJWp43rueFVRmEkb0ZprVAEUgt4QsiG94nZYsIT9Gx5y9/+uQ18Ci3coAom6/ICZyAAAAKXRSTlMAP9pMoGFRR+eup71y+9DzuF0xoyLgFQKyWWadV4P2w5b+kQivDFtcxZCJTt8AAAKlSURBVBgZdcCDU2QBGADwrxXaai/76oTvvbdmNnezbetqsjHZOtu2bdvGf3K1u9NMN9cPFmPzOOtZsBQ6jiX5IxP+z5bjLxKJnprCP+wtGSwAsMJnpB9J4Vq2I8MeFliiZziuBLDBZJKixrNR5eaGxmBgrupNTx9ANoDj2HhxMXn3YZAsJUNlDno8z/4Ar7g0S1sWL4Z6NfQgtNuXIPpyeKC3zFMuEMR5861Vsbfu590LDbnYQpxIcbMDPXqBl1d+Yl1sZ5As90ZIUVHIhdxuWRUagZ4Test3tB+M9s0irl0pCgnNC+3obEIT0FlHw6Zd9WJxZIM7QRC5Z/PODDVmc5wtQIeNg0G+R8XianEt4SvLatnb6Fd85LA1GJjl9GUR7g311eLIaPeq2LaYbR6Uh1+8EVhZrAIA04yUIMI9OlJcu2ETzksiKYrMNuMickwAaDm3ZbJjxNV2QWIdzosgqdaaQwcCT196gubAxsGODDeVd0V+gDwN522s2b5/X6laqVYMcwCYNOQzzMLlAkGcN87ZsnmrRCoN8xGWhpWYwhwrG3AqCJgWJGowNbjERyGNkkh2+hQqFYE0MOC/f6kJGL0+olRmnpNIJNIodWZPMNJBh+7KDx+deTF5p1woFPqcl0qjmnevQBc66Lhi2ad3Wu3U80fCm4XqTEXzyVMee0wtQI8VXxKmLP9YOTtb+bhcfXm4rLWry8Mvxgj0lgUrCoUjHyqntJOvJ8qQtjyJpCgywhj0eIEKofDNZ+33ma8/2rhGsPq4KCFBFMEFPYfUnjBl6cS3Co3mS5ozAAuTRaLkeBYY2GFgcCr+rBAI5G/5awCM0d8fGbCAacxgmxR4TefLe9EGAJhcLhMWs8Vff9L7Pa1hCSb4eyAc2bAUBzOOCx0W+QuvxroExNCXxAAAAABJRU5ErkJggg==\"","import React from \"react\"\r\nimport { Container, Row, Col } from \"reactstrap\"\r\n\r\nconst Footer = () => {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Footer\r\n","export default __webpack_public_path__ + \"static/media/img1.5d30e3f4.jpg\";","export default __webpack_public_path__ + \"static/media/img2.f153f12d.jpg\";","export default __webpack_public_path__ + \"static/media/img3.38bebc7d.jpg\";","export default __webpack_public_path__ + \"static/media/img4.508ca487.jpg\";","export default __webpack_public_path__ + \"static/media/layout-1.d6de7ba6.jpg\";","export default __webpack_public_path__ + \"static/media/layout-2.39f5fc81.jpg\";","export default __webpack_public_path__ + \"static/media/layout-3.ab7913ef.jpg\";","const layoutTypes = {\r\n HORIZONTAL: \"horizontal\",\r\n VERTICAL: \"vertical\",\r\n}\r\n\r\nconst layoutWidthTypes = {\r\n FLUID: \"fluid\",\r\n BOXED: \"boxed\",\r\n SCROLLABLE: \"scrollable\",\r\n}\r\n\r\nconst topBarThemeTypes = {\r\n LIGHT: \"light\",\r\n DARK: \"dark\",\r\n COLORED: \"colored\",\r\n}\r\n\r\nconst leftBarThemeImageTypes = {\r\n NONE: \"none\",\r\n IMG1: \"img1\",\r\n IMG2: \"img2\",\r\n IMG3: \"img3\",\r\n IMG4: \"img4\",\r\n}\r\n\r\nconst leftSidebarTypes = {\r\n DEFAULT: \"default\",\r\n COMPACT: \"compact\",\r\n ICON: \"icon\",\r\n}\r\n\r\nconst leftSideBarThemeTypes = {\r\n LIGHT: \"light\",\r\n COLORED: \"colored\",\r\n DARK: \"dark\",\r\n WINTER: \"winter\",\r\n LADYLIP: \"ladylip\",\r\n PLUMPLATE: \"plumplate\",\r\n STRONGBLISS: \"strongbliss\",\r\n GREATWHALE: \"greatwhale\",\r\n}\r\n\r\nexport {\r\n layoutTypes,\r\n layoutWidthTypes,\r\n topBarThemeTypes,\r\n leftBarThemeImageTypes,\r\n leftSidebarTypes,\r\n leftSideBarThemeTypes,\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Row, Col, FormGroup } from \"reactstrap\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n changeLayout,\r\n changeLayoutWidth,\r\n changeSidebarTheme,\r\n changeSidebarThemeImage,\r\n changeSidebarType,\r\n changePreloader,\r\n changeTopbarTheme,\r\n showRightSidebarAction,\r\n} from \"../../store/actions\";\r\n\r\n//SimpleBar\r\nimport SimpleBar from \"simplebar-react\";\r\n\r\nimport { Link } from \"react-router-dom\";\r\n\r\nimport \"../../components/CommonForBoth/rightbar.scss\";\r\n\r\n//Import images\r\nimport bgimg1 from \"../../assets/images/sidebar/img1.jpg\";\r\nimport bgimg2 from \"../../assets/images/sidebar/img2.jpg\";\r\nimport bgimg3 from \"../../assets/images/sidebar/img3.jpg\";\r\nimport bgimg4 from \"../../assets/images/sidebar/img4.jpg\";\r\nimport layout1 from \"../../assets/images/layouts/layout-1.jpg\";\r\nimport layout2 from \"../../assets/images/layouts/layout-2.jpg\";\r\nimport layout3 from \"../../assets/images/layouts/layout-3.jpg\";\r\n\r\n//constants\r\nimport {\r\n layoutTypes,\r\n layoutWidthTypes,\r\n topBarThemeTypes,\r\n leftBarThemeImageTypes,\r\n leftSidebarTypes,\r\n leftSideBarThemeTypes,\r\n} from \"../../constants/layout\";\r\n\r\nconst RightSidebar = props => {\r\n const onCloseRightBar = () => {\r\n const { onClose } = props;\r\n if (onClose) {\r\n onClose();\r\n }\r\n };\r\n return (\r\n \r\n \r\n
\r\n \r\n
\r\n {\r\n e.preventDefault()\r\n props.showRightSidebarAction(false)\r\n }}\r\n className=\"right-bar-toggle float-end\"\r\n >\r\n \r\n \r\n
Settings
\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n Layouts\r\n {\r\n if (e.target.checked) {\r\n props.changeLayout(e.target.value);\r\n }\r\n }}\r\n />\r\n \r\n {\r\n if (e.target.checked) {\r\n props.changeLayout(e.target.value);\r\n }\r\n }}\r\n />\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n Layout Width\r\n \r\n {\r\n if (e.target.checked) {\r\n props.changeLayoutWidth(e.target.value);\r\n }\r\n }}\r\n />\r\n \r\n {\r\n if (e.target.checked) {\r\n props.changeLayoutWidth(e.target.value);\r\n }\r\n }}\r\n />\r\n \r\n {\r\n if (e.target.checked) {\r\n props.changeLayoutWidth(e.target.value);\r\n }\r\n }}\r\n />\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n Topbar Theme\r\n \r\n {\r\n if (e.target.checked) {\r\n props.changeTopbarTheme(e.target.value);\r\n }\r\n }}\r\n />\r\n \r\n {\r\n if (e.target.checked) {\r\n props.changeTopbarTheme(e.target.value);\r\n }\r\n }}\r\n />\r\n \r\n {props.layoutType === \"vertical\" ? null : (\r\n <>\r\n {\r\n if (e.target.checked) {\r\n props.changeTopbarTheme(e.target.value);\r\n }\r\n }}\r\n />\r\n {\" \"}\r\n >\r\n )}\r\n
\r\n\r\n {props.layoutType === \"vertical\" ? (\r\n
\r\n
\r\n \r\n \r\n Left Sidebar Type{\" \"}\r\n \r\n {\r\n if (e.target.checked) {\r\n props.changeSidebarType(e.target.value);\r\n }\r\n }}\r\n />\r\n \r\n {\r\n if (e.target.checked) {\r\n props.changeSidebarType(e.target.value);\r\n }\r\n }}\r\n />\r\n \r\n {\r\n if (e.target.checked) {\r\n props.changeSidebarType(e.target.value);\r\n }\r\n }}\r\n />\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n \r\n Left Sidebar Color Options\r\n \r\n \r\n \r\n {\r\n if (e.target.checked) {\r\n props.changeSidebarTheme(e.target.value);\r\n }\r\n }}\r\n />\r\n \r\n\r\n {\r\n if (e.target.checked) {\r\n props.changeSidebarTheme(e.target.value);\r\n }\r\n }}\r\n />\r\n \r\n\r\n {\r\n if (e.target.checked) {\r\n props.changeSidebarTheme(e.target.value);\r\n }\r\n }}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n\r\n {\r\n if (e.target.checked) {\r\n props.changeSidebarTheme(e.target.value);\r\n }\r\n }}\r\n />\r\n \r\n\r\n {\r\n if (e.target.checked) {\r\n props.changeSidebarTheme(e.target.value);\r\n }\r\n }}\r\n />\r\n \r\n\r\n {\r\n if (e.target.checked) {\r\n props.changeSidebarTheme(e.target.value);\r\n }\r\n }}\r\n />\r\n \r\n\r\n {\r\n if (e.target.checked) {\r\n props.changeSidebarTheme(e.target.value);\r\n }\r\n }}\r\n />\r\n \r\n {\r\n if (e.target.checked) {\r\n props.changeSidebarTheme(e.target.value);\r\n }\r\n }}\r\n />\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n Left Sidebar Bg Image\r\n \r\n
\r\n {\r\n if (e.target.checked) {\r\n props.changeSidebarThemeImage(e.target.value);\r\n }\r\n }}\r\n />\r\n\r\n
\r\n {\" \"}\r\n\r\n {\r\n if (e.target.checked) {\r\n props.changeSidebarThemeImage(e.target.value);\r\n }\r\n }}\r\n />\r\n\r\n
\r\n {\" \"}\r\n\r\n {\r\n if (e.target.checked) {\r\n props.changeSidebarThemeImage(e.target.value);\r\n }\r\n }}\r\n />\r\n\r\n
\r\n {\" \"}\r\n {\r\n if (e.target.checked) {\r\n props.changeSidebarThemeImage(e.target.value);\r\n }\r\n }}\r\n />\r\n
\r\n {\" \"}\r\n\r\n {\r\n if (e.target.checked) {\r\n props.changeSidebarThemeImage(e.target.value);\r\n }\r\n }}\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 Preloader\r\n \r\n\r\n \r\n {\r\n props.changePreloader(!props.isPreloader);\r\n }}\r\n />\r\n\r\n \r\n
\r\n \r\n\r\n
Choose Layouts
\r\n\r\n
\r\n
\r\n

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

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

\r\n \r\n
\r\n\r\n
\r\n
Purchase Now\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nRightSidebar.propTypes = {\r\n changeLayout: PropTypes.func,\r\n changeLayoutWidth: PropTypes.func,\r\n changePreloader: PropTypes.func,\r\n changeSidebarTheme: PropTypes.func,\r\n changeSidebarThemeImage: PropTypes.func,\r\n changeSidebarType: PropTypes.func,\r\n changeTopbarTheme: PropTypes.func,\r\n isPreloader: PropTypes.any,\r\n layoutType: PropTypes.any,\r\n layoutWidth: PropTypes.any,\r\n leftSideBarTheme: PropTypes.any,\r\n leftSideBarThemeImage: PropTypes.any,\r\n leftSideBarType: PropTypes.any,\r\n showRightSidebarAction: PropTypes.func,\r\n topbarTheme: PropTypes.any,\r\n onClose: PropTypes.func,\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return { ...state.Layout };\r\n};\r\n\r\nexport default connect(mapStateToProps, {\r\n changeLayout,\r\n changeSidebarTheme,\r\n changeSidebarThemeImage,\r\n changeSidebarType,\r\n changeLayoutWidth,\r\n changeTopbarTheme,\r\n changePreloader,\r\n showRightSidebarAction,\r\n})(RightSidebar);\r\n","import React, { useEffect, useState } from 'react';\r\nimport { withRouter } from \"react-router-dom\"\r\nimport PropTypes from \"prop-types\"\r\n\r\n//actions\r\nimport {\r\n changeLayout,\r\n changeTopbarTheme,\r\n changeLayoutWidth,\r\n showRightSidebarAction\r\n} from \"../../store/actions\"\r\n\r\n//redux\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\n\r\n//components\r\nimport Navbar from \"./Navbar\"\r\nimport Header from \"./Header\"\r\nimport Footer from \"./Footer\"\r\nimport RightSidebar from \"../CommonForBoth/RightSidebar\"\r\nconst Layout = (props) => {\r\n\r\n const dispatch = useDispatch()\r\n\r\n const {\r\n topbarTheme, layoutWidth, isPreloader, showRightSidebar\r\n } = useSelector(state => ({\r\n topbarTheme: state.Layout.topbarTheme,\r\n layoutWidth: state.Layout.layoutWidth,\r\n isPreloader: state.Layout.isPreloader,\r\n showRightSidebar: state.Layout.showRightSidebar,\r\n }))\r\n\r\n /*\r\n document title\r\n */\r\n useEffect(() => {\r\n const title = props.location.pathname\r\n let currentage = title.charAt(1).toUpperCase() + title.slice(2)\r\n\r\n document.title =\r\n currentage + \" | JSB Online Account\"\r\n }, [props.location.pathname]);\r\n\r\n useEffect(() => {\r\n window.scrollTo(0, 0)\r\n }, []);\r\n\r\n\r\n //hides right sidebar on body click\r\n const hideRightbar = (event) => {\r\n var rightbar = document.getElementById(\"right-bar\");\r\n //if clicked in inside right bar, then do nothing\r\n if (rightbar && rightbar.contains(event.target)) {\r\n return;\r\n } else {\r\n //if clicked in outside of rightbar then fire action for hide rightbar\r\n dispatch(showRightSidebarAction(false));\r\n }\r\n };\r\n\r\n /*\r\n layout settings\r\n */\r\n useEffect(() => {\r\n dispatch(changeLayout(\"horizontal\"));\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n //init body click event fot toggle rightbar\r\n document.body.addEventListener(\"click\", hideRightbar, true);\r\n\r\n if (isPreloader === true) {\r\n document.getElementById(\"preloader\").style.display = \"block\"\r\n document.getElementById(\"status\").style.display = \"block\"\r\n\r\n setTimeout(function () {\r\n document.getElementById(\"preloader\").style.display = \"none\"\r\n document.getElementById(\"status\").style.display = \"none\"\r\n }, 2500)\r\n } else {\r\n document.getElementById(\"preloader\").style.display = \"none\"\r\n document.getElementById(\"status\").style.display = \"none\"\r\n }\r\n }, [isPreloader])\r\n\r\n useEffect(() => {\r\n if (topbarTheme) {\r\n dispatch(changeTopbarTheme(topbarTheme));\r\n }\r\n }, [dispatch, topbarTheme]);\r\n\r\n useEffect(() => {\r\n if (layoutWidth) {\r\n dispatch(changeLayoutWidth(layoutWidth));\r\n }\r\n }, [dispatch, layoutWidth]);\r\n\r\n const [isMenuOpened, setIsMenuOpened] = useState(false);\r\n const openMenu = () => {\r\n setIsMenuOpened(!isMenuOpened);\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
{props.children}
\r\n
\r\n
\r\n\r\n {showRightSidebar ? : null}\r\n \r\n );\r\n}\r\n\r\nLayout.propTypes = {\r\n changeLayout: PropTypes.func,/* */\r\n changeLayoutWidth: PropTypes.func,\r\n changeTopbarTheme: PropTypes.func,\r\n children: PropTypes.object,\r\n isPreloader: PropTypes.any,\r\n layoutWidth: PropTypes.any,\r\n location: PropTypes.object,\r\n showRightSidebar: PropTypes.any,\r\n topbarTheme: PropTypes.any\r\n}\r\n\r\nexport default withRouter(Layout);","import React from \"react\"\r\nimport { Row, Col } from \"reactstrap\";\r\nimport banner from \"../../assets/images/banner/banner.jpg\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport logoutImg from \"jsbimages/logout_icon.png\"\r\n\r\nconst Header = () => {\r\n const history = useHistory();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Header\r\n\r\n\r\n","import React, { useState } from \"react\"\r\nimport {\r\n Card,\r\n CardBody,\r\n Table,\r\n Col,\r\n Container,\r\n Form,\r\n FormGroup,\r\n Input,\r\n InputGroup,\r\n Label,\r\n NavItem,\r\n NavLink,\r\n Row,\r\n Button,\r\n TabContent,\r\n TabPane,\r\n FormFeedback,\r\n Dropdown,\r\n DropdownToggle,\r\n DropdownMenu,\r\n DropdownItem,\r\n\r\n} from \"reactstrap\"\r\nimport banner from \"../../assets/images/banner/banner.jpg\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nconst BranchHeader = () => {\r\n var authUserName = JSON.parse(localStorage.getItem('userName'));\r\n\r\n const [menu, setMenu] = useState(false);\r\n const [username, setusername] = useState(authUserName);\r\n const history = useHistory();\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n \r\n

\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n setMenu(!menu)}\r\n style={{ color: \"white\", fontSize: \"large\" }}\r\n >\r\n \r\n \r\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 BranchHeader\r\n\r\n\r\n","import React from \"react\"\r\nimport { Row, Col, Container } from \"reactstrap\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nconst Footer = () => {\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Footer\r\n\r\n\r\n","import React, { useEffect } from \"react\";\r\nimport PropTypes from 'prop-types'\r\nimport { withRouter } from \"react-router-dom\"\r\nimport Header from \"../../src/pages/JSBForms/Header\"\r\nimport BranchHeader from \"../../src/pages/JSBForms/BranchHeader\"\r\nimport Footer from \"../../src/pages/JSBForms/Footer\"\r\n\r\nconst NonAuthLayout = (props) => {\r\n var pageUrl = props.match.url;\r\n\r\n oncontextmenu = function () { return false; };\r\n\r\n useEffect(() => {\r\n window.scrollTo(0, 0);\r\n }, []);\r\n\r\n return (\r\n \r\n\r\n {pageUrl.toLowerCase() == \"/customerlist\" ? : (pageUrl.toLowerCase() == \"/login\" || pageUrl.toLowerCase() == \"/success\" || pageUrl.toLowerCase() == \"/branchlogin\") ? <>> : }\r\n {props.children}\r\n {pageUrl.toLowerCase() == \"/login\" || pageUrl.toLowerCase() == \"/success\" || pageUrl.toLowerCase() == \"/branchlogin\" ? <>> : }\r\n \r\n );\r\n}\r\n\r\nNonAuthLayout.propTypes = {\r\n children: PropTypes.any,\r\n location: PropTypes.object,\r\n match: PropTypes.string,\r\n url: PropTypes.string\r\n}\r\n\r\nexport default withRouter(NonAuthLayout)\r\n","import PropTypes from 'prop-types'\r\nimport React from \"react\"\r\n\r\nimport { Switch, BrowserRouter as Router } from \"react-router-dom\"\r\nimport { connect } from \"react-redux\"\r\n\r\n// Import Routes all\r\nimport { authProtectedRoutes, publicRoutes } from \"./routes\"\r\n\r\n// Import all middleware\r\nimport Authmiddleware from \"./routes/route\"\r\n\r\n// layouts Format\r\nimport VerticalLayout from \"./components/VerticalLayout/\"\r\nimport HorizontalLayout from \"./components/HorizontalLayout/\"\r\nimport NonAuthLayout from \"./components/NonAuthLayout\"\r\n\r\n// Import scss\r\nimport \"./assets/scss/theme.scss\"\r\n\r\nimport '../node_modules/flatpickr/dist/flatpickr.min.css';\r\n\r\n\r\nconst App = props => {\r\n function getLayout() {\r\n let layoutCls = HorizontalLayout\r\n switch (props.layout.layoutType) {\r\n case \"horizontal\":\r\n layoutCls = HorizontalLayout\r\n break\r\n default:\r\n layoutCls = VerticalLayout\r\n break\r\n }\r\n return layoutCls\r\n }\r\n\r\n const Layout = getLayout()\r\n return (\r\n \r\n \r\n \r\n {publicRoutes.map((route, idx) => (\r\n \r\n ))}\r\n\r\n {authProtectedRoutes.map((route, idx) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nApp.propTypes = {\r\n layout: PropTypes.any\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n layout: state.Layout,\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, null)(App)\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === \"localhost\" ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === \"[::1]\" ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n)\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === \"production\" && \"serviceWorker\" in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href)\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return\r\n }\r\n\r\n window.addEventListener(\"load\", () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config)\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n \"This web app is being served cache-first by a service \" +\r\n \"worker. To learn more, visit https://bit.ly/CRA-PWA\"\r\n )\r\n })\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config)\r\n }\r\n })\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing\r\n if (installingWorker == null) {\r\n return\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === \"installed\") {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n \"New content is available and will be used when all \" +\r\n \"tabs for this page are closed. See https://bit.ly/CRA-PWA.\"\r\n )\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration)\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log(\"Content is cached for offline use.\")\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n })\r\n .catch(error => {\r\n console.error(\"Error during service worker registration:\", error)\r\n })\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { \"Service-Worker\": \"script\" },\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get(\"content-type\")\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf(\"javascript\") === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload()\r\n })\r\n })\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config)\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n \"No internet connection found. App is running in offline mode.\"\r\n )\r\n })\r\n}\r\n\r\nexport function unregister() {\r\n if (\"serviceWorker\" in navigator) {\r\n navigator.serviceWorker.ready\r\n .then(registration => {\r\n registration.unregister()\r\n })\r\n .catch(error => {\r\n console.error(error.message)\r\n })\r\n }\r\n}\r\n","// @flow\r\nimport {\r\n CHANGE_LAYOUT,\r\n CHANGE_LAYOUT_WIDTH,\r\n CHANGE_SIDEBAR_THEME,\r\n CHANGE_SIDEBAR_TYPE,\r\n CHANGE_TOPBAR_THEME,\r\n SHOW_RIGHT_SIDEBAR,\r\n CHANGE_SIDEBAR_THEME_IMAGE,\r\n CHANGE_PRELOADER,\r\n TOGGLE_LEFTMENU,\r\n SHOW_SIDEBAR,\r\n} from \"./actionTypes\"\r\n\r\n//constants\r\nimport {\r\n layoutTypes,\r\n layoutWidthTypes,\r\n topBarThemeTypes,\r\n leftBarThemeImageTypes,\r\n leftSidebarTypes,\r\n leftSideBarThemeTypes,\r\n} from \"../../constants/layout\";\r\n\r\nconst INIT_STATE = {\r\n layoutType: layoutTypes.VERTICAL,\r\n layoutWidth: layoutWidthTypes.FLUID,\r\n leftSideBarTheme: leftSideBarThemeTypes.DARK,\r\n leftSideBarThemeImage: leftBarThemeImageTypes.NONE,\r\n leftSideBarType: leftSidebarTypes.DEFAULT,\r\n topbarTheme: topBarThemeTypes.LIGHT,\r\n isPreloader: false,\r\n showRightSidebar: false,\r\n isMobile: false,\r\n showSidebar: false,\r\n leftMenu: false,\r\n}\r\n\r\nconst Layout = (state = INIT_STATE, action) => {\r\n switch (action.type) {\r\n case CHANGE_LAYOUT:\r\n return {\r\n ...state,\r\n layoutType: action.payload,\r\n }\r\n case CHANGE_PRELOADER:\r\n return {\r\n ...state,\r\n isPreloader: action.payload,\r\n }\r\n\r\n case CHANGE_LAYOUT_WIDTH:\r\n return {\r\n ...state,\r\n layoutWidth: action.payload,\r\n }\r\n case CHANGE_SIDEBAR_THEME:\r\n return {\r\n ...state,\r\n leftSideBarTheme: action.payload,\r\n }\r\n case CHANGE_SIDEBAR_THEME_IMAGE:\r\n return {\r\n ...state,\r\n leftSideBarThemeImage: action.payload,\r\n }\r\n case CHANGE_SIDEBAR_TYPE:\r\n return {\r\n ...state,\r\n leftSideBarType: action.payload.sidebarType,\r\n }\r\n case CHANGE_TOPBAR_THEME:\r\n return {\r\n ...state,\r\n topbarTheme: action.payload,\r\n }\r\n case SHOW_RIGHT_SIDEBAR:\r\n return {\r\n ...state,\r\n showRightSidebar: action.payload,\r\n }\r\n case SHOW_SIDEBAR:\r\n return {\r\n ...state,\r\n showSidebar: action.payload,\r\n }\r\n case TOGGLE_LEFTMENU:\r\n return {\r\n ...state,\r\n leftMenu: action.payload,\r\n }\r\n\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default Layout\r\n","import {\r\n LOGIN_USER,\r\n LOGIN_SUCCESS,\r\n LOGOUT_USER,\r\n LOGOUT_USER_SUCCESS,\r\n API_ERROR,\r\n} from \"./actionTypes\"\r\n\r\nconst initialState = {\r\n error: \"\",\r\n loading: false,\r\n}\r\n\r\nconst login = (state = initialState, action) => {\r\n switch (action.type) {\r\n case LOGIN_USER:\r\n state = {\r\n ...state,\r\n loading: true,\r\n }\r\n break\r\n case LOGIN_SUCCESS:\r\n state = {\r\n ...state,\r\n loading: false,\r\n }\r\n break\r\n case LOGOUT_USER:\r\n state = { ...state }\r\n break\r\n case LOGOUT_USER_SUCCESS:\r\n state = { ...state }\r\n break\r\n case API_ERROR:\r\n state = { ...state, error: action.payload, loading: false }\r\n break\r\n default:\r\n state = { ...state }\r\n break\r\n }\r\n return state\r\n}\r\n\r\nexport default login\r\n","import {\r\n REGISTER_USER,\r\n REGISTER_USER_SUCCESSFUL,\r\n REGISTER_USER_FAILED,\r\n} from \"./actionTypes\"\r\n\r\nconst initialState = {\r\n registrationError: null,\r\n message: null,\r\n loading: false,\r\n user: null,\r\n}\r\n\r\nconst account = (state = initialState, action) => {\r\n switch (action.type) {\r\n case REGISTER_USER:\r\n state = {\r\n ...state,\r\n loading: true,\r\n registrationError: null,\r\n }\r\n break\r\n case REGISTER_USER_SUCCESSFUL:\r\n state = {\r\n ...state,\r\n loading: false,\r\n user: action.payload,\r\n registrationError: null,\r\n }\r\n break\r\n case REGISTER_USER_FAILED:\r\n state = {\r\n ...state,\r\n user: null,\r\n loading: false,\r\n registrationError: action.payload,\r\n }\r\n break\r\n default:\r\n state = { ...state }\r\n break\r\n }\r\n return state\r\n}\r\n\r\nexport default account\r\n","import {\r\n FORGET_PASSWORD,\r\n FORGET_PASSWORD_SUCCESS,\r\n FORGET_PASSWORD_ERROR,\r\n} from \"./actionTypes\"\r\n\r\nconst initialState = {\r\n forgetSuccessMsg: null,\r\n forgetError: null,\r\n}\r\n\r\nconst forgetPassword = (state = initialState, action) => {\r\n switch (action.type) {\r\n case FORGET_PASSWORD:\r\n state = {\r\n ...state,\r\n forgetSuccessMsg: null,\r\n forgetError: null,\r\n }\r\n break\r\n case FORGET_PASSWORD_SUCCESS:\r\n state = {\r\n ...state,\r\n forgetSuccessMsg: action.payload,\r\n }\r\n break\r\n case FORGET_PASSWORD_ERROR:\r\n state = { ...state, forgetError: action.payload }\r\n break\r\n default:\r\n state = { ...state }\r\n break\r\n }\r\n return state\r\n}\r\n\r\nexport default forgetPassword\r\n","import { PROFILE_ERROR, PROFILE_SUCCESS, EDIT_PROFILE, RESET_PROFILE_FLAG } from \"./actionTypes\";\r\n\r\nconst initialState = {\r\n error: \"\",\r\n success: \"\",\r\n};\r\n\r\nconst profile = (state = initialState, action) => {\r\n switch (action.type) {\r\n case EDIT_PROFILE:\r\n state = { ...state };\r\n break;\r\n case PROFILE_SUCCESS:\r\n state = { ...state, success: action.payload };\r\n break;\r\n case PROFILE_ERROR:\r\n state = { ...state, error: action.payload };\r\n break;\r\n case RESET_PROFILE_FLAG:\r\n state = { ...state, success: null };\r\n break;\r\n default:\r\n state = { ...state };\r\n break;\r\n }\r\n return state;\r\n};\r\n\r\nexport default profile;\r\n","import {\r\n GET_CART_DATA_FAIL,\r\n GET_CART_DATA_SUCCESS,\r\n GET_CUSTOMERS_FAIL,\r\n GET_CUSTOMERS_SUCCESS,\r\n ADD_CUSTOMER_SUCCESS,\r\n ADD_CUSTOMER_FAIL,\r\n UPDATE_CUSTOMER_SUCCESS,\r\n UPDATE_CUSTOMER_FAIL,\r\n DELETE_CUSTOMER_SUCCESS,\r\n DELETE_CUSTOMER_FAIL,\r\n GET_ORDERS_FAIL,\r\n GET_ORDERS_SUCCESS,\r\n GET_PRODUCTS_FAIL,\r\n GET_PRODUCTS_SUCCESS,\r\n GET_SHOPS_FAIL,\r\n GET_SHOPS_SUCCESS,\r\n GET_PRODUCT_DETAIL_SUCCESS,\r\n GET_PRODUCT_DETAIL_FAIL,\r\n ADD_ORDER_SUCCESS,\r\n ADD_ORDER_FAIL,\r\n UPDATE_ORDER_SUCCESS,\r\n UPDATE_ORDER_FAIL,\r\n DELETE_ORDER_SUCCESS,\r\n DELETE_ORDER_FAIL,\r\n GET_PRODUCT_COMMENTS_SUCCESS,\r\n GET_PRODUCT_COMMENTS_FAIL,\r\n ON_LIKE_COMMENT_SUCCESS,\r\n ON_LIKE_REPLY_SUCCESS,\r\n ON_ADD_REPLY_SUCCESS,\r\n ON_ADD_COMMENT_SUCCESS,\r\n} from \"./actionTypes\";\r\n\r\nconst INIT_STATE = {\r\n products: [],\r\n product: {},\r\n orders: [],\r\n cartData: {},\r\n customers: [],\r\n shops: [],\r\n error: {},\r\n productComments: [],\r\n};\r\n\r\nconst Ecommerce = (state = INIT_STATE, action) => {\r\n switch (action.type) {\r\n case GET_PRODUCTS_SUCCESS:\r\n return {\r\n ...state,\r\n products: action.payload,\r\n };\r\n\r\n case GET_PRODUCTS_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n case GET_PRODUCT_DETAIL_SUCCESS:\r\n return {\r\n ...state,\r\n product: action.payload,\r\n };\r\n\r\n case GET_PRODUCT_DETAIL_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n case GET_ORDERS_SUCCESS:\r\n return {\r\n ...state,\r\n orders: action.payload,\r\n };\r\n\r\n case GET_ORDERS_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n case ADD_ORDER_SUCCESS:\r\n return {\r\n ...state,\r\n orders: [...state.orders, action.payload],\r\n };\r\n\r\n case ADD_ORDER_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n case UPDATE_ORDER_SUCCESS:\r\n return {\r\n ...state,\r\n orders: state.orders.map(order =>\r\n order.id === action.payload.id.toString()\r\n ? { order, ...action.payload }\r\n : order\r\n ),\r\n };\r\n\r\n case UPDATE_ORDER_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n case DELETE_ORDER_SUCCESS:\r\n return {\r\n ...state,\r\n orders: state.orders.filter(\r\n order => order.id.toString() !== action.payload.id.toString()\r\n ),\r\n };\r\n\r\n case DELETE_ORDER_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n case GET_CART_DATA_SUCCESS:\r\n return {\r\n ...state,\r\n cartData: action.payload,\r\n };\r\n\r\n case GET_CART_DATA_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n case GET_CUSTOMERS_SUCCESS:\r\n return {\r\n ...state,\r\n customers: action.payload,\r\n };\r\n\r\n case GET_CUSTOMERS_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n case ADD_CUSTOMER_SUCCESS:\r\n return {\r\n ...state,\r\n customers: [...state.customers, action.payload],\r\n };\r\n\r\n case ADD_CUSTOMER_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n case UPDATE_CUSTOMER_SUCCESS:\r\n return {\r\n ...state,\r\n customers: state.customers.map(customer =>\r\n customer.id.toString() === action.payload.id.toString()\r\n ? { customer, ...action.payload }\r\n : customer\r\n ),\r\n };\r\n\r\n case UPDATE_CUSTOMER_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n case DELETE_CUSTOMER_SUCCESS:\r\n return {\r\n ...state,\r\n customers: state.customers.filter(\r\n customer => customer.id.toString() !== action.payload.id.toString()\r\n ),\r\n };\r\n\r\n case DELETE_CUSTOMER_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n case GET_SHOPS_SUCCESS:\r\n return {\r\n ...state,\r\n shops: action.payload,\r\n };\r\n\r\n case GET_SHOPS_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n case GET_PRODUCT_COMMENTS_SUCCESS:\r\n case ON_LIKE_COMMENT_SUCCESS:\r\n case ON_LIKE_REPLY_SUCCESS:\r\n case ON_ADD_REPLY_SUCCESS:\r\n case ON_ADD_COMMENT_SUCCESS:\r\n return {\r\n ...state,\r\n productComments: action.payload,\r\n };\r\n\r\n case GET_PRODUCT_COMMENTS_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default Ecommerce;\r\n","import {\r\n GET_EVENTS_SUCCESS,\r\n GET_EVENTS_FAIL,\r\n ADD_EVENT_SUCCESS,\r\n ADD_EVENT_FAIL,\r\n UPDATE_EVENT_SUCCESS,\r\n UPDATE_EVENT_FAIL,\r\n DELETE_EVENT_SUCCESS,\r\n DELETE_EVENT_FAIL,\r\n GET_CATEGORIES_SUCCESS,\r\n GET_CATEGORIES_FAIL,\r\n} from \"./actionTypes\";\r\n\r\nconst INIT_STATE = {\r\n events: [],\r\n categories: [],\r\n error: {},\r\n};\r\n\r\nconst Calendar = (state = INIT_STATE, action) => {\r\n switch (action.type) {\r\n case GET_EVENTS_SUCCESS:\r\n return {\r\n ...state,\r\n events: action.payload,\r\n };\r\n\r\n case GET_EVENTS_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n case ADD_EVENT_SUCCESS:\r\n return {\r\n ...state,\r\n events: [...state.events, action.payload],\r\n };\r\n\r\n case ADD_EVENT_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n case UPDATE_EVENT_SUCCESS:\r\n return {\r\n ...state,\r\n events: state.events.map(event =>\r\n event.id.toString() === action.payload.id.toString()\r\n ? { event, ...action.payload }\r\n : event\r\n ),\r\n };\r\n\r\n case UPDATE_EVENT_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n case DELETE_EVENT_SUCCESS:\r\n return {\r\n ...state,\r\n events: state.events.filter(\r\n event => event.id.toString() !== action.payload.id.toString()\r\n ),\r\n };\r\n\r\n case DELETE_EVENT_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n case GET_CATEGORIES_SUCCESS:\r\n return {\r\n ...state,\r\n categories: action.payload,\r\n };\r\n\r\n case GET_CATEGORIES_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default Calendar;\r\n","import {\r\n GET_GROUPS_SUCCESS,\r\n GET_CHATS_SUCCESS,\r\n GET_GROUPS_FAIL,\r\n GET_CHATS_FAIL,\r\n GET_CONTACTS_SUCCESS,\r\n GET_CONTACTS_FAIL,\r\n GET_MESSAGES_SUCCESS,\r\n GET_MESSAGES_FAIL,\r\n POST_ADD_MESSAGE_SUCCESS,\r\n POST_ADD_MESSAGE_FAIL,\r\n} from \"./actionTypes\"\r\n\r\nconst INIT_STATE = {\r\n chats: [],\r\n groups: [],\r\n contacts: [],\r\n messages: [],\r\n error: {},\r\n}\r\n\r\nconst Calendar = (state = INIT_STATE, action) => {\r\n switch (action.type) {\r\n case GET_CHATS_SUCCESS:\r\n return {\r\n ...state,\r\n chats: action.payload,\r\n }\r\n\r\n case GET_CHATS_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n case GET_GROUPS_SUCCESS:\r\n return {\r\n ...state,\r\n groups: action.payload,\r\n }\r\n\r\n case GET_GROUPS_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n case GET_CONTACTS_SUCCESS:\r\n return {\r\n ...state,\r\n contacts: action.payload,\r\n }\r\n\r\n case GET_CONTACTS_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n case GET_MESSAGES_SUCCESS:\r\n return {\r\n ...state,\r\n messages: action.payload,\r\n }\r\n\r\n case GET_MESSAGES_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n case POST_ADD_MESSAGE_SUCCESS:\r\n return {\r\n ...state,\r\n messages: [...state.messages, action.payload],\r\n }\r\n\r\n case POST_ADD_MESSAGE_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default Calendar\r\n","import {\r\n GET_WALLET_FAIL,\r\n GET_WALLET_SUCCESS,\r\n GET_CRYPTO_ORDERS_SUCCESS,\r\n GET_CRYPTO_ORDERS_FAIL,\r\n} from \"./actionTypes\"\r\n\r\nconst INIT_STATE = {\r\n wallet: {},\r\n orders: [],\r\n}\r\n\r\nconst Crypto = (state = INIT_STATE, action) => {\r\n switch (action.type) {\r\n case GET_WALLET_SUCCESS:\r\n return {\r\n ...state,\r\n wallet: action.payload,\r\n }\r\n\r\n case GET_WALLET_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n case GET_CRYPTO_ORDERS_SUCCESS:\r\n return {\r\n ...state,\r\n orders: action.payload,\r\n }\r\n\r\n case GET_CRYPTO_ORDERS_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default Crypto\r\n","import {\r\n GET_INVOICES_FAIL,\r\n GET_INVOICES_SUCCESS,\r\n GET_INVOICE_DETAIL_SUCCESS,\r\n GET_INVOICE_DETAIL_FAIL,\r\n} from \"./actionTypes\"\r\n\r\nconst INIT_STATE = {\r\n invoices: [],\r\n invoiceDetail: {},\r\n error: {},\r\n}\r\n\r\nconst Invoices = (state = INIT_STATE, action) => {\r\n switch (action.type) {\r\n case GET_INVOICES_SUCCESS:\r\n return {\r\n ...state,\r\n invoices: action.payload,\r\n }\r\n\r\n case GET_INVOICES_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n case GET_INVOICE_DETAIL_SUCCESS:\r\n return {\r\n ...state,\r\n invoiceDetail: action.payload,\r\n }\r\n\r\n case GET_INVOICE_DETAIL_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default Invoices\r\n","import {\r\n GET_PROJECTS_FAIL,\r\n GET_PROJECTS_SUCCESS,\r\n GET_PROJECT_DETAIL_FAIL,\r\n GET_PROJECT_DETAIL_SUCCESS,\r\n ADD_PROJECT_SUCCESS,\r\n ADD_PROJECT_FAIL,\r\n UPDATE_PROJECT_SUCCESS,\r\n UPDATE_PROJECT_FAIL,\r\n DELETE_PROJECT_SUCCESS,\r\n DELETE_PROJECT_FAIL,\r\n} from \"./actionTypes\"\r\n\r\nconst INIT_STATE = {\r\n projects: [],\r\n projectDetail: {},\r\n error: {},\r\n}\r\n\r\nconst projects = (state = INIT_STATE, action) => {\r\n switch (action.type) {\r\n case GET_PROJECTS_SUCCESS:\r\n return {\r\n ...state,\r\n projects: action.payload,\r\n }\r\n\r\n case GET_PROJECTS_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n case ADD_PROJECT_SUCCESS:\r\n return {\r\n ...state,\r\n projects: [...state.projects, action.payload],\r\n }\r\n\r\n case ADD_PROJECT_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n case GET_PROJECT_DETAIL_SUCCESS:\r\n return {\r\n ...state,\r\n projectDetail: action.payload,\r\n }\r\n\r\n case UPDATE_PROJECT_SUCCESS:\r\n return {\r\n ...state,\r\n projects: state.projects.map(project =>\r\n project.id.toString() === action.payload.id.toString()\r\n ? { project, ...action.payload }\r\n : project\r\n ),\r\n }\r\n\r\n case UPDATE_PROJECT_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n case DELETE_PROJECT_SUCCESS:\r\n return {\r\n ...state,\r\n projects: state.projects.filter(\r\n project => project.id.toString() !== action.payload.id.toString()\r\n ),\r\n }\r\n\r\n case DELETE_PROJECT_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n\r\n case GET_PROJECT_DETAIL_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default projects\r\n","import { GET_TASKS_SUCCESS, GET_TASKS_FAIL } from \"./actionTypes\"\r\n\r\nconst INIT_STATE = {\r\n tasks: [],\r\n error: {},\r\n}\r\n\r\nconst tasks = (state = INIT_STATE, action) => {\r\n switch (action.type) {\r\n case GET_TASKS_SUCCESS:\r\n return {\r\n ...state,\r\n tasks: action.payload,\r\n }\r\n\r\n case GET_TASKS_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default tasks\r\n","import {\r\n GET_USERS_SUCCESS,\r\n GET_USERS_FAIL,\r\n ADD_USER_SUCCESS,\r\n ADD_USER_FAIL,\r\n UPDATE_USER_SUCCESS,\r\n UPDATE_USER_FAIL,\r\n DELETE_USER_SUCCESS,\r\n DELETE_USER_FAIL,\r\n GET_USER_PROFILE_SUCCESS,\r\n GET_USER_PROFILE_FAIL,\r\n} from \"./actionTypes\"\r\n\r\nconst INIT_STATE = {\r\n users: [],\r\n userProfile: {},\r\n error: {},\r\n}\r\n\r\nconst contacts = (state = INIT_STATE, action) => {\r\n switch (action.type) {\r\n case GET_USERS_SUCCESS:\r\n return {\r\n ...state,\r\n users: action.payload,\r\n }\r\n\r\n case GET_USERS_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n case ADD_USER_SUCCESS:\r\n\r\n return {\r\n ...state,\r\n users: [...state.users, action.payload],\r\n }\r\n\r\n case ADD_USER_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n case GET_USER_PROFILE_SUCCESS:\r\n return {\r\n ...state,\r\n userProfile: action.payload,\r\n }\r\n\r\n case UPDATE_USER_SUCCESS:\r\n return {\r\n ...state,\r\n users: state.users.map(user =>\r\n user.id.toString() === action.payload.id.toString()\r\n ? { user, ...action.payload }\r\n : user\r\n ),\r\n }\r\n \r\n case UPDATE_USER_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n \r\n case DELETE_USER_SUCCESS:\r\n return {\r\n ...state,\r\n users: state.users.filter(\r\n user => user.id.toString() !== action.payload.id.toString()\r\n ),\r\n }\r\n \r\n case DELETE_USER_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n case GET_USER_PROFILE_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default contacts\r\n","import {\r\n GET_INBOX_MAILS_SUCCESS,\r\n GET_INBOX_MAILS_FAIL,\r\n ADD_INBOX_MAIL_SUCCESS,\r\n ADD_INBOX_MAIL_FAIL,\r\n DELETE_INBOX_MAIL_SUCCESS,\r\n DELETE_INBOX_MAIL_FAIL,\r\n GET_STARRED_MAILS_SUCCESS,\r\n GET_STARRED_MAILS_FAIL,\r\n GET_IMPORTANT_MAILS_SUCCESS,\r\n GET_IMPORTANT_MAILS_FAIL,\r\n GET_SENT_MAILS_SUCCESS,\r\n GET_SENT_MAILS_FAIL,\r\n GET_DRAFT_MAILS_SUCCESS,\r\n GET_DRAFT_MAILS_FAIL,\r\n GET_TRASH_MAILS_SUCCESS,\r\n GET_TRASH_MAILS_FAIL,\r\n} from \"./actionTypes\"\r\n\r\nconst INIT_STATE = {\r\n inboxmails: [],\r\n starredmails: [],\r\n importantmails: [],\r\n draftmails: [],\r\n sentmails: [],\r\n trashmails: [],\r\n error: {},\r\n}\r\n\r\nconst Mails = (state = INIT_STATE, action) => {\r\n switch (action.type) {\r\n case GET_INBOX_MAILS_SUCCESS:\r\n return {\r\n ...state,\r\n inboxmails: action.payload,\r\n }\r\n\r\n case GET_INBOX_MAILS_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n case ADD_INBOX_MAIL_SUCCESS:\r\n return {\r\n ...state,\r\n inboxmails: [...state.inboxmails, action.payload],\r\n }\r\n\r\n case ADD_INBOX_MAIL_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n case DELETE_INBOX_MAIL_SUCCESS:\r\n return {\r\n ...state,\r\n inboxmails: state.inboxmails.filter(\r\n user => user.id.toString() !== action.payload.id.toString()\r\n ),\r\n }\r\n\r\n case DELETE_INBOX_MAIL_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n case GET_STARRED_MAILS_SUCCESS:\r\n return {\r\n ...state,\r\n starredmails: action.payload,\r\n }\r\n\r\n case GET_STARRED_MAILS_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n\r\n\r\n case GET_IMPORTANT_MAILS_SUCCESS:\r\n return {\r\n ...state,\r\n importantmails: action.payload,\r\n }\r\n\r\n case GET_IMPORTANT_MAILS_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n case GET_TRASH_MAILS_SUCCESS:\r\n return {\r\n ...state,\r\n trashmails: action.payload,\r\n }\r\n\r\n case GET_TRASH_MAILS_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n case GET_DRAFT_MAILS_SUCCESS:\r\n return {\r\n ...state,\r\n draftmails: action.payload,\r\n }\r\n\r\n case GET_DRAFT_MAILS_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n case GET_SENT_MAILS_SUCCESS:\r\n return {\r\n ...state,\r\n sentmails: action.payload,\r\n }\r\n\r\n case GET_SENT_MAILS_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n }\r\n\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default Mails","import {\r\n API_SUCCESS,\r\n API_FAIL,\r\n GET_CHARTS_DATA\r\n} from \"./actionTypes\";\r\n\r\nconst INIT_STATE = {\r\n chartsData: []\r\n};\r\n\r\nconst Dashboard = (state = INIT_STATE, action) => {\r\n switch (action.type) {\r\n case API_SUCCESS:\r\n switch (action.payload.actionType) {\r\n case GET_CHARTS_DATA:\r\n return {\r\n ...state,\r\n chartsData: action.payload.data\r\n };\r\n default:\r\n return state;\r\n }\r\n case API_FAIL:\r\n switch (action.payload.actionType) {\r\n case GET_CHARTS_DATA:\r\n return {\r\n ...state,\r\n chartsDataError: action.payload.error\r\n };\r\n\r\n\r\n default:\r\n return state;\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n\r\nexport default Dashboard;","import {\r\n API_SUCCESS,\r\n API_FAIL,\r\n GET_TOP_SELLING_PRODUCT,\r\n GET_EARNING_DATA\r\n} from \"./actionType\";\r\n\r\nconst INIT_STATE = {\r\n sellingData: [],\r\n earningChartData: []\r\n};\r\n\r\nconst DashboardSaas = (state = INIT_STATE, action) => {\r\n switch (action.type) {\r\n case API_SUCCESS:\r\n switch (action.payload.actionType) {\r\n case GET_TOP_SELLING_PRODUCT:\r\n return {\r\n ...state,\r\n sellingData: action.payload.data\r\n };\r\n\r\n case GET_EARNING_DATA:\r\n return {\r\n ...state,\r\n earningChartData: action.payload.data\r\n };\r\n default:\r\n return state;\r\n }\r\n case API_FAIL:\r\n switch (action.payload.actionType) {\r\n case GET_TOP_SELLING_PRODUCT:\r\n return {\r\n ...state,\r\n sellingDataError: action.payload.error\r\n };\r\n\r\n case GET_EARNING_DATA:\r\n return {\r\n ...state,\r\n earningChartDataError: action.payload.error\r\n };\r\n\r\n\r\n default:\r\n return state;\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n\r\nexport default DashboardSaas;","import {\r\n GET_STATE_SUCCESS,\r\n GET_STATE_FAIL,\r\n GET_OCCUPATION_SUCCESS,\r\n GET_OCCUPATION_FAIL,\r\n GET_RELATEDPERSONTYPE_SUCCESS,\r\n GET_RELATEDPERSONTYPE_FAIL,\r\n GET_EDUCATION_SUCCESS,\r\n GET_EDUCATION_FAIL,\r\n GET_OCCUPATIONDETAILS,\r\n GET_OCCUPATIONDETAILS_SUCCESS,\r\n GET_OCCUPATIONDETAILS_FAIL,\r\n GET_ASSETDETAILS_SUCCESS,\r\n GET_ASSETDETAILS_FAIL,\r\n GET_OTHERBANKACCOUNTS,\r\n GET_OTHERBANKACCOUNTS_SUCCESS,\r\n GET_OTHERBANKACCOUNTS_FAIL,\r\n GET_ACCOUNTTYPE_SUCCESS,\r\n GET_ACCOUNTTYPE_FAIL,\r\n GET_ENTITYTYPE_SUCCESS,\r\n GET_ENTITYTYPE_FAIL,\r\n GET_LOCATION_SUCCESS,\r\n GET_LOCATION_FAIL,\r\n GET_BRANCH_SUCCESS,\r\n GET_BRANCH_FAIL,\r\n GET_POI_SUCCESS,\r\n GET_POI_FAIL\r\n\r\n} from \"./actionTypes\";\r\n\r\nconst INIT_STATE = {\r\n stateData: [],\r\n occupationData: [],\r\n relatedPersonTypeData: [],\r\n educationData: [],\r\n occupationDetailsData: [],\r\n assetDetailsData: [],\r\n otherBankAccountsData: [],\r\n accountTypeData: [],\r\n entityTypeData: [],\r\n locationData: [],\r\n branchData: [],\r\n poiData: [],\r\n};\r\n\r\nconst Registration = (state = INIT_STATE, action) => {\r\n \r\n switch (action.type) {\r\n //GetAll State\r\n case GET_STATE_SUCCESS:\r\n return {\r\n ...state,\r\n stateData: action.payload,\r\n };\r\n\r\n case GET_STATE_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n // GetALl Occupation\r\n case GET_OCCUPATION_SUCCESS:\r\n return {\r\n ...state,\r\n occupationData: action.payload,\r\n };\r\n case GET_OCCUPATION_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n //GetAll Related Person Type \r\n case GET_RELATEDPERSONTYPE_SUCCESS:\r\n return {\r\n ...state,\r\n relatedPersonTypeData: action.payload,\r\n };\r\n case GET_RELATEDPERSONTYPE_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n //GetAll Education\r\n case GET_EDUCATION_SUCCESS:\r\n return {\r\n ...state,\r\n educationData: action.payload,\r\n };\r\n case GET_EDUCATION_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n //GetAll OccupationDetails\r\n case GET_OCCUPATIONDETAILS_SUCCESS:\r\n return {\r\n ...state,\r\n occupationDetailsData: action.payload,\r\n };\r\n case GET_OCCUPATIONDETAILS_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n //GetAll AssetDetails\r\n case GET_ASSETDETAILS_SUCCESS:\r\n return {\r\n ...state,\r\n assetDetailsData: action.payload,\r\n };\r\n case GET_ASSETDETAILS_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n //GetAll OtherBankAccounts\r\n case GET_OTHERBANKACCOUNTS_SUCCESS:\r\n return {\r\n ...state,\r\n otherBankAccountsData: action.payload,\r\n };\r\n case GET_OTHERBANKACCOUNTS_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n //GetAll AccountType\r\n case GET_ACCOUNTTYPE_SUCCESS:\r\n return {\r\n ...state,\r\n accountTypeData: action.payload,\r\n };\r\n case GET_ACCOUNTTYPE_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n //GetAll EntityType\r\n case GET_ENTITYTYPE_SUCCESS:\r\n return {\r\n ...state,\r\n entityTypeData: action.payload,\r\n };\r\n case GET_ENTITYTYPE_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n //GetAll Location\r\n case GET_LOCATION_SUCCESS:\r\n return {\r\n ...state,\r\n locationData: action.payload,\r\n };\r\n case GET_LOCATION_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n // GetByLocationId Branch\r\n case GET_BRANCH_SUCCESS:\r\n return {\r\n ...state,\r\n branchData: action.payload,\r\n };\r\n case GET_BRANCH_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n //GetAll Poi\r\n case GET_POI_SUCCESS:\r\n return {\r\n ...state,\r\n poiData: action.payload,\r\n };\r\n case GET_POI_FAIL:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default Registration;","import { combineReducers } from \"redux\"\r\n\r\n// Front\r\nimport Layout from \"./layout/reducer\"\r\n\r\n// Authentication\r\nimport Login from \"./auth/login/reducer\"\r\nimport Account from \"./auth/register/reducer\"\r\nimport ForgetPassword from \"./auth/forgetpwd/reducer\"\r\nimport Profile from \"./auth/profile/reducer\"\r\n\r\n//E-commerce\r\nimport ecommerce from \"./e-commerce/reducer\"\r\n\r\n//Calendar\r\nimport calendar from \"./calendar/reducer\"\r\n\r\n//chat\r\nimport chat from \"./chat/reducer\"\r\n\r\n//crypto\r\nimport crypto from \"./crypto/reducer\"\r\n\r\n//invoices\r\nimport invoices from \"./invoices/reducer\"\r\n\r\n//projects\r\nimport projects from \"./projects/reducer\"\r\n\r\n//tasks\r\nimport tasks from \"./tasks/reducer\"\r\n\r\n//contacts\r\nimport contacts from \"./contacts/reducer\"\r\n\r\n//mails\r\nimport mails from \"./mails/reducer\";\r\n\r\n//Dashboard \r\nimport Dashboard from \"./dashboard/reducer\";\r\n\r\n//Dasboard saas\r\nimport DashboardSaas from \"./dashboard-saas/reducer\";\r\n\r\n//Read Registration\r\n\r\nimport Registration from \"./Registration/reducer\";\r\n\r\nconst rootReducer = combineReducers({\r\n // public\r\n Layout,\r\n Login,\r\n Account,\r\n ForgetPassword,\r\n Profile,\r\n ecommerce,\r\n calendar,\r\n chat,\r\n mails,\r\n crypto,\r\n invoices,\r\n projects,\r\n tasks,\r\n contacts,\r\n Dashboard,\r\n DashboardSaas,\r\n Registration\r\n})\r\n\r\nexport default rootReducer\r\n","import firebase from 'firebase/compat/app'\r\n\r\n// Add the Firebase products that you want to use\r\nimport \"firebase/compat/auth\";\r\nimport \"firebase/compat/firestore\";\r\n\r\nclass FirebaseAuthBackend {\r\n constructor(firebaseConfig) {\r\n if (firebaseConfig) {\r\n // Initialize Firebase\r\n firebase.initializeApp(firebaseConfig);\r\n firebase.auth().onAuthStateChanged(user => {\r\n if (user) {\r\n localStorage.setItem(\"authUser\", JSON.stringify(user));\r\n } else {\r\n localStorage.removeItem(\"authUser\");\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Registers the user with given details\r\n */\r\n registerUser = (email, password) => {\r\n return new Promise((resolve, reject) => {\r\n firebase\r\n .auth()\r\n .createUserWithEmailAndPassword(email, password)\r\n .then(\r\n user => {\r\n resolve(firebase.auth().currentUser);\r\n },\r\n error => {\r\n reject(this._handleError(error));\r\n }\r\n );\r\n });\r\n };\r\n\r\n /**\r\n * Registers the user with given details\r\n */\r\n editProfileAPI = (email, password) => {\r\n return new Promise((resolve, reject) => {\r\n firebase\r\n .auth()\r\n .createUserWithEmailAndPassword(email, password)\r\n .then(\r\n user => {\r\n resolve(firebase.auth().currentUser);\r\n },\r\n error => {\r\n reject(this._handleError(error));\r\n }\r\n );\r\n });\r\n };\r\n\r\n /**\r\n * Login user with given details\r\n */\r\n loginUser = (email, password) => {\r\n return new Promise((resolve, reject) => {\r\n firebase\r\n .auth()\r\n .signInWithEmailAndPassword(email, password)\r\n .then(\r\n user => {\r\n resolve(firebase.auth().currentUser);\r\n },\r\n error => {\r\n reject(this._handleError(error));\r\n }\r\n );\r\n });\r\n };\r\n\r\n /**\r\n * forget Password user with given details\r\n */\r\n forgetPassword = email => {\r\n return new Promise((resolve, reject) => {\r\n firebase\r\n .auth()\r\n .sendPasswordResetEmail(email, {\r\n url:\r\n window.location.protocol + \"//\" + window.location.host + \"/login\",\r\n })\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch(error => {\r\n reject(this._handleError(error));\r\n });\r\n });\r\n };\r\n\r\n /**\r\n * Logout the user\r\n */\r\n logout = () => {\r\n return new Promise((resolve, reject) => {\r\n firebase\r\n .auth()\r\n .signOut()\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch(error => {\r\n reject(this._handleError(error));\r\n });\r\n });\r\n };\r\n\r\n /**\r\n * Social Login user with given details\r\n */\r\n socialLoginUser = (data, type) => {\r\n let credential = {};\r\n if (type === \"google\") {\r\n credential = firebase.auth.GoogleAuthProvider.credential(data.idToken, data.token);\r\n } else if (type === \"facebook\") {\r\n credential = firebase.auth.FacebookAuthProvider.credential(data.token);\r\n }\r\n return new Promise((resolve, reject) => {\r\n if (!!credential) {\r\n firebase.auth().signInWithCredential(credential)\r\n .then(user => {\r\n resolve(this.addNewUserToFirestore(user));\r\n })\r\n .catch(error => {\r\n reject(this._handleError(error));\r\n });\r\n } else {\r\n reject(this._handleError(error));\r\n }\r\n });\r\n };\r\n\r\n addNewUserToFirestore = (user) => {\r\n const collection = firebase.firestore().collection(\"users\");\r\n const { profile } = user.additionalUserInfo;\r\n const details = {\r\n firstName: profile.given_name ? profile.given_name : profile.first_name,\r\n lastName: profile.family_name ? profile.family_name : profile.last_name,\r\n fullName: profile.name,\r\n email: profile.email,\r\n picture: profile.picture,\r\n createdDtm: firebase.firestore.FieldValue.serverTimestamp(),\r\n lastLoginTime: firebase.firestore.FieldValue.serverTimestamp()\r\n };\r\n collection.doc(firebase.auth().currentUser.uid).set(details);\r\n return { user, details };\r\n };\r\n\r\n setLoggeedInUser = user => {\r\n localStorage.setItem(\"authUser\", JSON.stringify(user));\r\n };\r\n\r\n /**\r\n * Returns the authenticated user\r\n */\r\n getAuthenticatedUser = () => {\r\n if (!localStorage.getItem(\"authUser\")) return null;\r\n return JSON.parse(localStorage.getItem(\"authUser\"));\r\n };\r\n\r\n /**\r\n * Handle the error\r\n * @param {*} error\r\n */\r\n _handleError(error) {\r\n // var errorCode = error.code;\r\n var errorMessage = error.message;\r\n return errorMessage;\r\n }\r\n}\r\n\r\nlet _fireBaseBackend = null;\r\n\r\n/**\r\n * Initilize the backend\r\n * @param {*} config\r\n */\r\nconst initFirebaseBackend = config => {\r\n if (!_fireBaseBackend) {\r\n _fireBaseBackend = new FirebaseAuthBackend(config);\r\n }\r\n return _fireBaseBackend;\r\n};\r\n\r\n/**\r\n * Returns the firebase backend\r\n */\r\nconst getFirebaseBackend = () => {\r\n return _fireBaseBackend;\r\n};\r\n\r\nexport { initFirebaseBackend, getFirebaseBackend };\r\n","import { takeEvery, fork, put, all, call } from \"redux-saga/effects\"\r\n\r\n//Account Redux states\r\nimport { REGISTER_USER } from \"./actionTypes\"\r\nimport { registerUserSuccessful, registerUserFailed } from \"./actions\"\r\n\r\n//Include Both Helper File with needed methods\r\nimport { getFirebaseBackend } from \"../../../helpers/firebase_helper\"\r\nimport {\r\n postFakeRegister,\r\n postJwtRegister,\r\n} from \"../../../helpers/fakebackend_helper\"\r\n\r\n// initialize relavant method of both Auth\r\nconst fireBaseBackend = getFirebaseBackend()\r\n\r\n// Is user register successfull then direct plot user in redux.\r\nfunction* registerUser({ payload: { user } }) {\r\n try {\r\n if (process.env.REACT_APP_DEFAULTAUTH === \"firebase\") {\r\n const response = yield call(\r\n fireBaseBackend.registerUser,\r\n user.email,\r\n user.password\r\n )\r\n yield put(registerUserSuccessful(response))\r\n } else if (process.env.REACT_APP_DEFAULTAUTH === \"jwt\") {\r\n const response = yield call(postJwtRegister, \"/post-jwt-register\", user)\r\n yield put(registerUserSuccessful(response))\r\n } else if (process.env.REACT_APP_DEFAULTAUTH === \"fake\") {\r\n const response = yield call(postFakeRegister, user)\r\n yield put(registerUserSuccessful(response))\r\n }\r\n } catch (error) {\r\n yield put(registerUserFailed(error))\r\n }\r\n}\r\n\r\nexport function* watchUserRegister() {\r\n yield takeEvery(REGISTER_USER, registerUser)\r\n}\r\n\r\nfunction* accountSaga() {\r\n yield all([fork(watchUserRegister)])\r\n}\r\n\r\nexport default accountSaga\r\n","import { call, put, takeEvery, takeLatest } from \"redux-saga/effects\";\r\n\r\n// Login Redux States\r\nimport { LOGIN_USER, LOGOUT_USER, SOCIAL_LOGIN } from \"./actionTypes\";\r\nimport { apiError, loginSuccess, logoutUserSuccess } from \"./actions\";\r\n\r\n//Include Both Helper File with needed methods\r\nimport { getFirebaseBackend } from \"../../../helpers/firebase_helper\";\r\nimport {\r\n postFakeLogin,\r\n postJwtLogin,\r\n postSocialLogin,\r\n} from \"../../../helpers/fakebackend_helper\";\r\n\r\nconst fireBaseBackend = getFirebaseBackend();\r\n\r\nfunction* loginUser({ payload: { user, history } }) {\r\n try {\r\n debugger;\r\n if (process.env.REACT_APP_DEFAULTAUTH === \"firebase\") {\r\n const response = yield call(\r\n fireBaseBackend.loginUser,\r\n user.email,\r\n user.password\r\n );\r\n yield put(loginSuccess(response));\r\n } else if (process.env.REACT_APP_DEFAULTAUTH === \"jwt\") {\r\n const response = yield call(postJwtLogin, {\r\n guid: \"57179a1b-5f7b-48ed-82d3-1f77e591fe5d\",\r\n mobileNo: \"2222222222\",\r\n email: \"\",\r\n otp:\"1234\"\r\n });\r\n localStorage.setItem(\"authUser\", JSON.stringify(response));\r\n yield put(loginSuccess(response));\r\n } else if (process.env.REACT_APP_DEFAULTAUTH === \"fake\") {\r\n const response = yield call(postFakeLogin, {\r\n email: user.email,\r\n password: user.password,\r\n });\r\n localStorage.setItem(\"authUser\", JSON.stringify(response));\r\n yield put(loginSuccess(response));\r\n }\r\n history.push(\"/dashboard\");\r\n } catch (error) {\r\n yield put(apiError(error));\r\n }\r\n}\r\n\r\nfunction* logoutUser({ payload: { history } }) {\r\n try {\r\n localStorage.removeItem(\"authUser\");\r\n\r\n if (process.env.REACT_APP_DEFAULTAUTH === \"firebase\") {\r\n const response = yield call(fireBaseBackend.logout);\r\n yield put(logoutUserSuccess(response));\r\n }\r\n history.push(\"/login\");\r\n } catch (error) {\r\n yield put(apiError(error));\r\n }\r\n}\r\n\r\nfunction* socialLogin({ payload: { data, history, type } }) {\r\n try {\r\n if (process.env.REACT_APP_DEFAULTAUTH === \"firebase\") {\r\n const fireBaseBackend = getFirebaseBackend();\r\n const response = yield call(\r\n fireBaseBackend.socialLoginUser,\r\n data,\r\n type,\r\n );\r\n localStorage.setItem(\"authUser\", JSON.stringify(response));\r\n yield put(loginSuccess(response));\r\n } else {\r\n const response = yield call(postSocialLogin, data);\r\n localStorage.setItem(\"authUser\", JSON.stringify(response));\r\n yield put(loginSuccess(response));\r\n }\r\n history.push(\"/dashboard\");\r\n } catch (error) {\r\n yield put(apiError(error));\r\n }\r\n}\r\n\r\nfunction* authSaga() {\r\n yield takeEvery(LOGIN_USER, loginUser);\r\n yield takeLatest(SOCIAL_LOGIN, socialLogin);\r\n yield takeEvery(LOGOUT_USER, logoutUser);\r\n}\r\n\r\nexport default authSaga;\r\n","import { takeEvery, fork, put, all, call } from \"redux-saga/effects\"\r\n\r\n// Login Redux States\r\nimport { FORGET_PASSWORD } from \"./actionTypes\"\r\nimport { userForgetPasswordSuccess, userForgetPasswordError } from \"./actions\"\r\n\r\n//Include Both Helper File with needed methods\r\nimport { getFirebaseBackend } from \"../../../helpers/firebase_helper\"\r\nimport {\r\n postFakeForgetPwd,\r\n postJwtForgetPwd,\r\n} from \"../../../helpers/fakebackend_helper\"\r\n\r\nconst fireBaseBackend = getFirebaseBackend()\r\n\r\n//If user is send successfully send mail link then dispatch redux action's are directly from here.\r\nfunction* forgetUser({ payload: { user, history } }) {\r\n try {\r\n if (process.env.REACT_APP_DEFAULTAUTH === \"firebase\") {\r\n const response = yield call(fireBaseBackend.forgetPassword, user.email)\r\n if (response) {\r\n yield put(\r\n userForgetPasswordSuccess(\r\n \"Reset link are sended to your mailbox, check there first\"\r\n )\r\n )\r\n }\r\n } else if (process.env.REACT_APP_DEFAULTAUTH === \"jwt\") {\r\n const response = yield call(postJwtForgetPwd, \"/jwt-forget-pwd\", {\r\n email: user.email,\r\n })\r\n if (response) {\r\n yield put(\r\n userForgetPasswordSuccess(\r\n \"Reset link are sended to your mailbox, check there first\"\r\n )\r\n )\r\n }\r\n } else {\r\n const response = yield call(postFakeForgetPwd, \"/fake-forget-pwd\", {\r\n email: user.email,\r\n })\r\n if (response) {\r\n yield put(\r\n userForgetPasswordSuccess(\r\n \"Reset link are sended to your mailbox, check there first\"\r\n )\r\n )\r\n }\r\n }\r\n } catch (error) {\r\n yield put(userForgetPasswordError(error))\r\n }\r\n}\r\n\r\nexport function* watchUserPasswordForget() {\r\n yield takeEvery(FORGET_PASSWORD, forgetUser)\r\n}\r\n\r\nfunction* forgetPasswordSaga() {\r\n yield all([fork(watchUserPasswordForget)])\r\n}\r\n\r\nexport default forgetPasswordSaga\r\n","import { takeEvery, fork, put, all, call } from \"redux-saga/effects\"\r\n\r\n// Login Redux States\r\nimport { EDIT_PROFILE } from \"./actionTypes\"\r\nimport { profileSuccess, profileError } from \"./actions\"\r\n\r\n//Include Both Helper File with needed methods\r\nimport { getFirebaseBackend } from \"../../../helpers/firebase_helper\"\r\nimport {\r\n postFakeProfile,\r\n postJwtProfile,\r\n} from \"../../../helpers/fakebackend_helper\"\r\n\r\nconst fireBaseBackend = getFirebaseBackend()\r\n\r\nfunction* editProfile({ payload: { user } }) {\r\n try {\r\n if (process.env.REACT_APP_DEFAULTAUTH === \"firebase\") {\r\n const response = yield call(\r\n fireBaseBackend.editProfileAPI,\r\n user.username,\r\n user.idx\r\n )\r\n yield put(profileSuccess(response))\r\n } else if (process.env.REACT_APP_DEFAULTAUTH === \"jwt\") {\r\n const response = yield call(postJwtProfile, \"/post-jwt-profile\", {\r\n username: user.username,\r\n idx: user.idx,\r\n })\r\n yield put(profileSuccess(response))\r\n } else if (process.env.REACT_APP_DEFAULTAUTH === \"fake\") {\r\n const response = yield call(postFakeProfile, {\r\n username: user.username,\r\n idx: user.idx,\r\n })\r\n yield put(profileSuccess(response))\r\n }\r\n } catch (error) {\r\n yield put(profileError(error))\r\n }\r\n}\r\nexport function* watchProfile() {\r\n yield takeEvery(EDIT_PROFILE, editProfile)\r\n}\r\n\r\nfunction* ProfileSaga() {\r\n yield all([fork(watchProfile)])\r\n}\r\n\r\nexport default ProfileSaga\r\n","// @flow\r\nimport { all, call, fork, takeEvery, put } from \"redux-saga/effects\"\r\n\r\nimport {\r\n CHANGE_LAYOUT,\r\n CHANGE_LAYOUT_WIDTH,\r\n CHANGE_SIDEBAR_THEME,\r\n CHANGE_SIDEBAR_THEME_IMAGE,\r\n CHANGE_SIDEBAR_TYPE,\r\n CHANGE_TOPBAR_THEME,\r\n SHOW_RIGHT_SIDEBAR,\r\n} from \"./actionTypes\"\r\n\r\nimport {\r\n changeSidebarType as changeSidebarTypeAction,\r\n changeTopbarTheme as changeTopbarThemeAction,\r\n} from \"./actions\"\r\n\r\n/**\r\n * Changes the body attribute\r\n */\r\nfunction changeBodyAttribute(attribute, value) {\r\n if (document.body) document.body.setAttribute(attribute, value)\r\n return true\r\n}\r\n\r\n/**\r\n * Toggle the class on body\r\n * @param {*} cssClass\r\n */\r\nfunction manageBodyClass(cssClass, action = \"toggle\") {\r\n switch (action) {\r\n case \"add\":\r\n if (document.body) document.body.classList.add(cssClass)\r\n break\r\n case \"remove\":\r\n if (document.body) document.body.classList.remove(cssClass)\r\n break\r\n default:\r\n if (document.body) document.body.classList.toggle(cssClass)\r\n break\r\n }\r\n\r\n return true\r\n}\r\n\r\n/**\r\n * Changes the layout type\r\n * @param {*} param0\r\n */\r\nfunction* changeLayout({ payload: layout }) {\r\n try {\r\n if (layout === \"horizontal\") {\r\n yield put(changeTopbarThemeAction(\"dark\"))\r\n document.body.removeAttribute(\"data-sidebar\")\r\n document.body.removeAttribute(\"data-sidebar-image\")\r\n document.body.removeAttribute(\"data-sidebar-size\")\r\n } else {\r\n yield put(changeTopbarThemeAction(\"light\"))\r\n }\r\n yield call(changeBodyAttribute, \"data-layout\", layout)\r\n } catch (error) {}\r\n}\r\n\r\n/**\r\n * Changes the layout width\r\n * @param {*} param0\r\n */\r\nfunction* changeLayoutWidth({ payload: width }) {\r\n try {\r\n if (width === \"boxed\") {\r\n yield put(changeSidebarTypeAction(\"icon\"))\r\n yield call(changeBodyAttribute, \"data-layout-size\", width)\r\n yield call(changeBodyAttribute, \"data-layout-scrollable\", false)\r\n } else if (width === \"scrollable\") {\r\n yield put(changeSidebarTypeAction(\"default\"))\r\n yield call(changeBodyAttribute, \"data-layout-scrollable\", true)\r\n } else {\r\n yield put(changeSidebarTypeAction(\"default\"))\r\n yield call(changeBodyAttribute, \"data-layout-size\", width)\r\n yield call(changeBodyAttribute, \"data-layout-scrollable\", false)\r\n }\r\n } catch (error) {}\r\n}\r\n\r\n/**\r\n * Changes the left sidebar theme\r\n * @param {*} param0\r\n */\r\nfunction* changeLeftSidebarTheme({ payload: theme }) {\r\n try {\r\n yield call(changeBodyAttribute, \"data-sidebar\", theme)\r\n } catch (error) {}\r\n}\r\n\r\n/**\r\n * Changes the left sidebar theme Image\r\n * @param {*} param0\r\n */\r\n function* changeLeftSidebarThemeImage({ payload: theme }) {\r\n try {\r\n yield call(changeBodyAttribute, \"data-sidebar-image\", theme)\r\n } catch (error) {}\r\n}\r\n\r\n/**\r\n * Changes the topbar theme\r\n * @param {*} param0\r\n */\r\nfunction* changeTopbarTheme({ payload: theme }) {\r\n try {\r\n yield call(changeBodyAttribute, \"data-topbar\", theme)\r\n } catch (error) {}\r\n}\r\n\r\n/**\r\n * Changes the left sidebar type\r\n * @param {*} param0\r\n */\r\nfunction* changeLeftSidebarType({ payload: { sidebarType, isMobile } }) {\r\n try {\r\n switch (sidebarType) {\r\n case \"compact\":\r\n yield call(changeBodyAttribute, \"data-sidebar-size\", \"small\")\r\n yield call(manageBodyClass, \"sidebar-enable\", \"remove\")\r\n yield call(manageBodyClass, \"vertical-collpsed\", \"remove\")\r\n break\r\n case \"icon\":\r\n yield call(changeBodyAttribute, \"data-sidebar-size\", \"\")\r\n yield call(changeBodyAttribute, \"data-keep-enlarged\", \"true\")\r\n yield call(manageBodyClass, \"vertical-collpsed\", \"add\")\r\n break\r\n case \"condensed\":\r\n yield call(manageBodyClass, \"sidebar-enable\", \"add\")\r\n if (window.screen.width >= 992) {\r\n yield call(manageBodyClass, \"vertical-collpsed\", \"remove\")\r\n yield call(manageBodyClass, \"sidebar-enable\", \"remove\")\r\n yield call(manageBodyClass, \"vertical-collpsed\", \"add\")\r\n yield call(manageBodyClass, \"sidebar-enable\", \"add\")\r\n } else {\r\n yield call(manageBodyClass, \"sidebar-enable\", \"add\")\r\n yield call(manageBodyClass, \"vertical-collpsed\", \"add\")\r\n }\r\n break\r\n default:\r\n yield call(changeBodyAttribute, \"data-sidebar-size\", \"\")\r\n yield call(manageBodyClass, \"sidebar-enable\", \"remove\")\r\n if (!isMobile)\r\n yield call(manageBodyClass, \"vertical-collpsed\", \"remove\")\r\n break\r\n }\r\n } catch (error) {}\r\n}\r\n\r\n/**\r\n * Show the rightsidebar\r\n */\r\nfunction* showRightSidebar() {\r\n try {\r\n yield call(manageBodyClass, \"right-bar-enabled\", \"add\")\r\n } catch (error) {}\r\n}\r\n\r\n/**\r\n * Watchers\r\n */\r\nexport function* watchChangeLayoutType() {\r\n yield takeEvery(CHANGE_LAYOUT, changeLayout)\r\n}\r\n\r\nexport function* watchChangeLayoutWidth() {\r\n yield takeEvery(CHANGE_LAYOUT_WIDTH, changeLayoutWidth)\r\n}\r\n\r\nexport function* watchChangeLeftSidebarTheme() {\r\n yield takeEvery(CHANGE_SIDEBAR_THEME, changeLeftSidebarTheme)\r\n}\r\n\r\nexport function* watchChangeLeftSidebarThemeImage() {\r\n yield takeEvery(CHANGE_SIDEBAR_THEME_IMAGE, changeLeftSidebarThemeImage)\r\n}\r\n\r\nexport function* watchChangeLeftSidebarType() {\r\n yield takeEvery(CHANGE_SIDEBAR_TYPE, changeLeftSidebarType)\r\n}\r\n\r\nexport function* watchChangeTopbarTheme() {\r\n yield takeEvery(CHANGE_TOPBAR_THEME, changeTopbarTheme)\r\n}\r\n\r\nexport function* watchShowRightSidebar() {\r\n yield takeEvery(SHOW_RIGHT_SIDEBAR, showRightSidebar)\r\n}\r\n\r\nfunction* LayoutSaga() {\r\n yield all([\r\n fork(watchChangeLayoutType),\r\n fork(watchChangeLayoutWidth),\r\n fork(watchChangeLeftSidebarTheme),\r\n fork(watchChangeLeftSidebarThemeImage),\r\n fork(watchChangeLeftSidebarType),\r\n fork(watchShowRightSidebar),\r\n fork(watchChangeTopbarTheme),\r\n ])\r\n}\r\n\r\nexport default LayoutSaga\r\n","import { call, put, takeEvery } from \"redux-saga/effects\";\r\n\r\n// Ecommerce Redux States\r\nimport {\r\n GET_CART_DATA,\r\n GET_CUSTOMERS,\r\n GET_ORDERS,\r\n GET_PRODUCT_DETAIL,\r\n GET_PRODUCTS,\r\n GET_SHOPS,\r\n ADD_NEW_ORDER,\r\n DELETE_ORDER,\r\n UPDATE_ORDER,\r\n ADD_NEW_CUSTOMER,\r\n DELETE_CUSTOMER,\r\n UPDATE_CUSTOMER,\r\n GET_PRODUCT_COMMENTS,\r\n ON_LIKE_COMMENT,\r\n ON_LIKE_REPLY,\r\n ON_ADD_REPLY,\r\n ON_ADD_COMMENT,\r\n} from \"./actionTypes\";\r\nimport {\r\n getCartDataFail,\r\n getCartDataSuccess,\r\n getCustomersFail,\r\n getCustomersSuccess,\r\n getOrdersFail,\r\n getOrdersSuccess,\r\n getProductDetailFail,\r\n getProductDetailSuccess,\r\n getProductsFail,\r\n getProductsSuccess,\r\n getShopsFail,\r\n getShopsSuccess,\r\n addOrderFail,\r\n addOrderSuccess,\r\n updateOrderSuccess,\r\n updateOrderFail,\r\n deleteOrderSuccess,\r\n deleteOrderFail,\r\n addCustomerFail,\r\n addCustomerSuccess,\r\n updateCustomerSuccess,\r\n updateCustomerFail,\r\n deleteCustomerSuccess,\r\n deleteCustomerFail,\r\n getProductCommentsSuccess,\r\n getProductCommentsFail,\r\n onLikeCommentSuccess,\r\n onLikeCommentFail,\r\n onLikeReplySuccess,\r\n onLikeReplyFail,\r\n onAddReplySuccess,\r\n onAddReplyFail,\r\n onAddCommentSuccess,\r\n onAddCommentFail,\r\n} from \"./actions\";\r\n\r\n//Include Both Helper File with needed methods\r\nimport {\r\n getCartData,\r\n getCustomers,\r\n getOrders,\r\n getProducts,\r\n getShops,\r\n getProductDetail,\r\n addNewOrder,\r\n updateOrder,\r\n deleteOrder,\r\n addNewCustomer,\r\n updateCustomer,\r\n deleteCustomer,\r\n getProductComents as getProductComentsApi,\r\n onLikeComment as onLikeCommentApi,\r\n onLikeReply as onLikeReplyApi,\r\n onAddReply as onAddReplyApi,\r\n onAddComment as onAddCommentApi,\r\n} from \"helpers/fakebackend_helper\";\r\n\r\nfunction* fetchProducts() {\r\n try {\r\n const response = yield call(getProducts);\r\n yield put(getProductsSuccess(response));\r\n } catch (error) {\r\n yield put(getProductsFail(error));\r\n }\r\n}\r\n\r\nfunction* fetchProductDetail({ productId }) {\r\n try {\r\n const response = yield call(getProductDetail, productId);\r\n yield put(getProductDetailSuccess(response));\r\n } catch (error) {\r\n yield put(getProductDetailFail(error));\r\n }\r\n}\r\n\r\nfunction* fetchOrders() {\r\n try {\r\n const response = yield call(getOrders);\r\n yield put(getOrdersSuccess(response));\r\n } catch (error) {\r\n yield put(getOrdersFail(error));\r\n }\r\n}\r\n\r\nfunction* fetchCartData() {\r\n try {\r\n const response = yield call(getCartData);\r\n yield put(getCartDataSuccess(response));\r\n } catch (error) {\r\n yield put(getCartDataFail(error));\r\n }\r\n}\r\n\r\nfunction* fetchCustomers() {\r\n try {\r\n const response = yield call(getCustomers);\r\n yield put(getCustomersSuccess(response));\r\n } catch (error) {\r\n yield put(getCustomersFail(error));\r\n }\r\n}\r\n\r\nfunction* onUpdateCustomer({ payload: customer }) {\r\n try {\r\n const response = yield call(updateCustomer, customer);\r\n yield put(updateCustomerSuccess(response));\r\n } catch (error) {\r\n yield put(updateCustomerFail(error));\r\n }\r\n}\r\n\r\nfunction* onDeleteCustomer({ payload: customer }) {\r\n try {\r\n const response = yield call(deleteCustomer, customer);\r\n yield put(deleteCustomerSuccess(response));\r\n } catch (error) {\r\n yield put(deleteCustomerFail(error));\r\n }\r\n}\r\n\r\nfunction* onAddNewCustomer({ payload: customer }) {\r\n try {\r\n const response = yield call(addNewCustomer, customer);\r\n\r\n yield put(addCustomerSuccess(response));\r\n } catch (error) {\r\n yield put(addCustomerFail(error));\r\n }\r\n}\r\n\r\nfunction* fetchShops() {\r\n try {\r\n const response = yield call(getShops);\r\n yield put(getShopsSuccess(response));\r\n } catch (error) {\r\n yield put(getShopsFail(error));\r\n }\r\n}\r\n\r\nfunction* onUpdateOrder({ payload: order }) {\r\n try {\r\n const response = yield call(updateOrder, order);\r\n yield put(updateOrderSuccess(response));\r\n } catch (error) {\r\n yield put(updateOrderFail(error));\r\n }\r\n}\r\n\r\nfunction* onDeleteOrder({ payload: order }) {\r\n try {\r\n const response = yield call(deleteOrder, order);\r\n console.log(\"response\",response)\r\n yield put(deleteOrderSuccess(response));\r\n } catch (error) {\r\n console.log(\"error\",error)\r\n yield put(deleteOrderFail(error));\r\n }\r\n}\r\n\r\nfunction* onAddNewOrder({ payload: order }) {\r\n try {\r\n const response = yield call(addNewOrder, order);\r\n yield put(addOrderSuccess(response));\r\n } catch (error) {\r\n yield put(addOrderFail(error));\r\n }\r\n}\r\n\r\nfunction* getProductComents() {\r\n try {\r\n // todo - add product Id to the payload and api\r\n const response = yield call(getProductComentsApi);\r\n yield put(getProductCommentsSuccess(response));\r\n } catch (error) {\r\n yield put(getProductCommentsFail(error));\r\n }\r\n}\r\n\r\nfunction* onLikeComment({ payload: { commentId, productId } }) {\r\n try {\r\n // todo - add product Id to the payload and api\r\n const response = yield call(onLikeCommentApi, commentId, productId);\r\n yield put(onLikeCommentSuccess(response));\r\n } catch (error) {\r\n yield put(onLikeCommentFail(error));\r\n }\r\n}\r\n\r\nfunction* onLikeReply({ payload: { commentId, productId, replyId } }) {\r\n try {\r\n // todo - add product Id to the payload and api\r\n const response = yield call(onLikeReplyApi, commentId, productId, replyId);\r\n yield put(onLikeReplySuccess(response));\r\n } catch (error) {\r\n yield put(onLikeReplyFail(error));\r\n }\r\n}\r\n\r\nfunction* onAddReply({ payload: { commentId, productId, replyText } }) {\r\n try {\r\n const response = yield call(onAddReplyApi, commentId, productId, replyText);\r\n yield put(onAddReplySuccess(response));\r\n } catch (error) {\r\n yield put(onAddReplyFail(error));\r\n }\r\n}\r\n\r\nfunction* onAddComment({ payload: { productId, commentText } }) {\r\n try {\r\n const response = yield call(onAddCommentApi, productId, commentText);\r\n yield put(onAddCommentSuccess(response));\r\n } catch (error) {\r\n yield put(onAddCommentFail(error));\r\n }\r\n}\r\n\r\nfunction* ecommerceSaga() {\r\n yield takeEvery(GET_PRODUCTS, fetchProducts);\r\n yield takeEvery(GET_PRODUCT_DETAIL, fetchProductDetail);\r\n yield takeEvery(GET_ORDERS, fetchOrders);\r\n yield takeEvery(GET_CART_DATA, fetchCartData);\r\n yield takeEvery(GET_CUSTOMERS, fetchCustomers);\r\n yield takeEvery(ADD_NEW_CUSTOMER, onAddNewCustomer);\r\n yield takeEvery(UPDATE_CUSTOMER, onUpdateCustomer);\r\n yield takeEvery(DELETE_CUSTOMER, onDeleteCustomer);\r\n yield takeEvery(GET_SHOPS, fetchShops);\r\n yield takeEvery(ADD_NEW_ORDER, onAddNewOrder);\r\n yield takeEvery(UPDATE_ORDER, onUpdateOrder);\r\n yield takeEvery(DELETE_ORDER, onDeleteOrder);\r\n yield takeEvery(GET_PRODUCT_COMMENTS, getProductComents);\r\n yield takeEvery(ON_LIKE_COMMENT, onLikeComment);\r\n yield takeEvery(ON_LIKE_REPLY, onLikeReply);\r\n yield takeEvery(ON_ADD_REPLY, onAddReply);\r\n yield takeEvery(ON_ADD_COMMENT, onAddComment);\r\n}\r\n\r\nexport default ecommerceSaga;\r\n","import { takeEvery, put, call } from \"redux-saga/effects\"\r\n\r\n// Calender Redux States\r\nimport {\r\n ADD_NEW_EVENT,\r\n DELETE_EVENT,\r\n GET_CATEGORIES,\r\n GET_EVENTS,\r\n UPDATE_EVENT,\r\n} from \"./actionTypes\"\r\nimport {\r\n getEventsSuccess,\r\n getEventsFail,\r\n addEventFail,\r\n addEventSuccess,\r\n updateEventSuccess,\r\n updateEventFail,\r\n deleteEventSuccess,\r\n deleteEventFail,\r\n getCategoriesSuccess,\r\n getCategoriesFail,\r\n} from \"./actions\"\r\n\r\n//Include Both Helper File with needed methods\r\nimport {\r\n getEvents,\r\n addNewEvent,\r\n updateEvent,\r\n deleteEvent,\r\n getCategories,\r\n} from \"../../helpers/fakebackend_helper\"\r\n\r\nfunction* fetchEvents() {\r\n try {\r\n const response = yield call(getEvents)\r\n yield put(getEventsSuccess(response))\r\n } catch (error) {\r\n yield put(getEventsFail(error))\r\n }\r\n}\r\n\r\nfunction* onAddNewEvent({ payload: event }) {\r\n try {\r\n const response = yield call(addNewEvent, event)\r\n yield put(addEventSuccess(response))\r\n } catch (error) {\r\n yield put(addEventFail(error))\r\n }\r\n}\r\n\r\nfunction* onUpdateEvent({ payload: event }) {\r\n try {\r\n const response = yield call(updateEvent, event)\r\n yield put(updateEventSuccess(response))\r\n } catch (error) {\r\n yield put(updateEventFail(error))\r\n }\r\n}\r\n\r\nfunction* onDeleteEvent({ payload: event }) {\r\n try {\r\n const response = yield call(deleteEvent, event)\r\n yield put(deleteEventSuccess(response))\r\n } catch (error) {\r\n yield put(deleteEventFail(error))\r\n }\r\n}\r\n\r\nfunction* onGetCategories() {\r\n try {\r\n const response = yield call(getCategories)\r\n yield put(getCategoriesSuccess(response))\r\n } catch (error) {\r\n yield put(getCategoriesFail(error))\r\n }\r\n}\r\n\r\nfunction* calendarSaga() {\r\n yield takeEvery(GET_EVENTS, fetchEvents)\r\n yield takeEvery(ADD_NEW_EVENT, onAddNewEvent)\r\n yield takeEvery(UPDATE_EVENT, onUpdateEvent)\r\n yield takeEvery(DELETE_EVENT, onDeleteEvent)\r\n yield takeEvery(GET_CATEGORIES, onGetCategories)\r\n}\r\n\r\nexport default calendarSaga\r\n","import { takeEvery, put, call } from \"redux-saga/effects\";\r\n\r\n// Chat Redux States\r\nimport {\r\n GET_CHATS,\r\n GET_CONTACTS,\r\n GET_GROUPS,\r\n GET_MESSAGES,\r\n POST_ADD_MESSAGE,\r\n} from \"./actionTypes\";\r\nimport {\r\n getChatsSuccess,\r\n getChatsFail,\r\n getGroupsSuccess,\r\n getGroupsFail,\r\n getContactsSuccess,\r\n getContactsFail,\r\n getMessagesSuccess,\r\n getMessagesFail,\r\n addMessageSuccess,\r\n addMessageFail,\r\n} from \"./actions\";\r\n\r\n//Include Both Helper File with needed methods\r\nimport {\r\n getChats,\r\n getGroups,\r\n getContacts,\r\n getMessages,\r\n addMessage,\r\n} from \"../../helpers/fakebackend_helper\";\r\n\r\nfunction* onGetChats() {\r\n try {\r\n const response = yield call(getChats);\r\n yield put(getChatsSuccess(response));\r\n } catch (error) {\r\n yield put(getChatsFail(error));\r\n }\r\n}\r\n\r\nfunction* onGetGroups() {\r\n try {\r\n const response = yield call(getGroups);\r\n yield put(getGroupsSuccess(response));\r\n } catch (error) {\r\n yield put(getGroupsFail(error));\r\n }\r\n}\r\n\r\nfunction* onGetContacts() {\r\n try {\r\n const response = yield call(getContacts);\r\n yield put(getContactsSuccess(response));\r\n } catch (error) {\r\n yield put(getContactsFail(error));\r\n }\r\n}\r\n\r\nfunction* onGetMessages({ roomId }) {\r\n try {\r\n const response = yield call(getMessages, roomId);\r\n yield put(getMessagesSuccess(response));\r\n } catch (error) {\r\n yield put(getMessagesFail(error));\r\n }\r\n}\r\n\r\nfunction* onAddMessage({ message }) {\r\n try {\r\n const response = yield call(addMessage, message);\r\n yield put(addMessageSuccess(response));\r\n } catch (error) {\r\n yield put(addMessageFail(error));\r\n }\r\n}\r\n\r\nfunction* chatSaga() {\r\n yield takeEvery(GET_CHATS, onGetChats);\r\n yield takeEvery(GET_GROUPS, onGetGroups);\r\n yield takeEvery(GET_CONTACTS, onGetContacts);\r\n yield takeEvery(GET_MESSAGES, onGetMessages);\r\n yield takeEvery(POST_ADD_MESSAGE, onAddMessage);\r\n}\r\n\r\nexport default chatSaga;\r\n","import { call, put, takeEvery } from \"redux-saga/effects\"\r\n\r\n// Crypto Redux States\r\nimport { GET_WALLET, GET_CRYPTO_ORDERS } from \"./actionTypes\"\r\nimport {\r\n getWalletSuccess,\r\n getWalletFail,\r\n getCryptoOrdersSuccess,\r\n getCryptoOrdersFail,\r\n} from \"./actions\"\r\n\r\n//Include Both Helper File with needed methods\r\nimport { getWallet, getCryptoOrder } from \"helpers/fakebackend_helper\"\r\n\r\nfunction* fetchWallet() {\r\n try {\r\n const response = yield call(getWallet)\r\n yield put(getWalletSuccess(response))\r\n } catch (error) {\r\n yield put(getWalletFail(error))\r\n }\r\n}\r\n\r\nfunction* fetchCrypto() {\r\n try {\r\n const response = yield call(getCryptoOrder)\r\n yield put(getCryptoOrdersSuccess(response))\r\n } catch (error) {\r\n yield put(getCryptoOrdersFail(error))\r\n }\r\n}\r\n\r\nfunction* cryptoSaga() {\r\n yield takeEvery(GET_WALLET, fetchWallet)\r\n yield takeEvery(GET_CRYPTO_ORDERS, fetchCrypto)\r\n}\r\n\r\nexport default cryptoSaga\r\n","import { call, put, takeEvery } from \"redux-saga/effects\"\r\n\r\n// Crypto Redux States\r\nimport { GET_INVOICES, GET_INVOICE_DETAIL } from \"./actionTypes\"\r\nimport {\r\n getInvoicesSuccess,\r\n getInvoicesFail,\r\n getInvoiceDetailSuccess,\r\n getInvoiceDetailFail,\r\n} from \"./actions\"\r\n\r\n//Include Both Helper File with needed methods\r\nimport { getInvoices, getInvoiceDetail } from \"helpers/fakebackend_helper\"\r\n\r\nfunction* fetchInvoices() {\r\n try {\r\n const response = yield call(getInvoices)\r\n yield put(getInvoicesSuccess(response))\r\n } catch (error) {\r\n yield put(getInvoicesFail(error))\r\n }\r\n}\r\n\r\nfunction* fetchInvoiceDetail({ invoiceId }) {\r\n try {\r\n const response = yield call(getInvoiceDetail, invoiceId)\r\n yield put(getInvoiceDetailSuccess(response))\r\n } catch (error) {\r\n yield put(getInvoiceDetailFail(error))\r\n }\r\n}\r\n\r\nfunction* invoiceSaga() {\r\n yield takeEvery(GET_INVOICES, fetchInvoices)\r\n yield takeEvery(GET_INVOICE_DETAIL, fetchInvoiceDetail)\r\n}\r\n\r\nexport default invoiceSaga\r\n","import { call, put, takeEvery } from \"redux-saga/effects\"\r\n\r\n// Crypto Redux States\r\nimport { GET_PROJECTS, GET_PROJECT_DETAIL, ADD_NEW_PROJECT, DELETE_PROJECT, UPDATE_PROJECT } from \"./actionTypes\"\r\nimport {\r\n getProjectsSuccess,\r\n getProjectsFail,\r\n getProjectDetailSuccess,\r\n getProjectDetailFail,\r\n addProjectFail,\r\n addProjectSuccess,\r\n updateProjectSuccess,\r\n updateProjectFail,\r\n deleteProjectSuccess,\r\n deleteProjectFail,\r\n} from \"./actions\"\r\n\r\n//Include Both Helper File with needed methods\r\nimport { getProjects, getProjectsDetails, addNewProject, updateProject, deleteProject } from \"helpers/fakebackend_helper\"\r\n\r\nfunction* fetchProjects() {\r\n try {\r\n const response = yield call(getProjects)\r\n yield put(getProjectsSuccess(response))\r\n } catch (error) {\r\n yield put(getProjectsFail(error))\r\n }\r\n}\r\n\r\nfunction* fetchProjectDetail({ projectId }) {\r\n try {\r\n const response = yield call(getProjectsDetails, projectId)\r\n yield put(getProjectDetailSuccess(response))\r\n } catch (error) {\r\n yield put(getProjectDetailFail(error))\r\n }\r\n}\r\n\r\nfunction* onUpdateProject({ payload: project }) {\r\n try {\r\n const response = yield call(updateProject, project)\r\n yield put(updateProjectSuccess(response))\r\n } catch (error) {\r\n yield put(updateProjectFail(error))\r\n }\r\n}\r\n\r\nfunction* onDeleteProject({ payload: project }) {\r\n try {\r\n const response = yield call(deleteProject, project)\r\n yield put(deleteProjectSuccess(response))\r\n } catch (error) {\r\n yield put(deleteProjectFail(error))\r\n }\r\n}\r\n\r\nfunction* onAddNewProject({ payload: project }) {\r\n try {\r\n const response = yield call(addNewProject, project)\r\n yield put(addProjectSuccess(response))\r\n } catch (error) {\r\n\r\n yield put(addProjectFail(error))\r\n }\r\n}\r\n\r\nfunction* projectsSaga() {\r\n yield takeEvery(GET_PROJECTS, fetchProjects)\r\n yield takeEvery(GET_PROJECT_DETAIL, fetchProjectDetail)\r\n yield takeEvery(ADD_NEW_PROJECT, onAddNewProject)\r\n yield takeEvery(UPDATE_PROJECT, onUpdateProject)\r\n yield takeEvery(DELETE_PROJECT, onDeleteProject)\r\n}\r\n\r\nexport default projectsSaga\r\n","import { call, put, takeEvery } from \"redux-saga/effects\"\r\n\r\n// Crypto Redux States\r\nimport { GET_TASKS } from \"./actionTypes\"\r\nimport { getTasksSuccess, getTasksFail } from \"./actions\"\r\n\r\n//Include Both Helper File with needed methods\r\nimport { getTasks } from \"helpers/fakebackend_helper\"\r\n\r\nfunction* fetchTasks() {\r\n try {\r\n const response = yield call(getTasks)\r\n yield put(getTasksSuccess(response))\r\n } catch (error) {\r\n yield put(getTasksFail(error))\r\n }\r\n}\r\n\r\nfunction* tasksSaga() {\r\n yield takeEvery(GET_TASKS, fetchTasks)\r\n}\r\n\r\nexport default tasksSaga\r\n","import { call, put, takeEvery } from \"redux-saga/effects\"\r\n\r\n// Crypto Redux States\r\nimport {\r\n GET_INBOX_MAILS,\r\n ADD_NEW_INBOX_MAIL,\r\n DELETE_INBOX_MAIL,\r\n GET_STARRED_MAILS,\r\n GET_IMPORTANT_MAILS,\r\n GET_DRAFT_MAILS,\r\n GET_SENT_MAILS,\r\n GET_TRASH_MAILS,\r\n} from \"./actionTypes\"\r\n\r\nimport {\r\n getInboxMailsSuccess,\r\n getInboxMailsFail,\r\n addInboxMailFail,\r\n addInboxMailSuccess,\r\n deleteInboxMailSuccess,\r\n deleteInboxMailFail,\r\n getStarredMailsSuccess,\r\n getStarredMailsFail,\r\n getImportantMailsSuccess,\r\n getImportantMailsFail,\r\n getDraftMailsSuccess,\r\n getDraftMailsFail,\r\n getSentMailsSuccess,\r\n getSentMailsFail,\r\n getTrashMailsSuccess,\r\n getTrashMailsFail,\r\n} from \"./actions\"\r\n\r\n//Include Both Helper File with needed methods\r\nimport { \r\n getInboxMails,\r\n addNewInboxMail,\r\n deleteInboxMail,\r\n getStarredMails,\r\n getImportantMails,\r\n getDraftMails,\r\n getSentMails,\r\n getTrashMails,\r\n} from \"helpers/fakebackend_helper\"\r\n\r\n function* fetchInboxMails() {\r\n try {\r\n const response = yield call(getInboxMails)\r\n yield put(getInboxMailsSuccess(response))\r\n } catch (error) {\r\n yield put(getInboxMailsFail(error))\r\n }\r\n }\r\n\r\n function* fetchStarredMails() {\r\n try {\r\n const response = yield call(getStarredMails)\r\n yield put(getStarredMailsSuccess(response))\r\n } catch (error) {\r\n yield put(getStarredMailsFail(error))\r\n }\r\n }\r\n\r\n function* fetchImportantMails() {\r\n try {\r\n const response = yield call(getImportantMails)\r\n yield put(getImportantMailsSuccess(response))\r\n } catch (error) {\r\n yield put(getImportantMailsFail(error))\r\n }\r\n }\r\n\r\n function* fetchDraftMails() {\r\n try {\r\n const response = yield call(getDraftMails)\r\n yield put(getDraftMailsSuccess(response))\r\n } catch (error) {\r\n yield put(getDraftMailsFail(error))\r\n }\r\n }\r\n\r\n function* fetchSentMails() {\r\n try {\r\n const response = yield call(getSentMails)\r\n yield put(getSentMailsSuccess(response))\r\n } catch (error) {\r\n yield put(getSentMailsFail(error))\r\n }\r\n }\r\n\r\n function* fetchTrashMails() {\r\n try {\r\n const response = yield call(getTrashMails)\r\n yield put(getTrashMailsSuccess(response))\r\n } catch (error) {\r\n yield put(getTrashMailsFail(error))\r\n }\r\n }\r\n \r\n function* onAddNewInboxMail({ payload: inboxmail }) {\r\n try {\r\n const response = yield call(addNewInboxMail, inboxmail)\r\n yield put(addInboxMailSuccess(response))\r\n } catch (error) {\r\n \r\n yield put(addInboxMailFail(error))\r\n }\r\n }\r\n \r\n function* onDeleteInboxMail({ payload: inboxmail }) {\r\n try {\r\n const response = yield call(deleteInboxMail, inboxmail)\r\n yield put(deleteInboxMailSuccess(response))\r\n } catch (error) {\r\n yield put(deleteInboxMailFail(error))\r\n }\r\n }\r\n\r\n \r\n \r\n function* mailsSaga() {\r\n yield takeEvery(GET_INBOX_MAILS, fetchInboxMails)\r\n yield takeEvery(GET_STARRED_MAILS, fetchStarredMails)\r\n yield takeEvery(GET_IMPORTANT_MAILS, fetchImportantMails)\r\n yield takeEvery(GET_DRAFT_MAILS, fetchDraftMails)\r\n yield takeEvery(GET_SENT_MAILS, fetchSentMails)\r\n yield takeEvery(GET_TRASH_MAILS, fetchTrashMails)\r\n yield takeEvery(ADD_NEW_INBOX_MAIL, onAddNewInboxMail)\r\n yield takeEvery(DELETE_INBOX_MAIL, onDeleteInboxMail)\r\n }\r\n\r\nexport default mailsSaga","import { call, put, takeEvery } from \"redux-saga/effects\"\r\n\r\n// Crypto Redux States\r\nimport { GET_USERS, GET_USER_PROFILE , ADD_NEW_USER , DELETE_USER, UPDATE_USER } from \"./actionTypes\"\r\n\r\nimport {\r\n getUsersSuccess,\r\n getUsersFail,\r\n getUserProfileSuccess,\r\n getUserProfileFail,\r\n addUserFail,\r\n addUserSuccess,\r\n updateUserSuccess,\r\n updateUserFail,\r\n deleteUserSuccess,\r\n deleteUserFail,\r\n} from \"./actions\"\r\n\r\n//Include Both Helper File with needed methods\r\nimport { getUsers, getUserProfile , addNewUser, updateUser ,deleteUser } from \"../../helpers/fakebackend_helper\"\r\n\r\nfunction* fetchUsers() {\r\n try {\r\n const response = yield call(getUsers)\r\n yield put(getUsersSuccess(response))\r\n } catch (error) {\r\n yield put(getUsersFail(error))\r\n }\r\n}\r\n\r\nfunction* fetchUserProfile() {\r\n try {\r\n const response = yield call(getUserProfile)\r\n yield put(getUserProfileSuccess(response))\r\n } catch (error) {\r\n yield put(getUserProfileFail(error))\r\n }\r\n}\r\n\r\nfunction* onUpdateUser({ payload: user }) {\r\n try {\r\n const response = yield call(updateUser, user)\r\n yield put(updateUserSuccess(response))\r\n } catch (error) {\r\n yield put(updateUserFail(error))\r\n }\r\n}\r\n\r\nfunction* onDeleteUser({ payload: user }) {\r\n try {\r\n const response = yield call(deleteUser, user)\r\n yield put(deleteUserSuccess(response))\r\n } catch (error) {\r\n yield put(deleteUserFail(error))\r\n }\r\n}\r\n\r\nfunction* onAddNewUser({ payload: user }) {\r\n\r\n try {\r\n const response = yield call(addNewUser, user)\r\n\r\n yield put(addUserSuccess(response))\r\n } catch (error) {\r\n\r\n yield put(addUserFail(error))\r\n }\r\n}\r\n\r\nfunction* contactsSaga() {\r\n yield takeEvery(GET_USERS, fetchUsers)\r\n yield takeEvery(GET_USER_PROFILE, fetchUserProfile)\r\n yield takeEvery(ADD_NEW_USER, onAddNewUser)\r\n yield takeEvery(UPDATE_USER, onUpdateUser)\r\n yield takeEvery(DELETE_USER, onDeleteUser)\r\n}\r\n\r\nexport default contactsSaga;\r\n","import { call, put, takeEvery, all, fork } from \"redux-saga/effects\";\r\n\r\n// Crypto Redux States\r\nimport { GET_CHARTS_DATA } from \"./actionTypes\";\r\nimport { apiSuccess, apiFail } from \"./actions\";\r\n\r\n//Include Both Helper File with needed methods\r\nimport {\r\n getWeeklyData,\r\n getYearlyData,\r\n getMonthlyData\r\n}\r\n from \"../../helpers/fakebackend_helper\";\r\n\r\nfunction* getChartsData({ payload: periodType }) {\r\n try {\r\n var response;\r\n if (periodType == \"monthly\") {\r\n response = yield call(getWeeklyData, periodType);\r\n }\r\n if (periodType == \"yearly\") {\r\n response = yield call(getYearlyData, periodType);\r\n }\r\n if (periodType == \"weekly\") {\r\n response = yield call(getMonthlyData, periodType);\r\n }\r\n\r\n yield put(apiSuccess(GET_CHARTS_DATA, response));\r\n } catch (error) {\r\n yield put(apiFail(GET_CHARTS_DATA, error));\r\n }\r\n}\r\n\r\nexport function* watchGetChartsData() {\r\n yield takeEvery(GET_CHARTS_DATA, getChartsData);\r\n}\r\n\r\nfunction* dashboardSaga() {\r\n yield all([fork(watchGetChartsData)]);\r\n}\r\n\r\nexport default dashboardSaga;\r\n","import { call, put, takeEvery, all, fork } from \"redux-saga/effects\";\r\n\r\n// Crypto Redux States\r\nimport { GET_TOP_SELLING_PRODUCT, GET_EARNING_DATA } from \"./actionType\";\r\nimport { apiSuccess, apiFail } from \"./actions\";\r\n\r\n//Include Both Helper File with needed methods\r\nimport {\r\n topSellingData as topSellingDataApi,\r\n getEarningChartsData as getEarningChartsDataApi\r\n}\r\n from \"../../helpers/fakebackend_helper\";\r\n\r\nfunction* getSellingData({ payload: month }) {\r\n try {\r\n var response = yield call(topSellingDataApi, month);\r\n yield put(apiSuccess(GET_TOP_SELLING_PRODUCT, response));\r\n } catch (error) {\r\n yield put(apiFail(GET_TOP_SELLING_PRODUCT, error));\r\n }\r\n}\r\n\r\n\r\nfunction* getEarningChartsData({ payload: month }) {\r\n try {\r\n var response = yield call(getEarningChartsDataApi, month);\r\n yield put(apiSuccess(GET_EARNING_DATA, response));\r\n } catch (error) {\r\n yield put(apiFail(GET_EARNING_DATA, error));\r\n }\r\n}\r\n\r\nexport function* watchGetSellingdata() {\r\n yield takeEvery(GET_TOP_SELLING_PRODUCT, getSellingData);\r\n}\r\n\r\nexport function* watchGetEarningChartsData() {\r\n yield takeEvery(GET_EARNING_DATA, getEarningChartsData);\r\n}\r\n\r\n\r\nfunction* dashboardSaasSaga() {\r\n yield all([fork(watchGetSellingdata)],\r\n yield all([fork(watchGetEarningChartsData)])\r\n );\r\n}\r\n\r\nexport default dashboardSaasSaga;\r\n","import { takeEvery, put, call, all, fork } from \"redux-saga/effects\";\r\n\r\n// Registration Redux States\r\nimport {\r\n GET_STATE,\r\n GET_OCCUPATION,\r\n GET_RELATEDPERSONTYPE,\r\n GET_EDUCATION,\r\n GET_OCCUPATIONDETAILS,\r\n GET_ASSETDETAILS,\r\n GET_OTHERBANKACCOUNTS,\r\n GET_ACCOUNTTYPE,\r\n GET_ENTITYTYPE,\r\n GET_LOCATION,\r\n GET_BRANCH,\r\n GET_POI,\r\n} from \"./actionTypes\"\r\nimport {\r\n getStateSuccess,\r\n getStateFail,\r\n getOccupationSuccess,\r\n getOccupationFail,\r\n getRelatedPersonTypeSuccess,\r\n getRelatedPersonTypeFail,\r\n getEducationSuccess,\r\n getEducationFail,\r\n getOccupationDetailsSuccess,\r\n getOccupationDetailsFail,\r\n getAssetDetailsSuccess,\r\n getAssetDetailsFail,\r\n getOtherBankAccountsSuccess,\r\n getOtherBankAccountsFail,\r\n getAccountTypeSuccess,\r\n getAccountTypeFail,\r\n getEntityTypeSuccess,\r\n getEntityTypeFail,\r\n getLocationSuccess,\r\n getLocationFail,\r\n getBranchSuccess,\r\n getBranchFail,\r\n getPoiSuccess,\r\n getPoiFail\r\n} from \"./actions\"\r\n\r\nimport { getState } from \"../../helpers/fakebackend_helper\";\r\n\r\nimport { getOccupation } from \"../../helpers/fakebackend_helper\";\r\n\r\nimport { getRelatedPersonType } from \"../../helpers/fakebackend_helper\";\r\n\r\nimport { getEducation } from \"../../helpers/fakebackend_helper\";\r\n\r\nimport { getOccupationDetails } from \"../../helpers/fakebackend_helper\";\r\n\r\nimport { getAssetDetails } from \"../../helpers/fakebackend_helper\";\r\n\r\nimport { getOtherBankAccounts } from \"../../helpers/fakebackend_helper\";\r\n\r\nimport { getAccountType } from \"../../helpers/fakebackend_helper\";\r\n\r\nimport { getEntityType } from \"../../helpers/fakebackend_helper\";\r\n\r\nimport { getLocation } from \"../../helpers/fakebackend_helper\";\r\n\r\nimport { getBranch, LocationId } from \"../../helpers/fakebackend_helper\";\r\n\r\nimport { getPoi } from \"../../helpers/fakebackend_helper\";\r\n \r\n\r\n//GetAll State\r\nfunction* fetchStateData() {\r\n try {\r\n const response = yield call(getState)\r\n yield put(getStateSuccess(response))\r\n } catch (error) {\r\n yield put(getStateFail(error))\r\n }\r\n}\r\n\r\n//GetAll Occupation\r\nfunction* fetchOccupationData() {\r\n try {\r\n const response = yield call(getOccupation)\r\n yield put(getOccupationSuccess(response))\r\n } catch (error) {\r\n yield put(getOccupationFail(error))\r\n }\r\n}\r\n\r\n//GetAll Related_Person_Type\r\nfunction* fetchRelatedPersonTypeData() {\r\n try {\r\n const response = yield call(getRelatedPersonType)\r\n yield put(getRelatedPersonTypeSuccess(response))\r\n } catch (error) {\r\n yield put(getRelatedPersonTypeFail(error))\r\n }\r\n}\r\n\r\n//GetAll Education\r\nfunction* fetchEducationData() {\r\n try {\r\n const response = yield call(getEducation)\r\n yield put(getEducationSuccess(response))\r\n } catch (error) {\r\n yield put(getEducationFail(error))\r\n }\r\n}\r\n\r\n//GetAll OccupationDetails\r\nfunction* fetchOccupationDetailsData() {\r\n try {\r\n const response = yield call(getOccupationDetails)\r\n yield put(getOccupationDetailsSuccess(response))\r\n } catch (error) {\r\n yield put(getOccupationDetailsFail(error))\r\n }\r\n}\r\n\r\n//GetAll AssetDetails\r\nfunction* fetchAssetDetailsData() {\r\n try {\r\n const response = yield call(getAssetDetails)\r\n yield put(getAssetDetailsSuccess(response))\r\n } catch (error) {\r\n yield put(getAssetDetailsFail(error))\r\n }\r\n}\r\n\r\n //GetAll OtherBankAccounts\r\nfunction* fetchOtherBankAccountsData() {\r\n try {\r\n const response = yield call(getOtherBankAccounts)\r\n yield put(getOtherBankAccountsSuccess(response))\r\n } catch (error) {\r\n yield put(getOtherBankAccountsFail(error))\r\n }\r\n}\r\n\r\n//GetAll AccountType\r\nfunction* fetchAccountTypeData() {\r\n try {\r\n const response = yield call(getAccountType)\r\n yield put(getAccountTypeSuccess(response))\r\n } catch (error) {\r\n yield put(getAccountTypeFail(error))\r\n }\r\n}\r\n\r\n//GetAll EntityType\r\nfunction* fetchEntityTypeData() {\r\n try {\r\n const response = yield call(getEntityType)\r\n yield put(getEntityTypeSuccess(response))\r\n } catch (error) {\r\n yield put(getEntityTypeFail(error))\r\n }\r\n}\r\n\r\n//GetAll Location\r\nfunction* fetchLocationData() {\r\n try {\r\n const response = yield call(getLocation)\r\n yield put(getLocationSuccess(response))\r\n } catch (error) {\r\n yield put(getLocationFail(error))\r\n }\r\n}\r\n\r\n// GetByLocationId Branch\r\nfunction* onGetBranch({ LocationId }) {\r\n try {\r\n debugger;\r\n const response = yield call(getBranch, LocationId);\r\n yield put(getBranchSuccess(response));\r\n } catch (error) {\r\n yield put(getBranchFail(error));\r\n }\r\n}\r\n\r\n//GetAll Poi\r\nfunction* fetchpoiData() {\r\n try {\r\n const response = yield call(getPoi)\r\n yield put(getPoiSuccess(response))\r\n } catch (error) {\r\n yield put(getPoiFail(error))\r\n }\r\n}\r\n\r\nexport function* watchFetchStateData() {\r\n yield takeEvery(GET_STATE, fetchStateData);\r\n}\r\n\r\nexport function* watchFetchOccupationData() {\r\n yield takeEvery(GET_OCCUPATION, fetchOccupationData);\r\n}\r\n\r\nexport function* watchfetchRelatedPersonTypeData() {\r\n yield takeEvery(GET_RELATEDPERSONTYPE, fetchRelatedPersonTypeData);\r\n}\r\n\r\nexport function* watchFetchEducationData() {\r\n yield takeEvery(GET_EDUCATION, fetchEducationData);\r\n}\r\n\r\nexport function* watchFetchOccupationDetailsData() {\r\n yield takeEvery(GET_OCCUPATIONDETAILS, fetchOccupationDetailsData);\r\n}\r\n\r\nexport function* watchFetchAssetDetailsData() {\r\n yield takeEvery(GET_ASSETDETAILS, fetchAssetDetailsData);\r\n}\r\n\r\nexport function* watchFetchOtherBankAccountsData() {\r\n yield takeEvery(GET_OTHERBANKACCOUNTS, fetchOtherBankAccountsData);\r\n}\r\n\r\nexport function* watchFetchAccountTypeData() {\r\n yield takeEvery(GET_ACCOUNTTYPE, fetchAccountTypeData);\r\n}\r\n\r\nexport function* watchFetchEntityTypeData() {\r\n yield takeEvery(GET_ENTITYTYPE, fetchEntityTypeData);\r\n}\r\n\r\nexport function* watchFetchLocationData() {\r\n yield takeEvery(GET_LOCATION, fetchLocationData);\r\n}\r\n\r\nexport function* watchFetchpoiData() {\r\n yield takeEvery(GET_POI, fetchpoiData);\r\n}\r\n\r\nfunction* registrationSaga() {\r\n yield all([fork(watchFetchStateData)]);\r\n yield all([fork(watchFetchOccupationData)]);\r\n yield all([fork(watchfetchRelatedPersonTypeData)]);\r\n yield all([fork(watchFetchEducationData)]);\r\n yield all([fork(watchFetchOccupationDetailsData)]);\r\n yield all([fork(watchFetchAssetDetailsData)]);\r\n yield all([fork(watchFetchOtherBankAccountsData)]);\r\n yield all([fork(watchFetchAccountTypeData)]);\r\n yield all([fork(watchFetchEntityTypeData)]);\r\n yield all([fork(watchFetchLocationData)]);\r\n yield takeEvery(GET_BRANCH, onGetBranch);\r\n yield all([fork(watchFetchpoiData)]);\r\n}\r\n\r\nexport default registrationSaga;","import { all, fork } from \"redux-saga/effects\"\r\n\r\n//public\r\nimport AccountSaga from \"./auth/register/saga\"\r\nimport AuthSaga from \"./auth/login/saga\"\r\nimport ForgetSaga from \"./auth/forgetpwd/saga\"\r\nimport ProfileSaga from \"./auth/profile/saga\"\r\nimport LayoutSaga from \"./layout/saga\"\r\nimport ecommerceSaga from \"./e-commerce/saga\"\r\nimport calendarSaga from \"./calendar/saga\"\r\nimport chatSaga from \"./chat/saga\"\r\nimport cryptoSaga from \"./crypto/saga\"\r\nimport invoiceSaga from \"./invoices/saga\"\r\nimport projectsSaga from \"./projects/saga\"\r\nimport tasksSaga from \"./tasks/saga\"\r\nimport mailsSaga from \"./mails/saga\"\r\nimport contactsSaga from \"./contacts/saga\";\r\nimport dashboardSaga from \"./dashboard/saga\";\r\nimport dashboardSaasSaga from \"./dashboard-saas/saga\";\r\nimport registrationSaga from \"./Registration/saga\";\r\n\r\n\r\nexport default function* rootSaga() {\r\n yield all([\r\n //public\r\n fork(AccountSaga),\r\n fork(AuthSaga),\r\n fork(ForgetSaga),\r\n fork(ProfileSaga),\r\n fork(LayoutSaga),\r\n fork(ecommerceSaga),\r\n fork(calendarSaga),\r\n fork(chatSaga),\r\n fork(mailsSaga),\r\n fork(cryptoSaga),\r\n fork(invoiceSaga),\r\n fork(projectsSaga),\r\n fork(tasksSaga),\r\n fork(contactsSaga),\r\n fork(dashboardSaga),\r\n fork(dashboardSaasSaga),\r\n fork(registrationSaga),\r\n ])\r\n}\r\n","import { createStore, applyMiddleware, compose } from \"redux\"\r\nimport createSagaMiddleware from \"redux-saga\"\r\n\r\nimport rootReducer from \"./reducers\"\r\nimport rootSaga from \"./sagas\"\r\n\r\nconst sagaMiddleware = createSagaMiddleware()\r\nconst composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose\r\n\r\nconst store = createStore(\r\n rootReducer,\r\n composeEnhancers(applyMiddleware(sagaMiddleware))\r\n)\r\nsagaMiddleware.run(rootSaga)\r\n\r\nexport default store\r\n","import React from \"react\"\r\nimport ReactDOM from \"react-dom\"\r\nimport App from \"./App\"\r\nimport * as serviceWorker from \"./serviceWorker\"\r\nimport { BrowserRouter } from \"react-router-dom\"\r\nimport \"./i18n\"\r\nimport { Provider } from \"react-redux\"\r\n\r\nimport store from \"./store\"\r\n\r\nconst app = (\r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nReactDOM.render(app, document.getElementById(\"root\"))\r\nserviceWorker.unregister()\r\n"],"sourceRoot":""}