From 5af1130d5c6f1d26bd2f9aeeea92349e11b28cd1 Mon Sep 17 00:00:00 2001 From: SwethaKrish4 <110164892+SwethaKrish4@users.noreply.github.com> Date: Thu, 8 Aug 2024 11:15:25 +0530 Subject: [PATCH] MOSIP-34623: Added the submit flow integration (#685) Signed-off-by: SwethaKrish4 <110164892+SwethaKrish4@users.noreply.github.com> --- .../deviceProviderServices/AddDevices.js | 52 ++++++++++++++----- 1 file changed, 40 insertions(+), 12 deletions(-) diff --git a/pmp-reactjs-ui/src/pages/deviceProviderServices/AddDevices.js b/pmp-reactjs-ui/src/pages/deviceProviderServices/AddDevices.js index f545e389c..ab39f28fe 100644 --- a/pmp-reactjs-ui/src/pages/deviceProviderServices/AddDevices.js +++ b/pmp-reactjs-ui/src/pages/deviceProviderServices/AddDevices.js @@ -133,15 +133,43 @@ function AddDevices() { updateButtonStates(); }; - const submitForm = (index) => { - const newEntries = [...deviceEntries]; - newEntries[index].isSubmitted = true; - setDeviceEntries(newEntries); - setSuccessMsg(t('addDevices.successMsg')); - updateButtonStates(); + const submitForm = async (index, entry) => { + setErrorCode(""); + setErrorMsg(""); + setSuccessMsg(""); + let request = createRequest({ + id: null, + deviceProviderId: getUserProfile().userName, + deviceTypeCode: entry.deviceType, + deviceSubTypeCode: entry.deviceSubType, + make: entry.make, + model: entry.model + }); + try { + const response = await HttpService.post(getPartnerManagerUrl(`/devicedetail`, process.env.NODE_ENV), request); + if (response) { + const responseData = response.data; + if (responseData && responseData.response) { + const newEntries = [...deviceEntries]; + newEntries[index].isSubmitted = true; + setDeviceEntries(newEntries); + setSuccessMsg(t('addDevices.successMsg')); + updateButtonStates(); + } else { + handleServiceErrors(responseData, setErrorCode, setErrorMsg); + } + } else { + setErrorMsg(t('addDevices.errorInDeviceSubType')); + } + } catch (err) { + setErrorMsg(err); + console.log("Error fetching data: ", err); + } }; const deleteEntry = (index) => { + setErrorCode(""); + setErrorMsg(""); const newEntries = deviceEntries.filter((_, i) => i !== index); setDeviceEntries(newEntries); updateButtonStates(); @@ -178,7 +206,7 @@ function AddDevices() { const styles = { dropdownLabel: "!text-base !mb-1", - dropdownButton: "!min-w-[19.5rem] !h-11 !rounded-md !text-base !text-start", + dropdownButton: "!w-full !h-11 !rounded-md !text-base !text-start", selectionBox: "!top-10" }; @@ -222,7 +250,7 @@ function AddDevices() { )}
-
+
-
+
-
+
handleInputChange(index, 'make', e.target.value)} maxLength={36} className={`h-11 px-2 py-3 border border-[#707070] rounded-md text-md text-dark-blue ${entry.isSubmitted ? 'bg-[#EBEBEB]' : 'bg-white'} leading-tight focus:outline-none focus:shadow-outline overflow-x-auto whitespace-nowrap no-scrollbar`} placeholder={t('addDevices.enterMake')} />
-
+
handleInputChange(index, 'model', e.target.value)} maxLength={36} className={`h-11 px-2 py-3 border border-[#707070] rounded-md text-md text-dark-blue ${entry.isSubmitted ? 'bg-[#EBEBEB]' : 'bg-white'} leading-tight focus:outline-none focus:shadow-outline overflow-x-auto whitespace-nowrap no-scrollbar`} @@ -265,7 +293,7 @@ function AddDevices() { {!entry.isSubmitted && (
-