Skip to content
Snippets Groups Projects
DeleteDegreeCourseModal.js 3.06 KiB
Newer Older
Orlando Piñero's avatar
sth
Orlando Piñero committed
import React, { Component } from "react";
import Button from 'react-bootstrap/Button';
import Modal from 'react-bootstrap/Modal';
Orlando Piñero's avatar
Orlando Piñero committed
import { connect } from "react-redux";
import { bindActionCreators } from "redux";

Orlando Piñero's avatar
Orlando Piñero committed
import * as degreeCourseManagementActions from "../state/DegreeCourseManagementActions"
Orlando Piñero's avatar
Orlando Piñero committed

const mapStateToProps = state => {
    return {
        accessToken: state.AuthenticationReducer.accessToken,
        showDeleteDegreeCourseModal: state.DegreeCourseReducer.showDeleteDegreeCourseModal,
        deleteDegreeCourseModalData: state.DegreeCourseReducer.deleteDegreeCourseModalData
Orlando Piñero's avatar
Orlando Piñero committed
}
Orlando Piñero's avatar
sth
Orlando Piñero committed

class DeleteDegreeCourseModal extends Component {
Orlando Piñero's avatar
Orlando Piñero committed

    constructor(props) {
        super(props);

        this.handleClose = this.handleClose.bind(this);
        this.handlePushDelete = this.handlePushDelete.bind(this);
    }

    handleClose() {
        const { hideDeleteDegreeCourseModalAction } = this.props;
        hideDeleteDegreeCourseModalAction();
Orlando Piñero's avatar
Orlando Piñero committed
    }

    handlePushDelete(e) {
        e.preventDefault();
        const { pushDeleteDegreeCourseModalAction } = this.props;
        pushDeleteDegreeCourseModalAction(this.props.deleteDegreeCourseModalData.degreeCourseID, this.props.accessToken)
Orlando Piñero's avatar
sth
Orlando Piñero committed
    render() {
        var showModal = this.props.showDeleteDegreeCourseModal
Orlando Piñero's avatar
Orlando Piñero committed
        if (showModal === undefined) {
            showModal = false
        }
        let dialogID
        let degreeCourseName
        if (this.props.deleteDegreeCourseModalData) {
            dialogID = this.props.deleteDegreeCourseModalData.dialogID;
            degreeCourseName = this.props.deleteDegreeCourseModalData.name;
Orlando Piñero's avatar
Orlando Piñero committed
        } else {
            dialogID = ""
            degreeCourseName = ""
Orlando Piñero's avatar
Orlando Piñero committed
        }
Orlando Piñero's avatar
sth
Orlando Piñero committed
        return (
Orlando Piñero's avatar
Orlando Piñero committed
            <div className="modal show" id="DegreeCourseManagementPageDeleteComponent" style={{ display: 'block', position: 'initial' }}>
Orlando Piñero's avatar
Orlando Piñero committed
                <Modal show={showModal} id={dialogID} onHide={this.handleClose}>
                    <Modal.Header closeButton>
                        <Modal.Title>Studiengang {degreeCourseName} löschen?</Modal.Title>
Orlando Piñero's avatar
Orlando Piñero committed
                    </Modal.Header>

                    <Modal.Body style={{ textAlign: 'left' }}>
                        <p>Soll Studiengang {degreeCourseName} gelöscht werden?</p>
Orlando Piñero's avatar
Orlando Piñero committed
                    </Modal.Body>

                    <Modal.Footer>
                        <Button variant="secondary" id="DeleteDialogCancelButton" onClick={this.handleClose}>Cancel</Button>
                        <Button variant="primary" id="DeleteDialogConfirmButton" onClick={this.handlePushDelete}>Delete</Button>
                    </Modal.Footer>
                </Modal>
Orlando Piñero's avatar
sth
Orlando Piñero committed
            </div >
        )
    }
}
Orlando Piñero's avatar
Orlando Piñero committed


const mapDispatchToProps = dispatch => bindActionCreators({
Orlando Piñero's avatar
Orlando Piñero committed
    hideDeleteDegreeCourseModalAction: degreeCourseManagementActions.getHideDeleteDegreeCourseModalAction,
    pushDeleteDegreeCourseModalAction: degreeCourseManagementActions.deleteDegreeCourseWithID
Orlando Piñero's avatar
Orlando Piñero committed
}, dispatch)

const ConnectedDeleteDegreeCourseModal = connect(mapStateToProps, mapDispatchToProps)(DeleteDegreeCourseModal)
export default ConnectedDeleteDegreeCourseModal