import React from 'react'; import PropTypes from 'prop-types'; import { connect } from 'react-redux'; import { FormattedMessage, injectIntl, intlShape } from '@edx/frontend-platform/i18n'; import { Form } from '@openedx/paragon'; import messages from './Bio.messages'; // Components import FormControls from './elements/FormControls'; import EditableItemHeader from './elements/EditableItemHeader'; import EmptyContent from './elements/EmptyContent'; import SwitchContent from './elements/SwitchContent'; // Selectors import { editableFormSelector } from '../data/selectors'; class Bio extends React.Component { constructor(props) { super(props); this.handleChange = this.handleChange.bind(this); this.handleSubmit = this.handleSubmit.bind(this); this.handleClose = this.handleClose.bind(this); this.handleOpen = this.handleOpen.bind(this); } handleChange(e) { const { name, value } = e.target; this.props.changeHandler(name, value); } handleSubmit(e) { e.preventDefault(); this.props.submitHandler(this.props.formId); } handleClose() { this.props.closeHandler(this.props.formId); } handleOpen() { this.props.openHandler(this.props.formId); } render() { const { formId, bio, visibilityBio, editMode, saveState, error, intl, } = this.props; return (