Этот коммит содержится в:
=Corey Hulen
2015-09-21 15:11:56 -07:00
родитель ee5a77ec56
Коммит ed9a2da83b
23 изменённых файлов: 563 добавлений и 353 удалений

Просмотреть файл

@@ -4,7 +4,7 @@
const ChoosePage = require('./team_signup_choose_auth.jsx');
const EmailSignUpPage = require('./team_signup_with_email.jsx');
const SSOSignupPage = require('./team_signup_with_sso.jsx');
const Constants = require('../utils/constants.jsx');
var Constants = require('../utils/constants.jsx');
export default class TeamSignUp extends React.Component {
constructor(props) {
@@ -12,38 +12,32 @@ export default class TeamSignUp extends React.Component {
this.updatePage = this.updatePage.bind(this);
if (props.services.length === 1) {
if (props.services[0] === Constants.EMAIL_SERVICE) {
this.state = {page: 'email', service: ''};
} else {
this.state = {page: 'service', service: props.services[0]};
}
} else {
this.state = {page: 'choose', service: ''};
if (global.window.config.AllowSignUpWithEmail && global.window.config.AllowSignUpWithGitLab) {
this.state = {page: 'choose'};
} else if (global.window.config.AllowSignUpWithEmail) {
this.state = {page: 'email'};
} else if (global.window.config.AllowSignUpWithGitLab) {
this.state = {page: 'gitlab'};
}
}
updatePage(page, service) {
this.setState({page: page, service: service});
updatePage(page) {
this.setState({page});
}
render() {
if (this.state.page === 'choose') {
return (
<ChoosePage
updatePage={this.updatePage}
/>
);
}
if (this.state.page === 'email') {
return <EmailSignUpPage />;
} else if (this.state.page === 'service' && this.state.service !== '') {
return <SSOSignupPage service={this.state.service} />;
} else if (this.state.page === 'gitlab') {
return <SSOSignupPage service={Constants.GITLAB_SERVICE} />;
}
return (
<ChoosePage
services={this.props.services}
updatePage={this.updatePage}
/>
);
}
}
TeamSignUp.defaultProps = {
services: []
};
TeamSignUp.propTypes = {
services: React.PropTypes.array
};