- re-added pagination endpoint for getting confidi calls;

This commit is contained in:
Vitalii Kiiko
2025-05-02 09:54:06 +02:00
parent 4378134e35
commit bd0503e736
6 changed files with 33 additions and 25 deletions

View File

@@ -5,6 +5,10 @@ import { uniq } from 'ramda';
// api // api
import BandoService from '../../../../service/bando-service'; import BandoService from '../../../../service/bando-service';
// tools
import getTimeParsedFromString from '../../../../helpers/getTimeParsedFromString';
import getTimeFromISOstring from '../../../../helpers/getTimeFromISOstring';
// components // components
import { FilterMatchMode, FilterOperator } from 'primereact/api'; import { FilterMatchMode, FilterOperator } from 'primereact/api';
import { DataTable } from 'primereact/datatable'; import { DataTable } from 'primereact/datatable';
@@ -13,10 +17,8 @@ import { Button } from 'primereact/button';
import { Calendar } from 'primereact/calendar'; import { Calendar } from 'primereact/calendar';
import ProperBandoLabel from '../../../../components/ProperBandoLabel'; import ProperBandoLabel from '../../../../components/ProperBandoLabel';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import translationStrings from '../../../../translationStringsForComponents';
import getTimeParsedFromString from '../../../../helpers/getTimeParsedFromString';
import getTimeFromISOstring from '../../../../helpers/getTimeFromISOstring';
import translationStrings from '../../../../translationStringsForComponents';
const LatestBandiTable = () => { const LatestBandiTable = () => {
const [items, setItems] = useState(null); const [items, setItems] = useState(null);

View File

@@ -25,7 +25,6 @@ import ProperBandoLabel from '../../../../components/ProperBandoLabel';
import { Dropdown } from 'primereact/dropdown'; import { Dropdown } from 'primereact/dropdown';
import { Tag } from 'primereact/tag'; import { Tag } from 'primereact/tag';
import { Calendar } from 'primereact/calendar'; import { Calendar } from 'primereact/calendar';
import { storeGet } from '../../../../store';
const LatestBandiTableAsync = () => { const LatestBandiTableAsync = () => {
const [localAsyncRequest, setLocalAsyncRequest] = useState(false); const [localAsyncRequest, setLocalAsyncRequest] = useState(false);
@@ -170,15 +169,8 @@ const LatestBandiTableAsync = () => {
useEffect(() => { useEffect(() => {
setLocalAsyncRequest(true); setLocalAsyncRequest(true);
const paginationQuery = getPaginationQuery(); const paginationQuery = getPaginationQuery();
const role = storeGet('getRole');
if (role === 'ROLE_CONFIDI') { BandoService.getBandiPaginated(paginationQuery, getCallback, errGetCallbacks);
BandoService.getBandiPaginated(paginationQuery, getCallback, errGetCallbacks, [
['onlyConfidiCall', true]
]);
} else {
BandoService.getBandiPaginated(paginationQuery, getCallback, errGetCallbacks);
}
}, [lazyState]); }, [lazyState]);
return ( return (

View File

@@ -4,6 +4,9 @@ import { Link } from 'react-router-dom';
import translationStrings from '../../../../translationStringsForComponents'; import translationStrings from '../../../../translationStringsForComponents';
// store
import { storeGet, useStoreValue } from '../../../../store';
// api // api
import BandoService from '../../../../service/bando-service'; import BandoService from '../../../../service/bando-service';
import PreferredBandoService from '../../../../service/preferred-bando-service'; import PreferredBandoService from '../../../../service/preferred-bando-service';
@@ -26,9 +29,9 @@ import { Dropdown } from 'primereact/dropdown';
import { Tag } from 'primereact/tag'; import { Tag } from 'primereact/tag';
import { Calendar } from 'primereact/calendar'; import { Calendar } from 'primereact/calendar';
import { isNil } from 'ramda'; import { isNil } from 'ramda';
import { storeGet } from '../../../../store';
const LatestBandiBeneficiarioTableAsync = () => { const LatestBandiBeneficiarioTableAsync = () => {
const chosenCompanyId = useStoreValue('chosenCompanyId');
const [localAsyncRequest, setLocalAsyncRequest] = useState(false); const [localAsyncRequest, setLocalAsyncRequest] = useState(false);
const [items, setItems] = useState(null); const [items, setItems] = useState(null);
const [totalRecordsNum, setTotalRecordsNum] = useState(0); const [totalRecordsNum, setTotalRecordsNum] = useState(0);
@@ -197,9 +200,19 @@ const LatestBandiBeneficiarioTableAsync = () => {
useEffect(() => { useEffect(() => {
setLocalAsyncRequest(true); setLocalAsyncRequest(true);
const paginationQuery = getPaginationQuery(); const paginationQuery = getPaginationQuery();
const role = storeGet('getRole');
BandoService.getBandiPaginated(paginationQuery, getCallback, errGetCallbacks); if (role === 'ROLE_CONFIDI') {
}, [lazyState]); BandoService.getBandiPaginated(paginationQuery, getCallback, errGetCallbacks, [
['companyId', chosenCompanyId],
['onlyConfidiCall', true]
]);
} else {
BandoService.getBandiPaginated(paginationQuery, getCallback, errGetCallbacks, [
['companyId', chosenCompanyId]
]);
}
}, [lazyState, chosenCompanyId]);
return ( return (
<div className="appPageSection__table"> <div className="appPageSection__table">

View File

@@ -33,7 +33,7 @@ const LatestBandiTable = () => {
useEffect(() => { useEffect(() => {
setLoading(true); setLoading(true);
const role = storeGet('getRole') const role = storeGet('getRole');
if (role === 'ROLE_CONFIDI') { if (role === 'ROLE_CONFIDI') {
BandoService.getBandi(getCallback, errGetCallbacks, [ BandoService.getBandi(getCallback, errGetCallbacks, [

View File

@@ -31,7 +31,6 @@ import { ProgressBar } from 'primereact/progressbar';
const MyLatestSubmissionsTableAsync = () => { const MyLatestSubmissionsTableAsync = () => {
const chosenCompanyId = useStoreValue('chosenCompanyId'); const chosenCompanyId = useStoreValue('chosenCompanyId');
const companies = useStoreValue('companies');
const [localAsyncRequest, setLocalAsyncRequest] = useState(false); const [localAsyncRequest, setLocalAsyncRequest] = useState(false);
const [items, setItems] = useState(null); const [items, setItems] = useState(null);
const [totalRecordsNum, setTotalRecordsNum] = useState(0); const [totalRecordsNum, setTotalRecordsNum] = useState(0);
@@ -194,13 +193,15 @@ const MyLatestSubmissionsTableAsync = () => {
}; };
useEffect(() => { useEffect(() => {
setLocalAsyncRequest(true); if (chosenCompanyId && chosenCompanyId !== 0) {
const paginationQuery = getPaginationQuery(); setLocalAsyncRequest(true);
const paginationQuery = getPaginationQuery();
ApplicationService.getApplicationsPaginated(paginationQuery, getCallback, errGetCallbacks, [ ApplicationService.getApplicationsPaginated(paginationQuery, getCallback, errGetCallbacks, [
['companyId', chosenCompanyId] ['companyId', chosenCompanyId]
]); ]);
}, [lazyState, chosenCompanyId, companies]); }
}, [lazyState, chosenCompanyId]);
return ( return (
<div className="appPageSection__table"> <div className="appPageSection__table">

View File

@@ -14,7 +14,7 @@ import DashboardService from '../../service/dashboard-service';
import { Button } from 'primereact/button'; import { Button } from 'primereact/button';
import ErrorBoundary from '../../components/ErrorBoundary'; import ErrorBoundary from '../../components/ErrorBoundary';
import MyLatestSubmissionsTableAsync from '../DashboardBeneficiario/components/MyLatestSubmissionsTableAsync'; import MyLatestSubmissionsTableAsync from '../DashboardBeneficiario/components/MyLatestSubmissionsTableAsync';
import LatestBandiTableAsync from '../Dashboard/components/LatestBandiTableAsync'; import LatestBandiBeneficiarioTableAsync from '../DashboardBeneficiario/components/LatestBandiBeneficiarioTableAsync';
const DashboardBeneficiarioConfidi = () => { const DashboardBeneficiarioConfidi = () => {
const navigate = useNavigate(); const navigate = useNavigate();
@@ -108,7 +108,7 @@ const DashboardBeneficiarioConfidi = () => {
<div className="appPageSection"> <div className="appPageSection">
<h2>{__('Bandi disponibili', 'gepafin')}</h2> <h2>{__('Bandi disponibili', 'gepafin')}</h2>
<ErrorBoundary><LatestBandiTableAsync/></ErrorBoundary> <ErrorBoundary><LatestBandiBeneficiarioTableAsync/></ErrorBoundary>
</div> </div>
<div className="appPage__spacer"></div> <div className="appPage__spacer"></div>