From 291f76984034d07297ffe92476c1305ec36bb6a3 Mon Sep 17 00:00:00 2001 From: Vitalii Kiiko Date: Mon, 18 Nov 2024 16:44:28 +0100 Subject: [PATCH] - implemnted functionality adding to preferred calls; --- .../components/AllBandiAccordion/index.js | 6 +- src/pages/BandoViewBeneficiario/index.js | 57 ++++++++++++++++--- .../components/LatestBandiTable/index.js | 6 +- src/service/bando-service.js | 8 +-- 4 files changed, 61 insertions(+), 16 deletions(-) diff --git a/src/pages/BandiBeneficiario/components/AllBandiAccordion/index.js b/src/pages/BandiBeneficiario/components/AllBandiAccordion/index.js index 615f0f1..e6a155f 100644 --- a/src/pages/BandiBeneficiario/components/AllBandiAccordion/index.js +++ b/src/pages/BandiBeneficiario/components/AllBandiAccordion/index.js @@ -39,8 +39,10 @@ const AllBandiAccordion = () => { useEffect(() => { storeSet.main.setAsyncRequest(); - BandoService.getBandi(getCallback, errGetCallbacks); - }, []); + BandoService.getBandi(getCallback, errGetCallbacks, [ + ['companyId', chosenCompanyId] + ]); + }, [chosenCompanyId]); const getCallback = (data) => { if (data.status === 'SUCCESS') { diff --git a/src/pages/BandoViewBeneficiario/index.js b/src/pages/BandoViewBeneficiario/index.js index 3496c13..bcb7bc0 100644 --- a/src/pages/BandoViewBeneficiario/index.js +++ b/src/pages/BandoViewBeneficiario/index.js @@ -5,7 +5,7 @@ import { is, isEmpty, isNil } from 'ramda'; import "quill/dist/quill.core.css"; // store -import { storeSet, useStore } from '../../store'; +import { storeGet, storeSet, useStore } from '../../store'; // tools import getNumberWithCurrency from '../../helpers/getNumberWithCurrency'; @@ -28,6 +28,7 @@ import { Message } from 'primereact/message'; import { Toast } from 'primereact/toast'; import { Editor } from 'primereact/editor'; import { Dialog } from 'primereact/dialog'; +import PreferredBandoService from '../../service/preferred-bando-service'; const BandoViewBeneficiario = () => { const isAsyncRequest = useStore().main.isAsyncRequest(); @@ -246,11 +247,50 @@ const BandoViewBeneficiario = () => { const header = renderHeader(); + const addToFavourites = () => { + const companyId = storeGet.main.chosenCompanyId(); + const bandoId = getBandoId(); + const formdData = { + companyId, + callId: bandoId + } + + if (data.preferredCallId && data.preferredCallId !== 0) { + PreferredBandoService.deleteFromPreferred(data.preferredCallId, removeFavCallback, errToggleFavCallback); + } else { + PreferredBandoService.addToPreferred(formdData, addFavCallback, errToggleFavCallback); + } + } + + const removeFavCallback = (resp) => { + if (resp.status === 'SUCCESS') { + const newData = { + ...data, + preferredCallId: null + } + setData(newData); + } + } + const addFavCallback = (resp) => { + if (resp.status === 'SUCCESS') { + const newData = { + ...data, + preferredCallId: resp.data.id + } + setData(newData); + } + } + const errToggleFavCallback = (data) => { + set404FromErrorResponse(data); + } + useEffect(() => { if (!isEmpty(chosenCompanyId) && chosenCompanyId !== 0) { const bandoId = getBandoId(); storeSet.main.setAsyncRequest(); - BandoService.getBando(bandoId, getBandoCallback, errGetBandoCallback); + BandoService.getBando(bandoId, getBandoCallback, errGetBandoCallback, [ + ['companyId', chosenCompanyId] + ]); ApplicationService.getApplications(getApplCallback, errGetApplCallback, [ ['callId', bandoId], ['companyId', chosenCompanyId] @@ -445,14 +485,15 @@ const BandoViewBeneficiario = () => { onClick={submitApplication} label={submitBtnLabel()} icon={submitBtnIcon()} iconPos="right"/> - {/*