/** * * FormModal * */ import * as React from 'react'; import { Button, Flex, Grid, Modal, Breadcrumbs, Crumb } from '@strapi/design-system'; import { Form, Formik } from 'formik'; import PropTypes from 'prop-types'; import { useIntl } from 'react-intl'; import Input from './Input'; const FormModal = ({ headerBreadcrumbs, initialData, isSubmiting, layout, isOpen, onSubmit, onToggle, providerToEditName, }) => { const { formatMessage } = useIntl(); return ( {headerBreadcrumbs.map((crumb, index, arr) => ( {crumb} ))} onSubmit(values)} initialValues={initialData} validationSchema={layout.schema} validateOnChange={false} > {({ errors, handleChange, values }) => { return (
{layout.form.map((row) => { return row.map((input) => { return ( ); }); })}
); }}
); }; FormModal.defaultProps = { initialData: null, providerToEditName: null, }; FormModal.propTypes = { headerBreadcrumbs: PropTypes.arrayOf(PropTypes.string).isRequired, initialData: PropTypes.object, layout: PropTypes.shape({ form: PropTypes.arrayOf(PropTypes.array), schema: PropTypes.object, }).isRequired, isOpen: PropTypes.bool.isRequired, isSubmiting: PropTypes.bool.isRequired, onSubmit: PropTypes.func.isRequired, onToggle: PropTypes.func.isRequired, providerToEditName: PropTypes.string, }; export default FormModal;