import React from 'react' import * as Yup from 'yup'; import { useFormik, Form, FormikProvider } from 'formik'; import { Box, Button, Stack, TextField, Divider, Typography, } from '@mui/material'; import { AddCircle } from '@mui/icons-material/'; import { MailTable } from './MailTable'; export function Candidato(props) { const CandidatoSchema = Yup.object().shape({ nombres: Yup.string() .min(2, 'Demasiado corto!') .max(50, 'Demasiado largo!') .required("Ingresa un nombre válido"), apellidos: Yup.string() .required("Ingresa un apellido válido") .min(2, 'Demasiado corto!').max(50, 'Demasiado Largo!'), mail: Yup.string() .email("Correo no valido") .required("Ingrea un puesto válido"), sendmail: Yup.bool() .required('Ingresa un nivel educativo válido'), nombrepuesto: Yup.string('Ingresa un valor válido') .required('Ingresa un nombre válido'), nombreEmpresa: Yup.string('Ingresa un valor válido') .required('Ingresa un nombre válido'), }); let { handleNext, handleBack, password, setPassword } = props const formik = useFormik({ initialValues: { nombres: "", apellidos: "", sendmail: "", mail: "", candidatos : password.candidatos ? password.candidatos : [], nombrepuesto: password.nombrepuesto ? password.nombrepuesto : password.puesto[0].nombrepuesto, nombreEmpresa: 'test'//password.nombreEmpresa ? password.nombreEmpresa : auth.getProfile().nombre, // nombreEmpresa: password.nombreEmpresa ? password.nombreEmpresa : auth.getProfile().nombre, }, onSubmit: (fields) => { setPassword({ ...password, ...fields }) handleNext() }, validationSchema: CandidatoSchema, }); const { errors, touched, handleSubmit, getFieldProps, values } = formik; const addToList = () => { let user = { 'nombres': values.nombres, 'apellidos': values.apellidos, 'mail': values.mail, } let new_users = [...password.candidatos, user ] setPassword({...password, candidatos: new_users }) console.log(values); } const removeFromList = (umail) => { let without = password.candidatos.filter( user => user.mail !== umail ) setPassword({...password, candidatos: without }) } return (
Ingresa uno o mas destinos
); }