summaryrefslogtreecommitdiffstats
path: root/web/react/components/member_list_team.jsx
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2015-11-24 09:00:00 -0500
committerChristopher Speller <crspeller@gmail.com>2015-11-24 09:00:00 -0500
commit3bd7dd106c6276999e6ef23cc31aa14eb9fbcd0c (patch)
tree73017606ba2c2abf45008b7b3628b79e271f2a36 /web/react/components/member_list_team.jsx
parentd4354dbb2f766e2fe1d2ef8cad3bca4fc907ce6d (diff)
parentafdef124c8b76292ac3b8431a0c6137457d998e0 (diff)
downloadchat-3bd7dd106c6276999e6ef23cc31aa14eb9fbcd0c.tar.gz
chat-3bd7dd106c6276999e6ef23cc31aa14eb9fbcd0c.tar.bz2
chat-3bd7dd106c6276999e6ef23cc31aa14eb9fbcd0c.zip
Merge pull request #1488 from hmhealey/plt1259
PLT-1259 Converted TeamMembersModal to React-Bootstrap
Diffstat (limited to 'web/react/components/member_list_team.jsx')
-rw-r--r--web/react/components/member_list_team.jsx47
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
-};