package.cjs.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.
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = require("react");
var useFieldSubmit = function useFieldSubmit(onSubmit) {
/** @type {{ current: HTMLInputElement & HTMLTextAreaElement }} */
// @ts-ignore
var ref = (0, _react.useRef)(null);
var keyDownHandler = (0, _react.useCallback)(function (event) {
if (event.key !== "Enter") return;
if (event.shiftKey) {
event.stopPropagation();
} else {
onSubmit();
event.preventDefault();
}
}, []);
(0, _react.useEffect)(function () {
var element = ref.current;
if (!element) return undefined;
element.addEventListener("keydown", keyDownHandler);
return function () {
return element.removeEventListener("keydown", keyDownHandler);
};
}, []);
return ref;
};
var _default = exports["default"] = useFieldSubmit;
//# sourceMappingURL=useFieldSubmit.js.map