diff options
author | Harrison Healey <harrisonmhealey@gmail.com> | 2016-10-20 12:43:26 -0400 |
---|---|---|
committer | Joram Wilander <jwawilander@gmail.com> | 2016-10-20 12:43:26 -0400 |
commit | 6d7da26af0ebd9143486316a3b2243bd37fdbffc (patch) | |
tree | b8ea86881fae6783c257cfce9abbddd3a5a91a34 | |
parent | 6dc7ac51335baa8f29bcb361b99d2fa0423f8fc8 (diff) | |
download | chat-6d7da26af0ebd9143486316a3b2243bd37fdbffc.tar.gz chat-6d7da26af0ebd9143486316a3b2243bd37fdbffc.tar.bz2 chat-6d7da26af0ebd9143486316a3b2243bd37fdbffc.zip |
PLT-4333 Fixed TeamMembersModal to not close when the main menu closes (#4284)
* Stopped adding # to url when opening about modal
* Dismissed sidebar header dropdown when opening Team Settings modal
* Fixed TeamMembersModal to not disappear when the sidebar header dropdown closes
-rw-r--r-- | webapp/components/sidebar_header_dropdown.jsx | 41 | ||||
-rw-r--r-- | webapp/components/team_members_modal.jsx | 5 |
2 files changed, 35 insertions, 11 deletions
diff --git a/webapp/components/sidebar_header_dropdown.jsx b/webapp/components/sidebar_header_dropdown.jsx index 76ed6271a..d3d2979d5 100644 --- a/webapp/components/sidebar_header_dropdown.jsx +++ b/webapp/components/sidebar_header_dropdown.jsx @@ -11,7 +11,6 @@ import UserStore from 'stores/user_store.jsx'; import WebrtcStore from 'stores/webrtc_store.jsx'; import AboutBuildModal from './about_build_modal.jsx'; import TeamMembersModal from './team_members_modal.jsx'; -import ToggleModalButton from './toggle_modal_button.jsx'; import UserSettingsModal from './user_settings/user_settings_modal.jsx'; import {Constants, WebrtcActionTypes} from 'utils/constants.jsx'; @@ -44,6 +43,8 @@ export default class SidebarHeaderDropdown extends React.Component { this.toggleAccountSettingsModal = this.toggleAccountSettingsModal.bind(this); this.showInviteMemberModal = this.showInviteMemberModal.bind(this); this.showGetTeamInviteLinkModal = this.showGetTeamInviteLinkModal.bind(this); + this.showTeamMembersModal = this.showTeamMembersModal.bind(this); + this.hideTeamMembersModal = this.hideTeamMembersModal.bind(this); this.onTeamChange = this.onTeamChange.bind(this); this.openAccountSettings = this.openAccountSettings.bind(this); @@ -55,7 +56,10 @@ export default class SidebarHeaderDropdown extends React.Component { this.state = { teams: TeamStore.getAll(), teamMembers: TeamStore.getMyTeamMembers(), - showDropdown: false + showAboutModal: false, + showDropdown: false, + showTeamMembersModal: false, + showUserSettingsModal: false }; } @@ -74,7 +78,9 @@ export default class SidebarHeaderDropdown extends React.Component { this.setState({showDropdown: !this.state.showDropdown}); } - handleAboutModal() { + handleAboutModal(e) { + e.preventDefault(); + this.setState({ showAboutModal: true, showDropdown: false @@ -110,6 +116,21 @@ export default class SidebarHeaderDropdown extends React.Component { GlobalActions.showGetTeamInviteLinkModal(); } + showTeamMembersModal(e) { + e.preventDefault(); + + this.setState({ + showDropdown: false, + showTeamMembersModal: true + }); + } + + hideTeamMembersModal() { + this.setState({ + showTeamMembersModal: false + }); + } + componentDidMount() { TeamStore.addChangeListener(this.onTeamChange); document.addEventListener('keydown', this.openAccountSettings); @@ -229,6 +250,7 @@ export default class SidebarHeaderDropdown extends React.Component { href='#' data-toggle='modal' data-target='#team_settings' + onClick={this.toggleDropdown} > <FormattedMessage id='navbar_dropdown.teamSettings' @@ -248,12 +270,12 @@ export default class SidebarHeaderDropdown extends React.Component { manageLink = ( <li> - <ToggleModalButton - dialogType={TeamMembersModal} - dialogProps={{isAdmin}} + <a + href='#' + onClick={this.showTeamMembersModal} > {membersName} - </ToggleModalButton> + </a> </li> ); @@ -486,6 +508,11 @@ export default class SidebarHeaderDropdown extends React.Component { show={this.state.showUserSettingsModal} onModalDismissed={() => this.setState({showUserSettingsModal: false})} /> + <TeamMembersModal + show={this.state.showTeamMembersModal} + onHide={this.hideTeamMembersModal} + isAdmin={isAdmin} + /> <AboutBuildModal show={this.state.showAboutModal} onModalDismissed={this.aboutModalDismissed} diff --git a/webapp/components/team_members_modal.jsx b/webapp/components/team_members_modal.jsx index 7f44ca85c..e41268805 100644 --- a/webapp/components/team_members_modal.jsx +++ b/webapp/components/team_members_modal.jsx @@ -21,11 +21,8 @@ export default class TeamMembersModal extends React.Component { team: TeamStore.getCurrent() }; } - componentDidMount() { - if (this.props.show) { - this.onShow(); - } + componentDidMount() { TeamStore.addChangeListener(this.teamChanged); } |