summaryrefslogtreecommitdiffstats
path: root/webapp/components/rhs_dropdown.jsx
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2016-11-15 08:06:58 -0500
committerChristopher Speller <crspeller@gmail.com>2016-11-15 08:06:58 -0500
commite4f46124b0aa0d661bf59f229c0ebc3c7dc65d1d (patch)
tree1cc25ee31b1de89653d72df0412967959963861f /webapp/components/rhs_dropdown.jsx
parent7df8eaf29aa59467236c1b434bc09ccc33cd011f (diff)
parent3f19ccf1b1a6efdcc990cf8a0270ec4ffc0c6e22 (diff)
downloadchat-e4f46124b0aa0d661bf59f229c0ebc3c7dc65d1d.tar.gz
chat-e4f46124b0aa0d661bf59f229c0ebc3c7dc65d1d.tar.bz2
chat-e4f46124b0aa0d661bf59f229c0ebc3c7dc65d1d.zip
Merge branch 'release-3.5'
Diffstat (limited to 'webapp/components/rhs_dropdown.jsx')
-rw-r--r--webapp/components/rhs_dropdown.jsx61
1 files changed, 61 insertions, 0 deletions
diff --git a/webapp/components/rhs_dropdown.jsx b/webapp/components/rhs_dropdown.jsx
new file mode 100644
index 000000000..c42e8c8e5
--- /dev/null
+++ b/webapp/components/rhs_dropdown.jsx
@@ -0,0 +1,61 @@
+// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import * as Agent from 'utils/user_agent.jsx';
+import RhsDropdownMenu from 'components/rhs_dropdown_menu.jsx';
+
+import {Dropdown} from 'react-bootstrap';
+import React from 'react';
+
+export default class RhsDropdown extends React.Component {
+ constructor(props) {
+ super(props);
+
+ this.toggleDropdown = this.toggleDropdown.bind(this);
+
+ this.state = {
+ showDropdown: false
+ };
+ }
+
+ toggleDropdown(e) {
+ if (e) {
+ e.preventDefault();
+ }
+
+ const showDropdown = !this.state.showDropdown;
+ if (Agent.isMobile() || Agent.isMobileApp()) {
+ const scroll = document.querySelector('.scrollbar--view');
+ if (showDropdown) {
+ scroll.style.overflow = 'hidden';
+ } else {
+ scroll.style.overflow = 'scroll';
+ }
+ }
+
+ this.setState({showDropdown});
+ }
+
+ render() {
+ return (
+ <Dropdown
+ open={this.state.showDropdown}
+ onClose={this.toggleDropdown}
+ >
+ <a
+ href='#'
+ className='post__dropdown dropdown-toggle'
+ bsRole='toggle'
+ onClick={this.toggleDropdown}
+ />
+ <RhsDropdownMenu>
+ {this.props.dropdownContents}
+ </RhsDropdownMenu>
+ </Dropdown>
+ );
+ }
+}
+
+RhsDropdown.propTypes = {
+ dropdownContents: React.PropTypes.array.isRequired
+};