import React from 'react'; import PropTypes from 'prop-types'; import { Button, CardText, Textfield } from 'react-mdl'; import { UPDATE_FEATURE } from '../../../permissions'; export default class UpdateDescriptionComponent extends React.Component { constructor(props) { super(props); this.state = { editMode: false }; } static propTypes = { isFeatureView: PropTypes.bool.isRequired, update: PropTypes.func, featureToggle: PropTypes.object, hasPermission: PropTypes.func.isRequired, }; onEditMode = (description, evt) => { evt.preventDefault(); this.setState({ editMode: true, description }); }; updateValue = evt => { evt.preventDefault(); this.setState({ description: evt.target.value }); }; onSave = evt => { evt.preventDefault(); this.props.update(this.state.description); this.setState({ editMode: false, description: undefined }); }; onCancel = evt => { evt.preventDefault(); this.setState({ editMode: false, description: undefined }); }; renderRead({ description, isFeatureView, hasPermission }) { return ( {description}  {isFeatureView && hasPermission(UPDATE_FEATURE) ? ( edit ) : null} ); } renderEdit() { const { description } = this.state; return (
 
); } render() { const { editMode } = this.state; return editMode ? this.renderEdit(this.props) : this.renderRead(this.props); } }