From b755c6e3830da1e8f696b916fd1ed4b9b03aa11e Mon Sep 17 00:00:00 2001 From: Vitalii Kiiko Date: Tue, 1 Oct 2024 16:28:46 +0200 Subject: [PATCH] - temp fix: form field items from JS config; - fixed displaying times for call; - fixed reading saved flow; --- src/App.js | 2 +- src/helpers/getTimeParsedFromString.js | 9 +++++++++ src/index.js | 5 ++++- .../components/BandoEditFormStep1/index.js | 15 ++++++++++++++- .../components/BandoEditFormStep2/index.js | 12 ++++++++++++ src/pages/BandoFlowEdit/index.js | 9 ++++++++- .../components/ElementSetting/index.js | 10 +++++++--- .../components/ElementSettingRepeater/index.js | 3 ++- src/pages/BandoFormsEdit/index.js | 6 +++--- src/tempData.js | 4 ++-- 10 files changed, 62 insertions(+), 13 deletions(-) create mode 100644 src/helpers/getTimeParsedFromString.js diff --git a/src/App.js b/src/App.js index 5844a59..e43aab2 100644 --- a/src/App.js +++ b/src/App.js @@ -24,7 +24,7 @@ function App() { } } - const errCallback = () => { + const errCallback = (data) => { storeSet.main.doLogout(); storeSet.main.unsetAsyncRequest(); } diff --git a/src/helpers/getTimeParsedFromString.js b/src/helpers/getTimeParsedFromString.js new file mode 100644 index 0000000..0a688da --- /dev/null +++ b/src/helpers/getTimeParsedFromString.js @@ -0,0 +1,9 @@ +const getTimeParsedFromString = ( t ) => { + let d = new Date(); + const time = t.match( /(\d+)(?::(\d\d))?\s*(p?)/ ); + d.setHours( parseInt( time[1]) + (time[3] ? 12 : 0) ); + d.setMinutes( parseInt( time[2]) || 0 ); + return d; +} + +export default getTimeParsedFromString; \ No newline at end of file diff --git a/src/index.js b/src/index.js index be06d00..7396279 100644 --- a/src/index.js +++ b/src/index.js @@ -7,7 +7,10 @@ const rootEl = document.getElementById('root'); const rootReact = createRoot(rootEl); rootReact.render( + +); +/*rootReact.render( -); +);*/ diff --git a/src/pages/BandoEdit/components/BandoEditFormStep1/index.js b/src/pages/BandoEdit/components/BandoEditFormStep1/index.js index fa6e6cc..5d904db 100644 --- a/src/pages/BandoEdit/components/BandoEditFormStep1/index.js +++ b/src/pages/BandoEdit/components/BandoEditFormStep1/index.js @@ -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]); diff --git a/src/pages/BandoEdit/components/BandoEditFormStep2/index.js b/src/pages/BandoEdit/components/BandoEditFormStep2/index.js index 44a38d2..834f818 100644 --- a/src/pages/BandoEdit/components/BandoEditFormStep2/index.js +++ b/src/pages/BandoEdit/components/BandoEditFormStep2/index.js @@ -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]); diff --git a/src/pages/BandoFlowEdit/index.js b/src/pages/BandoFlowEdit/index.js index 6174512..9d8b744 100644 --- a/src/pages/BandoFlowEdit/index.js +++ b/src/pages/BandoFlowEdit/index.js @@ -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')}/> : null} - {forms.length > 2 && mainField && isFlowAllowed || forms.length === 2 && isFlowAllowed + {(forms.length > 2 && mainField && isFlowAllowed) || (forms.length === 2 && isFlowAllowed) ?
{ }; const header = renderHeader(); - +console.log('setting', setting) return
{setting.name === 'options' - ? + ? : setting.name === 'mime' ? updateDataFn(setting.name, e.value)} options={mimeTypes} optionLabel="name" diff --git a/src/pages/BandoFormsEdit/components/BuilderElementSettings/components/ElementSettingRepeater/index.js b/src/pages/BandoFormsEdit/components/BuilderElementSettings/components/ElementSettingRepeater/index.js index abb3ef1..b430902 100644 --- a/src/pages/BandoFormsEdit/components/BuilderElementSettings/components/ElementSettingRepeater/index.js +++ b/src/pages/BandoFormsEdit/components/BuilderElementSettings/components/ElementSettingRepeater/index.js @@ -45,9 +45,10 @@ const ElementSettingRepeater = ({ }, []); useEffect(() => { + console.log('useEffect', [...stateFieldData]) setDataFn(name, [...stateFieldData]); }, [stateFieldData]) - +console.log('stateFieldData', stateFieldData, value) return (
{stateFieldData.map((o, i) =>
diff --git a/src/pages/BandoFormsEdit/index.js b/src/pages/BandoFormsEdit/index.js index 7acb89f..aa8cf02 100644 --- a/src/pages/BandoFormsEdit/index.js +++ b/src/pages/BandoFormsEdit/index.js @@ -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(); } diff --git a/src/tempData.js b/src/tempData.js index 5df1b1a..04a0648 100644 --- a/src/tempData.js +++ b/src/tempData.js @@ -734,7 +734,7 @@ export const elementItems = [ ], validators: {} }, - { + /*{ id: 20, sortOrder: 20, name: 'table', @@ -747,5 +747,5 @@ export const elementItems = [ } ], validators: {} - } + }*/ ]