diff options
author | hmhealey <harrisonmhealey@gmail.com> | 2015-11-21 08:53:45 -0500 |
---|---|---|
committer | hmhealey <harrisonmhealey@gmail.com> | 2015-11-23 15:52:44 -0500 |
commit | afdef124c8b76292ac3b8431a0c6137457d998e0 (patch) | |
tree | 3117d7930f47078392bebc9d54a0a522fe84f039 /web/react/components/member_list_team.jsx | |
parent | 6ab7df3335d414ecf864972c817e3b37b3b01abf (diff) | |
download | chat-afdef124c8b76292ac3b8431a0c6137457d998e0.tar.gz chat-afdef124c8b76292ac3b8431a0c6137457d998e0.tar.bz2 chat-afdef124c8b76292ac3b8431a0c6137457d998e0.zip |
Converted TeamMembers (now called TeamMembersModal) to React-Bootstrap
Diffstat (limited to 'web/react/components/member_list_team.jsx')
-rw-r--r-- | web/react/components/member_list_team.jsx | 47 |
1 files changed, 41 insertions, 6 deletions
diff --git a/web/react/components/member_list_team.jsx b/web/react/components/member_list_team.jsx index 72fdb7be9..f1c31131f 100644 --- a/web/react/components/member_list_team.jsx +++ b/web/react/components/member_list_team.jsx @@ -2,17 +2,56 @@ // See License.txt for license information. import MemberListTeamItem from './member_list_team_item.jsx'; +import UserStore from '../stores/user_store.jsx'; export default class MemberListTeam extends React.Component { + constructor(props) { + super(props); + + this.getUsers = this.getUsers.bind(this); + this.onChange = this.onChange.bind(this); + + this.state = { + users: this.getUsers() + }; + } + + componentDidMount() { + UserStore.addChangeListener(this.onChange); + } + + componentWillUnmount() { + UserStore.removeChangeListener(this.onChange); + } + + getUsers() { + const profiles = UserStore.getProfiles(); + const users = []; + + for (const id of Object.keys(profiles)) { + users.push(profiles[id]); + } + + users.sort((a, b) => a.username.localeCompare(b.username)); + + return users; + } + + onChange() { + this.setState({ + users: this.getUsers() + }); + } + render() { - const memberList = this.props.users.map(function makeListItem(user) { + const memberList = this.state.users.map((user) => { return ( <MemberListTeamItem key={user.id} user={user} /> ); - }, this); + }); return ( <table className='table more-table member-list-holder'> @@ -23,7 +62,3 @@ export default class MemberListTeam extends React.Component { ); } } - -MemberListTeam.propTypes = { - users: React.PropTypes.arrayOf(React.PropTypes.object).isRequired -}; |