- fixed request for signed document in applications;

- added filter by status to the table of draft applications;
- temp reverted back to previous api for getting amendments;
This commit is contained in:
Vitalii Kiiko
2025-03-25 11:37:46 +01:00
parent 431b9f5b45
commit 34b079c9cc
12 changed files with 58 additions and 21 deletions

View File

@@ -16,6 +16,10 @@ import { Button } from 'primereact/button';
import ProperBandoLabel from '../../../../components/ProperBandoLabel';
import { Link } from 'react-router-dom';
import translationStrings from '../../../../translationStringsForComponents';
import { Dropdown } from 'primereact/dropdown';
import { Tag } from 'primereact/tag';
import getBandoLabel from '../../../../helpers/getBandoLabel';
import getBandoSeverity from '../../../../helpers/getBandoSeverity';
const DraftApplicationsTableAsync = () => {
const chosenCompanyId = useStore().main.chosenCompanyId();
@@ -31,7 +35,8 @@ const DraftApplicationsTableAsync = () => {
filters: {
id: { value: null, matchMode: 'contains' },
callTitle: { value: null, matchMode: 'contains' },
companyName: { value: null, matchMode: 'contains' }
companyName: { value: null, matchMode: 'contains' },
status: { value: null, matchMode: 'contains' }
}
});
const statuses = ['DRAFT', 'AWAITING', 'READY'];
@@ -120,6 +125,26 @@ const DraftApplicationsTableAsync = () => {
return <ProgressBar value={options.progress} color={'#64748B'}></ProgressBar>;
};
const statusItemTemplate = (option) => {
return <Tag value={getBandoLabel(option)} severity={getBandoSeverity(option)}/>;
};
const statusFilterTemplate = (options) => {
return <Dropdown value={options.value} options={statuses}
onChange={(e) => {
options.filterCallback(e.value, options.index)
const filters = { ...lazyState.filters };
if (e.value) {
filters['status'] = { value: e.value, matchMode: 'equals' };
} else {
delete filters['status'];
}
setLazyState({ ...lazyState, filters, first: 0 });
}}
itemTemplate={statusItemTemplate} placeholder={translationStrings.selectOneLabel} className="p-column-filter"
showClear/>;
};
const actionsBodyTemplate = (rowData) => {
return <Link to={`/domande/${rowData.id}/preview`}>
<Button severity="info" label={__('Anteprima', 'gepafin')} icon="pi pi-eye" size="small"
@@ -155,6 +180,8 @@ const DraftApplicationsTableAsync = () => {
filterPlaceholder={__('Cerca il nome', 'gepafin')}
style={{ minWidth: '8rem' }}/>
<Column field="status" header={__('Stato', 'gepafin')}
filterElement={statusFilterTemplate} filter
filterMatchModeOptions={translationStrings.statusFilterOptions}
style={{ minWidth: '7rem' }} body={statusBodyTemplate}/>
<Column header={__('Progressi', 'gepafin')}
style={{ minWidth: '10rem' }} field="progress" body={progressBodyTemplate}/>