import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import { Components } from 'meteor/vulcan:core'; import classNames from 'classnames'; import { registerComponent } from 'meteor/vulcan:core'; class FormGroup extends PureComponent { constructor(props) { super(props); this.toggle = this.toggle.bind(this); this.renderHeading = this.renderHeading.bind(this); this.state = { collapsed: props.startCollapsed || false } } toggle() { this.setState({ collapsed: !this.state.collapsed }) } renderHeading() { return (

{this.props.label}

{this.state.collapsed ? : }
) } render() { const hasErrors = _.some(this.props.fields, field => field.errors && field.errors.length); return (
{this.props.name === 'default' ? null : this.renderHeading()}
{this.props.fields.map(field => )}
) } } FormGroup.propTypes = { name: PropTypes.string, label: PropTypes.string, order: PropTypes.number, fields: PropTypes.array, updateCurrentValues: PropTypes.func } registerComponent('FormGroup', FormGroup);