saleor-dashboard/src/components/DebounceForm.tsx

27 lines
612 B
TypeScript
Raw Normal View History

2019-08-09 10:26:22 +00:00
import React from "react";
2019-06-19 14:40:52 +00:00
import Debounce from "./Debounce";
export interface DebounceFormProps {
change: (event: React.ChangeEvent<any>, cb?: () => void) => void;
children: (props: (event: React.ChangeEvent<any>) => void) => React.ReactNode;
2019-06-19 14:40:52 +00:00
submit: (event: React.FormEvent<any>) => void;
time?: number;
}
export const DebounceForm: React.FC<DebounceFormProps> = ({
2019-06-19 14:40:52 +00:00
change,
children,
submit,
time
}) => (
<Debounce debounceFn={submit} time={time}>
{debounceFn =>
children(event => {
change(event, debounceFn);
})
}
</Debounce>
);
export default DebounceForm;