Skip to content
Snippets Groups Projects
Commit 119732bd authored by Rafael László's avatar Rafael László :speech_balloon:
Browse files

cleanup

parent 5c454857
No related branches found
No related tags found
No related merge requests found
...@@ -37,6 +37,7 @@ class TraineeTableRow extends Component { ...@@ -37,6 +37,7 @@ class TraineeTableRow extends Component {
}; };
} }
// Hides and shows the Add and More popup
triggerAdd = () => this.setState({ ...this.state, showAddPopup: !this.state.showAddPopup}) triggerAdd = () => this.setState({ ...this.state, showAddPopup: !this.state.showAddPopup})
triggerMore = () => this.setState({ ...this.state, showMorePopup: !this.state.showMorePopup }) triggerMore = () => this.setState({ ...this.state, showMorePopup: !this.state.showMorePopup })
...@@ -50,6 +51,7 @@ class TraineeTableRow extends Component { ...@@ -50,6 +51,7 @@ class TraineeTableRow extends Component {
<Table.Cell textAlign='center'> <Table.Cell textAlign='center'>
{trainee.full_name} {trainee.full_name}
</Table.Cell> </Table.Cell>
{/* Show and change Visitors status */}
{!this.props.edit ? {!this.props.edit ?
<Table.Cell textAlign='center'> <Table.Cell textAlign='center'>
{ {
...@@ -62,7 +64,7 @@ class TraineeTableRow extends Component { ...@@ -62,7 +64,7 @@ class TraineeTableRow extends Component {
<Icon color='red' name='cancel' /> <Icon color='red' name='cancel' />
} }
</Table.Cell> </Table.Cell>
: :
<Table.Cell textAlign='center'> <Table.Cell textAlign='center'>
<Dropdown <Dropdown
defaultValue={isVisitor ? 'Visitor' : isAbsent ? 'Absent' : 'No'} defaultValue={isVisitor ? 'Visitor' : isAbsent ? 'Absent' : 'No'}
...@@ -72,33 +74,37 @@ class TraineeTableRow extends Component { ...@@ -72,33 +74,37 @@ class TraineeTableRow extends Component {
/> />
</Table.Cell> </Table.Cell>
} }
{/* Notes for trainees */}
<Table.Cell> <Table.Cell>
<Grid> <Grid>
<Grid.Row> <Grid.Row>
{/* Note text */}
<Grid.Column floated='left' width={8}> <Grid.Column floated='left' width={8}>
{notes.length > 0 ? {notes.length > 0 ?
<Comment> <Comment>
<Comment.Content> <Comment.Content>
<Comment.Author><b>{notes[0].created_by_name}:</b></Comment.Author> <Comment.Author><b>{notes[0].created_by_name}:</b></Comment.Author>
<Comment.Text style={{wordWrap: 'break-word'}}> <Comment.Text style={{wordWrap: 'break-word'}}>
{notes[0].note.length > 25 ? notes[0].note.slice(0, 25).concat('...') {notes[0].note.length > 25 ?
: notes[0].note.slice(0, 25).concat('...')
notes[0].note } :
notes[0].note
}
</Comment.Text> </Comment.Text>
</Comment.Content> </Comment.Content>
</Comment> </Comment>
: :
null null
} }
</Grid.Column> </Grid.Column>
{/* Note buttons */}
<Grid.Column floated='right' width={6} textAlign='right'> <Grid.Column floated='right' width={6} textAlign='right'>
{notes.length > 0 ? {notes.length > 0 ?
<Popup <Popup basic
basic
open={this.state.showMorePopup} open={this.state.showMorePopup}
trigger={<Button icon='comment alternate outline' trigger={
onClick={this.triggerMore} />} <Button icon='comment alternate outline' onClick={this.triggerMore} />
}
content={notes.map((note) => { content={notes.map((note) => {
return ( return (
<Comment.Content> <Comment.Content>
...@@ -111,11 +117,12 @@ class TraineeTableRow extends Component { ...@@ -111,11 +117,12 @@ class TraineeTableRow extends Component {
})} })}
/> />
: :
null null
} }
<Popup <Popup basic
trigger={<Button icon='plus' onClick={this.triggerAdd}/>} trigger={
basic <Button icon='plus' onClick={this.triggerAdd}/>
}
open={this.state.showAddPopup} open={this.state.showAddPopup}
content={ content={
<Form reply> <Form reply>
...@@ -123,7 +130,7 @@ class TraineeTableRow extends Component { ...@@ -123,7 +130,7 @@ class TraineeTableRow extends Component {
value={note.note} value={note.note}
onChange={e => this.props.writeNote(e)} onChange={e => this.props.writeNote(e)}
/> />
<Button <Button primary
onClick={() => { onClick={() => {
this.triggerAdd() this.triggerAdd()
this.props.postEventNote({ this.props.postEventNote({
...@@ -136,10 +143,9 @@ class TraineeTableRow extends Component { ...@@ -136,10 +143,9 @@ class TraineeTableRow extends Component {
content='Megjegyzés hozzáadása' content='Megjegyzés hozzáadása'
labelPosition='left' labelPosition='left'
icon='edit' icon='edit'
primary
/> />
</Form> </Form>
} }
/> />
</Grid.Column> </Grid.Column>
</Grid.Row> </Grid.Row>
......
...@@ -9,27 +9,32 @@ class Trainees extends Component { ...@@ -9,27 +9,32 @@ class Trainees extends Component {
this.props.getStaffEvents(); this.props.getStaffEvents();
} }
// Number of visited events
VisitedStatusNumber(trainee) { VisitedStatusNumber(trainee) {
return (this.props.events.filter((event) => { return (this.props.events.filter((event) => {
return event.visitors.includes(trainee.id) return event.visitors.includes(trainee.id)
})).length; })).length;
} }
// Every event with visit status in table cells
renderVisitedStatus(trainee) { renderVisitedStatus(trainee) {
return (this.props.events.map((event) => { return (this.props.events.map((event) => {
if (event.visitors.includes(trainee.id)) { if (event.visitors.includes(trainee.id)) {
return ( return (
<Table.Cell textAlign='center'> <Table.Cell textAlign='center'>
<Icon color='green' name='checkmark' /> <Icon color='green' name='checkmark' />
</Table.Cell>); </Table.Cell>
);
} }
return ( return (
<Table.Cell textAlign='center'> <Table.Cell textAlign='center'>
<Icon color='red' name='cancel' /> <Icon color='red' name='cancel' />
</Table.Cell>); </Table.Cell>
);
})); }));
} }
// Every event rendered
renderTraineesWithEvents() { renderTraineesWithEvents() {
return this.props.trainees.map((trainee) => return this.props.trainees.map((trainee) =>
{ return ( { return (
...@@ -42,57 +47,74 @@ class Trainees extends Component { ...@@ -42,57 +47,74 @@ class Trainees extends Component {
); );
}); });
} }
renderTraineesWithPoints() { // Only visit number rendered
return this.props.trainees.map((trainee) => renderTraineesWithVisitNum() {
{ return ( return this.props.trainees.map((trainee) =>{
<Table.Row textAlign='center'> return (
<Table.Cell> <Table.Row textAlign='center'>
{trainee.full_name} <Table.Cell>
</Table.Cell> {trainee.full_name}
<Table.Cell textAlign='center'> </Table.Cell>
{`${this.VisitedStatusNumber(trainee)} / ${this.props.events.length}`} <Table.Cell textAlign='center'>
</Table.Cell> {`${this.VisitedStatusNumber(trainee)} / ${this.props.events.length}`}
</Table.Row> </Table.Cell>
); </Table.Row>
);
}); });
} }
renderTableHeader() { // Column for each event
return (this.props.events.map(event => ( renderTableHeaderEvents() {
<Table.HeaderCell textAlign='center'> return (this.props.events.map(event => {
return (<Table.HeaderCell textAlign='center'>
{event.name} {event.name}
</Table.HeaderCell>))); </Table.HeaderCell>
)
}));
} }
render() { render() {
return ( return (
<Container textAlign='center'> <Container textAlign='center'>
{/* Rendered on larger screens */}
<Responsive minWidth={600} > <Responsive minWidth={600} >
<Table color='blue' unstackable celled selectable compact> <Table color='blue' unstackable celled selectable compact>
<Table.Header> <Table.Header>
<Table.Row> <Table.Row>
<Table.HeaderCell textAlign='center'>Képződők</Table.HeaderCell> <Table.HeaderCell textAlign='center'>
{ this.renderTableHeader() } Képződők
</Table.HeaderCell>
{ this.renderTableHeaderEvents() }
</Table.Row> </Table.Row>
</Table.Header> </Table.Header>
<Table.Body> <Table.Body>
{this.props.trainees ? this.renderTraineesWithEvents() : 'Nincsenek képződők'} {this.props.trainees ?
this.renderTraineesWithEvents()
:
'Nincsenek képződők'
}
</Table.Body> </Table.Body>
</Table> </Table>
</Responsive> </Responsive>
{/* Rendered on mobile */}
<Responsive maxWidth={599} > <Responsive maxWidth={599} >
<Table color='blue' unstackable celled selectable compact> <Table color='blue' unstackable celled selectable compact>
<Table.Header> <Table.Header>
<Table.Row> <Table.Row>
<Table.HeaderCell textAlign='center'>Képződők</Table.HeaderCell> <Table.HeaderCell textAlign='center'>
Képződők
</Table.HeaderCell>
<Table.HeaderCell textAlign='center'> <Table.HeaderCell textAlign='center'>
Részvételi arány Részvételi arány
</Table.HeaderCell> </Table.HeaderCell>
</Table.Row> </Table.Row>
</Table.Header> </Table.Header>
<Table.Body> <Table.Body>
{this.props.trainees ? this.renderTraineesWithPoints() : 'Nincsenek képződők'} {this.props.trainees ?
this.renderTraineesWithVisitNum()
:
'Nincsenek képződők'
}
</Table.Body> </Table.Body>
</Table> </Table>
</Responsive> </Responsive>
......
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