From 026d887932f8033e264c663aa000ed7051ec1ebe Mon Sep 17 00:00:00 2001 From: mdulko Date: Thu, 4 Apr 2024 14:47:00 +0200 Subject: [PATCH] OLMIS-7903: fixed duplicate code --- .../MOHApproval/MOHActionBarFinalApprove.jsx | 42 +++++++++++++++ .../MOHApproval/MOHApproveRegionBuq.jsx | 51 +++++-------------- .../MOHApproval/MohForFinalApproval.jsx | 45 +++++----------- 3 files changed, 68 insertions(+), 70 deletions(-) create mode 100644 src/buq/components/MOHApproval/MOHActionBarFinalApprove.jsx diff --git a/src/buq/components/MOHApproval/MOHActionBarFinalApprove.jsx b/src/buq/components/MOHApproval/MOHActionBarFinalApprove.jsx new file mode 100644 index 00000000..4e47ddf5 --- /dev/null +++ b/src/buq/components/MOHApproval/MOHActionBarFinalApprove.jsx @@ -0,0 +1,42 @@ +import React, { useState } from 'react'; +import Modal from '../../../admin-buq/components/Modal/Modal'; +import ActionBar from '../../../react-components/ActionBar'; +import ConfirmModalBody from '../../../react-components/ConfirmModalBody'; +import ModalErrorMessage from '../../../react-components/ModalErrorMessage'; + +const MOHActionBarFinalApprove = ({ + handleFinalApproveAction, + displayFinalApproveModal, + handleSetDisplayFinalApproveModal, + displayFinalApproveErrorModal, + handleSetDisplayFinalApproveErrorModal +}) => ( + <> + handleSetDisplayFinalApproveModal(false)} + confirmButtonText={'Approve'} + />, + ]} + sourceOfFundStyle={true} + /> + handleSetDisplayFinalApproveErrorModal(false)} + /> + handleSetDisplayFinalApproveModal(true)} + finalApproveButton={true} + cancelButton={false} + totalCostInformation={false} + sourceOfFundButton={false} + /> + +) + +export default MOHActionBarFinalApprove \ No newline at end of file diff --git a/src/buq/components/MOHApproval/MOHApproveRegionBuq.jsx b/src/buq/components/MOHApproval/MOHApproveRegionBuq.jsx index dc8a560d..86c75c57 100644 --- a/src/buq/components/MOHApproval/MOHApproveRegionBuq.jsx +++ b/src/buq/components/MOHApproval/MOHApproveRegionBuq.jsx @@ -1,13 +1,9 @@ import React, { useState, useMemo, useEffect } from 'react'; import { toast } from 'react-toastify'; -import InputWithSuggestionsAndValidation from '../../../react-components/inputs/input-with-suggestions-and-validation'; import useBuqCommonFuncs from '../../../react-hooks/useBuqCommonFunctions'; import Table from '../../../react-components/table/table'; import ResponsiveButton from '../../../react-components/buttons/responsive-button'; import Checkbox from '../../../react-components/inputs/checkbox'; -import ActionBar from '../../../react-components/ActionBar'; -import Modal from '../../../admin-buq/components/Modal/Modal'; -import ConfirmModalBody from '../../../react-components/ConfirmModalBody'; import { Link } from 'react-router-dom'; import { STORAGE_MOH_APPROVAL_PARAMS } from '../../utils/constants'; import WebTooltip from '../../../react-components/modals/web-tooltip'; @@ -15,9 +11,9 @@ import useGeographicZoneGroup from '../../../react-hooks/useGeographicZoneGroup' import useServerService from '../../../react-hooks/useServerService'; import useLocalStorage from '../../../react-hooks/useLocalStorage'; import useCostCalculationRegion from '../../../react-hooks/useCostCalculationRegion'; -import ModalErrorMessage from '../../../react-components/ModalErrorMessage'; import { addThousandsSeparatorsForStrings } from '../../utils/helpers'; import MOHSearchBuq from "./MOHSearchBuq"; +import MOHActionBarFinalApprove from "./MOHActionBarFinalApprove"; const MOHApproveRegionBuq = ({ loadingModalService }) => { const { forecastingPeriodsParams } = useBuqCommonFuncs(); @@ -25,12 +21,10 @@ const MOHApproveRegionBuq = ({ loadingModalService }) => { const [group, setGroup] = useState(); const [forecastingPeriodId, setForecastingPeriodId] = useState(); - const [displayFinalApproveModal, setDisplayFinalApproveModal] = - useState(false); const [data, setData] = useState([]); const [selectedCheckbox, setSelectedCheckbox] = useState(false); - const [displayFinalApproveErrorModal, setDisplayFinalApproveErrorModal] = - useState(false); + const [displayFinalApproveModal, setDisplayFinalApproveModal] = useState(false); + const [displayFinalApproveErrorModal, setDisplayFinalApproveErrorModal] = useState(false); const buqService = useServerService('buqService'); @@ -206,10 +200,10 @@ const MOHApproveRegionBuq = ({ loadingModalService }) => { ], [data, selectedCheckbox] ); - - const handleSetData = (payload) => setData(payload); const handleSetGroup = (payload) => setGroup(payload); const handleSetForecastingPeriodId = (payload) => setForecastingPeriodId(payload); + const handleSetDisplayFinalApproveErrorModal = (payload) => setDisplayFinalApproveErrorModal(payload); + const handleSetDisplayFinalApproveModal = (payload) => setDisplayFinalApproveModal(payload); return ( <> @@ -219,7 +213,7 @@ const MOHApproveRegionBuq = ({ loadingModalService }) => { geographicZoneParams={geographicZoneParams} forecastingPeriodsParams={forecastingPeriodsParams} group={group} - handleSetGroup={handleSetData} + handleSetGroup={handleSetGroup} forecastingPeriodId={forecastingPeriodId} handleSetForecastingPeriodId={handleSetForecastingPeriodId} fetchBuqs={fetchRegionData} @@ -231,32 +225,13 @@ const MOHApproveRegionBuq = ({ loadingModalService }) => { customReactTableStyle="moh-approve-buq-region" /> - setDisplayFinalApproveModal(false)} - confirmButtonText={'Approve'} - />, - ]} - sourceOfFundStyle={true} - /> - setDisplayFinalApproveErrorModal(false)} - /> - setDisplayFinalApproveModal(true)} - finalApproveButton={true} - cancelButton={false} - totalCostInformation={false} - sourceOfFundButton={false} - /> + ); }; diff --git a/src/buq/components/MOHApproval/MohForFinalApproval.jsx b/src/buq/components/MOHApproval/MohForFinalApproval.jsx index 1bdbf188..c00261b5 100644 --- a/src/buq/components/MOHApproval/MohForFinalApproval.jsx +++ b/src/buq/components/MOHApproval/MohForFinalApproval.jsx @@ -1,18 +1,14 @@ -import React, { useState, useMemo, useEffect } from 'react'; +import React, { useState, useEffect } from 'react'; import { toast } from 'react-toastify'; -import InputWithSuggestionsAndValidation from '../../../react-components/inputs/input-with-suggestions-and-validation'; import useBuqCommonFuncs from '../../../react-hooks/useBuqCommonFunctions'; -import ActionBar from '../../../react-components/ActionBar'; -import Modal from '../../../admin-buq/components/Modal/Modal'; -import ConfirmModalBody from '../../../react-components/ConfirmModalBody'; import useGeographicZoneGroup from '../../../react-hooks/useGeographicZoneGroup'; import useServerService from '../../../react-hooks/useServerService'; import useCostCalculationRegion from '../../../react-hooks/useCostCalculationRegion'; -import ModalErrorMessage from '../../../react-components/ModalErrorMessage'; import MOHFinalApprovalTable from "./MOHFinalApprovalTable"; import useCostCalculationsForFourLevels from "../../../react-hooks/useCostCalculationsForFourLevels"; import DetailsBlock from '../../../react-components/DetailsBlock'; import MOHSearchBuq from "./MOHSearchBuq"; +import MOHActionBarFinalApprove from "./MOHActionBarFinalApprove"; const MohForFinalApproval = ({ loadingModalService, facilityService }) => { const { forecastingPeriodsParams } = useBuqCommonFuncs(); @@ -177,6 +173,10 @@ const MohForFinalApproval = ({ loadingModalService, facilityService }) => { const handleSetGroup = (payload) => setGroup(payload); const handleSetForecastingPeriodId = (payload) => setForecastingPeriodId(payload); + const handleSetDisplayFinalApproveModal = (payload) => setDisplayFinalApproveModal(payload); + + const handleSetDisplayFinalApproveErrorModal = (payload) => setDisplayFinalApproveErrorModal(payload); + return ( <>

Consolidated Summary

@@ -185,7 +185,7 @@ const MohForFinalApproval = ({ loadingModalService, facilityService }) => { geographicZoneParams={geographicZoneParams} forecastingPeriodsParams={forecastingPeriodsParams} group={group} - handleSetGroup={handleSetData} + handleSetGroup={handleSetGroup} forecastingPeriodId={forecastingPeriodId} handleSetForecastingPeriodId={handleSetForecastingPeriodId} fetchBuqs={fetchBuqForFinalApproval} @@ -205,31 +205,12 @@ const MohForFinalApproval = ({ loadingModalService, facilityService }) => { /> - setDisplayFinalApproveModal(false)} - confirmButtonText={'Approve'} - />, - ]} - sourceOfFundStyle={true} - /> - setDisplayFinalApproveErrorModal(false)} - /> - setDisplayFinalApproveModal(true)} - finalApproveButton={true} - cancelButton={false} - totalCostInformation={false} - sourceOfFundButton={false} + );