diff --git a/src/assets/scss/components/appForm.scss b/src/assets/scss/components/appForm.scss index d8d2fc6..c6bef3f 100644 --- a/src/assets/scss/components/appForm.scss +++ b/src/assets/scss/components/appForm.scss @@ -135,17 +135,21 @@ p { margin: 0; font-weight: bold; + font-size: 14px; } ul { margin: 0; - padding: 0 0 0 20px; + padding: 0; display: flex; flex-direction: column; gap: 7px; li { - + display: flex; + gap: 1rem; + justify-content: space-between; + align-items: center; } } } diff --git a/src/components/FormField/components/FileSelect/index.js b/src/components/FormField/components/FileSelect/index.js index 659d8a2..64f70ac 100644 --- a/src/components/FormField/components/FileSelect/index.js +++ b/src/components/FormField/components/FileSelect/index.js @@ -7,6 +7,7 @@ import { isEmpty, pluck } from 'ramda'; import { ListBox } from 'primereact/listbox'; import { Button } from 'primereact/button'; import CompanyDocumentsService from '../../../../service/company-documents-service'; +import { Link } from 'react-router-dom'; const FileSelect = ({ fieldName, @@ -35,6 +36,7 @@ const FileSelect = ({ setSelectedUnconfirmed([]); setLoading(true); + // eslint-disable-next-line array-callback-return selectedToBeAdded.map(o => { CompanyDocumentsService.attachCompanyDocumentToAppl(o.id, callback, errCallback, [ ['applicationId', sourceId], @@ -43,6 +45,10 @@ const FileSelect = ({ }); }, [selectedUnconfirmed]); + const removeAttached = (id) => { + console.log('stateFieldData', stateFieldData, id) + } + const callback = (resp) => { if (resp.status === 'SUCCESS') { stateFieldData.current = [...stateFieldData.current, resp.data]; @@ -84,7 +90,6 @@ const FileSelect = ({ }, [options]); useEffect(() => { - console.log('defaultValue', defaultValue); stateFieldData.current = defaultValue; }, [defaultValue]); @@ -96,31 +101,51 @@ const FileSelect = ({
- setSelectedUnconfirmed(e.value)} - options={optionsTransformed} - optionLabel="name" - optionGroupLabel="label" - optionGroupChildren="items" - className="w-full md:w-14rem" - listStyle={{ maxHeight: '130px' }}/> -
-
-

{__('Selezionati')}

- + setSelectedUnconfirmed(e.value)} + options={optionsTransformed} + optionLabel="name" + optionGroupLabel="label" + optionGroupChildren="items" + className="w-full md:w-14rem" + listStyle={{ maxHeight: '130px' }}/> + {!isEmpty(optionsTransformed) + ?
+ {!isEmpty(optionsTransformed) + ?
+

{__('I file selezionati')}

+ +
: null}
+ {isEmpty(optionsTransformed) + ?
+ + {__('I file caricati sulla pagina Documenti saranno disponibili qui. ', 'gepafin')} + + {__('Vai alla pagina Documenti', 'gepafin')} + + +
+ : null} {infoText ? {infoText} : null} ) } diff --git a/src/pages/BandoApplication/index.js b/src/pages/BandoApplication/index.js index 16f8168..187325e 100644 --- a/src/pages/BandoApplication/index.js +++ b/src/pages/BandoApplication/index.js @@ -1,7 +1,7 @@ -import React, { useState, useEffect, useRef, useMemo, useCallback } from 'react'; +import React, { useState, useEffect, useRef, useMemo } from 'react'; import { __, sprintf } from '@wordpress/i18n'; import { useParams } from 'react-router-dom'; -import { head, is, pluck, isEmpty, pathOr, isNil, uniq, uniqBy } from 'ramda'; +import { head, is, pluck, isEmpty, pathOr, isNil, uniqBy } from 'ramda'; import { useForm } from 'react-hook-form'; import 'quill/dist/quill.core.css'; import { wrap } from 'object-path-immutable'; @@ -263,7 +263,7 @@ const BandoApplication = () => { }); } if (!isEmpty(saveAndMove) && is(String, saveAndMove)) { - if (['NEXT','PREVIOUS'].includes(saveAndMove)) { + if (['NEXT', 'PREVIOUS'].includes(saveAndMove)) { storeSet.main.setAsyncRequest(); ApplicationService.getApplicationForm(data.data.id, getApplFormCallback, errGetApplFormCallbacks, [ ['formId', formId], @@ -545,11 +545,10 @@ const BandoApplication = () => { const getDocsCallback = (resp, type) => { if (resp.status === 'SUCCESS') { - if (type === 'PERSONAL_DOCUMENT') { - setPersonalDocs(uniqBy((o) => o.id, getFormattedDocsData(resp.data))); - } else { - setCompanyDocs(uniqBy((o) => o.id, getFormattedDocsData(resp.data))); - } + const filteredPersonal = getFormattedDocsData(resp.data.filter(o => o.type === 'PERSONAL_DOCUMENT')); + setPersonalDocs(uniqBy((o) => o.id, filteredPersonal)); + const filteredCompany = getFormattedDocsData(resp.data.filter(o => o.type === 'COMPANY_DOCUMENT')); + setCompanyDocs(uniqBy((o) => o.id, filteredCompany)); } } @@ -652,12 +651,13 @@ const BandoApplication = () => { ApplicationService.getApplicationForm(applId, getApplFormCallback, errGetApplFormCallbacks, [ ['companyId', chosenCompanyId] ]); - CompanyDocumentsService.getCompanyDocuments(chosenCompanyId, (resp) => getDocsCallback(resp, 'COMPANY_DOCUMENT'), errDocsGetCallbacks, [ + CompanyDocumentsService.getCompanyDocuments(chosenCompanyId, getDocsCallback, errDocsGetCallbacks); + /*CompanyDocumentsService.getCompanyDocuments(chosenCompanyId, (resp) => getDocsCallback(resp, 'COMPANY_DOCUMENT'), errDocsGetCallbacks, [ ['documentType', 'COMPANY_DOCUMENT'] ]); CompanyDocumentsService.getCompanyDocuments(chosenCompanyId, (resp) => getDocsCallback(resp, 'PERSONAL_DOCUMENT'), errDocsGetCallbacks, [ ['documentType', 'PERSONAL_DOCUMENT'] - ]); + ]);*/ } }, [id, chosenCompanyId]); @@ -715,7 +715,7 @@ const BandoApplication = () => { const text = head(o.settings.filter(o => o.name === 'text')); const placeholder = head(o.settings.filter(o => o.name === 'placeholder')); const options = ['fileselect'].includes(o.name) - ? {value: [...companyDocs, ...personalDocs]} + ? { value: [...companyDocs, ...personalDocs] } : head(o.settings.filter(o => o.name === 'options')); let tableColumns = head(o.settings.filter(o => o.name === 'table_columns')); if (!tableColumns) { diff --git a/src/translationStringsForComponents.js b/src/translationStringsForComponents.js index 2591a26..e33247e 100644 --- a/src/translationStringsForComponents.js +++ b/src/translationStringsForComponents.js @@ -1,6 +1,5 @@ /* data table related */ import { __ } from '@wordpress/i18n'; -import { FilterMatchMode } from 'primereact/api'; const currentPageReportTemplate = '';