// 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 = (
  • ); if (this.props.teamType === Constants.OPEN_TEAM && global.window.mm_config.EnableUserCreation === 'true') { teamLink = (
  • ); } } if (isAdmin) { manageLink = (
  • ); adminDivider = (
  • ); teamSettings = (
  • ); } if (isSystemAdmin) { sysAdminLink = (
  • ); } var teams = []; if (global.window.mm_config.EnableTeamCreation === 'true') { teams.push(
  • ); } let helpLink = null; if (global.window.mm_config.HelpLink) { helpLink = (
  • ); } let reportLink = null; if (global.window.mm_config.ReportAProblemLink) { reportLink = (
  • ); } return ( ); } } NavbarDropdown.defaultProps = { teamType: '' }; NavbarDropdown.propTypes = { teamType: React.PropTypes.string, teamDisplayName: React.PropTypes.string, teamName: React.PropTypes.string, currentUser: React.PropTypes.object };