- updated styles for disabled icons;

- added checks for disabled/enabled buttons;
- fixed displaying the date of assignment;
This commit is contained in:
Vitalii Kiiko
2024-12-06 11:32:24 +01:00
parent 1ad1cc19bc
commit 26a6c2a2b1
3 changed files with 37 additions and 8 deletions

View File

@@ -54,6 +54,9 @@ const DomandaEditPreInstructor = () => {
const [operationType, setOperationType] = useState('');
const [motivation, setMotivation] = useState('');
const [isVisibleAppointmentDialog, setIsVisibleAppointmentDialog] = useState(false);
const [allFilesRated, setAllFilesRated] = useState(false);
const [atLeastOneChecked, setAtLeastOneChecked] = useState(false);
const [allChecksChecked, setAllChecksChecked] = useState(false);
const [appointmentData, setAppointmentData] = useState({
title: '',
text: '',
@@ -65,6 +68,22 @@ const DomandaEditPreInstructor = () => {
navigate('/domande');
}
const updateFlagsForSoccorso = (data) => {
if (data.files) {
const nonRatedFiles = data.files
.map(el => el.valid)
.filter(v => isNil(v));
setAllFilesRated(nonRatedFiles.length === 0);
}
if (data.checklist) {
const checkedChecklistItems = data.checklist
.map(el => el.valid)
.filter(v => v);
setAtLeastOneChecked(checkedChecklistItems.length > 0);
setAllChecksChecked(checkedChecklistItems.length === data.checklist.length)
}
}
const doNewSoccorso = () => {
if (connectedSoccorsoId !== 0) {
doSaveDraft(`/domande/${id}/soccorso/${connectedSoccorsoId}`)
@@ -77,6 +96,7 @@ const DomandaEditPreInstructor = () => {
if (data.status === 'SUCCESS') {
setData(getFormattedData(data.data));
setMotivation(data.data.motivation);
updateFlagsForSoccorso(data.data);
}
storeSet.main.unsetAsyncRequest();
}
@@ -129,6 +149,7 @@ const DomandaEditPreInstructor = () => {
const newData = wrap(data).set(pathEls, finalValue).value();
setData(newData);
updateFlagsForSoccorso(newData);
}
const doSaveDraft = (doRedirect = '') => {
@@ -466,9 +487,13 @@ const DomandaEditPreInstructor = () => {
<span>{__('Data ricezione', 'gepafin')}</span>
<span>{getDateFromISOstring(data.submissionDate)}</span>
</p>
<p className="appPageSection__pMeta">
<span>{__('Data assegnazione', 'gepafin')}</span>
<span>{getDateFromISOstring(data.assignedAt)}</span>
</p>
<p className="appPageSection__pMeta">
<span>{__('Scadenza Valutazione', 'gepafin')}</span>
<span>{getDateFromISOstring(data.callEndDate)}</span>
<span>{getDateFromISOstring(data.evaluationEndDate)}</span>
</p>
<p className="appPageSection__pMeta">
<span>{__('Stato', 'gepafin')}</span>
@@ -479,7 +504,7 @@ const DomandaEditPreInstructor = () => {
<div className="appPageSection">
<h2>{__('Scarica documenti della domanda', 'gepafin')}</h2>
<div className="appPageSection__row autoFlow">
<DownloadApplicationArchive applicationId={id}/>
<DownloadApplicationArchive applicationId={id}/>
<DownloadSignedApplication applicationId={id}/>
<DownloadCompanyDelegation applicationId={id}/>
</div>
@@ -677,7 +702,7 @@ const DomandaEditPreInstructor = () => {
{['EVALUATION', 'SOCCORSO', 'CLOSE'].includes(data.applicationStatus)
? <Button
type="button"
disabled={!data.id || data.status === 'CLOSE'}
disabled={!data.id || data.status === 'CLOSE' || !allFilesRated || !atLeastOneChecked}
onClick={doNewSoccorso}
outlined
label={<>
@@ -705,7 +730,7 @@ const DomandaEditPreInstructor = () => {
{APP_EVALUATION_FLOW_ID === '1' && ['EVALUATION'].includes(data.applicationStatus)
? <Button
type="button"
disabled={!data.id}
disabled={!data.id || !allFilesRated || !allChecksChecked}
onClick={doCheckNDG}
label={__('Controlla NDG', 'gepafin')}
/> : null}