- saving progress;

This commit is contained in:
Vitalii Kiiko
2024-12-16 15:13:41 +01:00
parent 9789f5a07a
commit ea2b46ddfe
5 changed files with 102 additions and 64 deletions

View File

@@ -26,6 +26,7 @@ import { Dialog } from 'primereact/dialog';
import FormField from '../../components/FormField';
import SoccorsoComunications from '../SoccorsoEditPreInstructor/components/SoccorsoComunications';
import RepeaterFields from '../DomandaEditPreInstructor/components/RepeaterFields';
import { wrap } from 'object-path-immutable';
const DomandaBeneficiario = () => {
const isAsyncRequest = useStore().main.isAsyncRequest();
@@ -169,6 +170,11 @@ const DomandaBeneficiario = () => {
storeSet.main.unsetAsyncRequest();
}
const updateNewAmendmentData = (value, path) => {
const newData = wrap(data).set(path, value).value();
setData(newData);
}
useEffect(() => {
if (formInitialData) {
//reset();
@@ -277,9 +283,9 @@ const DomandaBeneficiario = () => {
{data.id
? <div className="appPageSection">
<h2>{__('Documenti richiesti', 'gepafin')}</h2>
<RepeaterFields sourceId={id} sourceName="evaluation"/>
</div> : null}
<h2>{__('Comunicazioni', 'gepafin')}</h2>
<SoccorsoComunications amendmentId={data.id} soccorsoStatus={data.status}/>
</div> : null}
{data.id
? <div className="appPageSection">
@@ -292,7 +298,7 @@ const DomandaBeneficiario = () => {
disabled={data.status === 'CLOSE'}
type="fileupload"
setDataFn={setValue}
saveFormCallback={doUpdateAmendment}
/*saveFormCallback={doUpdateAmendment}*/
fieldName={o.fieldId}
label={o.label}
control={control}
@@ -307,18 +313,25 @@ const DomandaBeneficiario = () => {
}) : null}
</form>
<ol className="appPageSection__list">
{data.formFields
? data.formFields.map((o, i) => <li key={o.fieldId}
style={{ flexDirection: 'row' }}>
<span>{o.label}</span>
</li>) : null}
</ol>
{data.formFields
? data.formFields.map((o, i) => <li key={o.fieldId}
style={{ flexDirection: 'row' }}>
<span>{o.label}</span>
</li>) : null}
</ol>
</div> : null}
{data.id
? <div className="appPageSection">
<h2>{__('Comunicazioni', 'gepafin')}</h2>
<SoccorsoComunications amendmentId={data.id} soccorsoStatus={data.status}/>
<h2>{__('Documenti aggiuntivi', 'gepafin')}</h2>
<RepeaterFields
defaultValue={data.amendmentDocuments ?? []}
updateFn={(data) => updateNewAmendmentData(
data,
['amendmentDocuments']
)}
sourceId={data.id}
sourceName="evaluation"/>
</div> : null}
{data.id
@@ -337,6 +350,12 @@ const DomandaBeneficiario = () => {
onClick={() => setIsVisibleEmailDialog(true)}
label={__('Invia documenti via PEC', 'gepafin')}
icon="pi pi-envelope" iconPos="right"/> : null}
<Button
type="button"
disabled={isAsyncRequest}
onClick={doUpdateAmendment}
label={__('Salva', 'gepafin')}
icon="pi pi-save" iconPos="right"/>
<Button
type="button"
outlined