Skip to content
Snippets Groups Projects
Select Git revision
  • ebfb573a05d449ad5cd3669930641335ade98f1b
  • master default protected
  • 2023-ujoncdelutan
  • 2023-update
  • 1.4.7 protected
  • 1.4.6 protected
  • 1.4.5 protected
  • 1.4.4 protected
  • 1.4.3 protected
  • 1.4.2 protected
  • 1.4.1 protected
  • 1.4.0 protected
  • 1.3.19 protected
  • 1.3.18 protected
  • 1.3.17 protected
  • 1.3.16 protected
  • 1.3.15 protected
  • 1.3.14 protected
  • 1.3.13 protected
  • 1.3.12 protected
  • 1.3.10 protected
  • 1.3.11 protected
  • 1.3.9 protected
  • 1.3.8 protected
24 results

EditNewsForm.js

Blame
  • EditNewsForm.js 2.27 KiB
    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 editedBy = this.props.user.id;
        return (
          <Modal
            open={this.state.showModal}
            onOpen={this.props.onClick}
            trigger={
              <Button
                compact
                onClick={() => { this.setState({ showModal: true }); }}
                size='mini'
              >
                Szerkeszt
              </Button>
            }
          >
            <Modal.Header>Szerkesztés:</Modal.Header>
            <Modal.Content>
              <Form>
                <Form.Field
                  control={Input}
                  label='Cím'
                  name='title'
                  onChange={e => this.props.writeNews(e)}
                  value={title}
                  placeholder='Cím'
                />
                <Form.Field
                  control={TextArea}
                  label='Szöveg'
                  name='text'
                  onChange={e => this.props.writeNews(e)}
                  value={text}
                  placeholder='Szöveg'
                />
              </Form>
            </Modal.Content>
            <Modal.Actions>
              <Button
                inverted
                color='red'
                onClick={() => { this.setState({ showModal: false }); }}
              >
                <Icon name='remove' /> Mégse
              </Button>
              <Button
                inverted
                color='green'
                onClick={() => {
                        this.props.editNews({
                                           id, title, text, editedBy,
                                          });
                        this.setState({ showModal: false });
                        this.props.clearWrite();
                        }}
              >
                <Icon name='checkmark' /> Szerkeszt
              </Button>
            </Modal.Actions>
          </Modal>
        );
      }
    }
    
    const mapStateToProps = ({ user, selectedNews }) => ({ user, selectedNews });
    
    export default connect(mapStateToProps, {
      editNews, writeNews, clearWrite,
    })(EditNewsForm);