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) => {
|
||||
const { formik } = props;
|
||||
import TextField from "../../global/FormElements/InputField";
|
||||
|
||||
const General = () => {
|
||||
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"
|
||||
>
|
||||
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>
|
||||
<TextField label="Name" name="name" />
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default General;
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
const IPam = (props: any) => {
|
||||
const { formik } = props;
|
||||
|
||||
const IPam = () => {
|
||||
return <></>;
|
||||
};
|
||||
|
||||
export default IPam;
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
const Labels = (props: any) => {
|
||||
const { formik } = props;
|
||||
|
||||
const Labels = () => {
|
||||
return <></>;
|
||||
};
|
||||
|
||||
export default Labels;
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
const Environment = (props: any) => {
|
||||
const { formik } = props;
|
||||
|
||||
const Environment = () => {
|
||||
return <></>;
|
||||
};
|
||||
|
||||
export default Environment;
|
||||
|
||||
@ -1,56 +1,12 @@
|
||||
const General = (props: any) => {
|
||||
const { formik } = props;
|
||||
import TextField from "../../global/FormElements/InputField";
|
||||
|
||||
const General = () => {
|
||||
return (
|
||||
<>
|
||||
<div className="relative pb-3 flex-auto">
|
||||
<div className="grid grid-cols-6 gap-4">
|
||||
<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>
|
||||
<TextField label="Service name" name="canvasConfig.service_name" />
|
||||
<TextField label="Container name" name="serviceConfig.container_name" />
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default General;
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
const Labels = (props: any) => {
|
||||
const { formik } = props;
|
||||
|
||||
const Labels = () => {
|
||||
return <></>;
|
||||
};
|
||||
|
||||
export default Labels;
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
const Volumes = (props: any) => {
|
||||
const { formik } = props;
|
||||
|
||||
const Volumes = () => {
|
||||
return <></>;
|
||||
};
|
||||
|
||||
export default Volumes;
|
||||
|
||||
@ -1,32 +1,11 @@
|
||||
const General = (props: any) => {
|
||||
const { formik } = props;
|
||||
import TextField from "../../global/FormElements/InputField";
|
||||
|
||||
const General = () => {
|
||||
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"
|
||||
>
|
||||
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>
|
||||
<TextField label="Name" name="volumeConfig.name" />
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default General;
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
const Labels = (props: any) => {
|
||||
const { formik } = props;
|
||||
|
||||
const Labels = () => {
|
||||
return <></>;
|
||||
};
|
||||
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