Newer
Older
Chif Gergő
committed
import React, { Component } from 'react';
import { Modal, Button, Form, Input, TextArea, Icon } from 'semantic-ui-react';
import { connect } from 'react-redux';
import { writeNews, editNews, clearWrite } from '../../actions/news';
class EditNewsForm extends Component {
constructor(props) {
super(props);
this.state = {
showModal: false,
};
}
Chif Gergő
committed
render() {
const { id, title, text } = this.props.selectedNews;
const updated_by = this.props.user.id;
Chif Gergő
committed
return (
<Modal
open={this.state.showModal}
onOpen={this.props.onClick}
trigger={
onClick={() => { this.setState({ showModal: true }); }}
size='mini'
>
Edit
</Button>
}
>
Chif Gergő
committed
<Modal.Header>Szerkesztés:</Modal.Header>
<Modal.Content>
<Form>
<Form.Field
control={Input}
label='Title'
name='title'
onChange={e => this.props.writeNews(e)}
value={title}
placeholder='Title'
/>
<Form.Field
control={TextArea}
label='Text'
name='text'
onChange={e => this.props.writeNews(e)}
value={text}
placeholder='Tell us what you want...'
/>
</Form>
</Modal.Content>
<Modal.Actions>
<Button
inverted
color='red'
onClick={() => { this.setState({ showModal: false }); }}
>
Chif Gergő
committed
<Icon name='remove' /> Cancel
</Button>
<Button
inverted
color='green'
onClick={() => {
this.props.editNews({
id, title, text, updated_by,
Chif Gergő
committed
});
this.setState({ showModal: false });
Chif Gergő
committed
this.props.clearWrite();
}}
>
<Icon name='checkmark' /> Edit
</Button>
</Modal.Actions>
</Modal>
);
}
}
const mapStateToProps = ({ user, selectedNews }) => ({ user, selectedNews });
export default connect(mapStateToProps, {
editNews, writeNews, clearWrite,
})(EditNewsForm);