summaryrefslogtreecommitdiffstats
path: root/webapp/components/claim/claim.jsx
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2016-03-23 16:26:37 -0400
committerChristopher Speller <crspeller@gmail.com>2016-03-23 16:26:37 -0400
commit07bf7c498d603d76741fee20f4090438a592a659 (patch)
tree68a5cdbe23babd7eb9510d287810ed6df434755a /webapp/components/claim/claim.jsx
parent6285ec44bbcafe41dbd47dfe9955982df4bab362 (diff)
parent934c7c7a7c8423d71fdc7d1586b9c03aedcc5129 (diff)
downloadchat-07bf7c498d603d76741fee20f4090438a592a659.tar.gz
chat-07bf7c498d603d76741fee20f4090438a592a659.tar.bz2
chat-07bf7c498d603d76741fee20f4090438a592a659.zip
Merge pull request #2465 from mattermost/plt-2260
PLT-2260 Add the ability to switch from email to ldap and back
Diffstat (limited to 'webapp/components/claim/claim.jsx')
-rw-r--r--webapp/components/claim/claim.jsx88
1 files changed, 88 insertions, 0 deletions
diff --git a/webapp/components/claim/claim.jsx b/webapp/components/claim/claim.jsx
new file mode 100644
index 000000000..464187c37
--- /dev/null
+++ b/webapp/components/claim/claim.jsx
@@ -0,0 +1,88 @@
+// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import TeamStore from 'stores/team_store.jsx';
+
+import React from 'react';
+import {FormattedMessage} from 'react-intl';
+
+import logoImage from 'images/logo.png';
+
+export default class Claim extends React.Component {
+ constructor(props) {
+ super(props);
+
+ this.onTeamChange = this.onTeamChange.bind(this);
+ this.updateStateFromStores = this.updateStateFromStores.bind(this);
+
+ this.state = {};
+ }
+ componentWillMount() {
+ this.setState({
+ email: this.props.location.query.email,
+ newType: this.props.location.query.new_type,
+ oldType: this.props.location.query.old_type,
+ teamName: this.props.params.team,
+ teamDisplayName: ''
+ });
+ this.updateStateFromStores();
+ }
+ componentDidMount() {
+ TeamStore.addChangeListener(this.onTeamChange);
+ }
+ componentWillUnmount() {
+ TeamStore.removeChangeListener(this.onTeamChange);
+ }
+ updateStateFromStores() {
+ const team = TeamStore.getByName(this.state.teamName);
+ let displayName = '';
+ if (team) {
+ displayName = team.display_name;
+ }
+ this.setState({
+ teamDisplayName: displayName
+ });
+ }
+ onTeamChange() {
+ this.updateStateFromStores();
+ }
+ render() {
+ return (
+ <div>
+ <div className='signup-header'>
+ <a href='/'>
+ <span className='fa fa-chevron-left'/>
+ <FormattedMessage
+ id='web.header.back'
+ />
+ </a>
+ </div>
+ <div className='col-sm-12'>
+ <div className='signup-team__container'>
+ <img
+ className='signup-team-logo'
+ src={logoImage}
+ />
+ <div id='claim'>
+ {React.cloneElement(this.props.children, {
+ teamName: this.state.teamName,
+ teamDisplayName: this.state.teamDisplayName,
+ currentType: this.state.oldType,
+ newType: this.state.newType,
+ email: this.state.email
+ })}
+ </div>
+ </div>
+ </div>
+ </div>
+ );
+ }
+}
+
+Claim.defaultProps = {
+};
+Claim.propTypes = {
+ params: React.PropTypes.object.isRequired,
+ location: React.PropTypes.object.isRequired,
+ children: React.PropTypes.node
+};