summaryrefslogtreecommitdiffstats
path: root/webapp/components/sidebar_header.jsx
diff options
context:
space:
mode:
authorHarrison Healey <harrisonmhealey@gmail.com>2016-09-29 10:58:30 -0400
committerGitHub <noreply@github.com>2016-09-29 10:58:30 -0400
commit53ba8ec9c2bbaee510c2b1c9b5b59f9fdf44f365 (patch)
treead171bacc5ad7c8c9629ccb512d6787a8e79f5ec /webapp/components/sidebar_header.jsx
parentac6ae23c8e72b0b79998c32b0e91873ed2bb0e59 (diff)
downloadchat-53ba8ec9c2bbaee510c2b1c9b5b59f9fdf44f365.tar.gz
chat-53ba8ec9c2bbaee510c2b1c9b5b59f9fdf44f365.tar.bz2
chat-53ba8ec9c2bbaee510c2b1c9b5b59f9fdf44f365.zip
Renamed NavbarDropdown to SidebarHeaderDropdown and switched it to react-bootstrap (#4109)
Diffstat (limited to 'webapp/components/sidebar_header.jsx')
-rw-r--r--webapp/components/sidebar_header.jsx34
1 files changed, 12 insertions, 22 deletions
diff --git a/webapp/components/sidebar_header.jsx b/webapp/components/sidebar_header.jsx
index a57a809be..cd41cfb84 100644
--- a/webapp/components/sidebar_header.jsx
+++ b/webapp/components/sidebar_header.jsx
@@ -1,24 +1,18 @@
// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
-import NavbarDropdown from './navbar_dropdown.jsx';
-import 'bootstrap';
+import React from 'react';
+import Client from 'client/web_client.jsx';
import PreferenceStore from 'stores/preference_store.jsx';
-
import * as Utils from 'utils/utils.jsx';
-import Client from 'client/web_client.jsx';
-import Constants from 'utils/constants.jsx';
-
-const Preferences = Constants.Preferences;
-const TutorialSteps = Constants.TutorialSteps;
+import SidebarHeaderDropdown from './sidebar_header_dropdown.jsx';
import {Tooltip, OverlayTrigger} from 'react-bootstrap';
+import {Preferences, TutorialSteps} from 'utils/constants.jsx';
import {createMenuTip} from 'components/tutorial/tutorial_tip.jsx';
-import React from 'react';
-
export default class SidebarHeader extends React.Component {
constructor(props) {
super(props);
@@ -28,34 +22,31 @@ export default class SidebarHeader extends React.Component {
this.state = this.getStateFromStores();
}
+
componentDidMount() {
PreferenceStore.addChangeListener(this.onPreferenceChange);
}
+
componentWillUnmount() {
PreferenceStore.removeChangeListener(this.onPreferenceChange);
}
+
getStateFromStores() {
const tutorialStep = PreferenceStore.getInt(Preferences.TUTORIAL_STEP, this.props.currentUser.id, 999);
return {showTutorialTip: tutorialStep === TutorialSteps.MENU_POPOVER && !Utils.isMobile()};
}
+
onPreferenceChange() {
this.setState(this.getStateFromStores());
}
+
toggleDropdown(e) {
e.preventDefault();
- if (this.refs.dropdown.blockToggle) {
- this.refs.dropdown.blockToggle = false;
- return;
- }
- const menu = document.querySelector('.team__header .dropdown-toggle');
- const isOpen = menu.parentElement.classList.toggle('open');
- menu.setAttribute('aria-expanded', isOpen);
- if (!isOpen) {
- document.querySelector('.sidebar--left .dropdown-menu').scrollTop = 0;
- }
+ this.refs.dropdown.toggleDropdown();
}
+
render() {
var me = this.props.currentUser;
var profilePicture = null;
@@ -99,13 +90,12 @@ export default class SidebarHeader extends React.Component {
</OverlayTrigger>
</div>
</a>
- <NavbarDropdown
+ <SidebarHeaderDropdown
ref='dropdown'
teamType={this.props.teamType}
teamDisplayName={this.props.teamDisplayName}
teamName={this.props.teamName}
currentUser={this.props.currentUser}
- toggleDropdown={this.toggleDropdown}
/>
</div>
);