// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. import {trackEvent} from 'actions/diagnostics_actions.jsx'; import Constants from 'utils/constants.jsx'; import {cleanUpUrlable} from 'utils/url.jsx'; import logoImage from 'images/logo.png'; import React from 'react'; import ReactDOM from 'react-dom'; import {FormattedMessage} from 'react-intl'; export default class TeamSignupDisplayNamePage extends React.Component { constructor(props) { super(props); this.submitNext = this.submitNext.bind(this); this.state = {}; } componentDidMount() { trackEvent('signup', 'signup_team_01_name'); } submitNext(e) { e.preventDefault(); var displayName = ReactDOM.findDOMNode(this.refs.name).value.trim(); if (!displayName) { this.setState({nameError: ( ) }); return; } else if (displayName.length < Constants.MIN_TEAMNAME_LENGTH || displayName.length > Constants.MAX_TEAMNAME_LENGTH) { this.setState({nameError: ( ) }); return; } this.props.state.wizard = 'team_url'; this.props.state.team.display_name = displayName; this.props.state.team.name = cleanUpUrlable(displayName); this.props.updateParent(this.props.state); } handleFocus(e) { e.preventDefault(); e.currentTarget.select(); } render() { var nameError = null; var nameDivClass = 'form-group'; if (this.state.nameError) { nameError = ; nameDivClass += ' has-error'; } return (

{nameError}
); } } TeamSignupDisplayNamePage.propTypes = { state: React.PropTypes.object, updateParent: React.PropTypes.func };