- saving progress;

This commit is contained in:
Vitalii Kiiko
2024-12-10 16:29:05 +01:00
parent 33d5cd8f2f
commit 27d1ff3922
11 changed files with 65 additions and 32 deletions

View File

@@ -262,7 +262,7 @@
.appPageSection__checklist {
display: flex;
flex-direction: column;
gap: 1rem;
gap: 1.2rem;
div {
display: flex;

View File

@@ -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;
}

View File

@@ -21,7 +21,6 @@ const Applications = () => {
navigate('/bandi')
}
console.log('company', company, chosenCompanyId, companies)
return(
<div className="appPage">
<div className="appPage__pageHeader">

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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 lintegrazione 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 lintegrazione 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

View File

@@ -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}

View File

@@ -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>

View File

@@ -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

View File

@@ -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>