Skip to content
Snippets Groups Projects
Commit 7289a63c authored by Chif Gergő's avatar Chif Gergő
Browse files

The trainee page is a table with the visited status of the events

parent 44866b0f
No related branches found
No related tags found
No related merge requests found
...@@ -43,7 +43,7 @@ class EventDetail extends Component { ...@@ -43,7 +43,7 @@ class EventDetail extends Component {
isVisitor ? isVisitor ?
<Icon color='green' name='checkmark' /> <Icon color='green' name='checkmark' />
: :
<Icon color='green' name='cancel' /> <Icon color='red' name='cancel' />
} }
</Table.Cell> </Table.Cell>
: :
......
import React, { Component } from 'react'; import React, { Component } from 'react';
import { Link } from 'react-router-dom'; import { Container, Table, Icon } from 'semantic-ui-react';
import { Container, Table } from 'semantic-ui-react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import { getTrainees } from '../../actions/statistics'; import { getTrainees, getEvents } from '../../actions/statistics';
class Trainees extends Component { class Trainees extends Component {
componentWillMount() { componentWillMount() {
this.props.getTrainees(); this.props.getTrainees();
this.props.getEvents();
}
renderVisitedStatus(trainee) {
return (this.props.events.map((event) => {
if (event.visitors.includes(trainee.id)) {
return (
<Table.Cell>
<Icon color='green' name='checkmark' />
</Table.Cell>);
}
return (
<Table.Cell>
<Icon color='red' name='cancel' />
</Table.Cell>);
}));
} }
renderTrainees() { renderTrainees() {
...@@ -14,15 +29,21 @@ class Trainees extends Component { ...@@ -14,15 +29,21 @@ class Trainees extends Component {
{ return ( { return (
<Table.Row> <Table.Row>
<Table.Cell> <Table.Cell>
<Link to={`trainees/${trainee.id}`}> {trainee.full_name}
{trainee.full_name}
</Link>
</Table.Cell> </Table.Cell>
{this.renderVisitedStatus(trainee)}
</Table.Row> </Table.Row>
); );
}); });
} }
renderTableHeader() {
return (this.props.events.map(event => (
<Table.HeaderCell>
{event.name}
</Table.HeaderCell>)));
}
render() { render() {
return ( return (
<Container textAlign='center'> <Container textAlign='center'>
...@@ -30,6 +51,7 @@ class Trainees extends Component { ...@@ -30,6 +51,7 @@ class Trainees extends Component {
<Table.Header> <Table.Header>
<Table.Row> <Table.Row>
<Table.HeaderCell>Képződők</Table.HeaderCell> <Table.HeaderCell>Képződők</Table.HeaderCell>
{ this.renderTableHeader() }
</Table.Row> </Table.Row>
</Table.Header> </Table.Header>
...@@ -42,6 +64,6 @@ class Trainees extends Component { ...@@ -42,6 +64,6 @@ class Trainees extends Component {
} }
} }
const mapStateToProps = ({ trainees: { trainees }, user }) => ({ trainees, user }); const mapStateToProps = ({ trainees: { trainees }, events: { events }, user }) => ({ trainees, events, user });
export default connect(mapStateToProps, { getTrainees })(Trainees); export default connect(mapStateToProps, { getTrainees, getEvents })(Trainees);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment