- added evaluation related 'resend emails' buttons;

This commit is contained in:
Vitalii Kiiko
2025-05-13 17:16:45 +02:00
parent 25ec77151a
commit 44a914f343
4 changed files with 110 additions and 30 deletions

View File

@@ -26,6 +26,7 @@ import { Calendar } from 'primereact/calendar';
import { Button } from 'primereact/button';
import { Link, useNavigate } from 'react-router-dom';
import getQueryParamsForPaginatedEndpoint from '../../../../helpers/getQueryParamsForPaginatedEndpoint';
import SoccorsoResendEmails from '../../../SoccorsoEditPreInstructor/components/SoccorsoResendEmails';
const APP_HUB_ID = process.env.REACT_APP_HUB_ID;
@@ -73,7 +74,8 @@ const DomandeTablePreInstructorAsync = ({ userId = null, statuses = [] }) => {
const getCallback = (resp) => {
if (resp.status === 'SUCCESS') {
const { body, totalRecords,
const {
body, totalRecords,
//currentPage, totalPages, pageSize
} = resp.data;
setTotalRecordsNum(totalRecords);
@@ -114,7 +116,8 @@ const DomandeTablePreInstructorAsync = ({ userId = null, statuses = [] }) => {
}
setLazyState({ ...lazyState, filters, first: 0 });
}}
itemTemplate={statusItemTemplate} placeholder={translationStrings.selectOneLabel} className="p-column-filter"/>;
itemTemplate={statusItemTemplate} placeholder={translationStrings.selectOneLabel}
className="p-column-filter"/>;
};
const dateFilterTemplate = (options) => {
@@ -130,16 +133,30 @@ const DomandeTablePreInstructorAsync = ({ userId = null, statuses = [] }) => {
return getFormattedDateString(rowData.evaluationEndDate);
};
const updateRowData = useCallback((id, updateResponse) => {
const newItems = items.map((o) => {
if (o.id === id) {
o.emailSendResponse = updateResponse;
}
return o;
})
setItems(newItems);
}, [items]);
const actionsBodyTemplate = (rowData) => {
console.log('status', rowData.status)
if (rowData.status === 'AWAITING') {
return <Button
severity="info"
onClick={() => handleInitiateEvaluation(rowData.id)}
label={__('Valuta', 'gepafin')}
icon="pi pi-eye"
size="small"
iconPos="right"/>
return <div className="appPageSection__tableActions lessGap">
<Button
severity="info"
onClick={() => handleInitiateEvaluation(rowData.id)}
label={__('Valuta', 'gepafin')}
icon="pi pi-eye"
size="small"
iconPos="right"/>
<SoccorsoResendEmails
emailsData={rowData.emailSendResponse}
setDataEmailsSoccorso={(updateResponse) => updateRowData(rowData.id, updateResponse)}/>
</div>
} else {
const label = ['OPEN', 'SOCCORSO'].includes(rowData.status) && userData.id === rowData.userId
? __('Valuta', 'gepafin')
@@ -151,13 +168,16 @@ const DomandeTablePreInstructorAsync = ({ userId = null, statuses = [] }) => {
</Link>
{rowData.applicationStatus === 'REJECTED' && (
<Button
severity='success'
severity="success"
label={__('Riammetti', 'gepafin')}
icon='pi pi-arrow-circle-up'
icon="pi pi-arrow-circle-up"
size="small"
iconPos="right"
/>
)}
<SoccorsoResendEmails
emailsData={rowData.emailSendResponse}
setDataEmailsSoccorso={(updateResponse) => updateRowData(rowData.id, updateResponse)}/>
</div>
)
}
@@ -206,7 +226,8 @@ const DomandeTablePreInstructorAsync = ({ userId = null, statuses = [] }) => {
const renderHeader = () => {
return (
<div className="flex justify-content-between">
<Button type="button" icon="pi pi-filter-slash" label={__('Pulisci', 'gepafin')} outlined onClick={clearFilter} />
<Button type="button" icon="pi pi-filter-slash" label={__('Pulisci', 'gepafin')} outlined
onClick={clearFilter}/>
</div>
);
};
@@ -282,7 +303,7 @@ const DomandeTablePreInstructorAsync = ({ userId = null, statuses = [] }) => {
style={{ minWidth: '7rem' }} body={statusBodyTemplate}
filter
filterMatchModeOptions={translationStrings.statusFilterOptions}
filterElement={statusFilterTemplate} />
filterElement={statusFilterTemplate}/>
<Column header={__('Azioni', 'gepafin')}
body={actionsBodyTemplate}/>
</DataTable>