import React from 'react' import { Helmet } from 'react-helmet' import { connect } from 'react-redux' import { Link } from 'react-router-dom' import { updateData } from '../../../actions/index' class AdminDetail extends React.Component { constructor(props, context) { super(props, context) this.state = { isInEdition: false, } } render() { const { message, onDataUpdate, results, target, } = this.props const { isInEdition } = this.state const title = target.charAt(0).toUpperCase() + target.slice(1) return (
mpwo - Admin

Administration - {title}

{message ? ( {message} ) : ( results.length === 1 && (
event.preventDefault()} > { results.map(result => ( Object.keys(result).map(key => (
)) ))} {isInEdition ? (
{ onDataUpdate(event, target) this.setState({ isInEdition: false }) } } value="Submit" /> { event.target.form.reset() this.setState({ isInEdition: false }) }} value="Cancel" />
) : (
this.setState({ isInEdition: true })} value="Edit" />
)}
Back to the list
) )}
) } } export default connect( state => ({ message: state.message, }), dispatch => ({ onDataUpdate: (e, target) => { const data = [].slice .call(e.target.form.elements) .reduce(function(map, obj) { if (obj.name) { map[obj.name] = obj.value } return map }, {}) dispatch(updateData(target, data)) }, }) )(AdminDetail)