mirror of
				https://github.com/fspc/workstand.git
				synced 2025-10-31 00:15:35 -04:00 
			
		
		
		
	Merge pull request #5 from BridgeCityBicycleCoop/feature/signin-list-edit-link
Refactor to table layout and add link
This commit is contained in:
		
						commit
						2e487dd20f
					
				| @ -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> | ||||
|     ); | ||||
|   } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user