mirror of https://github.com/ctk-hq/ctk
fix: Formik wrap instead of useFormik
parent
653ab5d8bc
commit
b4b9966ee8
@ -1,32 +1,11 @@
|
|||||||
const General = (props: any) => {
|
import TextField from "../../global/FormElements/InputField";
|
||||||
const { formik } = props;
|
|
||||||
|
|
||||||
|
const General = () => {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div className="relative pb-3 flex-auto">
|
<TextField label="Name" name="name" />
|
||||||
<div className="grid grid-cols-6 gap-4">
|
|
||||||
<div className="col-span-3">
|
|
||||||
<label
|
|
||||||
htmlFor="name"
|
|
||||||
className="block text-xs font-medium text-gray-700"
|
|
||||||
>
|
|
||||||
Name
|
|
||||||
</label>
|
|
||||||
<div className="mt-1">
|
|
||||||
<input
|
|
||||||
id="name"
|
|
||||||
name="name"
|
|
||||||
type="text"
|
|
||||||
autoComplete="none"
|
|
||||||
className="input-util"
|
|
||||||
onChange={formik.handleChange}
|
|
||||||
value={formik.values.name}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default General;
|
export default General;
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
const IPam = (props: any) => {
|
const IPam = () => {
|
||||||
const { formik } = props;
|
|
||||||
|
|
||||||
return <></>;
|
return <></>;
|
||||||
};
|
};
|
||||||
|
|
||||||
export default IPam;
|
export default IPam;
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
const Labels = (props: any) => {
|
const Labels = () => {
|
||||||
const { formik } = props;
|
|
||||||
|
|
||||||
return <></>;
|
return <></>;
|
||||||
};
|
};
|
||||||
|
|
||||||
export default Labels;
|
export default Labels;
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
const Environment = (props: any) => {
|
const Environment = () => {
|
||||||
const { formik } = props;
|
|
||||||
|
|
||||||
return <></>;
|
return <></>;
|
||||||
};
|
};
|
||||||
|
|
||||||
export default Environment;
|
export default Environment;
|
||||||
|
|||||||
@ -1,56 +1,12 @@
|
|||||||
const General = (props: any) => {
|
import TextField from "../../global/FormElements/InputField";
|
||||||
const { formik } = props;
|
|
||||||
|
|
||||||
|
const General = () => {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div className="relative pb-3 flex-auto">
|
<TextField label="Service name" name="canvasConfig.service_name" />
|
||||||
<div className="grid grid-cols-6 gap-4">
|
<TextField label="Container name" name="serviceConfig.container_name" />
|
||||||
<div className="col-span-3">
|
|
||||||
<label
|
|
||||||
htmlFor="service_name"
|
|
||||||
className="block text-xs font-medium text-gray-700"
|
|
||||||
>
|
|
||||||
Service name
|
|
||||||
</label>
|
|
||||||
<div className="mt-1">
|
|
||||||
<input
|
|
||||||
id="service_name"
|
|
||||||
name="canvasConfig.service_name"
|
|
||||||
type="text"
|
|
||||||
autoComplete="none"
|
|
||||||
className="input-util"
|
|
||||||
onChange={formik.handleChange}
|
|
||||||
value={formik.values.canvasConfig.service_name}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="relative pb-3 flex-auto">
|
|
||||||
<div className="grid grid-cols-6 gap-4">
|
|
||||||
<div className="col-span-3">
|
|
||||||
<label
|
|
||||||
htmlFor="container_name"
|
|
||||||
className="block text-xs font-medium text-gray-700"
|
|
||||||
>
|
|
||||||
Container name
|
|
||||||
</label>
|
|
||||||
<div className="mt-1">
|
|
||||||
<input
|
|
||||||
id="container_name"
|
|
||||||
name="serviceConfig.container_name"
|
|
||||||
type="text"
|
|
||||||
autoComplete="none"
|
|
||||||
className="input-util"
|
|
||||||
onChange={formik.handleChange}
|
|
||||||
value={formik.values.serviceConfig.container_name}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default General;
|
export default General;
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
const Labels = (props: any) => {
|
const Labels = () => {
|
||||||
const { formik } = props;
|
|
||||||
|
|
||||||
return <></>;
|
return <></>;
|
||||||
};
|
};
|
||||||
|
|
||||||
export default Labels;
|
export default Labels;
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
const Volumes = (props: any) => {
|
const Volumes = () => {
|
||||||
const { formik } = props;
|
|
||||||
|
|
||||||
return <></>;
|
return <></>;
|
||||||
};
|
};
|
||||||
|
|
||||||
export default Volumes;
|
export default Volumes;
|
||||||
|
|||||||
@ -1,32 +1,11 @@
|
|||||||
const General = (props: any) => {
|
import TextField from "../../global/FormElements/InputField";
|
||||||
const { formik } = props;
|
|
||||||
|
|
||||||
|
const General = () => {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div className="relative pb-3 flex-auto">
|
<TextField label="Name" name="volumeConfig.name" />
|
||||||
<div className="grid grid-cols-6 gap-4">
|
|
||||||
<div className="col-span-3">
|
|
||||||
<label
|
|
||||||
htmlFor="name"
|
|
||||||
className="block text-xs font-medium text-gray-700"
|
|
||||||
>
|
|
||||||
Name
|
|
||||||
</label>
|
|
||||||
<div className="mt-1">
|
|
||||||
<input
|
|
||||||
id="name"
|
|
||||||
name="volumeConfig.name"
|
|
||||||
type="text"
|
|
||||||
autoComplete="none"
|
|
||||||
className="input-util"
|
|
||||||
onChange={formik.handleChange}
|
|
||||||
value={formik.values.volumeConfig.name}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default General;
|
export default General;
|
||||||
|
|||||||
@ -1,6 +1,4 @@
|
|||||||
const Labels = (props: any) => {
|
const Labels = () => {
|
||||||
const { formik } = props;
|
|
||||||
|
|
||||||
return <></>;
|
return <></>;
|
||||||
};
|
};
|
||||||
export default Labels;
|
export default Labels;
|
||||||
|
|||||||
@ -0,0 +1,50 @@
|
|||||||
|
import _ from "lodash";
|
||||||
|
import { useFormikContext } from "formik";
|
||||||
|
|
||||||
|
interface Props {
|
||||||
|
name: string;
|
||||||
|
help?: string;
|
||||||
|
[key: string]: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
const TextField = (props: Props) => {
|
||||||
|
const { label, name, help, ...otherProps } = props;
|
||||||
|
const formik = useFormikContext();
|
||||||
|
const error = _.get(formik.touched, name) && _.get(formik.errors, name);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="relative pb-3 flex-auto">
|
||||||
|
<div className="grid grid-cols-6 gap-4">
|
||||||
|
<div className="col-span-3">
|
||||||
|
<label
|
||||||
|
htmlFor={name}
|
||||||
|
className="block text-xs font-medium text-gray-700"
|
||||||
|
>
|
||||||
|
{label}
|
||||||
|
</label>
|
||||||
|
<div className="mt-1">
|
||||||
|
<input
|
||||||
|
id={name}
|
||||||
|
name={name}
|
||||||
|
type="text"
|
||||||
|
autoComplete="none"
|
||||||
|
className="input-util"
|
||||||
|
onBlur={formik.handleBlur}
|
||||||
|
onChange={formik.handleChange}
|
||||||
|
{...otherProps}
|
||||||
|
value={_.get(formik.values, name)}
|
||||||
|
/>
|
||||||
|
{
|
||||||
|
<div className="mt-1 text-xs text-red-600">
|
||||||
|
{error && <div className="caption">{error}</div>}
|
||||||
|
{!error && help}
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default TextField;
|
||||||
Loading…
Reference in New Issue