Selaa lähdekoodia

avoid double click to forgot page

CR013B2
Jason Chuang 1 päivä sitten
vanhempi
commit
bfc19d77ac
2 muutettua tiedostoa jossa 22 lisäystä ja 2 poistoa
  1. +11
    -1
      src/pages/authentication/ForgotPassword/ForgotPasswordApplyForm.js
  2. +11
    -1
      src/pages/authentication/ForgotUsername/ForgotUsernameApplyForm.js

+ 11
- 1
src/pages/authentication/ForgotPassword/ForgotPasswordApplyForm.js Näytä tiedosto

@@ -33,6 +33,8 @@ import {FormattedMessage, useIntl} from "react-intl";


const ForgotPasswordApplyForm = () => { const ForgotPasswordApplyForm = () => {
const [isWarningPopUp, setIsWarningPopUp] = React.useState(false); const [isWarningPopUp, setIsWarningPopUp] = React.useState(false);
const [isSubmitting, setIsSubmitting] = React.useState(false);
const submittingRef = React.useRef(false);
// const [warningText, setWarningText] = React.useState("");s // const [warningText, setWarningText] = React.useState("");s
// const [attachment, setAttachment] = React.useState({}); // const [attachment, setAttachment] = React.useState({});
const intl = useIntl(); const intl = useIntl();
@@ -59,6 +61,9 @@ const ForgotPasswordApplyForm = () => {
username: yup.string().required(intl.formatMessage({id: 'requireUsername'})), username: yup.string().required(intl.formatMessage({id: 'requireUsername'})),
}), }),
onSubmit: values => { onSubmit: values => {
if (submittingRef.current) return;
submittingRef.current = true;
setIsSubmitting(true);
// console.log(values) // console.log(values)
HttpUtils.post({ HttpUtils.post({
url: UrlUtils.POST_FORGOT_PASSWORD_EMAIL, url: UrlUtils.POST_FORGOT_PASSWORD_EMAIL,
@@ -67,11 +72,15 @@ const ForgotPasswordApplyForm = () => {
}, },
// files: [attachment], // files: [attachment],
onSuccess: function () { onSuccess: function () {
submittingRef.current = false;
setIsSubmitting(false);
// notifyActionSuccess(intl.formatMessage({id: 'submissionSuccess'}) + '!') // notifyActionSuccess(intl.formatMessage({id: 'submissionSuccess'}) + '!')
navigate('/forgot/password/sent'); navigate('/forgot/password/sent');
// location.reload(); // location.reload();
}, },
onError:function () { onError:function () {
submittingRef.current = false;
setIsSubmitting(false);
navigate('/forgot/password/sent'); navigate('/forgot/password/sent');
} }
}); });
@@ -175,8 +184,9 @@ const ForgotPasswordApplyForm = () => {
aria-label={intl.formatMessage({id: 'continue'})} aria-label={intl.formatMessage({id: 'continue'})}
variant="contained" variant="contained"
type="submit" type="submit"
disabled={isSubmitting}
> >
<FormattedMessage id="continue"/>
{isSubmitting ? <FormattedMessage id="loading"/> : <FormattedMessage id="continue"/>}
</Button> </Button>
</ThemeProvider> </ThemeProvider>
</Grid> </Grid>


+ 11
- 1
src/pages/authentication/ForgotUsername/ForgotUsernameApplyForm.js Näytä tiedosto

@@ -33,6 +33,8 @@ import {FormattedMessage, useIntl} from "react-intl";


const ForgotUsernameApplyForm = () => { const ForgotUsernameApplyForm = () => {
const [isWarningPopUp, setIsWarningPopUp] = React.useState(false); const [isWarningPopUp, setIsWarningPopUp] = React.useState(false);
const [isSubmitting, setIsSubmitting] = React.useState(false);
const submittingRef = React.useRef(false);
// const [warningText, setWarningText] = React.useState("");s // const [warningText, setWarningText] = React.useState("");s
// const [attachment, setAttachment] = React.useState({}); // const [attachment, setAttachment] = React.useState({});
const intl = useIntl(); const intl = useIntl();
@@ -61,6 +63,9 @@ const ForgotUsernameApplyForm = () => {
emailAddress: yup.string().email(intl.formatMessage({id: 'validEmailFormat'})).max(255).required(intl.formatMessage({id: 'requireEmail'})), emailAddress: yup.string().email(intl.formatMessage({id: 'validEmailFormat'})).max(255).required(intl.formatMessage({id: 'requireEmail'})),
}), }),
onSubmit: values => { onSubmit: values => {
if (submittingRef.current) return;
submittingRef.current = true;
setIsSubmitting(true);
// console.log(values) // console.log(values)
HttpUtils.post({ HttpUtils.post({
url: UrlUtils.POST_FORGOT_USERNAME_EMAIL, url: UrlUtils.POST_FORGOT_USERNAME_EMAIL,
@@ -69,11 +74,15 @@ const ForgotUsernameApplyForm = () => {
}, },
// files: [attachment], // files: [attachment],
onSuccess: function () { onSuccess: function () {
submittingRef.current = false;
setIsSubmitting(false);
// notifyActionSuccess(intl.formatMessage({id: 'submissionSuccess'}) + '!') // notifyActionSuccess(intl.formatMessage({id: 'submissionSuccess'}) + '!')
navigate('/forgot/username/sent'); navigate('/forgot/username/sent');
// location.reload(); // location.reload();
}, },
onError:function () { onError:function () {
submittingRef.current = false;
setIsSubmitting(false);
navigate('/forgot/username/sent'); navigate('/forgot/username/sent');
} }
}); });
@@ -174,8 +183,9 @@ const ForgotUsernameApplyForm = () => {
aria-label={intl.formatMessage({id: 'continue'})} aria-label={intl.formatMessage({id: 'continue'})}
variant="contained" variant="contained"
type="submit" type="submit"
disabled={isSubmitting}
> >
<FormattedMessage id="continue"/>
{isSubmitting ? <FormattedMessage id="loading"/> : <FormattedMessage id="continue"/>}
</Button> </Button>
</ThemeProvider> </ThemeProvider>
</Grid> </Grid>


Ladataan…
Peruuta
Tallenna