From ad42ed6326fe6271b8dd99e17cbbc8c0916af52f Mon Sep 17 00:00:00 2001 From: Vitalii Kiiko Date: Mon, 7 Oct 2024 11:06:35 +0200 Subject: [PATCH] dquote> - updated registartion page, added gdpr and marketing checkboxes; dquote> - fixed number input; dquote> - updated latest submissions table component; --- src/assets/scss/components/login.scss | 24 ++- src/assets/scss/components/misc.scss | 2 +- .../FormField/components/NumberInput/index.js | 1 - src/configData.js | 3 +- src/helpers/getBandoLabel.js | 3 + src/helpers/getBandoSeverity.js | 5 + src/pages/BandoApplication/index.js | 104 ++++++------- .../MyLatestSubmissionsTable/index.js | 47 ++++-- src/pages/Registration/index.js | 143 +++++++++++++++++- 9 files changed, 254 insertions(+), 78 deletions(-) diff --git a/src/assets/scss/components/login.scss b/src/assets/scss/components/login.scss index 9aad814..7824f0b 100644 --- a/src/assets/scss/components/login.scss +++ b/src/assets/scss/components/login.scss @@ -9,12 +9,20 @@ flex-direction: column; align-items: center; width: 100%; - max-width: 540px; + max-width: 600px; padding: 24px; .appForm { width: 100%; } + + .p-panel-content { + font-size: 14px; + + .appForm__col { + gap: 1em; + } + } } .appPageLogin__spidBtn.appPageLogin__spidBtn { @@ -37,4 +45,18 @@ font-weight: 600; line-height: 15px; } +} + +.reverseSwitchField { + gap: 1em; + + .appForm__field.switch { + width: auto; + + > .appForm__row { + display: flex; + justify-content: flex-end; + flex-direction: row-reverse; + } + } } \ No newline at end of file diff --git a/src/assets/scss/components/misc.scss b/src/assets/scss/components/misc.scss index 7d54072..01cb7f8 100644 --- a/src/assets/scss/components/misc.scss +++ b/src/assets/scss/components/misc.scss @@ -91,7 +91,7 @@ padding: 0.5rem; } -.p-message-detail, .p-progressbar-label { +.p-message-detail.p-message-detail, .p-progressbar-label.p-progressbar-label { color: white; } diff --git a/src/components/FormField/components/NumberInput/index.js b/src/components/FormField/components/NumberInput/index.js index 2d7a8f7..484ec3c 100644 --- a/src/components/FormField/components/NumberInput/index.js +++ b/src/components/FormField/components/NumberInput/index.js @@ -22,7 +22,6 @@ const NumberInput = ({ disabled = false, useGrouping = false }) => { - console.log('defaultValue', defaultValue); const input = { switch (status) { + case 'SUBMIT': + return __('Inviato', 'gepafin'); + case 'PUBLISH': return __('Pubblicato', 'gepafin'); diff --git a/src/helpers/getBandoSeverity.js b/src/helpers/getBandoSeverity.js index cabba94..89263be 100644 --- a/src/helpers/getBandoSeverity.js +++ b/src/helpers/getBandoSeverity.js @@ -1,5 +1,10 @@ +import { __ } from '@wordpress/i18n'; + const getBandoSeverity = (status) => { switch (status) { + case 'SUBMIT': + return 'success'; + case 'PUBLISH': return 'success'; diff --git a/src/pages/BandoApplication/index.js b/src/pages/BandoApplication/index.js index 1d86840..86690bc 100644 --- a/src/pages/BandoApplication/index.js +++ b/src/pages/BandoApplication/index.js @@ -42,6 +42,7 @@ const BandoApplication = () => { const [formId, setFormId] = useState(''); const [totalSteps, setTotalSteps] = useState(0); const [completedSteps, setCompletedSteps] = useState(0); + const [applicationStatus, setApplicationStatus] = useState(''); const [activeStep, setActiveStep] = useState(1); const isAsyncRequest = useStore().main.isAsyncRequest(); const toast = useRef(null); @@ -86,6 +87,9 @@ const BandoApplication = () => { detail: __('La domanda è stata presentata!', 'gepafin') }); } + if (data.data.applicationStatus) { + setApplicationStatus(data.data.applicationStatus); + } } storeSet.main.unsetAsyncRequest(); } @@ -126,24 +130,24 @@ const BandoApplication = () => { const newFormValues = Object.keys(formValues) .filter(v => usedFieldsIds.includes(v)) .reduce((acc, cur) => { - const formField = head(formData.filter(o => o.id === cur)); - let fieldVal = formValues[cur]; + const formField = head(formData.filter(o => o.id === cur)); + let fieldVal = formValues[cur]; - if (formValues[cur] && formValues[cur].toISOString) { - const tzAwareDate = new TZDate(formValues[cur], 'Europe/Berlin'); - fieldVal = tzAwareDate.toISOString().substring(0, 19); - } + if (formValues[cur] && formValues[cur].toISOString) { + const tzAwareDate = new TZDate(formValues[cur], 'Europe/Berlin'); + fieldVal = tzAwareDate.toISOString().substring(0, 19); + } - fieldVal = !fieldVal ? null : fieldVal; - if (formField && formField.name === 'fileupload') { - fieldVal = is(Array, fieldVal) ? fieldVal.map(o => o.id).join(',') : fieldVal; - } - acc.push({ - 'fieldId': cur, - 'fieldValue': fieldVal - }); - return acc; - }, []); + fieldVal = !fieldVal ? null : fieldVal; + if (formField && formField.name === 'fileupload') { + fieldVal = is(Array, fieldVal) ? fieldVal.map(o => o.id).join(',') : fieldVal; + } + acc.push({ + 'fieldId': cur, + 'fieldValue': fieldVal + }); + return acc; + }, []); const submitData = { formFields: newFormValues } @@ -167,7 +171,8 @@ const BandoApplication = () => { return !isNaN(parsed) ? parsed : 0; } - const saveDraftCallback = (data, saveAndMove) => { + const saveDraftCallback = (data, saveAndMove = '') => { + storeSet.main.unsetAsyncRequest(); if (data.status === 'SUCCESS') { if (toast.current) { toast.current.show({ @@ -176,18 +181,16 @@ const BandoApplication = () => { detail: __('Salvato!', 'gepafin') }); } - if (!isEmpty(saveAndMove)) { + if (!isEmpty(saveAndMove) && is(String, saveAndMove)) { storeSet.main.setAsyncRequest(); ApplicationService.getApplicationForm(data.data.id, getApplFormCallback, errGetApplFormCallbacks, [ ['formId', formId], ['action', saveAndMove] ]); } else { - // update info about application completeness ApplicationService.getApplicationForm(data.data.id, getStatusCheckCallback, errGetStatusCheckCallbacks); } } - storeSet.main.unsetAsyncRequest(); } const errSaveDraftCallback = (data) => { @@ -221,26 +224,10 @@ const BandoApplication = () => { const goBackward = () => { saveDraft('PREVIOUS'); - /*if (formId) { - const applId = getApplicationId(); - storeSet.main.setAsyncRequest(); - ApplicationService.getApplicationForm(applId, getApplFormCallback, errGetApplFormCallbacks, [ - ['formId', formId], - ['action', 'PREVIOUS'] - ]); - }*/ } const goForward = () => { saveDraft('NEXT'); - /*if (formId) { - const applId = getApplicationId(); - storeSet.main.setAsyncRequest(); - ApplicationService.getApplicationForm(applId, getApplFormCallback, errGetApplFormCallbacks, [ - ['formId', formId], - ['action', 'NEXT'] - ]); - }*/ } const getApplFormCallback = (data) => { @@ -250,6 +237,7 @@ const BandoApplication = () => { setFormId(data.data.formId); setTotalSteps(data.data.totalFormSteps); setCompletedSteps(data.data.completedSteps); + setApplicationStatus(data.data.applicationStatus) setActiveStep(data.data.currentStep); if (data.data.applicationFormResponse.formFields) { @@ -361,24 +349,24 @@ const BandoApplication = () => { return ['paragraph'].includes(o.name) && text ?
{renderHtmlContent(text.value)}
: + key={o.id} + type={o.name} + fieldName={o.id} + label={label ? label.value : ''} + placeholder={placeholder ? placeholder.value : ''} + control={control} + register={register} + errors={errors} + defaultValue={values[o.id]} + maxFractionDigits={step ? step.value : 0} + accept={mimeValue} + config={validations} + options={options ? options.value : []} + setDataFn={setValue} + sourceId={getApplicationId()} + useGrouping={false} + tableColumns={tableColumns ? tableColumns.value : {}} + /> })}
@@ -392,26 +380,28 @@ const BandoApplication = () => { {activeStep > 1 && activeStep <= totalSteps ?