package.react-utils.useFieldSubmit.useFieldSubmit.js Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of neeto-commons-frontend Show documentation
Show all versions of neeto-commons-frontend Show documentation
A package encapsulating common code across neeto projects including initializers, utility functions, common components and hooks and so on.
import { useCallback, useEffect, useRef } from "react";
var useFieldSubmit = function useFieldSubmit(onSubmit) {
/** @type {{ current: HTMLInputElement & HTMLTextAreaElement }} */
// @ts-ignore
var ref = useRef(null);
var keyDownHandler = useCallback(function (event) {
if (event.key !== "Enter") return;
if (event.shiftKey) {
event.stopPropagation();
} else {
onSubmit();
event.preventDefault();
}
}, []);
useEffect(function () {
var element = ref.current;
if (!element) return undefined;
element.addEventListener("keydown", keyDownHandler);
return function () {
return element.removeEventListener("keydown", keyDownHandler);
};
}, []);
return ref;
};
export default useFieldSubmit;
//# sourceMappingURL=useFieldSubmit.js.map