- saving progress;
This commit is contained in:
@@ -262,7 +262,7 @@
|
||||
.appPageSection__checklist {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 1rem;
|
||||
gap: 1.2rem;
|
||||
|
||||
div {
|
||||
display: flex;
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
.fieldsRepeater {
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: 30px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.fieldsRepeater form {
|
||||
@@ -7,7 +11,7 @@
|
||||
}
|
||||
|
||||
.fieldsRepeater__panel {
|
||||
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.fieldsRepeater__heading {
|
||||
@@ -21,5 +25,4 @@
|
||||
}
|
||||
|
||||
.fieldsRepeater__addNew {
|
||||
margin-top: 30px;
|
||||
}
|
||||
@@ -21,7 +21,6 @@ const Applications = () => {
|
||||
navigate('/bandi')
|
||||
}
|
||||
|
||||
console.log('company', company, chosenCompanyId, companies)
|
||||
return(
|
||||
<div className="appPage">
|
||||
<div className="appPage__pageHeader">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import React from 'react';
|
||||
import { __ } from '@wordpress/i18n';
|
||||
import { Link } from 'react-router-dom';
|
||||
import { isEmpty } from 'ramda';
|
||||
import { head, isEmpty } from 'ramda';
|
||||
|
||||
// store
|
||||
import { useStore } from '../../store';
|
||||
@@ -12,11 +12,14 @@ import ErrorBoundary from '../../components/ErrorBoundary';
|
||||
|
||||
const BandiBeneficiario = () => {
|
||||
const chosenCompanyId = useStore().main.chosenCompanyId();
|
||||
const companies = useStore().main.companies();
|
||||
const company = head(companies.filter(o => o.id === chosenCompanyId));
|
||||
|
||||
return (
|
||||
<div className="appPage">
|
||||
<div className="appPage__pageHeader">
|
||||
<h1>{__('Bandi disponibili', 'gepafin')}</h1>
|
||||
{company ? <span className="companyName">{company.companyName}</span> : null}
|
||||
</div>
|
||||
|
||||
<div className="appPage__spacer"></div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import React from 'react';
|
||||
import { __ } from '@wordpress/i18n';
|
||||
import { Link } from 'react-router-dom';
|
||||
import { isEmpty } from 'ramda';
|
||||
import { head, isEmpty } from 'ramda';
|
||||
|
||||
// store
|
||||
import { useStore } from '../../store';
|
||||
@@ -11,11 +11,14 @@ import AllBandiAccordion from '../BandiBeneficiario/components/AllBandiAccordion
|
||||
|
||||
const BandiPreferredBeneficiario = () => {
|
||||
const chosenCompanyId = useStore().main.chosenCompanyId();
|
||||
const companies = useStore().main.companies();
|
||||
const company = head(companies.filter(o => o.id === chosenCompanyId));
|
||||
|
||||
return (
|
||||
<div className="appPage">
|
||||
<div className="appPage__pageHeader">
|
||||
<h1>{__('Bandi osservati', 'gepafin')}</h1>
|
||||
{company ? <span className="companyName">{company.companyName}</span> : null}
|
||||
</div>
|
||||
|
||||
<div className="appPage__spacer"></div>
|
||||
|
||||
@@ -21,6 +21,7 @@ const DashboardBeneficiario = () => {
|
||||
const [mainStats, setMainStats] = useState({});
|
||||
const companies = useStore().main.companies();
|
||||
const chosenCompanyId = useStore().main.chosenCompanyId();
|
||||
const company = head(companies.filter(o => o.id === chosenCompanyId));
|
||||
|
||||
const goToAllSubmissions = () => {
|
||||
navigate('/bandi');
|
||||
@@ -51,6 +52,7 @@ const DashboardBeneficiario = () => {
|
||||
<div className="appPage">
|
||||
<div className="appPage__pageHeader">
|
||||
<h1>{__('Dashboard', 'gepafin')}</h1>
|
||||
{company ? <span className="companyName">{company.companyName}</span> : null}
|
||||
</div>
|
||||
|
||||
<div className="appPage__spacer"></div>
|
||||
|
||||
@@ -25,6 +25,7 @@ import { Toast } from 'primereact/toast';
|
||||
import { Dialog } from 'primereact/dialog';
|
||||
import FormField from '../../components/FormField';
|
||||
import SoccorsoComunications from '../SoccorsoEditPreInstructor/components/SoccorsoComunications';
|
||||
import RepeaterFields from '../DomandaEditPreInstructor/components/RepeaterFields';
|
||||
|
||||
const DomandaBeneficiario = () => {
|
||||
const isAsyncRequest = useStore().main.isAsyncRequest();
|
||||
@@ -239,7 +240,7 @@ const DomandaBeneficiario = () => {
|
||||
{dataAppl.id
|
||||
? <div className="appPageSection__withBorder columns">
|
||||
<p className="appPageSection__pMeta">
|
||||
<span>{__('ID domanda', 'gepafin')}</span>
|
||||
<span>{__('ID domanda', 'gepafin')}</span>
|
||||
<span>{dataAppl.id}</span>
|
||||
</p>
|
||||
<p className="appPageSection__pMeta">
|
||||
@@ -275,6 +276,12 @@ const DomandaBeneficiario = () => {
|
||||
</div> : null}
|
||||
|
||||
{data.id
|
||||
? <div className="appPageSection">
|
||||
<h2>{__('Documenti richiesti', 'gepafin')}</h2>
|
||||
<RepeaterFields sourceId={id} sourceName="evaluation"/>
|
||||
</div> : null}
|
||||
|
||||
{/*{data.id
|
||||
? <div className="appPageSection">
|
||||
<h3>{__('Documenti Richiesti', 'gepafin')}</h3>
|
||||
<form className="appForm" onSubmit={handleSubmit(onSubmit)}>
|
||||
@@ -299,37 +306,37 @@ const DomandaBeneficiario = () => {
|
||||
/>
|
||||
}) : null}
|
||||
</form>
|
||||
{/*<ol className="appPageSection__list">
|
||||
<ol className="appPageSection__list">
|
||||
{data.formFields
|
||||
? data.formFields.map((o, i) => <li key={o.fieldId}
|
||||
style={{ flexDirection: 'row' }}>
|
||||
<span>{o.label}</span>
|
||||
</li>) : null}
|
||||
</ol>*/}
|
||||
</div> : null}
|
||||
</ol>
|
||||
</div> : null}*/}
|
||||
|
||||
{data.id
|
||||
? <div className="appPageSection">
|
||||
<h2>{__('Comunicazioni', 'gepafin')}</h2>
|
||||
<SoccorsoComunications amendmentId={data.id} soccorsoStatus={data.status}/>
|
||||
</div> : null}
|
||||
</div> : null}
|
||||
|
||||
{data.id
|
||||
? <div className="appPageSection__message warning">
|
||||
<i className="pi pi-exclamation-triangle"></i>
|
||||
<span className="summary">{__('Attenzione', 'gepafin')}</span>
|
||||
<span>{__('Inviare la documentazione richiesta completa delle integrazioni esclusivamente via PEC. In caso contarrio l’integrazione non può essere ritenuta valida.', 'gepafin')}</span>
|
||||
</div> : null}
|
||||
<i className="pi pi-exclamation-triangle"></i>
|
||||
<span className="summary">{__('Attenzione', 'gepafin')}</span>
|
||||
<span>{__('Inviare la documentazione richiesta completa delle integrazioni esclusivamente via PEC. In caso contarrio l’integrazione non può essere ritenuta valida.', 'gepafin')}</span>
|
||||
</div> : null}
|
||||
|
||||
<div className="appPageSection">
|
||||
<div className="appPageSection__actions">
|
||||
{data.id
|
||||
? <Button
|
||||
type="button"
|
||||
disabled={isAsyncRequest}
|
||||
onClick={() => setIsVisibleEmailDialog(true)}
|
||||
label={__('Invia documenti via PEC', 'gepafin')}
|
||||
icon="pi pi-envelope" iconPos="right"/> : null}
|
||||
type="button"
|
||||
disabled={isAsyncRequest}
|
||||
onClick={() => setIsVisibleEmailDialog(true)}
|
||||
label={__('Invia documenti via PEC', 'gepafin')}
|
||||
icon="pi pi-envelope" iconPos="right"/> : null}
|
||||
<Button
|
||||
type="button"
|
||||
outlined
|
||||
|
||||
@@ -29,8 +29,8 @@ const RepeaterFields = ({ sourceId, sourceName }) => {
|
||||
return formInitialData;
|
||||
}, [formInitialData]), mode: 'onChange'
|
||||
});
|
||||
const watchName = watch('name');
|
||||
const watchFile = watch('file');
|
||||
const watchName = watch('nameValue');
|
||||
const watchFile = watch('fileValue');
|
||||
|
||||
const onSubmit = () => {
|
||||
};
|
||||
@@ -42,8 +42,8 @@ const RepeaterFields = ({ sourceId, sourceName }) => {
|
||||
}
|
||||
|
||||
const addNew = () => {
|
||||
setValue('name', '');
|
||||
setValue('file', {});
|
||||
setValue('nameValue', '');
|
||||
setValue('fileValue', {});
|
||||
trigger();
|
||||
const uid = uniqid('f');
|
||||
const newItem = {
|
||||
@@ -98,23 +98,23 @@ const RepeaterFields = ({ sourceId, sourceName }) => {
|
||||
? <div className="fieldsRepeater__fields p-panel-content">
|
||||
<FormField
|
||||
type="textinput"
|
||||
fieldName="name"
|
||||
fieldName="nameValue"
|
||||
label={__('Titolo del file', 'gepafin')}
|
||||
control={control}
|
||||
errors={errors}
|
||||
defaultValue={formInitialData['name']}
|
||||
defaultValue={formInitialData['nameValue']}
|
||||
config={{ required: __('È obbligatorio', 'gepafin') }}
|
||||
/>
|
||||
<FormField
|
||||
type="fileupload"
|
||||
setDataFn={setValue}
|
||||
saveFormCallback={doUpdateAmendment}
|
||||
fieldName="file"
|
||||
fieldName="fileValue"
|
||||
label={__('File', 'gepafin')}
|
||||
control={control}
|
||||
register={register}
|
||||
errors={errors}
|
||||
defaultValue={formInitialData['file'] ? formInitialData['file'] : []}
|
||||
defaultValue={formInitialData['fileValue'] ? formInitialData['fileValue'] : []}
|
||||
accept={[]}
|
||||
source={sourceName}
|
||||
sourceId={sourceId}
|
||||
|
||||
@@ -1,14 +1,23 @@
|
||||
import React from 'react';
|
||||
import { __ } from '@wordpress/i18n';
|
||||
import { head } from 'ramda';
|
||||
|
||||
// store
|
||||
import { useStore } from '../../store';
|
||||
|
||||
// components
|
||||
import BeneficiarioDomandeTable from './components/BeneficiarioDomandeTable';
|
||||
|
||||
const DomandePreInstructor = () => {
|
||||
const chosenCompanyId = useStore().main.chosenCompanyId();
|
||||
const companies = useStore().main.companies();
|
||||
const company = head(companies.filter(o => o.id === chosenCompanyId));
|
||||
|
||||
return(
|
||||
<div className="appPage">
|
||||
<div className="appPage__pageHeader">
|
||||
<h1>{__('Archivio domande', 'gepafin')}</h1>
|
||||
{company ? <span className="companyName">{company.companyName}</span> : null}
|
||||
</div>
|
||||
|
||||
<div className="appPage__spacer"></div>
|
||||
|
||||
@@ -250,13 +250,13 @@ const SoccorsoAddPreInstructor = () => {
|
||||
<div className="appPageSection__withBorder grey">
|
||||
<div className="appPageSection__checklist">
|
||||
{formData.formFields.map((o, i) => <div key={o.fieldId}>
|
||||
<Checkbox
|
||||
{/*<Checkbox
|
||||
inputId={`checklist_${o.fieldId}`}
|
||||
onChange={(e) => updateEvaluationValue(
|
||||
e.checked,
|
||||
`formFields.${i}.selected`
|
||||
)}
|
||||
checked={o.selected}></Checkbox>
|
||||
checked={o.selected}></Checkbox>*/}
|
||||
<label htmlFor={`checklist_${o.fieldId}`}>{o.label}</label>
|
||||
</div>)}
|
||||
</div>
|
||||
@@ -281,6 +281,7 @@ const SoccorsoAddPreInstructor = () => {
|
||||
<Button
|
||||
type="button"
|
||||
outlined
|
||||
onClick={goToEvaluationPage}
|
||||
label={__('Anulla', 'gepafin')}
|
||||
icon="pi pi-times" iconPos="right"/>
|
||||
<Button
|
||||
|
||||
@@ -28,6 +28,7 @@ import FormField from '../../components/FormField';
|
||||
import { Editor } from 'primereact/editor';
|
||||
import { InputNumber } from 'primereact/inputnumber';
|
||||
import SoccorsoComunications from './components/SoccorsoComunications';
|
||||
import RepeaterFields from '../DomandaEditPreInstructor/components/RepeaterFields';
|
||||
|
||||
|
||||
const SoccorsoEditPreInstructor = () => {
|
||||
@@ -389,6 +390,11 @@ const SoccorsoEditPreInstructor = () => {
|
||||
</div>
|
||||
|
||||
<div className="appPageSection">
|
||||
<h2>{__('Documenti ricevuti', 'gepafin')}</h2>
|
||||
<RepeaterFields sourceId={id} sourceName="evaluation"/>
|
||||
</div>
|
||||
|
||||
{/*<div className="appPageSection">
|
||||
<h2>{__('Documenti Ricevuti', 'gepafin')}</h2>
|
||||
|
||||
<form className="appForm" onSubmit={handleSubmit(onSubmit)}>
|
||||
@@ -413,7 +419,7 @@ const SoccorsoEditPreInstructor = () => {
|
||||
/>
|
||||
}) : null}
|
||||
</form>
|
||||
</div>
|
||||
</div>*/}
|
||||
|
||||
<div className="appForm__field">
|
||||
<label>{__('Motivazioni / Note Interne', 'gepafin')}</label>
|
||||
|
||||
Reference in New Issue
Block a user