diff options
author | =Corey Hulen <corey@hulen.com> | 2015-09-22 13:18:42 -0700 |
---|---|---|
committer | =Corey Hulen <corey@hulen.com> | 2015-09-22 13:18:42 -0700 |
commit | 6e60768abe6f0caa639febf068d718d62881ce62 (patch) | |
tree | 0600c72a7a9a3f7c1df167b3f870b38863e9a564 /web/react/components/user_settings/user_settings_integrations.jsx | |
parent | e22e7b8b7b66f342c2df693bbfc06a85980d253e (diff) | |
parent | ac7918c5540900ab0dbe43d61b8c1155e4279b55 (diff) | |
download | chat-6e60768abe6f0caa639febf068d718d62881ce62.tar.gz chat-6e60768abe6f0caa639febf068d718d62881ce62.tar.bz2 chat-6e60768abe6f0caa639febf068d718d62881ce62.zip |
Fixing merge conflict
Diffstat (limited to 'web/react/components/user_settings/user_settings_integrations.jsx')
-rw-r--r-- | web/react/components/user_settings/user_settings_integrations.jsx | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/web/react/components/user_settings/user_settings_integrations.jsx b/web/react/components/user_settings/user_settings_integrations.jsx new file mode 100644 index 000000000..cb45c5178 --- /dev/null +++ b/web/react/components/user_settings/user_settings_integrations.jsx @@ -0,0 +1,95 @@ +// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved. +// See License.txt for license information. + +var SettingItemMin = require('../setting_item_min.jsx'); +var SettingItemMax = require('../setting_item_max.jsx'); +var ManageIncomingHooks = require('./manage_incoming_hooks.jsx'); + +export default class UserSettingsIntegrationsTab extends React.Component { + constructor(props) { + super(props); + + this.updateSection = this.updateSection.bind(this); + this.handleClose = this.handleClose.bind(this); + + this.state = {}; + } + updateSection(section) { + this.props.updateSection(section); + } + handleClose() { + this.updateSection(''); + } + componentDidMount() { + $('#user_settings').on('hidden.bs.modal', this.handleClose); + } + componentWillUnmount() { + $('#user_settings').off('hidden.bs.modal', this.handleClose); + } + render() { + let incomingHooksSection; + var inputs = []; + + if (this.props.activeSection === 'incoming-hooks') { + inputs.push( + <ManageIncomingHooks /> + ); + + incomingHooksSection = ( + <SettingItemMax + title='Incoming Webhooks' + inputs={inputs} + updateSection={function clearSection(e) { + this.updateSection(''); + e.preventDefault(); + }.bind(this)} + /> + ); + } else { + incomingHooksSection = ( + <SettingItemMin + title='Incoming Webhooks' + describe='Manage your incoming webhooks' + updateSection={function updateNameSection() { + this.updateSection('incoming-hooks'); + }.bind(this)} + /> + ); + } + + return ( + <div> + <div className='modal-header'> + <button + type='button' + className='close' + data-dismiss='modal' + aria-label='Close' + > + <span aria-hidden='true'>{'×'}</span> + </button> + <h4 + className='modal-title' + ref='title' + > + <i className='modal-back'></i> + {'Integration Settings'} + </h4> + </div> + <div className='user-settings'> + <h3 className='tab-header'>{'Integration Settings'}</h3> + <div className='divider-dark first'/> + {incomingHooksSection} + <div className='divider-dark'/> + </div> + </div> + ); + } +} + +UserSettingsIntegrationsTab.propTypes = { + user: React.PropTypes.object, + updateSection: React.PropTypes.func, + updateTab: React.PropTypes.func, + activeSection: React.PropTypes.string +}; |