Skip to content

Commit e1b450f

Browse files
committed
Refactor form to use FormTextField w/o HoC
1 parent 5ee366c commit e1b450f

File tree

2 files changed

+4
-13
lines changed

2 files changed

+4
-13
lines changed

site/components/Form/FormDropdownField.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { makeStyles } from "@material-ui/core/styles"
44
import Typography from "@material-ui/core/Typography"
55
import React from "react"
66

7-
import { formTextFieldFactory, FormTextFieldProps } from "./FormTextField"
7+
import { FormTextField, FormTextFieldProps } from "./FormTextField"
88

99
export interface DropdownItem {
1010
value: string
@@ -17,8 +17,6 @@ export interface FormDropdownFieldProps<T> extends FormTextFieldProps<T> {
1717
}
1818

1919
export const formDropdownFieldFactory = <T,>(): React.FC<FormDropdownFieldProps<T>> => {
20-
const FormTextField = formTextFieldFactory<T>()
21-
2220
const Component: React.FC<FormDropdownFieldProps<T>> = ({ items, ...props }) => {
2321
const styles = useStyles()
2422
return (

site/forms/CreateProjectForm.tsx

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,10 @@
11
import Button from "@material-ui/core/Button"
22
import { makeStyles } from "@material-ui/core/styles"
3-
import { useFormik } from "formik"
3+
import { FormikContextType, useFormik } from "formik"
44
import React from "react"
55
import * as Yup from "yup"
66

7-
import {
8-
FormTitle,
9-
FormSection,
10-
formTextFieldFactory,
11-
formDropdownFieldFactory,
12-
DropdownItem,
13-
} from "../components/Form"
7+
import { FormTextField, FormTitle, FormSection, formDropdownFieldFactory, DropdownItem } from "../components/Form"
148
import { LoadingButton } from "../components/Button"
159
import { Organization, Project, Provisioner, CreateProjectRequest } from "./../api"
1610

@@ -27,7 +21,6 @@ const validationSchema = Yup.object({
2721
name: Yup.string().required("Name is required"),
2822
})
2923

30-
const FormTextField = formTextFieldFactory<CreateProjectRequest>()
3124
const FormDropdownField = formDropdownFieldFactory<CreateProjectRequest>()
3225

3326
export const CreateProjectForm: React.FC<CreateProjectFormProps> = ({
@@ -38,7 +31,7 @@ export const CreateProjectForm: React.FC<CreateProjectFormProps> = ({
3831
}) => {
3932
const styles = useStyles()
4033

41-
const form = useFormik<CreateProjectRequest>({
34+
const form: FormikContextType<CreateProjectRequest> = useFormik<CreateProjectRequest>({
4235
initialValues: {
4336
provisioner: provisioners[0].id,
4437
organizationId: organizations[0].name,

0 commit comments

Comments
 (0)