- saving;
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import React, { useEffect, useState, useCallback, useRef } from 'react';
|
||||
import { __, sprintf } from '@wordpress/i18n';
|
||||
import { useNavigate, useParams } from 'react-router-dom';
|
||||
import { isEmpty, head, pathOr } from 'ramda';
|
||||
import { isEmpty, head, pathOr, isNil } from 'ramda';
|
||||
|
||||
// store
|
||||
import { storeGet, storeSet, useStore } from '../../store';
|
||||
@@ -27,13 +27,13 @@ const BandoFlowEdit = () => {
|
||||
const flowData = useStore().main.flowData();
|
||||
const flowEdges = useStore().main.flowEdges();
|
||||
const [formOptions, setFormOptions] = useState([]);
|
||||
const [initialForm, setInitialForm] = useState(0);
|
||||
const [initialForm, setInitialForm] = useState(null);
|
||||
const [chosenMainFieldOptions, setChosenMainFieldOptions] = useState([]);
|
||||
const [chosenMainField, setChosenMainField] = useState('');
|
||||
const [mainFieldSuboptions, setMainFieldSubOptions] = useState([]);
|
||||
const [bandoStatus, setBandoStatus] = useState('');
|
||||
const [isFlowAllowed, setIsFlowAllowed] = useState(true);
|
||||
const [finalForm, setFinalForm] = useState(0);
|
||||
const [finalForm, setFinalForm] = useState(null);
|
||||
const flowMsgs = useRef(null);
|
||||
const toast = useRef(null);
|
||||
const [lines, setLines] = useState([]);
|
||||
@@ -70,7 +70,7 @@ const BandoFlowEdit = () => {
|
||||
}
|
||||
storeSet.main.flowData([]);
|
||||
storeSet.main.flowEdges([]);
|
||||
setInitialForm(0);
|
||||
setInitialForm(null);
|
||||
setChosenMainFieldOptions([]);
|
||||
setChosenMainField('');
|
||||
setIsFlowAllowed(false);
|
||||
@@ -80,6 +80,7 @@ const BandoFlowEdit = () => {
|
||||
|
||||
const updateInitialForm = (value) => {
|
||||
if (value !== finalForm) {
|
||||
console.log('setInitialForm1')
|
||||
setInitialForm(value);
|
||||
if (forms.length === 2) {
|
||||
const finalForm = head(forms.filter(o => o.id !== value));
|
||||
@@ -191,6 +192,7 @@ const BandoFlowEdit = () => {
|
||||
if (data.status === 'SUCCESS' && data.data) {
|
||||
storeSet.main.flowData(data.data.flowData);
|
||||
storeSet.main.flowEdges(data.data.flowEdges);
|
||||
console.log('setInitialForm2')
|
||||
setInitialForm(data.data.initialForm);
|
||||
setFinalForm(data.data.finalForm);
|
||||
setBandoStatus(data.data.callStatus);
|
||||
@@ -210,7 +212,7 @@ const BandoFlowEdit = () => {
|
||||
const field = form ? head(form.content.filter(o => o.id === chosenFieldItem.chosenField)) : null;
|
||||
if (field) {
|
||||
const options = head(field.settings.filter(o => o.name === 'options'));
|
||||
console.log('suboptions1', options.value)
|
||||
console.log('suboptions1', options.value, data.data.initialForm)
|
||||
setMainFieldSubOptions(options.value);
|
||||
}
|
||||
}
|
||||
@@ -272,6 +274,38 @@ const BandoFlowEdit = () => {
|
||||
}
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
const isAsyncRequest = storeGet.main.isAsyncRequest();
|
||||
if ('PUBLISH' === bandoStatus || isAsyncRequest || isNil(initialForm)) {
|
||||
return;
|
||||
}
|
||||
storeSet.main.flowData([]);
|
||||
setChosenMainField('');
|
||||
console.log('suboptions3', [], initialForm)
|
||||
setMainFieldSubOptions([]);
|
||||
setChosenMainFieldOptions([]);
|
||||
const flowForms = storeGet.main.flowForms();
|
||||
const form = head(flowForms.filter(o => String(o.id) === String(initialForm)))
|
||||
const relevantFields = form
|
||||
? form.content
|
||||
.filter(o => ['radio', 'select'].includes(o.name))
|
||||
.map(o => {
|
||||
const label = head(o.settings.filter(o => o.name === 'label'));
|
||||
return { value: o.id, label: label ? label.value : o.label };
|
||||
})
|
||||
: [];
|
||||
setChosenMainFieldOptions([
|
||||
{ label: isEmpty(relevantFields) ? __('Nessun scelta', 'gepafin') : '', value: '' },
|
||||
...relevantFields]
|
||||
);
|
||||
|
||||
if (flowForms.length === 2) {
|
||||
setIsFlowAllowed(true)
|
||||
}
|
||||
|
||||
buildFlowEdges();
|
||||
}, [initialForm]);
|
||||
|
||||
useEffect(() => {
|
||||
const isAsyncRequest = storeGet.main.isAsyncRequest();
|
||||
if (isAsyncRequest) {
|
||||
@@ -296,7 +330,7 @@ const BandoFlowEdit = () => {
|
||||
{ label: __('Nessun scelta', 'gepafin'), name: '' },
|
||||
...options.value
|
||||
]
|
||||
console.log('suboptions2', suboptions)
|
||||
console.log('suboptions2', suboptions, initialForm)
|
||||
setMainFieldSubOptions(suboptions);
|
||||
const data = {
|
||||
formId: parseInt(initialForm),
|
||||
@@ -335,39 +369,7 @@ const BandoFlowEdit = () => {
|
||||
|
||||
useEffect(() => {
|
||||
const isAsyncRequest = storeGet.main.isAsyncRequest();
|
||||
if ('PUBLISH' === bandoStatus || isAsyncRequest) {
|
||||
return;
|
||||
}
|
||||
storeSet.main.flowData([]);
|
||||
setChosenMainField('');
|
||||
console.log('suboptions3', [], initialForm)
|
||||
setMainFieldSubOptions([]);
|
||||
setChosenMainFieldOptions([]);
|
||||
const flowForms = storeGet.main.flowForms();
|
||||
const form = head(flowForms.filter(o => String(o.id) === String(initialForm)))
|
||||
const relevantFields = form
|
||||
? form.content
|
||||
.filter(o => ['radio', 'select'].includes(o.name))
|
||||
.map(o => {
|
||||
const label = head(o.settings.filter(o => o.name === 'label'));
|
||||
return { value: o.id, label: label ? label.value : o.label };
|
||||
})
|
||||
: [];
|
||||
setChosenMainFieldOptions([
|
||||
{ label: isEmpty(relevantFields) ? __('Nessun scelta', 'gepafin') : '', value: '' },
|
||||
...relevantFields]
|
||||
);
|
||||
|
||||
if (flowForms.length === 2) {
|
||||
setIsFlowAllowed(true)
|
||||
}
|
||||
|
||||
buildFlowEdges();
|
||||
}, [initialForm]);
|
||||
|
||||
useEffect(() => {
|
||||
const isAsyncRequest = storeGet.main.isAsyncRequest();
|
||||
if (isAsyncRequest) {
|
||||
if (isAsyncRequest || isNil(finalForm)) {
|
||||
return;
|
||||
}
|
||||
if ('PUBLISH' === bandoStatus) {
|
||||
|
||||
Reference in New Issue
Block a user