import React, { forwardRef, useEffect, useImperativeHandle } from 'react'; import { __ } from '@wordpress/i18n'; import { useNavigate } from 'react-router-dom'; import { useForm } from 'react-hook-form'; import { is, isEmpty, isNil } from 'ramda'; // components import FormField from '../../../../components/FormField'; import FormFieldRepeater from '../../../../components/FormFieldRepeater'; import FormFieldRepeaterCriteria from '../../../../components/FormFieldRepeaterCriteria'; import BandoEditFormActions from '../BandoEditFormActions'; import UnsavedChangesDetector from '../../../../components/UnsavedChangesDetector'; const BandoEditFormStep2 = forwardRef(function ({ initialData, getFormErrors }, ref) { const navigate = useNavigate(); const { control, handleSubmit, formState: { errors, isValid }, setValue, register, trigger, getValues, clearErrors } = useForm({defaultValues: initialData, mode: 'onChange'}); const values = getValues(); const onSubmit = (formData) => { if (!isNil(formData.dates) && formData.dates.length) { formData.dates = formData.dates.map(v => is(String, v) ? v : v.toISOString()); } console.log('onSubmit', formData); }; // TODO temp data const exampleOfCriteriaOptions = [ { id: 15, value: 'Innovatività del progetto', score: 9 }, { id: 16, value: 'Impatto sulla competitività dell\'azienda', score: 3 }, { id: 17, value: 'Sostenibilità economico-finanziaria', score: 5 } ]; const exampleOfChecklistOptions = [ { id: 15, value: 'Innovatività del progetto' } ]; // end of temp data const openPreview = () => { navigate('/bandi/preview/11'); } const openPreviewEvaluation = () => { navigate('/bandi/preview-evaluation/11'); } useImperativeHandle( ref, () => { return { isFormValid: () => { return isValid; }, getErrors: () => { return errors; }, getValues: () => { return getValues(); } } }, [errors, isValid]); useEffect(() => { trigger().then(() => clearErrors()); }, []); return (
) }) export default BandoEditFormStep2;