Newer
Older
import React, { Component } from "react";
import Button from "react-bootstrap/esm/Button";
import Card from 'react-bootstrap/Card';
import ListGroup from 'react-bootstrap/ListGroup';
import { connect } from "react-redux";
const mapStateToProps = state => {
return {
isAdmin: state.AuthenticationReducer.isAdmin
};
}
render() {
let degreeCourse = this.props.degreeCourse
let editButtonID = "DegreeCourseItemEditButton" + degreeCourse.id
let deleteButtonID = "DegreeCourseItemDeleteButton" + degreeCourse.id
let itemID = "DegreeCourseItem" + degreeCourse.id
let applicationID = "CreateDegreeCourseApplicationForDegreeCourse" + degreeCourse.id
let dialogData = {
dialogID: "DeleteDialogDegreeCourse" + degreeCourse.id,
name: degreeCourse.name,
degreeCourseID: degreeCourse.id
let cardHeader
if (degreeCourse.shortName) {
cardHeader = <Card.Header>{degreeCourse.shortName}: {degreeCourse.name}</Card.Header>
} else {
cardHeader = <Card.Header>{degreeCourse.name}</Card.Header>
let cardFooter
if (this.props.isAdmin) {
cardFooter =
<>
<Button variant="primary" onClick={(e) => this.props.handleShowEditPage(e, degreeCourse)} id={editButtonID} >
Edit
</Button>
<Button variant="primary" type="submit" onClick={(e) => this.props.handleShowDeleteModal(e, dialogData)} id={deleteButtonID} style={{ background: '#ffc800', color: 'black', border: 'none' }}>
Delete
</Button>
<Button variant="primary" onClick={(e) => this.props.handleShowCreateApplication(e, degreeCourse)} id={applicationID} style={{ background: '#05b361', border: 'none' }}>
Create Application
</Button>
</>
} else {
cardFooter =
<Button variant="primary" onClick={(e) => this.props.handleShowCreateApplication(e, degreeCourse)} id={applicationID} style={{ background: '#05b361', border: 'none' }}>
Create Application
</Button>
}
<Card style={{ width: "22rem", background: '#ebebeb' }} id={itemID}>
{cardHeader}
<ListGroup variant="flush">
<ListGroup.Item className="list-group-item">
<p id="UniversityName" style={{ display: 'flex', alignItems: 'right', margin: '0' }}>
<span style={{ marginRight: '1.3rem' }}>Universität:</span>
{degreeCourse.universityName}
</p>
</ListGroup.Item>
<ListGroup.Item className="list-group-item">
<p id="DepartmentName" style={{ display: 'flex', alignItems: 'right', margin: '0' }}>
<span style={{ marginRight: '1.3rem' }}>Fachbereich:</span>
{degreeCourse.departmentName}
</p>
</ListGroup.Item>
<ListGroup.Item className="list-group-item">
<p id="Name" style={{ display: 'flex', alignItems: 'right', margin: '0' }}>
<span style={{ marginRight: '1.3rem' }}>Studiengang:</span>
{degreeCourse.name}
</p>
</ListGroup.Item>
</ListGroup>
<Card.Footer style={{ display: 'flex', justifyContent: 'space-evenly' }}>
const ConnectedDegreeCourseItem = connect(mapStateToProps)(DegreeCourseItem)
export default ConnectedDegreeCourseItem