diff options
author | Christopher Speller <crspeller@gmail.com> | 2017-09-06 23:04:13 -0700 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2017-09-06 23:11:58 -0700 |
commit | d8bd57901e33a7057e26e782e295099ffcc0da89 (patch) | |
tree | e12dfc8cad42b1576756d19d7fbfd82646a009bf /webapp/components/toggle_modal_button.jsx | |
parent | 7bc8e9a08dfde56387f946fdf5086252aa4d0491 (diff) | |
download | chat-d8bd57901e33a7057e26e782e295099ffcc0da89.tar.gz chat-d8bd57901e33a7057e26e782e295099ffcc0da89.tar.bz2 chat-d8bd57901e33a7057e26e782e295099ffcc0da89.zip |
Removing webapp
Diffstat (limited to 'webapp/components/toggle_modal_button.jsx')
-rw-r--r-- | webapp/components/toggle_modal_button.jsx | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/webapp/components/toggle_modal_button.jsx b/webapp/components/toggle_modal_button.jsx deleted file mode 100644 index 1e72e13b7..000000000 --- a/webapp/components/toggle_modal_button.jsx +++ /dev/null @@ -1,82 +0,0 @@ -import PropTypes from 'prop-types'; - -// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import React from 'react'; - -export default class ModalToggleButton extends React.Component { - constructor(props) { - super(props); - - this.show = this.show.bind(this); - this.hide = this.hide.bind(this); - - this.state = { - show: false - }; - } - - show(e) { - if (e) { - e.preventDefault(); - } - this.setState({show: true}); - } - - hide() { - this.setState({show: false}); - } - - render() { - const {children, dialogType, dialogProps, onClick, ...props} = this.props; - - // allow callers to provide an onClick which will be called before the modal is shown - let clickHandler = this.show; - if (onClick) { - clickHandler = (e) => { - onClick(); - - this.show(e); - }; - } - - let dialog; - if (this.state.show) { - // this assumes that all modals will have an onHide event and will show when mounted - dialog = React.createElement(dialogType, Object.assign({}, dialogProps, { - onHide: () => { - this.hide(); - - if (dialogProps.onHide) { - dialogProps.onHide(); - } - } - })); - } - - // nesting the dialog in the anchor tag looks like it shouldn't work, but it does due to how react-bootstrap - // renders modals at the top level of the DOM instead of where you specify in the virtual DOM - return ( - <a - {...props} - href='#' - onClick={clickHandler} - > - {children} - {dialog} - </a> - ); - } -} - -ModalToggleButton.propTypes = { - children: PropTypes.node.isRequired, - dialogType: PropTypes.func.isRequired, - dialogProps: PropTypes.object, - onClick: PropTypes.func -}; - -ModalToggleButton.defaultProps = { - dialogProps: {} -}; |