import React from 'react'; import PropTypes from 'prop-types'; import { Components, registerComponent } from 'meteor/vulcan:core'; import mergeWithComponents from '../modules/mergeWithComponents'; const FormNestedItemLayout = ({ content, removeButton }) => (
{content}
{removeButton && [
{removeButton}
,
]}
); FormNestedItemLayout.propTypes = { content: PropTypes.node.isRequired, removeButton: PropTypes.node }; registerComponent({ name: 'FormNestedItemLayout', component: FormNestedItemLayout }); const FormNestedItem = ( { nestedFields, name, path, removeItem, itemIndex, formComponents, ...props }, { errors } ) => { const FormComponents = mergeWithComponents(formComponents); const isArray = typeof itemIndex !== 'undefined'; return ( { return ( ); })} removeButton={ isArray && [
{ removeItem(name); }} >
,
] } /> ); }; FormNestedItem.propTypes = { path: PropTypes.string.isRequired, itemIndex: PropTypes.number, formComponents: PropTypes.object }; FormNestedItem.contextTypes = { errors: PropTypes.array }; registerComponent('FormNestedItem', FormNestedItem);