- fixed detecting unsaved changes;
This commit is contained in:
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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))*/
|
||||||
|
|||||||
@@ -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]);
|
||||||
|
|||||||
@@ -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]);
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user