Newer
Older
import React, { Component } from "react";
import Button from "react-bootstrap/esm/Button";
import Card from 'react-bootstrap/Card';
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><b>{degreeCourse.shortName}: {degreeCourse.name}</b></Card.Header>
cardHeader = <Card.Header><b>{degreeCourse.name}</b></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: "25rem", background: '#ebebeb', margin: '0.5rem' }} id={itemID}>
<Card.Body style={{padding: "1rem"}}>
<Table responsive="sm">
<tbody>
<tr id="UniversityName" style={{ textAlign: 'left' }}>
<td><b>Universität:</b></td>
<td>{degreeCourse.universityName}</td>
</tr>
<tr id="DepartmentName" style={{ textAlign: 'left' }}>
<td><b>Fachbereich:</b></td>
<td>{degreeCourse.departmentName}</td>
</tr>
<tr id="Name" style={{ textAlign: 'left' }}>
<td><b>Studiengang:</b></td>
<td>{degreeCourse.name}</td>
</tr>
</tbody>
</Table>
</Card.Body>
<Card.Footer style={{ display: 'flex', justifyContent: 'space-evenly' }}>
const ConnectedDegreeCourseItem = connect(mapStateToProps)(DegreeCourseItem)
export default ConnectedDegreeCourseItem