- temp fix: form field items from JS config;

- fixed displaying times for call;
- fixed reading saved flow;
This commit is contained in:
Vitalii Kiiko
2024-10-01 16:28:46 +02:00
parent fefba1acaf
commit b755c6e383
10 changed files with 62 additions and 13 deletions

View File

@@ -23,6 +23,8 @@ import { isEmail } from '../../../../helpers/validators';
// store
import { storeSet } from '../../../../store';
import set404FromErrorResponse from '../../../../helpers/set404FromErrorResponse';
import getTimeParsedFromString from '../../../../helpers/getTimeParsedFromString';
const BandoEditFormStep1 = forwardRef(function ({ initialData, getFormErrors, status }, ref) {
const navigate = useNavigate();
@@ -119,7 +121,7 @@ const BandoEditFormStep1 = forwardRef(function ({ initialData, getFormErrors, st
}
const errCreateCallback = (data) => {
console.log('errCreateCallback', data);
set404FromErrorResponse(data);
storeSet.main.unsetAsyncRequest();
}
@@ -194,6 +196,17 @@ const BandoEditFormStep1 = forwardRef(function ({ initialData, getFormErrors, st
if (!isNil(formInitialData.dates) && formInitialData.dates.length) {
newFormData.dates = formInitialData.dates.map(v => is(String, v) ? new Date(v) : (v ? v : ''));
}
if (!isNil(formInitialData.startTime) && !isEmpty(formInitialData.startTime)) {
newFormData.startTime = is(String, formInitialData.startTime)
? getTimeParsedFromString(formInitialData.startTime)
: formInitialData.startTime;
}
if (!isNil(formInitialData.endTime) && !isEmpty(formInitialData.endTime)) {
newFormData.endTime = is(String, formInitialData.endTime)
? getTimeParsedFromString(formInitialData.endTime)
: formInitialData.endTime;
}
Object.keys(newFormData).map(v => setValue(v, newFormData[v]));
}, [formInitialData]);

View File

@@ -20,6 +20,7 @@ import LookupdataService from '../../../../service/lookupdata-service';
// store
import { storeSet } from '../../../../store';
import getTimeParsedFromString from '../../../../helpers/getTimeParsedFromString';
const BandoEditFormStep2 = forwardRef(function ({ initialData, getFormErrors, status }, ref) {
const navigate = useNavigate();
@@ -186,6 +187,17 @@ const BandoEditFormStep2 = forwardRef(function ({ initialData, getFormErrors, st
if (!isNil(formInitialData.dates) && formInitialData.dates.length) {
newFormData.dates = formInitialData.dates.map(v => is(String, v) ? new Date(v) : (v ? v : ''));
}
if (!isNil(formInitialData.startTime) && !isEmpty(formInitialData.startTime)) {
newFormData.startTime = is(String, formInitialData.startTime)
? getTimeParsedFromString(formInitialData.startTime)
: formInitialData.startTime;
}
if (!isNil(formInitialData.endTime) && !isEmpty(formInitialData.endTime)) {
newFormData.endTime = is(String, formInitialData.endTime)
? getTimeParsedFromString(formInitialData.endTime)
: formInitialData.endTime;
}
Object.keys(newFormData).map(v => setValue(v, newFormData[v]));
}, [formInitialData]);

View File

@@ -252,6 +252,13 @@ const BandoFlowEdit = () => {
}
}, [forms]);
useEffect(() => {
const chosenFieldItem = head(flowData.filter(o => !isEmpty(o.chosenField)));
if (chosenFieldItem) {
setMainField(chosenFieldItem.chosenField);
}
}, [flowData])
useEffect(() => {
return () => {
storeSet.main.flowForms([]);
@@ -302,7 +309,7 @@ const BandoFlowEdit = () => {
placeholder={__('Scegli il campo', 'gepafin')}/>
</div> : null}
{forms.length > 2 && mainField && isFlowAllowed || forms.length === 2 && isFlowAllowed
{(forms.length > 2 && mainField && isFlowAllowed) || (forms.length === 2 && isFlowAllowed)
? <div className="appForm__field">
<label htmlFor="finalForm">{__('Scegli form finale', 'gepafin')}</label>
<Dropdown

View File

@@ -1,5 +1,6 @@
import React from 'react';
import { __ } from '@wordpress/i18n';
import { is } from 'ramda';
// components
import ElementSettingRepeater from '../ElementSettingRepeater';
@@ -39,14 +40,17 @@ const ElementSetting = ({ setting, changeFn, updateDataFn }) => {
};
const header = renderHeader();
console.log('setting', setting)
return <div className="formElementSettings__field" key={setting.name}>
<label htmlFor={setting.name}>{settingLabels[setting.name]}</label>
{setting.name === 'options'
? <ElementSettingRepeater value={setting.value} name={setting.name} setDataFn={updateDataFn}/>
? <ElementSettingRepeater
value={is(Array, setting.value) ? setting.value : []}
name={setting.name}
setDataFn={updateDataFn}/>
: setting.name === 'mime'
? <MultiSelect
value={setting.value}
value={is(Array, setting.value) ? setting.value : []}
onChange={(e) => updateDataFn(setting.name, e.value)}
options={mimeTypes}
optionLabel="name"

View File

@@ -45,9 +45,10 @@ const ElementSettingRepeater = ({
}, []);
useEffect(() => {
console.log('useEffect', [...stateFieldData])
setDataFn(name, [...stateFieldData]);
}, [stateFieldData])
console.log('stateFieldData', stateFieldData, value)
return (
<div className="formElementSettings__repeater">
{stateFieldData.map((o, i) => <div key={i} className="formElementSettings__repeaterItem">

View File

@@ -23,7 +23,7 @@ import FormsService from '../../service/forms-service';
import set404FromErrorResponse from '../../helpers/set404FromErrorResponse';
// TODO temp data
//import { elementItems } from '../../tempData';
import { elementItems } from '../../tempData';
const BandoFormsEdit = () => {
const { id, formId } = useParams();
@@ -208,8 +208,8 @@ const BandoFormsEdit = () => {
const getElementItemsCallback = (data) => {
if (data.status === 'SUCCESS') {
//storeSet.main.elementItems(elementItems.sort((a, b) => a.sortOrder - b.sortOrder));
storeSet.main.elementItems(data.data.sort((a, b) => a.sortOrder - b.sortOrder));
storeSet.main.elementItems(elementItems.sort((a, b) => a.sortOrder - b.sortOrder));
//storeSet.main.elementItems(data.data.sort((a, b) => a.sortOrder - b.sortOrder));
}
storeSet.main.unsetAsyncRequest();
}