- merged with develop;

This commit is contained in:
Vitalii Kiiko
2024-11-15 17:18:27 +01:00
28 changed files with 247 additions and 127 deletions

View File

@@ -1,10 +1,10 @@
import React, { useState, useEffect } from 'react';
import { __ } from '@wordpress/i18n';
import { uniq, isNil } from 'ramda';
import { uniq, isEmpty, isNil } from 'ramda';
import { Link } from 'react-router-dom';
// store
import { storeGet } from '../../../../store';
import { storeGet, useStore } from '../../../../store';
// api
import BandoService from '../../../../service/bando-service';
@@ -24,6 +24,7 @@ import set404FromErrorResponse from '../../../../helpers/set404FromErrorResponse
const LatestBandiTable = () => {
const chosenCompanyId = useStore().main.chosenCompanyId();
const [items, setItems] = useState(null);
const [filters, setFilters] = useState(null);
const [loading, setLoading] = useState(false);
@@ -192,16 +193,10 @@ const LatestBandiTable = () => {
onClick={() => addToFavourites(rowData.id, rowData.preferredCallId)}>
<i className="pi pi-heart" style={{ fontSize: '1rem' }}></i>
</button>
{rowData.confidi
? <Link to={`/bandi/${rowData.id}`}>
<Button severity="info" label={__('Mostra', 'gepafin')} icon="pi pi-eye" size="small"
iconPos="right"/>
</Link>
: <Link to={`/bandi/${rowData.id}`}>
<Button severity="info" label={__('Partecipa', 'gepafin')} icon="pi pi-arrow-right" size="small"
iconPos="right"/>
</Link>}
</div>
<Link to={`/bandi/${rowData.id}`}>
<Button severity="info" label={__('Partecipa', 'gepafin')} icon="pi pi-arrow-right" size="small"
iconPos="right"/>
</Link></div>
}
const header = renderHeader();
@@ -224,9 +219,10 @@ const LatestBandiTable = () => {
style={{ minWidth: '8rem' }}
body={dateEndBodyTemplate} filter filterElement={dateFilterTemplate}/>
<Column field="status" header={__('Stato', 'gepafin')}
style={{ minWidth: '7rem' }} body={statusBodyTemplate}/>
<Column header={__('Azioni', 'gepafin')}
body={actionsBodyTemplate}/>
style={{ minWidth: '7rem' }} body={statusBodyTemplate} />
{!isEmpty(chosenCompanyId) && chosenCompanyId !== 0
? <Column header={__('Azioni', 'gepafin')}
body={actionsBodyTemplate}/> : null}
</DataTable>
</div>
)

View File

@@ -1,6 +1,6 @@
import React, { useState, useEffect } from 'react';
import { __ } from '@wordpress/i18n';
import { uniq, is } from 'ramda';
import { uniq, is, isEmpty } from 'ramda';
// tools
import getBandoLabel from '../../../../helpers/getBandoLabel';
@@ -36,11 +36,13 @@ const MyLatestSubmissionsTable = () => {
const [statuses, setStatuses] = useState([]);
useEffect(() => {
setLocalAsyncRequest(true);
ApplicationService.getApplications(getApplCallback, errGetApplCallback, [
['companyId', chosenCompanyId],
['statuses', ['DRAFT', 'AWAITING', 'READY']]
])
if (!isEmpty(chosenCompanyId) && chosenCompanyId !== 0) {
setLocalAsyncRequest(true);
ApplicationService.getApplications(getApplCallback, errGetApplCallback, [
['companyId', chosenCompanyId],
['statuses', ['DRAFT', 'AWAITING', 'READY']]
]);
}
}, [chosenCompanyId]);
const getApplCallback = (data) => {

View File

@@ -1,7 +1,7 @@
import React, { useEffect, useState } from 'react';
import { __ } from '@wordpress/i18n';
import { useNavigate } from 'react-router-dom';
import { head, pathOr } from 'ramda';
import { __, sprintf } from '@wordpress/i18n';
import { Link, useNavigate } from 'react-router-dom';
import { head, isEmpty, pathOr } from 'ramda';
import NumberFlow from '@number-flow/react';
// store
@@ -35,7 +35,8 @@ const DashboardBeneficiario = () => {
}
}
const errGetStats = () => {}
const errGetStats = () => {
}
useEffect(() => {
const existingCompany = head(companies.filter(o => o.id === chosenCompanyId));
@@ -45,7 +46,7 @@ const DashboardBeneficiario = () => {
}
}, [companies, chosenCompanyId]);
return(
return (
<div className="appPage">
<div className="appPage__pageHeader">
<h1>{__('Dashboard', 'gepafin')}</h1>
@@ -61,21 +62,21 @@ const DashboardBeneficiario = () => {
<span><NumberFlow
value={getStatValue('numberOfApplications', 0)}
format={{ notation: 'compact' }}
locales="it-IT" /></span>
locales="it-IT"/></span>
</div>
<div className="statsBigBadges__gridItem">
<span>{__('Bandi osservati', 'gepafin')}</span>
<span><NumberFlow
value={getStatValue('numberOfCalls', 0)}
format={{ notation: 'compact' }}
locales="it-IT" /></span>
locales="it-IT"/></span>
</div>
<div className="statsBigBadges__gridItem">
<span>{__('Documenti da integrare', 'gepafin')}</span>
<span><NumberFlow
value={getStatValue('numberOfIntegratedDocuments', 0)}
format={{ notation: 'compact' }}
locales="it-IT" /></span>
locales="it-IT"/></span>
</div>
</div>
</div>
@@ -89,6 +90,19 @@ const DashboardBeneficiario = () => {
<div className="appPage__spacer"></div>
{isEmpty(chosenCompanyId) || chosenCompanyId === 0
? <>
<div className="appPageSection__message warning">
<i className="pi pi-exclamation-triangle"></i>
<span className="summary">{__('Attenzione', 'gepafin')}</span>
<span>
{__('Per applicare ai bandi devi Registare un Azienda clicca', 'gepafin')}
<Link to={`/agguingi-azienda`} style={{marginLeft: '0.5ch'}}>{__('qua', 'gepafin')}</Link>
</span>
</div>
<div className="appPage__spacer"></div>
</> : null}
<div className="appPageSection">
<h2>{__('Bandi disponibili', 'gepafin')}</h2>
<LatestBandiTable/>