// Copyright 2021 The casbin Authors. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. import React from 'react'; import {Link} from "react-router-dom"; import {Form, Input, Select, Checkbox, Button, Row, Col} from 'antd'; import * as Setting from "../Setting"; import * as AuthBackend from "./AuthBackend"; const { Option } = Select; const formItemLayout = { labelCol: { xs: { span: 24, }, sm: { span: 8, }, }, wrapperCol: { xs: { span: 24, }, sm: { span: 16, }, }, }; const tailFormItemLayout = { wrapperCol: { xs: { span: 24, offset: 0, }, sm: { span: 16, offset: 8, }, }, }; class SignupPage extends React.Component { constructor(props) { super(props); this.state = { classes: props, }; this.form = React.createRef(); } onFinish(values) { AuthBackend.signup(values) .then((res) => { if (res.status === 'ok') { this.props.history.push('/result'); } else { Setting.showMessage("error", `Failed to sign up: ${res.msg}`); } }); } onFinishFailed(values, errorFields, outOfDate) { this.form.current.scrollToField(errorFields[0].name); } renderForm() { const prefixSelector = ( ); return (
this.onFinish(values)} onFinishFailed={(errorInfo) => this.onFinishFailed(errorInfo.values, errorInfo.errorFields, errorInfo.outOfDate)} initialValues={{ prefix: '86', }} style={{width: !Setting.isMobile() ? "400px" : "250px"}} size="large" > ({ validator(rule, value) { if (!value || getFieldValue('password') === value) { return Promise.resolve(); } return Promise.reject('Your confirmed password is inconsistent with the password'); }, }), ]} > Accept  Terms of Use    Have account?  sign in now
) } render() { return (
  { this.renderForm() }
) } } export default SignupPage;