Skip to content
Snippets Groups Projects
EditNewsForm.js 2.28 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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,
        };
      }
    
    
      render() {
        const { id, title, text } = this.props.selectedNews;
    
        const updated_by = this.props.user.id;
    
          <Modal
            open={this.state.showModal}
            onOpen={this.props.onClick}
            trigger={
    
                onClick={() => { this.setState({ showModal: true }); }}
                size='mini'
              >
                Edit
              </Button>
    
            <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 }); }}
              >
    
                <Icon name='remove' /> Cancel
              </Button>
              <Button
                inverted
                color='green'
                onClick={() => {
                        this.props.editNews({
    
                                           id, title, text, updated_by,
    
                        this.setState({ showModal: false });
    
                        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);