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

package.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
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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy