{"version":3,"file":"static/js/250.a8ec2f36.chunk.js","mappings":"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","sources":["components/modals/customer/Customer.js","constants/Constants.js","screens/Index.js"],"sourcesContent":["import React, { useState, useEffect, useContext } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { HttpService } from \"../../../services/HttpService\";\r\nimport Context from \"../../../context/AppContext\";\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport * as helper from \"../../../../src/helpers/helpers\";\r\nimport Spinner from \"react-bootstrap/Spinner\";\r\nimport { NUMERIC_REGIX, ALPHABETS_REGIX } from \"../../../constants/Constants\";\r\n\r\nconst Customer = ({ showModal, setShowCustomerModal, type }) => {\r\n const http = new HttpService();\r\n const navigate = useNavigate();\r\n const [formData, setFormData] = useState({\r\n dob: \"\",\r\n createdBy: \"\",\r\n recordID: \"\",\r\n FirstName: \"\",\r\n LastName: \"\",\r\n Email: \"\",\r\n ContactNo: \"\",\r\n Password: \"\",\r\n retypePass: \"\",\r\n });\r\n const [disaleBtn, setDisableBtn] = useState(false);\r\n const {\r\n appointmentInfo,\r\n customerSessionData,\r\n setCustomerSessionData,\r\n setAppointmentInfo,\r\n } = useContext(Context);\r\n\r\n useEffect(() => {\r\n if (customerSessionData) {\r\n setFormData({\r\n FirstName: customerSessionData.FirstName,\r\n LastName: customerSessionData.LastName,\r\n Email: customerSessionData.Email,\r\n ContactNo: customerSessionData.ContactNo,\r\n dob: \"\",\r\n createdBy: \"\",\r\n recordID: \"\",\r\n Password: \"\",\r\n retypePass: \"\",\r\n });\r\n }\r\n return () => {\r\n setFormData({\r\n dob: \"\",\r\n createdBy: \"\",\r\n recordID: \"\",\r\n FirstName: \"\",\r\n LastName: \"\",\r\n Email: \"\",\r\n ContactNo: \"\",\r\n Password: \"\",\r\n retypePass: \"\",\r\n });\r\n };\r\n }, [showModal]);\r\n\r\n const handleChange = (e) => {\r\n const { name, value } = e.target;\r\n switch (name) {\r\n case \"firstName\":\r\n if (value === \"\" || ALPHABETS_REGIX.test(value)) {\r\n setFormData({ ...formData, FirstName: value });\r\n }\r\n break;\r\n\r\n case \"lastName\":\r\n if (value === \"\" || ALPHABETS_REGIX.test(value)) {\r\n setFormData({ ...formData, LastName: value });\r\n }\r\n break;\r\n\r\n case \"email\":\r\n setFormData({ ...formData, Email: value });\r\n break;\r\n\r\n case \"contactNo\":\r\n if (value === \"\" || NUMERIC_REGIX.test(value)) {\r\n setFormData({ ...formData, ContactNo: value });\r\n }\r\n break;\r\n\r\n case \"password\":\r\n setFormData({ ...formData, Password: value });\r\n break;\r\n\r\n case \"retypePass\":\r\n setFormData({ ...formData, retypePass: value });\r\n break;\r\n }\r\n };\r\n\r\n const handleAddCustomerClick = async () => {\r\n if (formData.Email && !helper.validation.isEmailAddress(formData.Email)) {\r\n helper.alert(\"error\", \"Please enter a valid email address\");\r\n } else {\r\n if (type.toLowerCase() === \"add\") {\r\n try {\r\n setDisableBtn(true);\r\n\r\n let addCustomerResp = await http.addCustomer(formData);\r\n if (addCustomerResp.data.code === 100) {\r\n setShowCustomerModal(false);\r\n navigate(\"/login\", {\r\n state: { showNotification: true },\r\n });\r\n helper.alert(\r\n \"success\",\r\n helper.translations().customerAddedSuccessfully\r\n );\r\n } else if (addCustomerResp.data.code === 101) {\r\n helper.alert(\"error\", helper.translations().customerAlreadyExists);\r\n } else {\r\n helper.alert(\"error\", helper.translations().somethingWentWrong);\r\n }\r\n } catch (error) {\r\n helper.alert(\"error\", helper.translations().somethingWentWrong);\r\n } finally {\r\n setDisableBtn(false);\r\n }\r\n }\r\n\r\n if (type.toLowerCase() === \"edit\") {\r\n try {\r\n setDisableBtn(true);\r\n let frmData = { ...formData };\r\n delete formData[\"reTypePasssword\"];\r\n if (frmData.Password == \"\" && frmData.retypePass == \"\") {\r\n frmData.Password = customerSessionData.Password;\r\n }\r\n let editCustomerResp = await http.updateCustomer(frmData);\r\n helper.alert(\r\n \"success\",\r\n helper.translations().profileUpdatedSuccessfully\r\n );\r\n setShowCustomerModal(false);\r\n } catch (error) {\r\n helper.alert(\"error\", helper.translations().somethingWentWrong);\r\n } finally {\r\n setDisableBtn(false);\r\n }\r\n }\r\n }\r\n };\r\n return (\r\n {\r\n setShowCustomerModal(!showModal);\r\n }}\r\n backdrop=\"static\"\r\n keyboard={false}\r\n >\r\n \r\n {type.toLowerCase() === \"add\" ? (\r\n
\r\n {helper.translations().addCustomerBtn}\r\n
\r\n ) : (\r\n
\r\n {helper.translations().editCustomerBtn}\r\n
\r\n )}\r\n
\r\n \r\n \r\n {\" \"}\r\n {helper.translations().requiredFieldsError}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n {type.toLowerCase() == \"edit\" ? (\r\n <>\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n \r\n {\r\n setShowCustomerModal(!showModal);\r\n }}\r\n data-bs-dismiss=\"modal\"\r\n >\r\n {helper.translations().cancelBtn}\r\n \r\n \r\n {disaleBtn ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n  \r\n {helper.translations().saveBtn}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Customer;\r\n","const { DATA_REFRESH_INTERVAL } = window[\"appconfig\"];\r\n\r\nexport const REFRESH_INTERVAL = DATA_REFRESH_INTERVAL * 60000;\r\n\r\nexport const NUMERIC_REGIX = /^[0-9\\b]+$/;\r\n\r\nexport const ALPHABETS_REGIX = /^[A-Za-z]+$/;\r\n\r\nexport const COUNTER_STATE_POSTPROCESSING = \"COUNTER_POSTPROCESSING\";\r\nexport const COUNTER_STATE_CALLING = \"COUNTER_CALLING\";\r\nexport const COUNTER_STATE_SERVING = \"COUNTER_SERVING\";\r\nexport const COUNTER_STATE_IDLE = \"COUNTER_IDLE\";\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useNavigate, Link } from \"react-router-dom\";\r\nimport Footer from \"../components/Footer\";\r\nimport Header from \"../components/Header\";\r\nimport Customer from \"../components/modals/customer/Customer\";\r\n\r\nconst Index = () => {\r\n const [showCustomerModal, setShowCustomerModal] = useState(false);\r\n const [customerModalMode, setCustomerModalMode] = useState(\"add\");\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n setShowCustomerModal(true)}\r\n >\r\n New customer\r\n \r\n\r\n \r\n Log in\r\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 Index;\r\n"],"names":["showModal","setShowCustomerModal","type","http","HttpService","navigate","useNavigate","useState","dob","createdBy","recordID","FirstName","LastName","Email","ContactNo","Password","retypePass","formData","setFormData","disaleBtn","setDisableBtn","useContext","Context","customerSessionData","appointmentInfo","setCustomerSessionData","setAppointmentInfo","useEffect","handleChange","e","target","name","value","ALPHABETS_REGIX","NUMERIC_REGIX","handleAddCustomerClick","helper","toLowerCase","addCustomer","addCustomerResp","data","code","state","showNotification","customerAddedSuccessfully","customerAlreadyExists","somethingWentWrong","frmData","updateCustomer","profileUpdatedSuccessfully","size","show","onHide","backdrop","keyboard","closeButton","className","addCustomerBtn","editCustomerBtn","role","requiredFieldsError","htmlFor","firstNameLbl","required","id","onChange","lastNameLbl","contactNumLbl","emailLbl","newPasswordLbl","reTypePasswordLbl","onClick","cancelBtn","disabled","as","animation","variant","saveBtn","REFRESH_INTERVAL","window","DATA_REFRESH_INTERVAL","showCustomerModal","customerModalMode","to","pathname"],"sourceRoot":""}