// 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 = (