UNPKG

@braineet/ui

Version:

Braineet design system

30 lines 959 B
import React, { useEffect, useCallback } from 'react'; import { useFormikContext } from 'formik'; import { jsx as _jsx } from "react/jsx-runtime"; var AutoSave = function AutoSave(_ref) { var _ref$debounceMs = _ref.debounceMs, debounceMs = _ref$debounceMs === void 0 ? 1000 : _ref$debounceMs, isWebhook = _ref.isWebhook, setWebhook = _ref.setWebhook; var formik = useFormikContext(); var debouncedSubmit = useCallback(function () { formik.submitForm(); }, [formik.submitForm, debounceMs]); useEffect(function () { return function () { if (!isWebhook) { var handler = setTimeout(debouncedSubmit, debounceMs); return function () { clearTimeout(handler); }; } setWebhook(false); }; }, [debouncedSubmit, formik.values]); return /*#__PURE__*/_jsx("div", {}); }; AutoSave.defaultProps = { setWebhook: function setWebhook() {}, isWebhook: false }; export default AutoSave;