All Downloads are FREE. Search and download functionalities are using the official Maven repository.

package.cjs.react-utils.useFieldSubmit.useFieldSubmit.js Maven / Gradle / Ivy

Go to download

A package encapsulating common code across neeto projects including initializers, utility functions, common components and hooks and so on.

There is a newer version: 4.12.3
Show newest version
"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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy