1
0
mirror of https://github.com/fspc/workstand.git synced 2025-02-23 09:13:23 -05:00

Refact to table layout and add link.

This commit is contained in:
Drew Larson 2017-01-01 23:55:33 -06:00
parent 3e3db58953
commit 23b2b05970

View File

@ -1,5 +1,6 @@
import _ from 'lodash';
import React, { PropTypes } from 'react';
import { ListItem } from 'material-ui/List';
import { Table, TableBody, TableHeader, TableHeaderColumn, TableRow, TableRowColumn } from 'material-ui/Table';
import moment from 'moment';
export default class SignedInList extends React.Component {
@ -27,19 +28,47 @@ export default class SignedInList extends React.Component {
clearInterval(this.timer);
}
sortMembers(members) {
return _.sortBy(members, m => m.at.valueOf()).reverse();
}
tick() {
this.setState({ tick: this.state.tick += 1 });
}
render() {
const members = this.props.members.sort((l, r) => l.at.diff(r.at))
.reverse()
.map(member => <ListItem key={member.id} primaryText={member.text} secondaryText={`${member.purpose} ${member.at.fromNow()}`} />);
const memberRows = this.sortMembers(this.props.members)
.map(member => (
<TableRow selectable={false} key={member.id}>
<TableRowColumn>{member.text}</TableRowColumn>
<TableRowColumn>{member.purpose}</TableRowColumn>
<TableRowColumn>{member.at.fromNow()}</TableRowColumn>
<TableRowColumn><a href={`/members/edit/${member.id}/`}>Profile</a></TableRowColumn>
</TableRow>
));
return (
<div className="mdl-cell mdl-cell--12-col">
<h3>Members signed in</h3>
{members.length ? members : 'No members currently signed in.'}
<Table selectable={false}>
<TableHeader adjustForCheckbox={false} displaySelectAll={false}>
<TableRow>
<TableHeaderColumn>Name</TableHeaderColumn>
<TableHeaderColumn>Purpose</TableHeaderColumn>
<TableHeaderColumn>Signed-in At</TableHeaderColumn>
<TableHeaderColumn/>
</TableRow>
</TableHeader>
<TableBody displayRowCheckbox={false}>
{memberRows.length ?
memberRows :
<TableRow>
<TableRowColumn>{'No members currently signed in.'}</TableRowColumn>
</TableRow>
}
</TableBody>
</Table>
</div>
);
}