import React, { PureComponent } from 'react';
import PropTypes from 'prop-types';
import { Components, registerComponent } from 'meteor/vulcan:core';
import Button from 'react-bootstrap/lib/Button';
const FormNestedItem = ({ nestedFields, name, path, removeItem, itemIndex, ...props }, { errors }) => {
return (
{nestedFields.map((field, i) => {
return (
);
})}
);
};
FormNestedItem.contextTypes = {
errors: PropTypes.array,
};
registerComponent('FormNestedItem', FormNestedItem);
class FormNested extends PureComponent {
addItem = () => {
this.props.updateCurrentValues({ [`${this.props.path}.${this.props.value.length}`]: {} });
};
removeItem = index => {
this.props.updateCurrentValues({ [`${this.props.path}.${index}`]: null });
};
/*
Go through this.context.deletedValues and see if any value matches both the current field
and the given index (ex: if we want to know if the second address is deleted, we
look for the presence of 'addresses.1')
*/
isDeleted = index => {
return this.context.deletedValues.includes(`${this.props.path}.${index}`);
};
render() {
// do not pass FormNested's own value and control props down
const properties = _.omit(this.props, 'value', 'control');
return (