- fixed detecting unsaved changes;

This commit is contained in:
Vitalii Kiiko
2024-11-18 13:50:47 +01:00
parent e5031006c6
commit 0534b7cd0a
5 changed files with 14 additions and 7 deletions

View File

@@ -78,6 +78,7 @@ const TopBarProfileMenu = ({ menuLeftRef }) => {
icon: 'pi pi-sign-out', icon: 'pi pi-sign-out',
command: () => { command: () => {
storeSet.main.doLogout(); storeSet.main.doLogout();
window.location.reload();
}, },
enable: true enable: true
} }

View File

@@ -26,6 +26,7 @@ const UnsavedChangesDetector = ({ getValuesFn }) => {
} }
formData = wrap(formData).insert(['dates'], starDate, 0).value(); formData = wrap(formData).insert(['dates'], starDate, 0).value();
delete formData.startDate;
} }
if (formData.endDate) { if (formData.endDate) {
let endDate; let endDate;
@@ -38,6 +39,7 @@ const UnsavedChangesDetector = ({ getValuesFn }) => {
} }
formData = wrap(formData).insert(['dates'], endDate, 1).value(); formData = wrap(formData).insert(['dates'], endDate, 1).value();
delete formData.endDate;
} }
if (!isNil(formData.startTime)) { if (!isNil(formData.startTime)) {
if (!is(String, formData.startTime)) { if (!is(String, formData.startTime)) {
@@ -54,7 +56,7 @@ const UnsavedChangesDetector = ({ getValuesFn }) => {
const initial = storeGet.main.formInitialData(); const initial = storeGet.main.formInitialData();
const isEqual = equal(initial, formData); const isEqual = equal(initial, formData);
// TODO // debug
/*console.log('isEqual', isEqual, /*console.log('isEqual', isEqual,
initial, formData, initial, formData,
diff(initial, formData))*/ diff(initial, formData))*/

View File

@@ -27,7 +27,7 @@ import { storeSet } from '../../../../store';
import set404FromErrorResponse from '../../../../helpers/set404FromErrorResponse'; import set404FromErrorResponse from '../../../../helpers/set404FromErrorResponse';
import getTimeParsedFromString from '../../../../helpers/getTimeParsedFromString'; import getTimeParsedFromString from '../../../../helpers/getTimeParsedFromString';
const BandoEditFormStep1 = forwardRef(function ({ initialData, getFormErrors, status }, ref) { const BandoEditFormStep1 = forwardRef(function ({ initialData, setInitialData, getFormErrors, status }, ref) {
const navigate = useNavigate(); const navigate = useNavigate();
const [aimedToOptions, setAimedToOptions] = useState([]); const [aimedToOptions, setAimedToOptions] = useState([]);
const [faqOptions, setFaqOptions] = useState([]); const [faqOptions, setFaqOptions] = useState([]);
@@ -86,7 +86,6 @@ const BandoEditFormStep1 = forwardRef(function ({ initialData, getFormErrors, st
formData.startTime = tzAwareDate.toISOString().substring(11, 16); formData.startTime = tzAwareDate.toISOString().substring(11, 16);
} }
} }
if (!isNil(formData.endTime)) { if (!isNil(formData.endTime)) {
if (!is(String, formData.endTime)) { if (!is(String, formData.endTime)) {
const tzAwareDate = new TZDate(formData.endTime, 'Europe/Berlin'); const tzAwareDate = new TZDate(formData.endTime, 'Europe/Berlin');
@@ -120,6 +119,7 @@ const BandoEditFormStep1 = forwardRef(function ({ initialData, getFormErrors, st
navigate(`/bandi/${data.data.id}`); navigate(`/bandi/${data.data.id}`);
} else { } else {
setFormInitialData(data.data); setFormInitialData(data.data);
setInitialData(data.data);
} }
} }
} }
@@ -202,6 +202,7 @@ const BandoEditFormStep1 = forwardRef(function ({ initialData, getFormErrors, st
}, [errors, isValid]); }, [errors, isValid]);
useEffect(() => { useEffect(() => {
console.log('here1')
storeSet.main.formInitialData(initialData); storeSet.main.formInitialData(initialData);
setFormInitialData(initialData); setFormInitialData(initialData);
}, [initialData]); }, [initialData]);

View File

@@ -24,7 +24,7 @@ import getTimeParsedFromString from '../../../../helpers/getTimeParsedFromString
import { mimeTypes } from '../../../../configData'; import { mimeTypes } from '../../../../configData';
import { wrap } from 'object-path-immutable'; import { wrap } from 'object-path-immutable';
const BandoEditFormStep2 = forwardRef(function ({ initialData, getFormErrors, status }, ref) { const BandoEditFormStep2 = forwardRef(function ({ initialData, setInitialData, getFormErrors, status }, ref) {
const navigate = useNavigate(); const navigate = useNavigate();
const [criteriaOptions, setCriteriaOptions] = useState([]); const [criteriaOptions, setCriteriaOptions] = useState([]);
const [checklistOptions, setChecklistOptions] = useState([]); const [checklistOptions, setChecklistOptions] = useState([]);
@@ -108,7 +108,7 @@ const BandoEditFormStep2 = forwardRef(function ({ initialData, getFormErrors, st
}); });
const newFormData = {...formInitialData, ...data.data}; const newFormData = {...formInitialData, ...data.data};
setFormInitialData(newFormData); setFormInitialData(newFormData);
storeSet.main.formInitialData(newFormData); setInitialData(newFormData);
} }
} }
@@ -174,6 +174,7 @@ const BandoEditFormStep2 = forwardRef(function ({ initialData, getFormErrors, st
}, [errors, isValid]); }, [errors, isValid]);
useEffect(() => { useEffect(() => {
console.log('here2')
storeSet.main.formInitialData(initialData); storeSet.main.formInitialData(initialData);
setFormInitialData(initialData); setFormInitialData(initialData);
}, [initialData]); }, [initialData]);

View File

@@ -288,9 +288,11 @@ const BandoEdit = () => {
{!isEmpty(data) {!isEmpty(data)
? <> ? <>
{activeStep === 0 {activeStep === 0
? <BandoEditFormStep1 initialData={data} ref={formRef} status={data.status}/> : null} ? <BandoEditFormStep1 initialData={data} setInitialData={setData} ref={formRef} status={data.status}/>
: null}
{activeStep === 1 {activeStep === 1
? <BandoEditFormStep2 initialData={data} ref={formRef} status={data.status}/> : null} ? <BandoEditFormStep2 initialData={data} setInitialData={setData} ref={formRef} status={data.status}/>
: null}
<div className="appPageSection"> <div className="appPageSection">
<h2>{__('Crea o modifica il Form compilabile dal Beneficiario', 'gepafin')}</h2> <h2>{__('Crea o modifica il Form compilabile dal Beneficiario', 'gepafin')}</h2>