Web.Client: applied confirmRoute to createUser sub-component

This commit is contained in:
Daniil Senkiv 2019-10-01 11:40:12 +03:00
parent bf81aac3f8
commit 98a135fec8
3 changed files with 12 additions and 23 deletions

View File

@ -2,13 +2,14 @@ import React, { Suspense, lazy } from "react";
import { Redirect, Route, Switch } from "react-router-dom";
import { Loader } from "asc-web-components";
import PublicRoute from "../../../helpers/publicRoute";
import ConfirmRoute from "../../../helpers/confirmRoute";
import i18n from "./i18n";
import { I18nextProvider } from "react-i18next";
import ChangeEmailForm from "./sub-components/changeEmail";
import CreateUserForm from "./sub-components/createUser";
import ActivateUserForm from "./sub-components/activateUser";
// const CreateUserForm = lazy(() => import("./sub-components/createUser"));
// const ActivateUserForm = lazy(() => import("./sub-components/activateUser"));
const CreateUserForm = lazy(() => import("./sub-components/createUser"));
const ChangePasswordForm = lazy(() => import("./sub-components/changePassword"));
const ActivateEmailForm = lazy(() => import("./sub-components/activateEmail"));
// const ChangeEmailForm = lazy(() => import("./sub-components/changeEmail"));
@ -23,7 +24,7 @@ const Confirm = ({ match }) => {
fallback={<Loader className="pageLoader" type="rombs" size={40} />}
>
<Switch>
<PublicRoute
<ConfirmRoute
path={`${match.path}/LinkInvite`}
component={CreateUserForm}
/>

View File

@ -54,12 +54,6 @@ class Confirm extends React.PureComponent {
constructor(props) {
super(props);
const queryParams = props.location.search.slice(1).split('&');
const arrayOfQueryParams = queryParams.map(queryParam => queryParam.split('='));
const linkParams = Object.fromEntries(arrayOfQueryParams);
const indexOfSlash = this.props.match.path.lastIndexOf('/');
const typeLink = this.props.match.path.slice(indexOfSlash + 1);
this.state = {
email: '',
emailValid: true,
@ -72,20 +66,15 @@ class Confirm extends React.PureComponent {
errorText: '',
isLoading: false,
passwordEmpty: false,
queryString: `type=${typeLink}&${props.location.search.slice(1)}`,
type: typeLink,
queryEmail: decodeURIComponent(linkParams.email),
userId: linkParams.uid
key: props.linkData.confirmHeader,
linkType: props.linkData.type
};
}
onSubmit = (e) => {
this.setState({ isLoading: true }, function () {
const { history, createConfirmUser } = this.props;
const queryParams = this.state.queryString.split('&');
const arrayOfQueryParams = queryParams.map(queryParam => queryParam.split('='));
const linkParams = Object.fromEntries(arrayOfQueryParams);
const isVisitor = parseInt(linkParams.emplType) === 2;
const { history, createConfirmUser, linkData } = this.props;
const isVisitor = parseInt(linkData.emplType) === 2;
this.setState({ errorText: "" });
@ -128,7 +117,7 @@ class Confirm extends React.PureComponent {
email: this.state.email
};
const registerData = Object.assign(personalData, { isVisitor: isVisitor })
createConfirmUser(registerData, loginData, this.state.queryString)
createConfirmUser(registerData, loginData, this.state.key)
.then(() => history.push('/'))
.catch(e => {
console.error("confirm error", e);
@ -150,7 +139,7 @@ class Confirm extends React.PureComponent {
componentDidMount() {
const { getPasswordSettings, history } = this.props;
getPasswordSettings(this.state.queryString)
getPasswordSettings(this.state.key, this.state.linkType)
.then(
function () {
console.log("get settings success");
@ -197,7 +186,7 @@ class Confirm extends React.PureComponent {
}
render() {
console.log('Confirm render');
console.log('createUser render');
const { settings, isConfirmLoaded, t } = this.props;
return (
!isConfirmLoaded
@ -302,7 +291,6 @@ class Confirm extends React.PureComponent {
onKeyDown={this.onKeyPress}
/>
<Button
className='confirm-row'
primary

View File

@ -104,7 +104,7 @@ export function logout() {
};
};
export function getPasswordSettings(token) {
export function getPasswordSettings(token, type) {
return dispatch => {
return api.getPasswordSettings(token)
.then((res) => dispatch(setPasswordSettings(res.data.response)))