diff options
author | hmhealey <harrisonmhealey@gmail.com> | 2015-12-03 12:57:34 -0500 |
---|---|---|
committer | hmhealey <harrisonmhealey@gmail.com> | 2015-12-03 12:57:46 -0500 |
commit | ea80836c6e0acc4fe871024aab04ceba045bdcad (patch) | |
tree | ef145465591ff7629ebfd8a5fe6bc8e9e47ad657 /web/react/components | |
parent | d09ace15f24c396fb60809185047adee6db1ab08 (diff) | |
download | chat-ea80836c6e0acc4fe871024aab04ceba045bdcad.tar.gz chat-ea80836c6e0acc4fe871024aab04ceba045bdcad.tar.bz2 chat-ea80836c6e0acc4fe871024aab04ceba045bdcad.zip |
Removed some internal state from ChannelMembersModal and ChannelInviteModal
Diffstat (limited to 'web/react/components')
-rw-r--r-- | web/react/components/channel_header.jsx | 2 | ||||
-rw-r--r-- | web/react/components/channel_invite_modal.jsx | 34 | ||||
-rw-r--r-- | web/react/components/channel_members_modal.jsx | 15 | ||||
-rw-r--r-- | web/react/components/member_list_item.jsx | 4 | ||||
-rw-r--r-- | web/react/components/navbar.jsx | 2 |
5 files changed, 17 insertions, 40 deletions
diff --git a/web/react/components/channel_header.jsx b/web/react/components/channel_header.jsx index ffcb52096..d5a46721e 100644 --- a/web/react/components/channel_header.jsx +++ b/web/react/components/channel_header.jsx @@ -203,6 +203,7 @@ export default class ChannelHeader extends React.Component { <ToggleModalButton role='menuitem' dialogType={ChannelInviteModal} + dialogProps={{channel}} > {'Add Members'} </ToggleModalButton> @@ -403,6 +404,7 @@ export default class ChannelHeader extends React.Component { <ChannelMembersModal show={this.state.showMembersModal} onModalDismissed={() => this.setState({showMembersModal: false})} + channel={channel} /> </div> ); diff --git a/web/react/components/channel_invite_modal.jsx b/web/react/components/channel_invite_modal.jsx index f243bd8cb..56e2e53f9 100644 --- a/web/react/components/channel_invite_modal.jsx +++ b/web/react/components/channel_invite_modal.jsx @@ -53,15 +53,8 @@ export default class ChannelInviteModal extends React.Component { return a.username.localeCompare(b.username); }); - var channelName = ''; - if (ChannelStore.getCurrent()) { - channelName = ChannelStore.getCurrent().display_name; - } - return { nonmembers, - memberIds, - channelName, loading }; } @@ -94,28 +87,14 @@ export default class ChannelInviteModal extends React.Component { } } handleInvite(userId) { - // Make sure the user isn't already a member of the channel - if (this.state.memberIds.indexOf(userId) > -1) { - return; - } - var data = {}; data.user_id = userId; - Client.addChannelMember(ChannelStore.getCurrentId(), data, + Client.addChannelMember( + this.props.channel.id, + data, () => { - var nonmembers = this.state.nonmembers; - var memberIds = this.state.memberIds; - - for (var i = 0; i < nonmembers.length; i++) { - if (userId === nonmembers[i].id) { - nonmembers[i].invited = true; - memberIds.push(userId); - break; - } - } - - this.setState({inviteError: null, memberIds, nonmembers}); + this.setState({inviteError: null}); AsyncClient.getChannelExtraInfo(); }, (err) => { @@ -160,7 +139,7 @@ export default class ChannelInviteModal extends React.Component { onHide={this.props.onHide} > <Modal.Header closeButton={true}> - <Modal.Title>{'Add New Members to '}<span className='name'>{this.state.channelName}</span></Modal.Title> + <Modal.Title>{'Add New Members to '}<span className='name'>{this.props.channel.display_nam}</span></Modal.Title> </Modal.Header> <Modal.Body ref='modalBody' @@ -185,5 +164,6 @@ export default class ChannelInviteModal extends React.Component { ChannelInviteModal.propTypes = { show: React.PropTypes.bool.isRequired, - onHide: React.PropTypes.func.isRequired + onHide: React.PropTypes.func.isRequired, + channel: React.PropTypes.object.isRequired }; diff --git a/web/react/components/channel_members_modal.jsx b/web/react/components/channel_members_modal.jsx index c7276e60e..d1b9df988 100644 --- a/web/react/components/channel_members_modal.jsx +++ b/web/react/components/channel_members_modal.jsx @@ -69,16 +69,9 @@ export default class ChannelMembersModal extends React.Component { memberList.sort(compareByUsername); nonmemberList.sort(compareByUsername); - const channel = ChannelStore.getCurrent(); - let channelName = ''; - if (channel) { - channelName = channel.display_name; - } - return { nonmemberList, - memberList, - channelName + memberList }; } onShow() { @@ -169,7 +162,7 @@ export default class ChannelMembersModal extends React.Component { onHide={this.props.onModalDismissed} > <Modal.Header closeButton={true}> - <Modal.Title><span className='name'>{this.state.channelName}</span>{' Members'}</Modal.Title> + <Modal.Title><span className='name'>{this.props.channel.display_name}</span>{' Members'}</Modal.Title> <a className='btn btn-md btn-primary' href='#' @@ -206,6 +199,7 @@ export default class ChannelMembersModal extends React.Component { <ChannelInviteModal show={this.state.showInviteModal} onHide={() => this.setState({showInviteModal: false})} + channel={this.props.channel} /> </div> ); @@ -218,5 +212,6 @@ ChannelMembersModal.defaultProps = { ChannelMembersModal.propTypes = { show: React.PropTypes.bool.isRequired, - onModalDismissed: React.PropTypes.func.isRequired + onModalDismissed: React.PropTypes.func.isRequired, + channel: React.PropTypes.object.isRequired }; diff --git a/web/react/components/member_list_item.jsx b/web/react/components/member_list_item.jsx index f5d5ab28b..f7f77f48a 100644 --- a/web/react/components/member_list_item.jsx +++ b/web/react/components/member_list_item.jsx @@ -31,9 +31,7 @@ export default class MemberListItem extends React.Component { var timestamp = UserStore.getCurrentUser().update_at; var invite; - if (member.invited && this.props.handleInvite) { - invite = <span className='member-role'>Added</span>; - } else if (this.props.handleInvite) { + if (this.props.handleInvite) { invite = ( <a onClick={this.handleInvite} diff --git a/web/react/components/navbar.jsx b/web/react/components/navbar.jsx index 50e2b65e1..3bdc9efac 100644 --- a/web/react/components/navbar.jsx +++ b/web/react/components/navbar.jsx @@ -173,6 +173,7 @@ export default class Navbar extends React.Component { <ToggleModalButton role='menuitem' dialogType={ChannelInviteModal} + dialogProps={{channel}} > {'Add Members'} </ToggleModalButton> @@ -473,6 +474,7 @@ export default class Navbar extends React.Component { <ChannelMembersModal show={this.state.showMembersModal} onModalDismissed={() => this.setState({showMembersModal: false})} + channel={{channel}} /> </div> ); |