refactor: getStep()

This commit is contained in:
siiky 2024-09-02 17:03:39 +01:00
parent c840d49ba3
commit b368fbaeab

View file

@ -53,39 +53,26 @@ const styles = {
const useStyles = makeStyles(styles) const useStyles = makeStyles(styles)
const getStep = (step, existingRequirements) => { const getStep = (step, existingRequirements) =>
switch (step) { [
case 1: {
return { validationSchema: nameOfReqSchema(existingRequirements),
schema: nameOfReqSchema(existingRequirements),
Component: NameOfRequirement Component: NameOfRequirement
} },
case 2: {
return { validationSchema: screen1InfoSchema,
schema: screen1InfoSchema,
Component: Screen1Information Component: Screen1Information
} },
case 3: { validationSchema: chooseTypeSchema, Component: ChooseType },
return { schema: chooseTypeSchema, Component: ChooseType } {
case 4: validationSchema: screen2InfoSchema,
return {
schema: screen2InfoSchema,
Component: Screen2Information Component: Screen2Information
} },
case 5: {
return { validationSchema: typeFieldsValidationSchema,
schema: typeFieldsValidationSchema,
Component: TypeFields Component: TypeFields
} }
default: ][step - 1]
return {
schema: {},
Component: () => {
return <h1>Default component step</h1>
}
}
}
}
const nonEmptyStr = obj => obj.text && obj.text.length const nonEmptyStr = obj => obj.text && obj.text.length
@ -179,10 +166,10 @@ const Wizard = ({
} }
// If we're editing, filter out the requirement being edited so that validation schemas don't enter in circular conflicts // If we're editing, filter out the requirement being edited so that validation schemas don't enter in circular conflicts
const _existingRequirements = isEditing existingRequirements = isEditing
? R.filter(it => it.id !== toBeEdited.id, existingRequirements) ? R.filter(it => it.id !== toBeEdited.id, existingRequirements)
: existingRequirements : existingRequirements
const stepOptions = getStep(step, _existingRequirements) const stepOptions = getStep(step, existingRequirements)
const isLastStep = step === LAST_STEP const isLastStep = step === LAST_STEP
const onContinue = (values, actions) => { const onContinue = (values, actions) => {
@ -232,7 +219,7 @@ const Wizard = ({
enableReinitialize={true} enableReinitialize={true}
onSubmit={onContinue} onSubmit={onContinue}
initialValues={initialValues} initialValues={initialValues}
validationSchema={stepOptions.schema}> validationSchema={stepOptions.validationSchema}>
{({ errors }) => ( {({ errors }) => (
<Form className={classes.form} id={'custom-requirement-form'}> <Form className={classes.form} id={'custom-requirement-form'}>
<stepOptions.Component /> <stepOptions.Component />