diff options
author | Christopher Speller <crspeller@gmail.com> | 2016-03-14 08:50:46 -0400 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2016-03-16 18:02:55 -0400 |
commit | 12896bd23eeba79884245c1c29fdc568cf21a7fa (patch) | |
tree | 4e7f83d3e2564b9b89d669e9f7905ff11768b11a /web/react/components/navbar_dropdown.jsx | |
parent | 29fe6a3d13c9c7aa490fffebbe5d1b5fdf1e3090 (diff) | |
download | chat-12896bd23eeba79884245c1c29fdc568cf21a7fa.tar.gz chat-12896bd23eeba79884245c1c29fdc568cf21a7fa.tar.bz2 chat-12896bd23eeba79884245c1c29fdc568cf21a7fa.zip |
Converting to Webpack. Stage 1.
Diffstat (limited to 'web/react/components/navbar_dropdown.jsx')
-rw-r--r-- | web/react/components/navbar_dropdown.jsx | 277 |
1 files changed, 0 insertions, 277 deletions
diff --git a/web/react/components/navbar_dropdown.jsx b/web/react/components/navbar_dropdown.jsx deleted file mode 100644 index 12227fd13..000000000 --- a/web/react/components/navbar_dropdown.jsx +++ /dev/null @@ -1,277 +0,0 @@ -// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import * as Utils from '../utils/utils.jsx'; -import * as GlobalActions from '../action_creators/global_actions.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 from '../utils/constants.jsx'; - -import {FormattedMessage} from 'mm-intl'; -import {Link} from 'react-router'; - -export default class NavbarDropdown extends React.Component { - constructor(props) { - super(props); - this.blockToggle = false; - - this.handleAboutModal = this.handleAboutModal.bind(this); - this.aboutModalDismissed = this.aboutModalDismissed.bind(this); - - this.state = { - showUserSettingsModal: false, - showAboutModal: false - }; - } - handleAboutModal() { - this.setState({showAboutModal: true}); - } - aboutModalDismissed() { - this.setState({showAboutModal: false}); - } - componentDidMount() { - $(ReactDOM.findDOMNode(this.refs.dropdown)).on('hide.bs.dropdown', () => { - $('.sidebar--left .dropdown-menu').scrollTop(0); - this.blockToggle = true; - setTimeout(() => { - this.blockToggle = false; - }, 100); - }); - } - componentWillUnmount() { - $(ReactDOM.findDOMNode(this.refs.dropdown)).off('hide.bs.dropdown'); - } - render() { - var teamLink = ''; - var inviteLink = ''; - var manageLink = ''; - var sysAdminLink = ''; - var adminDivider = ''; - var currentUser = this.props.currentUser; - var isAdmin = false; - var isSystemAdmin = false; - var teamSettings = null; - - if (currentUser != null) { - isAdmin = Utils.isAdmin(currentUser.roles); - isSystemAdmin = Utils.isSystemAdmin(currentUser.roles); - - inviteLink = ( - <li> - <a - href='#' - onClick={GlobalActions.showInviteMemberModal} - > - <FormattedMessage - id='navbar_dropdown.inviteMember' - defaultMessage='Invite New Member' - /> - </a> - </li> - ); - - if (this.props.teamType === Constants.OPEN_TEAM && global.window.mm_config.EnableUserCreation === 'true') { - teamLink = ( - <li> - <a - href='#' - onClick={GlobalActions.showGetTeamInviteLinkModal} - > - <FormattedMessage - id='navbar_dropdown.teamLink' - defaultMessage='Get Team Invite Link' - /> - </a> - </li> - ); - } - } - - if (isAdmin) { - manageLink = ( - <li> - <ToggleModalButton dialogType={TeamMembersModal}> - <FormattedMessage - id='navbar_dropdown.manageMembers' - defaultMessage='Manage Members' - /> - </ToggleModalButton> - </li> - ); - - adminDivider = (<li className='divider'></li>); - - teamSettings = ( - <li> - <a - href='#' - data-toggle='modal' - data-target='#team_settings' - > - <FormattedMessage - id='navbar_dropdown.teamSettings' - defaultMessage='Team Settings' - /> - </a> - </li> - ); - } - - if (isSystemAdmin) { - sysAdminLink = ( - <li> - <a - href={'/admin_console'} - > - <FormattedMessage - id='navbar_dropdown.console' - defaultMessage='System Console' - /> - </a> - </li> - ); - } - - var teams = []; - - if (global.window.mm_config.EnableTeamCreation === 'true') { - teams.push( - <li key='newTeam_li'> - <a - key='newTeam_a' - target='_blank' - href={Utils.getWindowLocationOrigin() + '/signup_team'} - > - <FormattedMessage - id='navbar_dropdown.create' - defaultMessage='Create a New Team' - /> - </a> - </li> - ); - } - - let helpLink = null; - if (global.window.mm_config.HelpLink) { - helpLink = ( - <li> - <a - target='_blank' - href={global.window.mm_config.HelpLink} - > - <FormattedMessage - id='navbar_dropdown.help' - defaultMessage='Help' - /> - </a> - </li> - ); - } - - let reportLink = null; - if (global.window.mm_config.ReportAProblemLink) { - reportLink = ( - <li> - <a - target='_blank' - href={global.window.mm_config.ReportAProblemLink} - > - <FormattedMessage - id='navbar_dropdown.report' - defaultMessage='Report a Problem' - /> - </a> - </li> - ); - } - - return ( - <ul className='nav navbar-nav navbar-right'> - <li - ref='dropdown' - className='dropdown' - > - <a - href='#' - className='dropdown-toggle' - data-toggle='dropdown' - role='button' - aria-expanded='false' - > - <span - className='dropdown__icon' - dangerouslySetInnerHTML={{__html: Constants.MENU_ICON}} - /> - </a> - <ul - className='dropdown-menu' - role='menu' - > - <li> - <a - href='#' - onClick={() => this.setState({showUserSettingsModal: true})} - > - <FormattedMessage - id='navbar_dropdown.accountSettings' - defaultMessage='Account Settings' - /> - </a> - </li> - {inviteLink} - {teamLink} - <li> - <Link to={'/' + this.props.teamName + '/logout'}> - <FormattedMessage - id='navbar_dropdown.logout' - defaultMessage='Logout' - /> - </Link> - </li> - {adminDivider} - {teamSettings} - {manageLink} - {sysAdminLink} - {teams} - <li className='divider'></li> - {helpLink} - {reportLink} - <li> - <a - href='#' - onClick={this.handleAboutModal} - > - <FormattedMessage - id='navbar_dropdown.about' - defaultMessage='About Mattermost' - /> - </a> - </li> - <UserSettingsModal - show={this.state.showUserSettingsModal} - onModalDismissed={() => this.setState({showUserSettingsModal: false})} - /> - <AboutBuildModal - show={this.state.showAboutModal} - onModalDismissed={this.aboutModalDismissed} - /> - </ul> - </li> - </ul> - ); - } -} - -NavbarDropdown.defaultProps = { - teamType: '' -}; -NavbarDropdown.propTypes = { - teamType: React.PropTypes.string, - teamDisplayName: React.PropTypes.string, - teamName: React.PropTypes.string, - currentUser: React.PropTypes.object -}; |