feat: add error message display to operator contact info
This commit is contained in:
parent
94672423eb
commit
ff474ee507
2 changed files with 67 additions and 52 deletions
|
|
@ -128,7 +128,7 @@ const ContactInfo = ({ wizard }) => {
|
||||||
phone: Yup.string(),
|
phone: Yup.string(),
|
||||||
email: Yup.string()
|
email: Yup.string()
|
||||||
.email('Please enter a valid email address')
|
.email('Please enter a valid email address')
|
||||||
.required(),
|
.required('An email is required'),
|
||||||
website: Yup.string(),
|
website: Yup.string(),
|
||||||
companyNumber: Yup.string()
|
companyNumber: Yup.string()
|
||||||
})
|
})
|
||||||
|
|
@ -182,6 +182,9 @@ const ContactInfo = ({ wizard }) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const getErrorMsg = formikErrors =>
|
||||||
|
!R.isNil(formikErrors.email) ? formikErrors.email : null
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div className={classes.header}>
|
<div className={classes.header}>
|
||||||
|
|
@ -223,58 +226,67 @@ const ContactInfo = ({ wizard }) => {
|
||||||
setEditing(false)
|
setEditing(false)
|
||||||
setError(null)
|
setError(null)
|
||||||
}}>
|
}}>
|
||||||
<Form>
|
{({ errors }) => (
|
||||||
<PromptWhenDirty />
|
<Form>
|
||||||
<div className={classes.row}>
|
<PromptWhenDirty />
|
||||||
<Field
|
<div className={classes.row}>
|
||||||
field={findField('name')}
|
<Field
|
||||||
editing={editing}
|
field={findField('name')}
|
||||||
displayValue={displayTextValue}
|
editing={editing}
|
||||||
onFocus={() => setError(null)}
|
displayValue={displayTextValue}
|
||||||
/>
|
onFocus={() => setError(null)}
|
||||||
<Field
|
/>
|
||||||
field={findField('phone')}
|
<Field
|
||||||
editing={editing}
|
field={findField('phone')}
|
||||||
displayValue={displayTextValue}
|
editing={editing}
|
||||||
onFocus={() => setError(null)}
|
displayValue={displayTextValue}
|
||||||
/>
|
onFocus={() => setError(null)}
|
||||||
</div>
|
/>
|
||||||
<div className={classes.row}>
|
</div>
|
||||||
<Field
|
<div className={classes.row}>
|
||||||
field={findField('email')}
|
<Field
|
||||||
editing={editing}
|
field={findField('email')}
|
||||||
displayValue={displayTextValue}
|
editing={editing}
|
||||||
onFocus={() => setError(null)}
|
displayValue={displayTextValue}
|
||||||
/>
|
onFocus={() => setError(null)}
|
||||||
<Field
|
/>
|
||||||
field={findField('website')}
|
<Field
|
||||||
editing={editing}
|
field={findField('website')}
|
||||||
displayValue={displayTextValue}
|
editing={editing}
|
||||||
onFocus={() => setError(null)}
|
displayValue={displayTextValue}
|
||||||
/>
|
onFocus={() => setError(null)}
|
||||||
</div>
|
/>
|
||||||
<div className={classes.row}>
|
</div>
|
||||||
<Field
|
<div className={classes.row}>
|
||||||
field={findField('companyNumber')}
|
<Field
|
||||||
editing={editing}
|
field={findField('companyNumber')}
|
||||||
displayValue={displayTextValue}
|
editing={editing}
|
||||||
onFocus={() => setError(null)}
|
displayValue={displayTextValue}
|
||||||
/>
|
onFocus={() => setError(null)}
|
||||||
</div>
|
/>
|
||||||
<div className={classnames(classes.row, classes.submit)}>
|
</div>
|
||||||
{editing && (
|
{editing && !!getErrorMsg(errors) && (
|
||||||
<>
|
<ErrorMessage className={classes.formErrorMsg}>
|
||||||
<Link color="primary" type="submit">
|
{getErrorMsg(errors)}
|
||||||
Save
|
</ErrorMessage>
|
||||||
</Link>
|
|
||||||
<Link color="secondary" type="reset">
|
|
||||||
Cancel
|
|
||||||
</Link>
|
|
||||||
{error && <ErrorMessage>Failed to save changes</ErrorMessage>}
|
|
||||||
</>
|
|
||||||
)}
|
)}
|
||||||
</div>
|
<div className={classnames(classes.row, classes.submit)}>
|
||||||
</Form>
|
{editing && (
|
||||||
|
<>
|
||||||
|
<Link color="primary" type="submit">
|
||||||
|
Save
|
||||||
|
</Link>
|
||||||
|
<Link color="secondary" type="reset">
|
||||||
|
Cancel
|
||||||
|
</Link>
|
||||||
|
{error && (
|
||||||
|
<ErrorMessage>Failed to save changes</ErrorMessage>
|
||||||
|
)}
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</Form>
|
||||||
|
)}
|
||||||
</Formik>
|
</Formik>
|
||||||
</div>
|
</div>
|
||||||
{!wizard && (
|
{!wizard && (
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,9 @@ const global = {
|
||||||
marginTop: 4,
|
marginTop: 4,
|
||||||
marginLeft: 16
|
marginLeft: 16
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
formErrorMsg: {
|
||||||
|
margin: [[0, 0, 20, 0]]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue