- added buttons of 'resend emails' to single amendment page;

- added the same bttons to amendments table;
This commit is contained in:
Vitalii Kiiko
2025-05-13 10:10:57 +02:00
parent d92c0f45a3
commit 8e28f4355b
6 changed files with 139 additions and 7 deletions

View File

@@ -1,7 +1,7 @@
import React, { useState, useEffect, useRef, useMemo } from 'react';
import React, { useState, useEffect, useRef, useMemo, useCallback } from 'react';
import { __ } from '@wordpress/i18n';
import { useNavigate, useParams } from 'react-router-dom';
import { is, isEmpty } from 'ramda';
import { is, isEmpty, isNil, pathOr } from 'ramda';
import { wrap } from 'object-path-immutable';
import { klona } from 'klona';
import { useForm } from 'react-hook-form';
@@ -28,6 +28,7 @@ import FormField from '../../components/FormField';
import { Editor } from 'primereact/editor';
import { InputNumber } from 'primereact/inputnumber';
import SoccorsoComunications from './components/SoccorsoComunications';
import SoccorsoResendEmails from './components/SoccorsoResendEmails';
const SoccorsoEditPreInstructor = () => {
@@ -43,6 +44,7 @@ const SoccorsoEditPreInstructor = () => {
const [internalNote, setInternalNote] = useState('');
const toast = useRef(null);
const [formInitialData, setFormInitialData] = useState({});
const emailSendResponse = pathOr([], ['emailSendResponse'], data);
const {
control,
handleSubmit,
@@ -346,6 +348,11 @@ const SoccorsoEditPreInstructor = () => {
setIsLoadingReminding(false);
}
const updateEmailSendResponses = useCallback((newEmailData) => {
const newData = wrap(data).set(['emailSendResponse'], newEmailData).value();
setData(newData);
}, [data]);
useEffect(() => {
if (formInitialData) {
Object.keys(formInitialData).map(k => setValue(k, formInitialData[k]));
@@ -506,7 +513,8 @@ const SoccorsoEditPreInstructor = () => {
<Button
type="button"
onClick={sendReminder}
disabled={isLoadingReminding || ['CLOSE', 'EXPIRED'].includes(data.status)}
disabled={isLoadingReminding || ['CLOSE', 'EXPIRED'].includes(data.status)
|| (!isNil(emailSendResponse) && !isEmpty(emailSendResponse))}
outlined
label={__('Invia Sollecito', 'gepafin')}
icon="pi pi-send"
@@ -532,6 +540,11 @@ const SoccorsoEditPreInstructor = () => {
label={__('Chiudi Soccorso Istruttorio', 'gepafin')}
icon="pi pi-times" iconPos="right"/>
</div>
<div className="appPageSection__actions">
<SoccorsoResendEmails
emailsData={emailSendResponse}
setDataEmailsSoccorso={updateEmailSendResponses}/>
</div>
</div>
</div>